From 85600f22098ba65bf3e9c740be795333f0cca30c Mon Sep 17 00:00:00 2001 From: khaccount Date: Mon, 31 Mar 2025 21:42:48 +0200 Subject: [PATCH] plugins --- ...kit-admin-css-0167cbd9e2a4e951c2c2.min.css | 1 - ...kit-admin-css-1a1b3dd6836e74847e00.min.css | 1 + ...2173937d.js => 33-aea26aaf32eda28b5b03.js} | 2 +- ...9e3670cf.js => 34-c8e37ae42d451696b8b7.js} | 2 +- ...af4acf51.js => 35-f5127b73ed0693fc91a5.js} | 2 +- ...33f252a8.js => 36-e7a6de830eea07d009af.js} | 2 +- ...90296b51.js => 37-19b401e9a1e883d25fdb.js} | 2 +- ...18012159.js => 38-61d72bb83fa9d81c52d0.js} | 2 +- ...46039515.js => 39-3b8a9e15e996253cae30.js} | 2 +- ...b029b477.js => 40-97373ec8cb29426a5082.js} | 2 +- ...dcceae09.js => 41-d98585dc8a1a6d27b38d.js} | 2 +- ...eb868455.js => 42-15292e65ed66384e4c3f.js} | 2 +- ...8239997a.js => 43-8c7878a4639b343b6ce6.js} | 2 +- ...sitekit-activation-0ff4bb4905875a3af96d.js | 16 - ...sitekit-activation-859303eb6e15c09c3a50.js | 16 + ...-blocking-recovery-1bc5a979d40644f428b9.js | 52 - ...-blocking-recovery-ff4f4fe3cc2fc49e0dda.js | 52 + ...lesitekit-adminbar-3eb079e3b867b0628d63.js | 46 - ...lesitekit-adminbar-9ee6cdb0be43ea55ded4.js | 46 + ...googlesitekit-api-9f1616f40adbca43e6b8.js} | 6 +- ...kit-components-gm2-7945eb0cdbd7dc3a89c2.js | 1 + ...kit-components-gm2-cd1b1b91f7b0b537fb1c.js | 1 - ...it-components-gm3-f995cfcb85091ab1e560.js} | 2 +- ...ooglesitekit-data-590b288a64d1660dbc11.js} | 2 +- ...t-datastore-forms-c2f63f0c0adfa5c1bb08.js} | 6 +- ...atastore-location-4bd0ca7dbf15fff9fb97.js} | 2 +- ...it-datastore-site-dc7146f24a9f4d40e709.js} | 14 +- ...ekit-datastore-ui-7db934d367461124f5b8.js} | 6 +- ...it-datastore-user-1542da3bbef03cd01780.js} | 6 +- ...t-entity-dashboard-41ce7126b0d8da211ca8.js | 60 - ...t-entity-dashboard-b0eeab16b25065093d82.js | 60 + ...kit-main-dashboard-4da8f8cf7c833e75c20b.js | 108 - ...kit-main-dashboard-a4bcd8e2d49c8c193c4e.js | 106 + ...t-metric-selection-3ee8a23dcaf39401f05a.js | 44 - ...t-metric-selection-70ed1134dac53010fa40.js | 44 + ...lesitekit-modules-1a2ef4f5ec6f6f1b060c.js} | 10 +- ...itekit-modules-ads-23c0496d89342f02d84d.js | 28 + ...itekit-modules-ads-eda91d5656699d965a11.js | 28 - ...it-modules-adsense-4c9f3e82ede5101a7eec.js | 80 + ...it-modules-adsense-60e0039459ccbf52f2dc.js | 80 - ...odules-analytics-4-481b89c2cd44559a7bb4.js | 132 + ...odules-analytics-4-e7215bb257eaff98a241.js | 130 - ...pagespeed-insights-682896da4133e08c66ab.js | 26 + ...pagespeed-insights-7e61c64f50cba689589c.js | 26 - ...er-revenue-manager-7ec25dde6792354d0eba.js | 30 + ...er-revenue-manager-c83637e628e0caaef7d4.js | 30 - ...les-search-console-1c6864fceeeff7358e12.js | 54 + ...les-search-console-ee6b9d229e6d6c34c65c.js | 54 - ...ign-in-with-google-0c7629ea71e0e833b0c2.js | 46 + ...ign-in-with-google-ee4e9dd0a0285290e10e.js | 44 - ...odules-tagmanager-c8b6022c7b86c9ad9742.js} | 22 +- ...ekit-notifications-576ef786c988dd3d308a.js | 28 - ...ekit-notifications-b81ae6975e8afcf98876.js | 28 + ...sitekit-polyfills-48e8493ea0e91c0facb6.js} | 2 +- ...lesitekit-settings-0c4ffef12bd5de9a413b.js | 88 + ...lesitekit-settings-f0011b69cd7c80cd340a.js | 88 - ...oglesitekit-splash-0e6568b993910dcbfb85.js | 42 - ...oglesitekit-splash-e5aa53e206c5c1ddcc14.js | 42 + ...sitekit-user-input-4af8721f3482ada06493.js | 36 + ...sitekit-user-input-77dfa9da5c9848070722.js | 36 - ...oglesitekit-vendor-0e5fcb2614a2df8b4141.js | 7 - ...oglesitekit-vendor-55f6d4109c59b75ef2bd.js | 7 + ...glesitekit-widgets-9f86e66067a4d5d6be4f.js | 64 - ...glesitekit-widgets-c8a23c2f9e2b270ac4c9.js | 64 + ...tekit-wp-dashboard-80711a59677604d769b2.js | 56 + ...tekit-wp-dashboard-c774dda1d72e62c09f79.js | 56 - .../assets/js/runtime-7900ebf0cb27fa989ac7.js | 1 - .../assets/js/runtime-cafb5a04ad2af33b7709.js | 1 + plugins/google-site-kit/dist/manifest.php | 66 +- plugins/google-site-kit/google-site-kit.php | 4 +- .../includes/Core/Storage/Meta_Interface.php | 73 + ...eta_Setting.php => Meta_Setting_Trait.php} | 79 +- .../includes/Core/Storage/Post_Meta.php | 2 +- ...{Post_Meta_Interface.php => Term_Meta.php} | 52 +- .../First_Party_Mode/First_Party_Mode.php | 4 +- .../includes/Core/Util/Reset.php | 37 + .../Modules/Reader_Revenue_Manager.php | 16 +- .../Post_Product_ID.php | 21 +- ...gState.php => Synchronize_Publication.php} | 140 +- .../Term_Product_ID.php | 81 + .../includes/Modules/Sign_In_With_Google.php | 87 +- .../Sign_In_With_Google/Authenticator.php | 25 +- .../WooCommerce_Authenticator.php | 12 +- .../vendor/composer/autoload_classmap.php | 8 +- plugins/google-site-kit/readme.txt | 42 +- plugins/tiktok-for-business/LICENSE | 674 + plugins/tiktok-for-business/README.txt | 334 + .../tiktok-for-business/Tiktokforbusiness.php | 254 + .../admin/Tasks/Onboarding.php | 105 + .../admin/Tt4b_Menu_Class.php | 668 + .../tiktok-for-business/admin/css/main.css | 3 + .../tiktok-for-business/admin/css/order.css | 3 + .../admin/js/ajaxSnippet.js | 280 + .../tiktok-for-business/admin/js/localJs.js | 60 + plugins/tiktok-for-business/admin/js/order.js | 22 + .../tiktok-for-business/admin/tt4b_menu.php | 176 + .../tiktok-for-business/admin/tts/common.php | 102 + .../tiktok-for-business/admin/tts/index.php | 33 + .../admin/tts/order_detail.php | 193 + .../admin/tts/order_list.php | 261 + .../tiktok-for-business/bin/lint-branch.sh | 17 + plugins/tiktok-for-business/build/.gitignore | 3 + .../catalog/TikTokProductsController.php | 16 + .../catalog/Tt4b_Catalog_Class.php | 788 ++ plugins/tiktok-for-business/changelog.txt | 143 + plugins/tiktok-for-business/composer.json | 17 + plugins/tiktok-for-business/composer.lock | 623 + plugins/tiktok-for-business/index.php | 2 + .../tiktok-for-business/logging/Logger.php | 137 + .../mapi/Tt4b_Mapi_Class.php | 474 + plugins/tiktok-for-business/package-lock.json | 5 + plugins/tiktok-for-business/package.json | 29 + plugins/tiktok-for-business/phpcs.xml.dist | 68 + .../pixel/Tt4b_Pixel_Class.php | 957 ++ .../tiktok-for-business/pixel/tt4b_pixel.php | 20 + .../tiktok-for-woocommerce.php | 38 + plugins/tiktok-for-business/utils/Method.php | 14 + plugins/tiktok-for-business/utils/TBPApi.php | 9 + .../tiktok-for-business/utils/utilities.php | 42 + .../README.txt | 659 + .../V5/API/RestConstants.php | 83 + .../V5/API/RestController.php | 422 + .../V5/API/RestFactory.php | 23 + .../V5/API/V1/AttributesMapping.php | 314 + .../V5/API/V1/CategoryMapping.php | 270 + .../V5/API/V1/DropDown.php | 323 + .../V5/API/V1/DynamicAttributes.php | 280 + .../V5/API/V1/MakeFeed.php | 284 + .../V5/API/V1/ManageFeeds.php | 496 + .../V5/API/V1/MerchantInfo.php | 142 + .../V5/API/V1/ProductCategories.php | 102 + .../V5/API/V1/ProductTaxonomy.php | 408 + .../V5/API/V1/Products.php | 204 + .../V5/API/V1/Settings.php | 256 + .../V5/API/V1/WPOptions.php | 160 + .../V5/API/V1/WPStatus.php | 140 + .../V5/API/V1/WooFeedDocs.php | 83 + .../V5/Common/CustomFileds.php | 253 + .../V5/Common/DisplayBanners.php | 64 + .../V5/Common/DisplayNotices.php | 56 + .../V5/Common/DownloadFiles.php | 158 + .../V5/Common/DropDownOptions.php | 1261 ++ .../V5/Common/ExportFeed.php | 46 + .../V5/Common/Factory.php | 44 + .../V5/Common/Helper.php | 482 + .../V5/Common/Hooks.php | 7 + .../V5/Common/ImportFeed.php | 113 + .../V5/Common/SaveFeed.php | 128 + .../V5/Common/Status.php | 5 + .../V5/Common/Taxonomy.php | 128 + .../V5/Common/Widget.php | 66 + .../V5/CustomFields/AttributeInterface.php | 9 + .../V5/CustomFields/Attributes.php | 24 + .../V5/CustomFields/AvailabilityDate.php | 149 + .../V5/CustomFields/CustomField.php | 25 + .../V5/CustomFields/CustomFieldFactory.php | 15 + .../V5/CustomFields/CustomFieldInterface.php | 18 + .../V5/CustomFields/DateCustomField.php | 14 + .../V5/CustomFields/InputCustomFiled.php | 221 + .../V5/Download/FileDownload.php | 161 + .../V5/Download/Mimetypes.php | 1112 ++ .../V5/FTP/FtpClient.php | 968 ++ .../V5/FTP/FtpException.php | 23 + .../V5/FTP/FtpWrapper.php | 116 + .../V5/FTP/info.txt | 3 + .../V5/Feed/Attributes.php | 37 + .../V5/Feed/Feed.php | 170 + .../V5/Feed/FeedRules.php | 172 + .../V5/Feed/Product.php | 43 + .../V5/File/CSV.php | 115 + .../V5/File/FileFactory.php | 44 + .../V5/File/FileInfo.php | 52 + .../V5/File/FileInterface.php | 36 + .../V5/File/JSON.php | 77 + .../V5/File/TXT.php | 111 + .../V5/File/XLS.php | 105 + .../V5/File/XLSX.php | 102 + .../V5/File/XML.php | 298 + .../V5/Filter/AdvanceFilter.php | 136 + .../V5/Filter/Filter.php | 399 + .../V5/Filter/FilterInfo.php | 239 + .../V5/Filter/ValidateProduct.php | 76 + .../V5/Helper/CommonHelper.php | 333 + .../V5/Helper/CronHelper.php | 834 ++ .../V5/Helper/CustomFieldHelper.php | 44 + .../V5/Helper/FeedHelper.php | 1890 +++ .../V5/Helper/ProductHelper.php | 1291 ++ .../V5/MakeFeed.php | 82 + .../MerchantAttributeReplaceFactory.php | 858 ++ .../V5/Merchant/MerchantAttributesFactory.php | 2163 ++++ .../V5/Merchant/Merchants.php | 23 + .../V5/Merchant/TemplateConfig.php | 10480 ++++++++++++++++ .../V5/Merchant/TemplateInfo.php | 554 + .../V5/Merchant/Templates.php | 5 + .../V5/Notice/Dismiss.php | 168 + .../V5/Notice/Notice.php | 276 + .../V5/Notice/Notices.php | 138 + .../V5/Output/AttributeMapping.php | 275 + .../V5/Output/CategoryMapping.php | 159 + .../V5/Output/DynamicAttributes.php | 369 + .../V5/Output/FormatOutput.php | 265 + .../V5/Output/OutputCommands.php | 263 + .../V5/Output/WPOptions.php | 114 + .../V5/Override/AdmarktTemplate.php | 45 + .../V5/Override/Advance.php | 65 + .../V5/Override/BestpriceTemplate.php | 14 + .../V5/Override/BingTemplate.php | 41 + .../V5/Override/CommonOverride.php | 154 + .../V5/Override/DaisyconTemplate.php | 14 + .../V5/Override/FacebookTemplate.php | 162 + .../V5/Override/GoogleTemplate.php | 220 + .../V5/Override/Heureka_skTemplate.php | 15 + .../V5/Override/IdealoTemplate.php | 47 + .../V5/Override/OverrideFactory.php | 53 + .../V5/Override/PinterestTemplate.php | 101 + .../V5/Override/Pinterest_rssTemplate.php | 39 + .../V5/Override/PricerunnerTemplate.php | 14 + .../V5/Override/SnapchatTemplate.php | 44 + .../V5/Override/SpartooTemplate.php | 14 + .../V5/Override/TiktokTemplate.php | 90 + .../V5/Override/TrovaprezziTemplate.php | 14 + .../V5/Override/Zbozi_czTemplate.php | 20 + .../V5/Price/GroupProductPrice.php | 114 + .../V5/Price/IconicBundleProductPrice.php | 147 + .../V5/Price/PriceFactory.php | 46 + .../V5/Price/PriceInterface.php | 41 + .../V5/Price/ProductPrice.php | 100 + .../V5/Price/SgGroupProductPrice.php | 124 + .../V5/Price/SimpleProductPrice.php | 63 + .../V5/Price/SubscriptionProductPrice.php | 5 + .../V5/Price/VariableProductPrice.php | 91 + .../V5/Price/WCCompositeProductPrice.php | 122 + .../V5/Product/AttributeValueByType.php | 484 + .../V5/Product/ProductAttributeFactory.php | 778 ++ .../V5/Product/ProductFactory.php | 177 + .../V5/Product/ProductInfo.php | 1965 +++ .../V5/Product/ProductInfos.php | 1467 +++ .../V5/Query/BOTHQuery.php | 31 + .../V5/Query/ProductQuery.php | 303 + .../V5/Query/Query.php | 18 + .../V5/Query/QueryFactory.php | 53 + .../V5/Query/QueryInterface.php | 14 + .../V5/Query/VariationQuery.php | 272 + .../V5/Query/WCQuery.php | 115 + .../V5/Query/WCReviewQuery.php | 268 + .../V5/Query/WPQuery.php | 143 + .../V5/Query/query.txt | 38 + .../V5/Shipping/BingShipping.php | 102 + .../V5/Shipping/CustomShipping.php | 99 + .../V5/Shipping/GoogleShipping.php | 192 + .../V5/Shipping/PinterestShipping.php | 179 + .../V5/Shipping/Shipping.php | 295 + .../V5/Shipping/ShippingFactory.php | 32 + .../V5/Structure/BingStructure.php | 204 + .../V5/Structure/Custom2Structure.php | 251 + .../V5/Structure/CustomStructure.php | 136 + .../V5/Structure/FacebookStructure.php | 205 + .../V5/Structure/GoogleStructure.php | 442 + .../V5/Structure/GooglereviewStructure.php | 281 + .../V5/Structure/PinterestStructure.php | 419 + .../V5/Structure/SkroutzStructure.php | 14 + .../V5/Structure/Structure.php | 95 + .../V5/Structure/StructureFactory.php | 38 + .../V5/Structure/StructureInterface.php | 78 + .../V5/Structure/StructureXLSXInterface.php | 33 + .../V5/Structure/TiktokStructure.php | 60 + .../V5/Tax/CustomTax.php | 123 + .../V5/Tax/GoogleTax.php | 124 + .../V5/Tax/PinterestTax.php | 126 + .../V5/Tax/Tax.php | 64 + .../V5/Tax/TaxFactory.php | 24 + .../V5/Tax/TaxInterface.php | 7 + .../V5/Template/Custom2Template.php | 441 + .../V5/Template/CustomTemplate.php | 88 + .../V5/Template/FacebookTemplate.php | 88 + .../V5/Template/GoogleTemplate.php | 88 + .../V5/Template/GooglereviewTemplate.php | 88 + .../V5/Template/PinterestTemplate.php | 88 + .../V5/Template/Template.php | 62 + .../V5/Template/TemplateFactory.php | 124 + .../V5/Template/TemplateInterface.php | 42 + .../V5/Tracker/FacebookTracker.php | 251 + .../V5/Tracker/GoogleTracker.php | 229 + .../V5/Tracker/PinterestTracker.php | 312 + .../V5/Tracker/SkroutzTracker.php | 5 + .../V5/Tracker/SnapchatTracker.php | 20 + .../V5/Tracker/TiktokTracker.php | 231 + .../V5/Tracker/TrackerFactory.php | 10 + .../V5/Tracker/TrackerInterface.php | 7 + .../V5/Utility/CTX_WC_Log_Handler.php | 466 + .../V5/Utility/Cache.php | 63 + .../V5/Utility/Config.php | 1244 ++ .../V5/Utility/Docs.php | 135 + .../V5/Utility/DropDown.php | 89 + .../V5/Utility/FileSystem.php | 169 + .../V5/Utility/Logs.php | 195 + .../V5/Utility/Settings.php | 311 + .../V5/Utility/Status.php | 729 ++ .../V5/autoload.php | 27 + .../WOO_FEED_LICENSE.txt | 339 + .../admin/class-woo-feed-admin.php | 800 ++ .../admin/class-woo-feed-category-list.php | 505 + .../admin/class-woo-feed-manage-list.php | 588 + .../admin/class-woo-feed-option-list.php | 500 + .../admin/css/V5CSS/index.css | 4750 +++++++ .../admin/css/admin-settings.css | 20 + .../admin/css/codemirror.css | 515 + .../admin/css/codemirror.min.css | 1 + .../admin/css/fancy-select.css | 199 + .../admin/css/fancy-select.css.map | 1 + .../admin/css/fancy-select.min.css | 1 + .../admin/css/index.php | 1 + .../admin/css/react-selectize.css | 462 + .../admin/css/selectize.css | 333 + .../admin/css/selectize.min.css | 16 + .../admin/css/slick-theme.css | 204 + .../admin/css/slick-theme.min.css | 1 + .../admin/css/slick.css | 119 + .../admin/css/slick.min.css | 1 + .../admin/css/woo-feed-admin-pro.css | 952 ++ .../admin/css/woo-feed-admin-pro.css.map | 1 + .../admin/css/woo-feed-admin-pro.min.css | 1 + .../admin/css/woo-feed-admin.css | 3080 +++++ .../admin/css/woo-feed-admin.css.map | 1 + .../admin/css/woo-feed-admin.min.css | 1 + .../admin/fonts/index.php | 1 + .../admin/fonts/slick.eot | Bin 0 -> 2048 bytes .../admin/fonts/slick.svg | 14 + .../admin/fonts/slick.ttf | Bin 0 -> 1892 bytes .../admin/fonts/slick.woff | Bin 0 -> 1380 bytes .../images/14-days-money-back-guarantee.svg | 66 + .../admin/images/ajax-loader.gif | Bin 0 -> 4178 bytes .../admin/images/block-quote.svg | 6 + .../admin/images/complete.png | Bin 0 -> 781 bytes .../ctx-feed-black-friday-banner-free.png | Bin 0 -> 1356895 bytes .../attributes-mapping-thumbnail.svg | 1 + .../built-in-templates-thumbnail.svg | 1 + .../category-filter-thumbnail.svg | 1 + .../category-mapping-thumbnail.svg | 1 + .../custom-taxonomy-thumbnail.svg | 1 + .../custom-template-1-thumbnail.svg | 1 + .../default-schema-override-thumbnail.svg | 1 + .../extended-product-title-thumbnail.svg | 1 + .../facebook-feed-thumbnail.svg | 1 + .../facebook-pixel-thumbnail.svg | 1 + .../feed-making-batches-thumbnail.svg | 32 + .../ctx-feed-features/feed-type-thumbnail.svg | 1 + .../google-ads-remarketing-thumbnail.svg | 1 + .../google-feed-thumbnail.svg | 1 + .../number-format-thumbnail.svg | 1 + .../ctx-feed-features/options-thumbnail.svg | 1 + .../pinterest-feed-thumbnail.svg | 1 + .../admin/images/disco/disco_360.png | Bin 0 -> 123471 bytes .../admin/images/disco/disco_580.png | Bin 0 -> 173006 bytes .../admin/images/disco/disco_720.png | Bin 0 -> 182727 bytes .../feature-advanced-filter-thumbnail.svg | 192 + ...feature-auto-update-interval-thumbnail.svg | 58 + .../feature-custom-template-2-thumbnail.svg | 74 + .../feature-dynamic-attributes-thumbnail.svg | 289 + .../feature-dynamic-pricing-thumbnail.svg | 314 + ...e-exclude-include-categories-thumbnail.svg | 98 + ...ure-exclude-include-products-thumbnail.svg | 75 + ...ature-extended-product-title-thumbnail.svg | 150 + .../feature-merge-attributes-thumbnail.svg | 124 + .../feature-multi-currency-thumbnail.svg | 118 + ...ature-multi-language-support-thumbnail.svg | 82 + .../feature-multi-vendors-thumbnail.svg | 136 + .../feature-number-format-thumbnail.svg | 106 + .../images/feature-out-of-stock-thumbnail.svg | 101 + .../images/feature-smart-filter-thumbnail.svg | 130 + .../feature-string-replace-thumbnail.svg | 142 + .../images/feature-variations-thumbnail.svg | 41 + .../features/3rd-party-plugin-support.svg | 16 + .../images/features/category-mapping.svg | 21 + .../images/features/conditional-pricing.svg | 16 + .../admin/images/features/custom-taxonomy.svg | 14 + .../images/features/customer-support.svg | 27 + .../images/features/dynamic-attributes.svg | 14 + .../admin/images/features/index.php | 1 + .../images/features/multilingual-feed.svg | 17 + .../images/features/output-customization.svg | 14 + .../features/product-title-customization.svg | 14 + .../features/smart-filter-conditions.svg | 25 + .../admin/images/features/tax-calculation.svg | 14 + .../admin/images/get-woo-feed-pro.svg | 97 + .../admin/images/index.php | 1 + .../admin/images/our_plugins/about-us.png | Bin 0 -> 40593 bytes .../admin/images/our_plugins/challan-logo.png | Bin 0 -> 1172 bytes .../admin/images/our_plugins/circle-1.png | Bin 0 -> 1803 bytes .../admin/images/our_plugins/circle-2.png | Bin 0 -> 1133 bytes .../admin/images/our_plugins/circle-3.png | Bin 0 -> 1909 bytes .../admin/images/our_plugins/disco-icon.png | Bin 0 -> 2594 bytes .../admin/images/our_plugins/dottet.png | Bin 0 -> 1507 bytes .../admin/images/our_plugins/kon-2.png | Bin 0 -> 1951 bytes .../admin/images/our_plugins/kon-icon.png | Bin 0 -> 1045 bytes .../images/our_plugins/multiplication.png | Bin 0 -> 387 bytes .../admin/images/our_plugins/plus-icon-1.png | Bin 0 -> 394 bytes .../admin/images/our_plugins/plus-icon-2.png | Bin 0 -> 354 bytes .../admin/images/payment-options/amex.svg | 15 + .../admin/images/payment-options/diners.svg | 16 + .../admin/images/payment-options/discover.svg | 15 + .../admin/images/payment-options/index.php | 1 + .../admin/images/payment-options/jcb.svg | 30 + .../images/payment-options/mastercard.svg | 31 + .../admin/images/payment-options/visa.svg | 18 + .../admin/images/pro-large-bg-black.png | Bin 0 -> 19367 bytes .../CTX-Feed-Plugin-Side-Banner.018e8d72.png | Bin 0 -> 3581 bytes .../v5_images/CTX-Feed-Plugin-Side-Banner.png | Bin 0 -> 3581 bytes .../CTXFeed-Logo-lifetime.1123faf7.png | Bin 0 -> 30029 bytes .../v5_images/CTXFeed-Logo-lifetime.png | Bin 0 -> 30029 bytes .../Side-Plugin-Banner-1.a5643d7e.png | Bin 0 -> 96739 bytes .../images/v5_images/Side-Plugin-Banner-1.png | Bin 0 -> 96739 bytes .../admin/images/v5_images/download.svg | 1 + .../images/v5_images/get-woo-feed-pro.svg | 97 + .../images/v5_images/logo-pro.9858a552.png | Bin 0 -> 42100 bytes .../admin/images/v5_images/logo-pro.png | Bin 0 -> 42100 bytes .../admin/images/v5_images/paraBg.svg | 1 + .../admin/images/v5_images/woo-feed-icon.svg | 6 + .../admin/images/warn.png | Bin 0 -> 666 bytes .../admin/images/warning-icon.png | Bin 0 -> 3891 bytes .../admin/images/woo-feed-icon.svg | 16 + .../admin/images/woo-feed-lite.svg | 83 + .../admin/images/woo-feed-logo.svg | 69 + .../admin/images/woo-feed-pro-banner.png | Bin 0 -> 59960 bytes .../admin/images/woo-feed-pro.svg | 84 + .../admin/images/woofeed-now-ctxfeed.png | Bin 0 -> 28887 bytes .../admin/index.php | 1 + .../admin/js/V5JS/index.js | 2 + .../admin/js/V5JS/index.js.LICENSE.txt | 84 + .../admin/js/additional-methods.min.js | 4 + .../admin/js/clipboard.min.js | 7 + .../admin/js/codemirror-customs-mode-xml.js | 432 + .../js/codemirror-customs-mode-xml.min.js | 2 + .../admin/js/codemirror-mode-xml.min.js | 2 + .../admin/js/codemirror.js | 9861 +++++++++++++++ .../admin/js/codemirror.min.js | 2 + .../admin/js/fancy-select.js | 521 + .../admin/js/fancy-select.min.js | 2 + .../admin/js/index.php | 1 + .../admin/js/jquery-sortable.js | 692 + .../admin/js/jquery-sortable.min.js | 2 + .../admin/js/jquery.validate.min.js | 4 + .../admin/js/selectize.min.js | 3 + .../admin/js/slick.js | 3011 +++++ .../admin/js/slick.min.js | 1 + .../admin/js/woo-feed-admin-pro.js | 180 + .../admin/js/woo-feed-admin-pro.min.js | 2 + .../admin/js/woo-feed-admin.js | 1713 +++ .../admin/js/woo-feed-admin.min.js | 2 + .../admin/js/woo-feed-facebook-pixel.js | 21 + .../admin/js/woo-feed-facebook-pixel.min.js | 2 + .../admin/js/woo-feed-google-remarketing.js | 20 + .../js/woo-feed-google-remarketing.min.js | 2 + .../admin/js/woo-feed-our-plugins.js | 32 + .../admin/js/woo-feed-our-plugins.min.js | 2 + .../admin/partials/index.php | 1 + .../admin/partials/templates/bestprice.txt | 7 + .../admin/partials/templates/catch.com.au.txt | 7 + .../admin/partials/templates/comparer.be.txt | 7 + .../partials/templates/custom2/admarkt.txt | 24 + .../partials/templates/custom2/custom2.txt | 18 + .../partials/templates/custom2/glami.txt | 87 + .../partials/templates/custom2/index.php | 1 + .../admin/partials/templates/custom2/n11.txt | 0 .../partials/templates/custom2/yandex_xml.txt | 43 + .../admin/partials/templates/daisycon.txt | 10 + .../templates/daisycon_automotive.txt | 10 + .../partials/templates/daisycon_books.txt | 10 + .../partials/templates/daisycon_cosmetics.txt | 10 + .../templates/daisycon_daily_offers.txt | 10 + .../templates/daisycon_electronics.txt | 10 + .../partials/templates/daisycon_fashion.txt | 10 + .../templates/daisycon_food_drinks.txt | 10 + .../daisycon_holidays_accommodations.txt | 10 + ..._holidays_accommodations_and_transport.txt | 10 + .../templates/daisycon_holidays_trips.txt | 10 + .../templates/daisycon_home_garden.txt | 10 + .../partials/templates/daisycon_housing.txt | 10 + .../partials/templates/daisycon_magazines.txt | 10 + .../templates/daisycon_studies_trainings.txt | 10 + .../daisycon_telecom_accessories.txt | 10 + .../templates/daisycon_telecom_all_in_one.txt | 10 + .../templates/daisycon_telecom_gsm.txt | 10 + .../daisycon_telecom_gsm_subscription.txt | 10 + .../templates/daisycon_telecom_sim.txt | 10 + .../partials/templates/daisycon_work_jobs.txt | 10 + .../admin/partials/templates/dooyoo.txt | 7 + .../admin/partials/templates/facebook.txt | 11 + .../admin/partials/templates/fruugo.au.txt | 7 + .../admin/partials/templates/google.txt | 10 + .../admin/partials/templates/google_local.txt | 10 + .../templates/google_local_inventory.txt | 10 + .../templates/google_shopping_action.txt | 10 + .../admin/partials/templates/heureka.sk.txt | 8 + .../partials/templates/hintaseuranta.fi.txt | 7 + .../admin/partials/templates/incurvy.txt | 7 + .../admin/partials/templates/index.php | 1 + .../admin/partials/templates/kijiji.ca.txt | 7 + .../partials/templates/marktplaats.nl.txt | 7 + .../admin/partials/templates/modalova.txt | 4 + .../admin/partials/templates/moebel.de.txt | 7 + .../partials/templates/myshopping.com.au.txt | 3 + .../admin/partials/templates/nextad.txt | 7 + .../admin/partials/templates/pinterest.txt | 10 + .../partials/templates/pinterest_rss.txt | 12 + .../admin/partials/templates/rakuten.de.txt | 7 + .../admin/partials/templates/shopalike.fr.txt | 7 + .../admin/partials/templates/shopflix.txt | 7 + .../partials/templates/skinflint.co.uk.txt | 7 + .../admin/partials/templates/skroutz.txt | 7 + .../admin/partials/templates/snapchat.txt | 10 + .../admin/partials/templates/spartoo.fi.txt | 7 + .../admin/partials/templates/stylight.com.txt | 7 + .../templates/taxonomies/fb_taxonomy.txt | 2968 +++++ .../templates/taxonomies/google_taxonomy.txt | 5583 ++++++++ .../taxonomies/google_taxonomy_en-US.txt | 5596 +++++++++ .../partials/templates/taxonomies/index.php | 1 + .../admin/partials/templates/tiktok.txt | 11 + .../admin/partials/templates/webmarchand.txt | 7 + .../partials/templates/wine_searcher.txt | 5 + .../admin/partials/templates/zap.co.il.txt | 9 + .../admin/partials/templates/zbozi.cz.txt | 4 + .../admin/partials/woo-feed-add-option.php | 28 + .../admin/partials/woo-feed-admin-display.php | 64 + .../woo-feed-category-mapping-list.php | 49 + .../partials/woo-feed-category-mapping.php | 75 + .../partials/woo-feed-content-settings.php | 136 + .../admin/partials/woo-feed-edit-config.php | 166 + .../admin/partials/woo-feed-edit-filter.php | 97 + .../admin/partials/woo-feed-edit-ftp.php | 65 + .../admin/partials/woo-feed-edit-tabs.php | 118 + .../admin/partials/woo-feed-edit-template.php | 64 + .../admin/partials/woo-feed-manage-list.php | 110 + .../admin/partials/woo-feed-option-list.php | 45 + .../admin/partials/woo-feed-our-plugins.php | 230 + .../admin/partials/woo-feed-pro-vs-free.php | 204 + .../admin/partials/woo-feed-settings.php | 277 + .../admin/partials/woo-feed-status.php | 130 + .../AcoWooDynamicPricing.php | 33 + .../Alg_WC_Currency_SwitcherCompatibility.php | 69 + .../CTX_AWDP_DiscountCompatibility.php | 69 + .../CompatibilityFactory.php | 249 + .../DIVI_GRID_PLUGINCompatibility.php | 58 + .../ctx-compatibility/DynamicDiscount.php | 186 + .../EasyWoocommerceDiscounts.php | 68 + .../ctx-compatibility/ExcludeCaching.php | 340 + .../ctx-compatibility/IconicBundleProduct.php | 206 + .../ctx-compatibility/JWTAuth.php | 34 + .../ctx-compatibility/MultiCurrency.php | 213 + .../ctx-compatibility/MultiVendor.php | 125 + .../PolylangCompatibility.php | 75 + .../PricingDealsForWoocommerceVT.php | 37 + .../RP_WCDPDCompatibility.php | 62 + .../SitePressCompatibility.php | 93 + .../TRP_Translate_PressCompatibility.php | 496 + .../ctx-compatibility/TranslatePress.php | 142 + .../ctx-compatibility/VariationGallary.php | 7 + .../WAD_DiscountCompatibility.php | 103 + .../WCCS_PricingCompatibility.php | 37 + ...WC_Aelia_CurrencySwitcherCompatibility.php | 69 + .../WC_Composite_ProductsCompatibility.php | 175 + .../WC_Product_BundleCompatibility.php | 161 + .../ctx-compatibility/WOOCSCompatibility.php | 133 + .../WOOMC_APICompatibility.php | 54 + .../WOOMULTI_CURRENCYCompatibility.php | 179 + .../WOOMULTI_CURRENCY_FCompatibility.php | 78 + .../WPCleverWoocoCompatibility.php | 113 + .../ctx-compatibility/WPMLTranslation.php | 95 + .../Wdr_ConfigurationCompatibility.php | 114 + .../WooAdvancedDiscountWad.php | 65 + .../WooDiscountRulesFlycart.php | 82 + .../ctx-compatibility/autoload.php | 37 + .../woocommerce_wpmlCompatibility.php | 118 + .../includes/Tracker/Base.php | 84 + .../includes/Tracker/Facebook/Pixel.php | 269 + .../includes/Tracker/Google/Remarketing.php | 212 + .../includes/action-handler.php | 281 + .../includes/class-woo-feed-docs.php | 215 + .../includes/class-woo-feed-i18n.php | 62 + .../includes/class-woo-feed-installer.php | 179 + .../includes/class-woo-feed-loader.php | 129 + .../includes/class-woo-feed-status.php | 675 + .../includes/class-woo-feed.php | 282 + .../classes/class-woo-feed-admin-message.php | 373 + .../classes/class-woo-feed-admin-notices.php | 334 + .../classes/class-woo-feed-constants.php | 122 + .../class-woo-feed-default-attributes.php | 3013 +++++ .../classes/class-woo-feed-dropdown.php | 993 ++ .../classes/class-woo-feed-engine.php | 678 + .../classes/class-woo-feed-list-table.php | 1466 +++ .../class-woo-feed-log-handler-file.php | 438 + .../classes/class-woo-feed-merchant.php | 490 + .../class-woo-feed-product-attributes.php | 817 ++ .../classes/class-woo-feed-products-v3.php | 4506 +++++++ .../classes/class-woo-feed-products.php | 1895 +++ .../classes/class-woo-feed-savefile.php | 149 + .../classes/class-woo-feed-shipping.php | 615 + .../classes/class-woo-feed-webappick-api.php | 528 + .../includes/classes/index.php | 1 + .../includes/cron-helper.php | 174 + .../includes/feeds/class-woo-feed-custom.php | 98 + .../feeds/class-woo-feed-facebook.php | 143 + .../feeds/class-woo-feed-generate.php | 30 + .../includes/feeds/class-woo-feed-google.php | 140 + .../feeds/class-woo-feed-pinterest.php | 142 + .../includes/feeds/class-woo-feed-review.php | 297 + .../includes/feeds/index.php | 1 + .../includes/filters/filters.php | 42 + .../includes/helper.php | 6241 +++++++++ .../includes/hooks.php | 90 + .../includes/index.php | 1 + .../includes/log-helper.php | 232 + .../includes/pluggable.php | 53 + .../includes/template-configs.php | 7370 +++++++++++ .../includes/template-infos.php | 457 + .../includes/wc-legacy-support.php | 26 + .../includes/widget.php | 94 + .../index.php | 1 + .../languages/index.php | 1 + .../languages/woo-feed-en_US.mo | Bin 0 -> 3263 bytes .../languages/woo-feed-en_US.po | 560 + .../languages/woo-feed.pot | 3197 +++++ .../libs/WebAppick/AppServices/Client.php | 502 + .../libs/WebAppick/AppServices/Insights.php | 1417 +++ .../libs/WebAppick/AppServices/Promotions.php | 387 + .../libs/WebAppick/AppServices/index.php | 1 + .../Attributes/AttributeInterface.php | 9 + .../libs/WebAppick/Attributes/Attributes.php | 24 + .../WebAppick/Attributes/AvailabilityDate.php | 148 + .../libs/WebAppick/FTP/FTPConnection.php | 187 + .../libs/WebAppick/FTP/SFTPConnection.php | 86 + .../libs/WebAppick/index.php | 1 + .../libs/WebAppick/phpcs.xml | 71 + .../libs/autoload.php | 30 + .../libs/index.php | 1 + .../postcss.config.js | 6 + .../tailwind.config.js | 19 + .../uninstall.php | 16 + .../webpack.config.js | 23 + .../woo-feed.php | 1005 ++ 640 files changed, 154788 insertions(+), 1297 deletions(-) delete mode 100644 plugins/google-site-kit/dist/assets/css/googlesitekit-admin-css-0167cbd9e2a4e951c2c2.min.css create mode 100644 plugins/google-site-kit/dist/assets/css/googlesitekit-admin-css-1a1b3dd6836e74847e00.min.css rename plugins/google-site-kit/dist/assets/js/{33-cb81424f70352173937d.js => 33-aea26aaf32eda28b5b03.js} (98%) rename plugins/google-site-kit/dist/assets/js/{34-965775fce6fa9e3670cf.js => 34-c8e37ae42d451696b8b7.js} (97%) rename plugins/google-site-kit/dist/assets/js/{35-153ac97e5e5caf4acf51.js => 35-f5127b73ed0693fc91a5.js} (98%) rename plugins/google-site-kit/dist/assets/js/{36-a4d4f2adc3b533f252a8.js => 36-e7a6de830eea07d009af.js} (93%) rename plugins/google-site-kit/dist/assets/js/{37-718cef57fa7d90296b51.js => 37-19b401e9a1e883d25fdb.js} (93%) rename plugins/google-site-kit/dist/assets/js/{38-942fe4fbb20a18012159.js => 38-61d72bb83fa9d81c52d0.js} (98%) rename plugins/google-site-kit/dist/assets/js/{39-b5ca1b280e8846039515.js => 39-3b8a9e15e996253cae30.js} (97%) rename plugins/google-site-kit/dist/assets/js/{40-950b80c126fcb029b477.js => 40-97373ec8cb29426a5082.js} (98%) rename plugins/google-site-kit/dist/assets/js/{41-c84e4fe5b232dcceae09.js => 41-d98585dc8a1a6d27b38d.js} (98%) rename plugins/google-site-kit/dist/assets/js/{42-69ebbca9a74beb868455.js => 42-15292e65ed66384e4c3f.js} (97%) rename plugins/google-site-kit/dist/assets/js/{43-5ff78007cd0d8239997a.js => 43-8c7878a4639b343b6ce6.js} (99%) delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-activation-0ff4bb4905875a3af96d.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-activation-859303eb6e15c09c3a50.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-ad-blocking-recovery-1bc5a979d40644f428b9.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-ad-blocking-recovery-ff4f4fe3cc2fc49e0dda.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-adminbar-3eb079e3b867b0628d63.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-adminbar-9ee6cdb0be43ea55ded4.js rename plugins/google-site-kit/dist/assets/js/{googlesitekit-api-56127018cb7e490cef83.js => googlesitekit-api-9f1616f40adbca43e6b8.js} (66%) create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-components-gm2-7945eb0cdbd7dc3a89c2.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-components-gm2-cd1b1b91f7b0b537fb1c.js rename plugins/google-site-kit/dist/assets/js/{googlesitekit-components-gm3-8508ed7feed06dfd7cea.js => googlesitekit-components-gm3-f995cfcb85091ab1e560.js} (97%) rename plugins/google-site-kit/dist/assets/js/{googlesitekit-data-0a0301705fe2a7e3ea13.js => googlesitekit-data-590b288a64d1660dbc11.js} (84%) rename plugins/google-site-kit/dist/assets/js/{googlesitekit-datastore-forms-38cfea41da192d1bc108.js => googlesitekit-datastore-forms-c2f63f0c0adfa5c1bb08.js} (91%) rename plugins/google-site-kit/dist/assets/js/{googlesitekit-datastore-location-2a54fd2f0e87dc2c9475.js => googlesitekit-datastore-location-4bd0ca7dbf15fff9fb97.js} (95%) rename plugins/google-site-kit/dist/assets/js/{googlesitekit-datastore-site-f7b7542d42fef36c823b.js => googlesitekit-datastore-site-dc7146f24a9f4d40e709.js} (71%) rename plugins/google-site-kit/dist/assets/js/{googlesitekit-datastore-ui-1bf7f3343b392b9d3d36.js => googlesitekit-datastore-ui-7db934d367461124f5b8.js} (93%) rename plugins/google-site-kit/dist/assets/js/{googlesitekit-datastore-user-7de58a4f6164bf6e0b50.js => googlesitekit-datastore-user-1542da3bbef03cd01780.js} (57%) delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-entity-dashboard-41ce7126b0d8da211ca8.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-entity-dashboard-b0eeab16b25065093d82.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-main-dashboard-4da8f8cf7c833e75c20b.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-main-dashboard-a4bcd8e2d49c8c193c4e.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-metric-selection-3ee8a23dcaf39401f05a.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-metric-selection-70ed1134dac53010fa40.js rename plugins/google-site-kit/dist/assets/js/{googlesitekit-modules-3149aa67bd387f1e1ecc.js => googlesitekit-modules-1a2ef4f5ec6f6f1b060c.js} (61%) create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-ads-23c0496d89342f02d84d.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-ads-eda91d5656699d965a11.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-adsense-4c9f3e82ede5101a7eec.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-adsense-60e0039459ccbf52f2dc.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-analytics-4-481b89c2cd44559a7bb4.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-analytics-4-e7215bb257eaff98a241.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-pagespeed-insights-682896da4133e08c66ab.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-pagespeed-insights-7e61c64f50cba689589c.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-reader-revenue-manager-7ec25dde6792354d0eba.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-reader-revenue-manager-c83637e628e0caaef7d4.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-search-console-1c6864fceeeff7358e12.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-search-console-ee6b9d229e6d6c34c65c.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-sign-in-with-google-0c7629ea71e0e833b0c2.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-modules-sign-in-with-google-ee4e9dd0a0285290e10e.js rename plugins/google-site-kit/dist/assets/js/{googlesitekit-modules-tagmanager-b2f7e90981d1eabf1a0c.js => googlesitekit-modules-tagmanager-c8b6022c7b86c9ad9742.js} (68%) delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-notifications-576ef786c988dd3d308a.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-notifications-b81ae6975e8afcf98876.js rename plugins/google-site-kit/dist/assets/js/{googlesitekit-polyfills-37387dc58c34dd8ec319.js => googlesitekit-polyfills-48e8493ea0e91c0facb6.js} (64%) create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-settings-0c4ffef12bd5de9a413b.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-settings-f0011b69cd7c80cd340a.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-splash-0e6568b993910dcbfb85.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-splash-e5aa53e206c5c1ddcc14.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-user-input-4af8721f3482ada06493.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-user-input-77dfa9da5c9848070722.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-vendor-0e5fcb2614a2df8b4141.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-vendor-55f6d4109c59b75ef2bd.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-widgets-9f86e66067a4d5d6be4f.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-widgets-c8a23c2f9e2b270ac4c9.js create mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-wp-dashboard-80711a59677604d769b2.js delete mode 100644 plugins/google-site-kit/dist/assets/js/googlesitekit-wp-dashboard-c774dda1d72e62c09f79.js delete mode 100644 plugins/google-site-kit/dist/assets/js/runtime-7900ebf0cb27fa989ac7.js create mode 100644 plugins/google-site-kit/dist/assets/js/runtime-cafb5a04ad2af33b7709.js create mode 100644 plugins/google-site-kit/includes/Core/Storage/Meta_Interface.php rename plugins/google-site-kit/includes/Core/Storage/{Post_Meta_Setting.php => Meta_Setting_Trait.php} (59%) rename plugins/google-site-kit/includes/Core/Storage/{Post_Meta_Interface.php => Term_Meta.php} (51%) rename plugins/google-site-kit/includes/Modules/Reader_Revenue_Manager/{Synchronize_OnboardingState.php => Synchronize_Publication.php} (50%) create mode 100644 plugins/google-site-kit/includes/Modules/Reader_Revenue_Manager/Term_Product_ID.php create mode 100644 plugins/tiktok-for-business/LICENSE create mode 100644 plugins/tiktok-for-business/README.txt create mode 100644 plugins/tiktok-for-business/Tiktokforbusiness.php create mode 100644 plugins/tiktok-for-business/admin/Tasks/Onboarding.php create mode 100644 plugins/tiktok-for-business/admin/Tt4b_Menu_Class.php create mode 100644 plugins/tiktok-for-business/admin/css/main.css create mode 100644 plugins/tiktok-for-business/admin/css/order.css create mode 100644 plugins/tiktok-for-business/admin/js/ajaxSnippet.js create mode 100644 plugins/tiktok-for-business/admin/js/localJs.js create mode 100644 plugins/tiktok-for-business/admin/js/order.js create mode 100644 plugins/tiktok-for-business/admin/tt4b_menu.php create mode 100644 plugins/tiktok-for-business/admin/tts/common.php create mode 100644 plugins/tiktok-for-business/admin/tts/index.php create mode 100644 plugins/tiktok-for-business/admin/tts/order_detail.php create mode 100644 plugins/tiktok-for-business/admin/tts/order_list.php create mode 100644 plugins/tiktok-for-business/bin/lint-branch.sh create mode 100644 plugins/tiktok-for-business/build/.gitignore create mode 100644 plugins/tiktok-for-business/catalog/TikTokProductsController.php create mode 100644 plugins/tiktok-for-business/catalog/Tt4b_Catalog_Class.php create mode 100644 plugins/tiktok-for-business/changelog.txt create mode 100644 plugins/tiktok-for-business/composer.json create mode 100644 plugins/tiktok-for-business/composer.lock create mode 100644 plugins/tiktok-for-business/index.php create mode 100644 plugins/tiktok-for-business/logging/Logger.php create mode 100644 plugins/tiktok-for-business/mapi/Tt4b_Mapi_Class.php create mode 100644 plugins/tiktok-for-business/package-lock.json create mode 100644 plugins/tiktok-for-business/package.json create mode 100644 plugins/tiktok-for-business/phpcs.xml.dist create mode 100644 plugins/tiktok-for-business/pixel/Tt4b_Pixel_Class.php create mode 100644 plugins/tiktok-for-business/pixel/tt4b_pixel.php create mode 100644 plugins/tiktok-for-business/tiktok-for-woocommerce.php create mode 100644 plugins/tiktok-for-business/utils/Method.php create mode 100644 plugins/tiktok-for-business/utils/TBPApi.php create mode 100644 plugins/tiktok-for-business/utils/utilities.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/README.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/RestConstants.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/RestController.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/RestFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/AttributesMapping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/CategoryMapping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/DropDown.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/DynamicAttributes.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/MakeFeed.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ManageFeeds.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/MerchantInfo.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ProductCategories.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ProductTaxonomy.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/Products.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/Settings.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WPOptions.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WPStatus.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WooFeedDocs.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/CustomFileds.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/DisplayBanners.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/DisplayNotices.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/DownloadFiles.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/DropDownOptions.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/ExportFeed.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/Factory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/Helper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/Hooks.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/ImportFeed.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/SaveFeed.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/Status.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/Taxonomy.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Common/Widget.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/AttributeInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/Attributes.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/AvailabilityDate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/CustomField.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/CustomFieldFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/CustomFieldInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/DateCustomField.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/InputCustomFiled.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Download/FileDownload.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Download/Mimetypes.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpClient.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpException.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpWrapper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/FTP/info.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Feed/Attributes.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Feed/Feed.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Feed/FeedRules.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Feed/Product.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/File/CSV.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/File/FileFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/File/FileInfo.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/File/FileInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/File/JSON.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/File/TXT.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/File/XLS.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/File/XLSX.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/File/XML.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Filter/AdvanceFilter.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Filter/Filter.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Filter/FilterInfo.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Filter/ValidateProduct.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Helper/CommonHelper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Helper/CronHelper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Helper/CustomFieldHelper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Helper/FeedHelper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Helper/ProductHelper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/MakeFeed.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Merchant/MerchantAttributeReplaceFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Merchant/MerchantAttributesFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Merchant/Merchants.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Merchant/TemplateConfig.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Merchant/TemplateInfo.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Merchant/Templates.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Notice/Dismiss.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Notice/Notice.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Notice/Notices.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Output/AttributeMapping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Output/CategoryMapping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Output/DynamicAttributes.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Output/FormatOutput.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Output/OutputCommands.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Output/WPOptions.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/AdmarktTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/Advance.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/BestpriceTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/BingTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/CommonOverride.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/DaisyconTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/FacebookTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/GoogleTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/Heureka_skTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/IdealoTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/OverrideFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/PinterestTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/Pinterest_rssTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/PricerunnerTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/SnapchatTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/SpartooTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/TiktokTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/TrovaprezziTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Override/Zbozi_czTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/GroupProductPrice.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/IconicBundleProductPrice.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/PriceFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/PriceInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/ProductPrice.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/SgGroupProductPrice.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/SimpleProductPrice.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/SubscriptionProductPrice.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/VariableProductPrice.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Price/WCCompositeProductPrice.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Product/AttributeValueByType.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductAttributeFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductInfo.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductInfos.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/BOTHQuery.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/ProductQuery.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/Query.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/QueryFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/QueryInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/VariationQuery.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/WCQuery.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/WCReviewQuery.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/WPQuery.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Query/query.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Shipping/BingShipping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Shipping/CustomShipping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Shipping/GoogleShipping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Shipping/PinterestShipping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Shipping/Shipping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Shipping/ShippingFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/BingStructure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/Custom2Structure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/CustomStructure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/FacebookStructure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/GoogleStructure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/GooglereviewStructure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/PinterestStructure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/SkroutzStructure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/Structure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/StructureFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/StructureInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/StructureXLSXInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Structure/TiktokStructure.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tax/CustomTax.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tax/GoogleTax.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tax/PinterestTax.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tax/Tax.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tax/TaxFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tax/TaxInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Template/Custom2Template.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Template/CustomTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Template/FacebookTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Template/GoogleTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Template/GooglereviewTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Template/PinterestTemplate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Template/Template.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Template/TemplateFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Template/TemplateInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tracker/FacebookTracker.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tracker/GoogleTracker.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tracker/PinterestTracker.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tracker/SkroutzTracker.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tracker/SnapchatTracker.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tracker/TiktokTracker.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tracker/TrackerFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Tracker/TrackerInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Utility/CTX_WC_Log_Handler.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Utility/Cache.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Utility/Config.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Utility/Docs.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Utility/DropDown.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Utility/FileSystem.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Utility/Logs.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Utility/Settings.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/Utility/Status.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/V5/autoload.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/WOO_FEED_LICENSE.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/class-woo-feed-admin.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/class-woo-feed-category-list.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/class-woo-feed-manage-list.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/class-woo-feed-option-list.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/V5CSS/index.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/admin-settings.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/codemirror.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/codemirror.min.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/fancy-select.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/fancy-select.css.map create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/fancy-select.min.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/react-selectize.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/selectize.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/selectize.min.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/slick-theme.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/slick-theme.min.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/slick.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/slick.min.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/woo-feed-admin-pro.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/woo-feed-admin-pro.css.map create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/woo-feed-admin-pro.min.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/woo-feed-admin.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/woo-feed-admin.css.map create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/css/woo-feed-admin.min.css create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/fonts/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/fonts/slick.eot create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/fonts/slick.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/fonts/slick.ttf create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/fonts/slick.woff create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/14-days-money-back-guarantee.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ajax-loader.gif create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/block-quote.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/complete.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-black-friday-banner-free.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/attributes-mapping-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/built-in-templates-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/category-filter-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/category-mapping-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/custom-taxonomy-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/custom-template-1-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/default-schema-override-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/extended-product-title-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/facebook-feed-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/facebook-pixel-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/feed-making-batches-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/feed-type-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/google-ads-remarketing-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/google-feed-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/number-format-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/options-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/ctx-feed-features/pinterest-feed-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/disco/disco_360.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/disco/disco_580.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/disco/disco_720.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-advanced-filter-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-auto-update-interval-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-custom-template-2-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-dynamic-attributes-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-dynamic-pricing-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-exclude-include-categories-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-exclude-include-products-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-extended-product-title-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-merge-attributes-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-multi-currency-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-multi-language-support-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-multi-vendors-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-number-format-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-out-of-stock-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-smart-filter-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-string-replace-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/feature-variations-thumbnail.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/3rd-party-plugin-support.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/category-mapping.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/conditional-pricing.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/custom-taxonomy.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/customer-support.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/dynamic-attributes.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/multilingual-feed.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/output-customization.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/product-title-customization.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/smart-filter-conditions.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/features/tax-calculation.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/get-woo-feed-pro.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/about-us.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/challan-logo.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/circle-1.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/circle-2.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/circle-3.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/disco-icon.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/dottet.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/kon-2.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/kon-icon.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/multiplication.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/plus-icon-1.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/our_plugins/plus-icon-2.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/payment-options/amex.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/payment-options/diners.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/payment-options/discover.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/payment-options/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/payment-options/jcb.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/payment-options/mastercard.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/payment-options/visa.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/pro-large-bg-black.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/CTX-Feed-Plugin-Side-Banner.018e8d72.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/CTX-Feed-Plugin-Side-Banner.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/CTXFeed-Logo-lifetime.1123faf7.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/CTXFeed-Logo-lifetime.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/Side-Plugin-Banner-1.a5643d7e.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/Side-Plugin-Banner-1.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/download.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/get-woo-feed-pro.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/logo-pro.9858a552.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/logo-pro.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/paraBg.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/v5_images/woo-feed-icon.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/warn.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/warning-icon.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/woo-feed-icon.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/woo-feed-lite.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/woo-feed-logo.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/woo-feed-pro-banner.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/woo-feed-pro.svg create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/images/woofeed-now-ctxfeed.png create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/V5JS/index.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/V5JS/index.js.LICENSE.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/additional-methods.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/clipboard.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/codemirror-customs-mode-xml.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/codemirror-customs-mode-xml.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/codemirror-mode-xml.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/codemirror.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/codemirror.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/fancy-select.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/fancy-select.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/jquery-sortable.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/jquery-sortable.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/jquery.validate.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/selectize.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/slick.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/slick.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-admin-pro.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-admin-pro.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-admin.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-admin.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-facebook-pixel.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-facebook-pixel.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-google-remarketing.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-google-remarketing.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-our-plugins.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/js/woo-feed-our-plugins.min.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/bestprice.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/catch.com.au.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/comparer.be.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/custom2/admarkt.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/custom2/custom2.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/custom2/glami.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/custom2/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/custom2/n11.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/custom2/yandex_xml.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_automotive.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_books.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_cosmetics.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_daily_offers.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_electronics.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_fashion.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_food_drinks.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_holidays_accommodations.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_holidays_accommodations_and_transport.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_holidays_trips.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_home_garden.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_housing.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_magazines.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_studies_trainings.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_telecom_accessories.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_telecom_all_in_one.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_telecom_gsm.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_telecom_gsm_subscription.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_telecom_sim.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/daisycon_work_jobs.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/dooyoo.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/facebook.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/fruugo.au.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/google.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/google_local.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/google_local_inventory.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/google_shopping_action.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/heureka.sk.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/hintaseuranta.fi.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/incurvy.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/kijiji.ca.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/marktplaats.nl.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/modalova.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/moebel.de.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/myshopping.com.au.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/nextad.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/pinterest.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/pinterest_rss.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/rakuten.de.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/shopalike.fr.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/shopflix.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/skinflint.co.uk.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/skroutz.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/snapchat.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/spartoo.fi.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/stylight.com.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/taxonomies/fb_taxonomy.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/taxonomies/google_taxonomy.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/taxonomies/google_taxonomy_en-US.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/taxonomies/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/tiktok.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/webmarchand.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/wine_searcher.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/zap.co.il.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/templates/zbozi.cz.txt create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-add-option.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-admin-display.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-category-mapping-list.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-category-mapping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-content-settings.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-edit-config.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-edit-filter.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-edit-ftp.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-edit-tabs.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-edit-template.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-manage-list.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-option-list.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-our-plugins.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-pro-vs-free.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-settings.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/admin/partials/woo-feed-status.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/AcoWooDynamicPricing.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/Alg_WC_Currency_SwitcherCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/CTX_AWDP_DiscountCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/CompatibilityFactory.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/DIVI_GRID_PLUGINCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/DynamicDiscount.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/EasyWoocommerceDiscounts.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/ExcludeCaching.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/IconicBundleProduct.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/JWTAuth.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/MultiCurrency.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/MultiVendor.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/PolylangCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/PricingDealsForWoocommerceVT.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/RP_WCDPDCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/SitePressCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/TRP_Translate_PressCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/TranslatePress.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/VariationGallary.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WAD_DiscountCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WCCS_PricingCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WC_Aelia_CurrencySwitcherCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WC_Composite_ProductsCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WC_Product_BundleCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WOOCSCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WOOMC_APICompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WOOMULTI_CURRENCYCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WOOMULTI_CURRENCY_FCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WPCleverWoocoCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WPMLTranslation.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/Wdr_ConfigurationCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WooAdvancedDiscountWad.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/WooDiscountRulesFlycart.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/autoload.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/ctx-compatibility/woocommerce_wpmlCompatibility.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/Tracker/Base.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/Tracker/Facebook/Pixel.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/Tracker/Google/Remarketing.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/action-handler.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/class-woo-feed-docs.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/class-woo-feed-i18n.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/class-woo-feed-installer.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/class-woo-feed-loader.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/class-woo-feed-status.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/class-woo-feed.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-admin-message.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-admin-notices.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-constants.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-default-attributes.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-dropdown.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-engine.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-list-table.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-log-handler-file.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-merchant.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-product-attributes.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-products-v3.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-products.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-savefile.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-shipping.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/class-woo-feed-webappick-api.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/classes/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/cron-helper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/feeds/class-woo-feed-custom.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/feeds/class-woo-feed-facebook.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/feeds/class-woo-feed-generate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/feeds/class-woo-feed-google.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/feeds/class-woo-feed-pinterest.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/feeds/class-woo-feed-review.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/feeds/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/filters/filters.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/helper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/hooks.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/log-helper.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/pluggable.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/template-configs.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/template-infos.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/wc-legacy-support.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/includes/widget.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/languages/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/languages/woo-feed-en_US.mo create mode 100644 plugins/webappick-product-feed-for-woocommerce/languages/woo-feed-en_US.po create mode 100644 plugins/webappick-product-feed-for-woocommerce/languages/woo-feed.pot create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/AppServices/Client.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/AppServices/Insights.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/AppServices/Promotions.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/AppServices/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/Attributes/AttributeInterface.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/Attributes/Attributes.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/Attributes/AvailabilityDate.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/FTP/FTPConnection.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/FTP/SFTPConnection.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/WebAppick/phpcs.xml create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/autoload.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/libs/index.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/postcss.config.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/tailwind.config.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/uninstall.php create mode 100644 plugins/webappick-product-feed-for-woocommerce/webpack.config.js create mode 100644 plugins/webappick-product-feed-for-woocommerce/woo-feed.php diff --git a/plugins/google-site-kit/dist/assets/css/googlesitekit-admin-css-0167cbd9e2a4e951c2c2.min.css b/plugins/google-site-kit/dist/assets/css/googlesitekit-admin-css-0167cbd9e2a4e951c2c2.min.css deleted file mode 100644 index 968c2906d..000000000 --- a/plugins/google-site-kit/dist/assets/css/googlesitekit-admin-css-0167cbd9e2a4e951c2c2.min.css +++ /dev/null @@ -1 +0,0 @@ -.mdc-button{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:2.25rem;font-weight:500;letter-spacing:.0892857143em;-webkit-text-decoration:none;text-decoration:none;text-transform:uppercase;padding:0 8px 0 8px;display:inline-flex;position:relative;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;height:36px;border:none;outline:none;line-height:inherit;-webkit-user-select:none;user-select:none;-webkit-appearance:none;overflow:hidden;vertical-align:middle;border-radius:4px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{background-color:transparent;color:rgba(0,0,0,.37);cursor:default;pointer-events:none}.mdc-button.mdc-button--dense{border-radius:4px}.mdc-button:not(:disabled){background-color:transparent}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;width:18px;height:18px;font-size:18px;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button:not(:disabled){color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--raised .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon,.mdc-button--outlined .mdc-button__icon{margin-left:-4px;margin-right:8px}[dir=rtl] .mdc-button--raised .mdc-button__icon,.mdc-button--raised .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__icon,.mdc-button--outlined .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--raised .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mdc-button--raised,.mdc-button--unelevated{padding:0 16px 0 16px}.mdc-button--raised:disabled,.mdc-button--unelevated:disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.37)}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:#3c7251}@supports not (-ms-ime-align: auto){.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:var(--mdc-theme-primary, #3c7251)}}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary, #fff)}.mdc-button--raised{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--raised:hover,.mdc-button--raised:focus{box-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12)}.mdc-button--raised:active{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0,0,0,.12)}.mdc-button--raised:disabled{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2),0px 0px 0px 0px rgba(0, 0, 0, 0.14),0px 0px 0px 0px rgba(0,0,0,.12)}.mdc-button--outlined{border-style:solid;padding:0 15px 0 15px;border-width:1px}.mdc-button--outlined:disabled{border-color:rgba(0,0,0,.37)}.mdc-button--outlined:not(:disabled){border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-button--dense{height:32px;font-size:.8125rem}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface--test-edge-var-bug{--mdc-ripple-surface-test-edge-var: 1px solid #000;visibility:hidden}.mdc-ripple-surface--test-edge-var-bug::before{border:var(--mdc-ripple-surface-test-edge-var)}.mdc-button{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-button::before,.mdc-button::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-button::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-button.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-button.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-button.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button::before,.mdc-button::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-button::before,.mdc-button::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){.mdc-button::before,.mdc-button::after{background-color:var(--mdc-theme-primary, #3c7251)}}.mdc-button:hover::before{opacity:.04}.mdc-button:not(.mdc-ripple-upgraded):focus::before,.mdc-button.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-button:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-button:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-button--raised::before,.mdc-button--raised::after,.mdc-button--unelevated::before,.mdc-button--unelevated::after{background-color:#fff}@supports not (-ms-ime-align: auto){.mdc-button--raised::before,.mdc-button--raised::after,.mdc-button--unelevated::before,.mdc-button--unelevated::after{background-color:var(--mdc-theme-on-primary, #fff)}}.mdc-button--raised:hover::before,.mdc-button--unelevated:hover::before{opacity:.08}.mdc-button--raised:not(.mdc-ripple-upgraded):focus::before,.mdc-button--raised.mdc-ripple-upgraded--background-focused::before,.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before,.mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.mdc-button--raised:not(.mdc-ripple-upgraded)::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-button--raised:not(.mdc-ripple-upgraded):active::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.mdc-button--raised.mdc-ripple-upgraded,.mdc-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;padding:11px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:rgba(0,0,0,.54);background-color:transparent}.mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199);background-color:#446199;background-color:var(--mdc-theme-secondary, #446199)}@keyframes mdc-checkbox-fade-in-background-0{0%{border-color:rgba(0,0,0,.54);background-color:transparent}50%{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199);background-color:#446199;background-color:var(--mdc-theme-secondary, #446199)}}@keyframes mdc-checkbox-fade-out-background-0{0%,80%{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199);background-color:#446199;background-color:var(--mdc-theme-secondary, #446199)}100%{border-color:rgba(0,0,0,.54);background-color:transparent}}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-0}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-0}.mdc-checkbox__checkmark{color:#fff}.mdc-checkbox__mixedmark{border-color:#fff}.mdc-checkbox__background::before{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-checkbox__background::before{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:rgba(0,0,0,.26)}.mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background{border-color:transparent;background-color:rgba(0,0,0,.26)}@media screen and (-ms-high-contrast: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{left:11px;right:initial;display:inline-flex;position:absolute;top:11px;bottom:0;align-items:center;justify-content:center;box-sizing:border-box;width:45%;height:45%;border:2px solid currentColor;border-radius:2px;background-color:transparent;pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox[dir=rtl] .mdc-checkbox__background,[dir=rtl] .mdc-checkbox .mdc-checkbox__background{left:initial;right:11px}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__checkmark{opacity:1}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__background,.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none !important}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__background::before{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:"";will-change:opacity,transform;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:focus~.mdc-checkbox__background::before{transform:scale(2.75, 2.75);opacity:.12;transition:opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:inherit}.mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}.mdc-checkbox{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-checkbox::before,.mdc-checkbox::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-checkbox::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-checkbox.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-checkbox.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-checkbox.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-checkbox.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-checkbox::before,.mdc-checkbox::after{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-checkbox::before,.mdc-checkbox::after{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-checkbox:hover::before{opacity:.04}.mdc-checkbox:not(.mdc-ripple-upgraded):focus::before,.mdc-checkbox.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-checkbox:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-checkbox:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-checkbox.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-checkbox::before,.mdc-checkbox::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-checkbox.mdc-ripple-upgraded::before,.mdc-checkbox.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-checkbox.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-upgraded--background-focused .mdc-checkbox__background::before{content:none}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:7}.mdc-dialog .mdc-dialog__surface{background-color:#fff;background-color:var(--mdc-theme-surface, #fff)}.mdc-dialog .mdc-dialog__scrim{background-color:rgba(0,0,0,.32)}.mdc-dialog .mdc-dialog__title{color:rgba(0,0,0,.87)}.mdc-dialog .mdc-dialog__content{color:rgba(0,0,0,.6)}.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title,.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions{border-color:rgba(0,0,0,.12)}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100vh - 32px)}.mdc-dialog .mdc-dialog__surface{border-radius:4px}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;justify-content:space-around;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-dialog__surface{box-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0,0,0,.12);display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%}.mdc-dialog[dir=rtl] .mdc-dialog__surface,[dir=rtl] .mdc-dialog .mdc-dialog__surface{text-align:right}.mdc-dialog__title{display:block;margin-top:0;line-height:normal;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.25rem;line-height:2rem;font-weight:500;letter-spacing:.0125em;text-decoration:inherit;text-transform:inherit;display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-dialog[dir=rtl] .mdc-dialog__title,[dir=rtl] .mdc-dialog .mdc-dialog__title{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{padding-bottom:15px}.mdc-dialog__content{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.5rem;font-weight:400;letter-spacing:.03125em;text-decoration:inherit;text-transform:inherit;flex-grow:1;box-sizing:border-box;margin:0;padding:20px 24px;overflow:auto;-webkit-overflow-scrolling:touch}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-dialog[dir=rtl] .mdc-dialog__button,[dir=rtl] .mdc-dialog .mdc-dialog__button{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:scale(1)}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:scale(1);opacity:1}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-form-field{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:1.25rem;font-weight:400;letter-spacing:.0178571429em;text-decoration:inherit;text-transform:inherit;color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field>label{order:0;margin-right:auto;padding-left:4px}[dir=rtl] .mdc-form-field>label,.mdc-form-field[dir=rtl]>label{margin-left:auto;padding-right:4px}.mdc-form-field--align-end>label{order:-1;margin-left:auto;padding-right:4px}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end[dir=rtl]>label{margin-right:auto;padding-left:4px}:root{--mdc-layout-grid-margin-desktop: 24px;--mdc-layout-grid-gutter-desktop: 24px;--mdc-layout-grid-column-width-desktop: 72px;--mdc-layout-grid-margin-tablet: 16px;--mdc-layout-grid-gutter-tablet: 16px;--mdc-layout-grid-column-width-tablet: 72px;--mdc-layout-grid-margin-phone: 16px;--mdc-layout-grid-gutter-phone: 16px;--mdc-layout-grid-column-width-phone: 72px}@media(min-width: 961px){.mdc-layout-grid{box-sizing:border-box;margin:0 auto;padding:24px;padding:var(--mdc-layout-grid-margin-desktop, 24px)}}@media(min-width: 601px)and (max-width: 960px){.mdc-layout-grid{box-sizing:border-box;margin:0 auto;padding:16px;padding:var(--mdc-layout-grid-margin-tablet, 16px)}}@media(max-width: 600px){.mdc-layout-grid{box-sizing:border-box;margin:0 auto;padding:16px;padding:var(--mdc-layout-grid-margin-phone, 16px)}}@media(min-width: 961px){.mdc-layout-grid__inner{display:flex;flex-flow:row wrap;align-items:stretch;margin:-12px;margin:calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2 * -1)}@supports(display: grid){.mdc-layout-grid__inner{display:grid;margin:0;grid-gap:24px;grid-gap:var(--mdc-layout-grid-gutter-desktop, 24px);grid-template-columns:repeat(12, minmax(0, 1fr))}}}@media(min-width: 601px)and (max-width: 960px){.mdc-layout-grid__inner{display:flex;flex-flow:row wrap;align-items:stretch;margin:-8px;margin:calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2 * -1)}@supports(display: grid){.mdc-layout-grid__inner{display:grid;margin:0;grid-gap:16px;grid-gap:var(--mdc-layout-grid-gutter-tablet, 16px);grid-template-columns:repeat(8, minmax(0, 1fr))}}}@media(max-width: 600px){.mdc-layout-grid__inner{display:flex;flex-flow:row wrap;align-items:stretch;margin:-8px;margin:calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2 * -1)}@supports(display: grid){.mdc-layout-grid__inner{display:grid;margin:0;grid-gap:16px;grid-gap:var(--mdc-layout-grid-gutter-phone, 16px);grid-template-columns:repeat(4, minmax(0, 1fr))}}}@media(min-width: 961px){.mdc-layout-grid__cell{width:calc(33.3333333333% - 24px);width:calc(33.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px));box-sizing:border-box;margin:12px;margin:calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2)}@supports(display: grid){.mdc-layout-grid__cell{width:auto;grid-column-end:span 4}}@supports(display: grid){.mdc-layout-grid__cell{margin:0}}.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-desktop{width:calc(8.3333333333% - 24px);width:calc(8.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-desktop{width:auto;grid-column-end:span 1}}.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-desktop{width:calc(16.6666666667% - 24px);width:calc(16.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-desktop{width:auto;grid-column-end:span 2}}.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-desktop{width:calc(25% - 24px);width:calc(25% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-desktop{width:auto;grid-column-end:span 3}}.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-desktop{width:calc(33.3333333333% - 24px);width:calc(33.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-desktop{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-desktop{width:calc(41.6666666667% - 24px);width:calc(41.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-desktop{width:auto;grid-column-end:span 5}}.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-desktop{width:calc(50% - 24px);width:calc(50% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-desktop{width:auto;grid-column-end:span 6}}.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-desktop{width:calc(58.3333333333% - 24px);width:calc(58.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-desktop{width:auto;grid-column-end:span 7}}.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-desktop{width:calc(66.6666666667% - 24px);width:calc(66.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-desktop{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-desktop{width:calc(75% - 24px);width:calc(75% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-desktop{width:auto;grid-column-end:span 9}}.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-desktop{width:calc(83.3333333333% - 24px);width:calc(83.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-desktop{width:auto;grid-column-end:span 10}}.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-desktop{width:calc(91.6666666667% - 24px);width:calc(91.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-desktop{width:auto;grid-column-end:span 11}}.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-desktop{width:calc(100% - 24px);width:calc(100% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-desktop{width:auto;grid-column-end:span 12}}}@media(min-width: 601px)and (max-width: 960px){.mdc-layout-grid__cell{width:calc(50% - 16px);width:calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px));box-sizing:border-box;margin:8px;margin:calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2)}@supports(display: grid){.mdc-layout-grid__cell{width:auto;grid-column-end:span 4}}@supports(display: grid){.mdc-layout-grid__cell{margin:0}}.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-tablet{width:calc(12.5% - 16px);width:calc(12.5% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-tablet{width:auto;grid-column-end:span 1}}.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-tablet{width:calc(25% - 16px);width:calc(25% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-tablet{width:auto;grid-column-end:span 2}}.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-tablet{width:calc(37.5% - 16px);width:calc(37.5% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-tablet{width:auto;grid-column-end:span 3}}.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-tablet{width:calc(50% - 16px);width:calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-tablet{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-tablet{width:calc(62.5% - 16px);width:calc(62.5% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-tablet{width:auto;grid-column-end:span 5}}.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-tablet{width:calc(75% - 16px);width:calc(75% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-tablet{width:auto;grid-column-end:span 6}}.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-tablet{width:calc(87.5% - 16px);width:calc(87.5% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-tablet{width:auto;grid-column-end:span 7}}.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-tablet{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-tablet{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-tablet{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-tablet{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-tablet{width:auto;grid-column-end:span 8}}}@media(max-width: 600px){.mdc-layout-grid__cell{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px));box-sizing:border-box;margin:8px;margin:calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2)}@supports(display: grid){.mdc-layout-grid__cell{width:auto;grid-column-end:span 4}}@supports(display: grid){.mdc-layout-grid__cell{margin:0}}.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-phone{width:calc(25% - 16px);width:calc(25% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-phone{width:auto;grid-column-end:span 1}}.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-phone{width:calc(50% - 16px);width:calc(50% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-phone{width:auto;grid-column-end:span 2}}.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-phone{width:calc(75% - 16px);width:calc(75% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-phone{width:auto;grid-column-end:span 3}}.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-phone{width:auto;grid-column-end:span 4}}}.mdc-layout-grid__cell--order-1{order:1}.mdc-layout-grid__cell--order-2{order:2}.mdc-layout-grid__cell--order-3{order:3}.mdc-layout-grid__cell--order-4{order:4}.mdc-layout-grid__cell--order-5{order:5}.mdc-layout-grid__cell--order-6{order:6}.mdc-layout-grid__cell--order-7{order:7}.mdc-layout-grid__cell--order-8{order:8}.mdc-layout-grid__cell--order-9{order:9}.mdc-layout-grid__cell--order-10{order:10}.mdc-layout-grid__cell--order-11{order:11}.mdc-layout-grid__cell--order-12{order:12}.mdc-layout-grid__cell--align-top{align-self:flex-start}@supports(display: grid){.mdc-layout-grid__cell--align-top{align-self:start}}.mdc-layout-grid__cell--align-middle{align-self:center}.mdc-layout-grid__cell--align-bottom{align-self:flex-end}@supports(display: grid){.mdc-layout-grid__cell--align-bottom{align-self:end}}@media(min-width: 961px){.mdc-layout-grid--fixed-column-width{width:1176px;width:calc( var(--mdc-layout-grid-column-width-desktop, 72px) * 12 + var(--mdc-layout-grid-gutter-desktop, 24px) * 11 + var(--mdc-layout-grid-margin-desktop, 24px) * 2 )}}@media(min-width: 601px)and (max-width: 960px){.mdc-layout-grid--fixed-column-width{width:720px;width:calc( var(--mdc-layout-grid-column-width-tablet, 72px) * 8 + var(--mdc-layout-grid-gutter-tablet, 16px) * 7 + var(--mdc-layout-grid-margin-tablet, 16px) * 2 )}}@media(max-width: 600px){.mdc-layout-grid--fixed-column-width{width:368px;width:calc( var(--mdc-layout-grid-column-width-phone, 72px) * 4 + var(--mdc-layout-grid-gutter-phone, 16px) * 3 + var(--mdc-layout-grid-margin-phone, 16px) * 2 )}}.mdc-layout-grid--align-left{margin-right:auto;margin-left:0}.mdc-layout-grid--align-right{margin-right:0;margin-left:auto}@keyframes primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes buffering{to{transform:translateX(-10px)}}@keyframes primary-indeterminate-translate-reverse{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(-83.67142%)}100%{transform:translateX(-200.611057%)}}@keyframes secondary-indeterminate-translate-reverse{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(-37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(-84.386165%)}100%{transform:translateX(-160.277782%)}}@keyframes buffering-reverse{to{transform:translateX(10px)}}.mdc-linear-progress{position:relative;width:100%;height:4px;transform:translateZ(0);transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);overflow:hidden}.mdc-linear-progress__bar{position:absolute;width:100%;height:100%;animation:none;transform-origin:top left;transition:transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-linear-progress__bar-inner{display:inline-block;position:absolute;width:100%;height:100%;animation:none}.mdc-linear-progress__buffering-dots{position:absolute;width:100%;height:100%;animation:buffering 250ms infinite linear;background-repeat:repeat-x;background-size:10px 4px}.mdc-linear-progress__buffer{position:absolute;width:100%;height:100%;transform-origin:top left;transition:transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-linear-progress__primary-bar{transform:scaleX(0)}.mdc-linear-progress__secondary-bar{visibility:hidden}.mdc-linear-progress--indeterminate .mdc-linear-progress__bar{transition:none}.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{left:-145.166611%;animation:primary-indeterminate-translate 2s infinite linear}.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar>.mdc-linear-progress__bar-inner{animation:primary-indeterminate-scale 2s infinite linear}.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{left:-54.888891%;animation:secondary-indeterminate-translate 2s infinite linear;visibility:visible}.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar>.mdc-linear-progress__bar-inner{animation:secondary-indeterminate-scale 2s infinite linear}.mdc-linear-progress--reversed .mdc-linear-progress__bar,.mdc-linear-progress--reversed .mdc-linear-progress__buffer{right:0;transform-origin:center right}.mdc-linear-progress--reversed .mdc-linear-progress__primary-bar{animation-name:primary-indeterminate-translate-reverse}.mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar{animation-name:secondary-indeterminate-translate-reverse}.mdc-linear-progress--reversed .mdc-linear-progress__buffering-dots{animation:buffering-reverse 250ms infinite linear}.mdc-linear-progress--closed{opacity:0}.mdc-linear-progress__bar-inner{background-color:#3c7251;background-color:var(--mdc-theme-primary, #3c7251)}.mdc-linear-progress__buffering-dots{background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E")}.mdc-linear-progress__buffer{background-color:#e6e6e6}.mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__primary-bar{right:-145.166611%;left:auto}.mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar{right:-54.888891%;left:auto}.mdc-list{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;line-height:1.5rem;margin:0;padding:8px 0;list-style-type:none;color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87))}.mdc-list:focus{outline:none}.mdc-list-item__secondary-text{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54))}.mdc-list-item__graphic{background-color:transparent}.mdc-list-item__graphic{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38))}.mdc-list-item__meta{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38))}.mdc-list-group__subheader{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87))}.mdc-list--dense{padding-top:4px;padding-bottom:4px;font-size:.812rem}.mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item{display:flex;position:relative;align-items:center;justify-content:flex-start;height:48px;padding:0 16px;overflow:hidden}.mdc-list-item:focus,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item:focus{outline:none}.mdc-list-item--selected,.mdc-list-item--activated{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-list-item--selected .mdc-list-item__graphic,.mdc-list-item--activated .mdc-list-item__graphic{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-list-item--disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38))}.mdc-list-item__graphic{margin-left:0;margin-right:32px;width:24px;height:24px;flex-shrink:0;align-items:center;justify-content:center;fill:currentColor}.mdc-list-item[dir=rtl] .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list-item__graphic,[dir=rtl] .mdc-list-item .mdc-list-item__graphic,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list-item__graphic{margin-left:32px;margin-right:0}.mdc-list .mdc-list-item__graphic{display:inline-flex}.mdc-list-item__meta{margin-left:auto;margin-right:0}.mdc-list-item__meta:not(.material-icons){font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit}.mdc-list-item[dir=rtl] .mdc-list-item__meta,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list-item__meta,[dir=rtl] .mdc-list-item .mdc-list-item__meta,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list-item__meta,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list-item__meta{margin-left:0;margin-right:auto}.mdc-list-item__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mdc-list-item__text[for]{pointer-events:none}.mdc-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;line-height:normal;margin-bottom:-20px;display:block}.mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list--dense .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list--dense .mdc-list-item__primary-text::before{display:inline-block;width:0;height:24px;content:"";vertical-align:0}.mdc-list--dense .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item__secondary-text{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:1.25rem;font-weight:400;letter-spacing:.0178571429em;text-decoration:inherit;text-transform:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;line-height:normal;display:block}.mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list--dense .mdc-list-item__secondary-text{display:block;margin-top:0;line-height:normal;font-size:inherit}.mdc-list--dense .mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list--dense .mdc-list-item,.mdc-list--dense .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--dense .googlesitekit-view-only-menu__list-item{height:40px}.mdc-list--dense .mdc-list-item__graphic{margin-left:0;margin-right:36px;width:20px;height:20px}.mdc-list-item[dir=rtl] .mdc-list--dense .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list--dense .mdc-list-item__graphic,[dir=rtl] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list--dense .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list--dense .mdc-list-item__graphic{margin-left:36px;margin-right:0}.mdc-list--avatar-list .mdc-list-item,.mdc-list--avatar-list .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--avatar-list .googlesitekit-view-only-menu__list-item{height:56px}.mdc-list--avatar-list .mdc-list-item__graphic{margin-left:0;margin-right:16px;width:40px;height:40px;border-radius:50%}.mdc-list-item[dir=rtl] .mdc-list--avatar-list .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list--avatar-list .mdc-list-item__graphic,[dir=rtl] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list--avatar-list .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list--avatar-list .mdc-list-item__graphic{margin-left:16px;margin-right:0}.mdc-list--two-line .mdc-list-item__text{align-self:flex-start}.mdc-list--two-line .mdc-list-item,.mdc-list--two-line .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--two-line .googlesitekit-view-only-menu__list-item{height:72px}.mdc-list--two-line.mdc-list--dense .mdc-list-item,.mdc-list--two-line.mdc-list--dense .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--two-line.mdc-list--dense .googlesitekit-view-only-menu__list-item,.mdc-list--avatar-list.mdc-list--dense .mdc-list-item,.mdc-list--avatar-list.mdc-list--dense .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--avatar-list.mdc-list--dense .googlesitekit-view-only-menu__list-item{height:60px}.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic{margin-left:0;margin-right:20px;width:36px;height:36px}.mdc-list-item[dir=rtl] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,[dir=rtl] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic{margin-left:20px;margin-right:0}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled){cursor:pointer}a.mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu a.googlesitekit-view-only-menu__list-item{color:inherit;-webkit-text-decoration:none;text-decoration:none}.mdc-list-divider{height:0;margin:0;border:none;border-bottom-width:1px;border-bottom-style:solid}.mdc-list-divider{border-bottom-color:rgba(0,0,0,.12)}.mdc-list-divider--padded{margin:0 16px}.mdc-list-divider--inset{margin-left:72px;margin-right:0;width:calc(100% - 72px)}.mdc-list-group[dir=rtl] .mdc-list-divider--inset,[dir=rtl] .mdc-list-group .mdc-list-divider--inset{margin-left:0;margin-right:72px}.mdc-list-divider--inset.mdc-list-divider--padded{width:calc(100% - 72px - 16px)}.mdc-list-group .mdc-list{padding:0}.mdc-list-group__subheader{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;margin:.75rem 16px}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled){--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::after{background-color:#000}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item:hover::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled):hover::before{opacity:.04}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled):not(.mdc-ripple-upgraded):focus::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled):not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled):not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::before{opacity:.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::after{background-color:var(--mdc-theme-primary, #3c7251)}}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before{opacity:.16}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::before{opacity:.08}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::after{background-color:var(--mdc-theme-primary, #3c7251)}}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before{opacity:.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.2}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.2}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.2}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::before,:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::before,:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::before,:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::after{background-color:#000}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before,:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-menu{min-width:112px}.mdc-menu .mdc-list-item__meta{color:rgba(0,0,0,.87)}.mdc-menu .mdc-list-item__graphic{color:rgba(0,0,0,.87)}.mdc-menu .mdc-list{color:rgba(0,0,0,.87)}.mdc-menu .mdc-list-divider{margin:8px 0}.mdc-menu .mdc-list-item,.mdc-menu .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu .googlesitekit-view-only-menu__list-item{-webkit-user-select:none;user-select:none}.mdc-menu .mdc-list-item--disabled{cursor:auto}.mdc-menu a.mdc-list-item .mdc-list-item__text,.mdc-menu .googlesitekit-plugin .googlesitekit-view-only-menu a.googlesitekit-view-only-menu__list-item .mdc-list-item__text,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu a.googlesitekit-view-only-menu__list-item .mdc-list-item__text,.mdc-menu a.mdc-list-item .mdc-list-item__graphic,.mdc-menu .googlesitekit-plugin .googlesitekit-view-only-menu a.googlesitekit-view-only-menu__list-item .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu a.googlesitekit-view-only-menu__list-item .mdc-list-item__graphic{pointer-events:none}.mdc-menu__selection-group{padding:0;fill:currentColor}.mdc-menu__selection-group .mdc-list-item,.mdc-menu__selection-group .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu__selection-group .googlesitekit-view-only-menu__list-item{padding-left:56px;padding-right:16px}[dir=rtl] .mdc-menu__selection-group .mdc-list-item,[dir=rtl] .mdc-menu__selection-group .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .mdc-menu__selection-group .googlesitekit-view-only-menu__list-item,.mdc-menu__selection-group .mdc-list-item[dir=rtl],.mdc-menu__selection-group .googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu__selection-group [dir=rtl].googlesitekit-view-only-menu__list-item{padding-left:16px;padding-right:56px}.mdc-menu__selection-group .mdc-menu__selection-group-icon{left:16px;right:initial;display:none;position:absolute}[dir=rtl] .mdc-menu__selection-group .mdc-menu__selection-group-icon,.mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=rtl]{left:initial;right:16px}.mdc-menu-item--selected .mdc-menu__selection-group-icon{display:inline}.mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;z-index:8;transition:opacity .03s linear,transform .12s cubic-bezier(0, 0, 0.2, 1);box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0,0,0,.12);background-color:#fff;background-color:var(--mdc-theme-surface, #fff);color:#000;color:var(--mdc-theme-on-surface, #000);border-radius:4px;transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0;transition:opacity .075s linear}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:border-box;width:40px;height:40px;padding:10px;cursor:pointer;will-change:opacity,transform,border-color,color}.mdc-radio .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.54)}.mdc-radio .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199)}.mdc-radio .mdc-radio__native-control:enabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199)}.mdc-radio .mdc-radio__background::before{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-radio .mdc-radio__background::before{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-radio__background{display:inline-block;position:absolute;left:10px;box-sizing:border-box;width:50%;height:50%}.mdc-radio__background::before{position:absolute;top:0;left:0;width:100%;height:100%;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:"";transition:opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0, 0);border-width:10px;border-style:solid;border-radius:50%;transition:transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-radio__native-control{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1}.mdc-radio__native-control:checked+.mdc-radio__background,.mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{transition:border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{transition:transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio--disabled{cursor:default;pointer-events:none}.mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle{transform:scale(0.5);transition:transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio__native-control:disabled+.mdc-radio__background,[aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background{cursor:default}.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle,[aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.26)}.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle,[aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background .mdc-radio__inner-circle{border-color:rgba(0,0,0,.26)}.mdc-radio__native-control:focus+.mdc-radio__background::before{transform:scale(2, 2);opacity:.12;transition:opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-radio::before,.mdc-radio::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-radio::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-radio.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-radio.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-radio.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-radio.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-radio.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-radio::before,.mdc-radio::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-radio.mdc-ripple-upgraded::before,.mdc-radio.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-radio.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-radio::before,.mdc-radio::after{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-radio::before,.mdc-radio::after{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-radio:hover::before{opacity:.04}.mdc-radio:not(.mdc-ripple-upgraded):focus::before,.mdc-radio.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-radio:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-radio:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-radio.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__background::before{content:none}.mdc-card{border-radius:4px;background-color:#fff;background-color:var(--mdc-theme-surface, #fff);box-shadow:0px 2px 1px -1px rgba(0, 0, 0, 0.2),0px 1px 1px 0px rgba(0, 0, 0, 0.14),0px 1px 3px 0px rgba(0,0,0,.12);display:flex;flex-direction:column;box-sizing:border-box}.mdc-card--outlined{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2),0px 0px 0px 0px rgba(0, 0, 0, 0.14),0px 0px 0px 0px rgba(0,0,0,.12);border-width:1px;border-style:solid;border-color:#e0e0e0}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mdc-card__media--square::before{margin-top:100%}.mdc-card__media--16-9::before{margin-top:56.25%}.mdc-card__media-content{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box}.mdc-card__primary-action{display:flex;flex-direction:column;box-sizing:border-box;position:relative;outline:none;color:inherit;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;overflow:hidden}.mdc-card__primary-action:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__primary-action:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mdc-card__actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mdc-card__actions--full-bleed{padding:0}.mdc-card__action-buttons,.mdc-card__action-icons{display:flex;flex-direction:row;align-items:center;box-sizing:border-box}.mdc-card__action-icons{color:rgba(0,0,0,.6);flex-grow:1;justify-content:flex-end}.mdc-card__action-buttons+.mdc-card__action-icons{margin-left:16px;margin-right:0}[dir=rtl] .mdc-card__action-buttons+.mdc-card__action-icons,.mdc-card__action-buttons+.mdc-card__action-icons[dir=rtl]{margin-left:0;margin-right:16px}.mdc-card__action{display:inline-flex;flex-direction:row;align-items:center;box-sizing:border-box;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.mdc-card__action:focus{outline:none}.mdc-card__action--button{margin-left:0;margin-right:8px;padding:0 8px}[dir=rtl] .mdc-card__action--button,.mdc-card__action--button[dir=rtl]{margin-left:8px;margin-right:0}.mdc-card__action--button:last-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-card__action--button:last-child,.mdc-card__action--button:last-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-card__actions--full-bleed .mdc-card__action--button{justify-content:space-between;width:100%;height:auto;max-height:none;margin:0;padding:8px 16px;text-align:left}[dir=rtl] .mdc-card__actions--full-bleed .mdc-card__action--button,.mdc-card__actions--full-bleed .mdc-card__action--button[dir=rtl]{text-align:right}.mdc-card__action--icon{margin:-6px 0;padding:12px}.mdc-card__action--icon:not(:disabled){color:rgba(0,0,0,.6)}.mdc-card__primary-action{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-card__primary-action::before,.mdc-card__primary-action::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-card__primary-action::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-card__primary-action.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-card__primary-action.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-card__primary-action.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-card__primary-action.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-card__primary-action.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-card__primary-action::before,.mdc-card__primary-action::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-card__primary-action.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-card__primary-action::before,.mdc-card__primary-action::after{background-color:#000}.mdc-card__primary-action:hover::before{opacity:.04}.mdc-card__primary-action:not(.mdc-ripple-upgraded):focus::before,.mdc-card__primary-action.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-card__primary-action:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-card__primary-action:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-card__primary-action.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-chip__icon--leading{color:rgba(0,0,0,.54)}.mdc-chip__icon--trailing{color:rgba(0,0,0,.54)}.mdc-chip__icon--trailing:hover{color:rgba(0,0,0,.62)}.mdc-chip__icon--trailing:focus{color:rgba(0,0,0,.87)}.mdc-chip__icon.mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden){width:20px;height:20px;font-size:20px}.mdc-chip__icon.mdc-chip__icon--trailing{width:18px;height:18px;font-size:18px}.mdc-chip__icon--trailing{margin:0 -4px 0 4px}.mdc-chip{border-radius:16px;background-color:#e0e0e0;color:rgba(0,0,0,.87);font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:1.25rem;font-weight:400;letter-spacing:.0178571429em;text-decoration:inherit;text-transform:inherit;height:32px;display:inline-flex;position:relative;align-items:center;box-sizing:border-box;padding:7px 12px;outline:none;cursor:pointer;overflow:hidden}.mdc-chip:hover{color:rgba(0,0,0,.87)}.mdc-chip.mdc-chip--selected .mdc-chip__checkmark,.mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden){margin-left:-4px;margin-right:4px;margin-top:-4px;margin-bottom:-4px}[dir=rtl] .mdc-chip.mdc-chip--selected .mdc-chip__checkmark,.mdc-chip.mdc-chip--selected .mdc-chip__checkmark[dir=rtl],[dir=rtl] .mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden),.mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden)[dir=rtl]{margin-left:4px;margin-right:-4px}.mdc-chip:hover{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-chip--exit{transition:opacity 75ms cubic-bezier(0.4, 0, 0.2, 1),width 150ms cubic-bezier(0, 0, 0.2, 1),padding 100ms linear,margin 100ms linear;opacity:0}.mdc-chip__text{white-space:nowrap}.mdc-chip__icon{border-radius:50%;outline:none;vertical-align:middle}.mdc-chip__checkmark{height:20px}.mdc-chip__checkmark-path{transition:stroke-dashoffset 150ms 50ms cubic-bezier(0.4, 0, 0.6, 1);stroke-width:2px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-chip--selected .mdc-chip__checkmark-path{stroke-dashoffset:0}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected .mdc-chip__icon--leading{color:rgba(60,114,81,.54)}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:hover{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-chip-set--choice .mdc-chip .mdc-chip__checkmark-path{stroke:#3c7251;stroke:var(--mdc-theme-primary, #3c7251)}.mdc-chip-set--choice .mdc-chip--selected{background-color:#fff;background-color:var(--mdc-theme-surface, #fff)}.mdc-chip__checkmark-svg{width:0;height:20px;transition:width 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-chip--selected .mdc-chip__checkmark-svg{width:20px}.mdc-chip-set--filter .mdc-chip__icon--leading{transition:opacity 75ms linear;transition-delay:-50ms;opacity:1}.mdc-chip-set--filter .mdc-chip__icon--leading+.mdc-chip__checkmark{transition:opacity 75ms linear;transition-delay:80ms;opacity:0}.mdc-chip-set--filter .mdc-chip__icon--leading+.mdc-chip__checkmark .mdc-chip__checkmark-svg{transition:width 0ms}.mdc-chip-set--filter .mdc-chip--selected .mdc-chip__icon--leading{opacity:0}.mdc-chip-set--filter .mdc-chip--selected .mdc-chip__icon--leading+.mdc-chip__checkmark{width:0;opacity:1}.mdc-chip-set--filter .mdc-chip__icon--leading-hidden.mdc-chip__icon--leading{width:0;opacity:0}.mdc-chip-set--filter .mdc-chip__icon--leading-hidden.mdc-chip__icon--leading+.mdc-chip__checkmark{width:20px}.mdc-chip{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-chip::before,.mdc-chip::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-chip::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-chip.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-chip.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-chip.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-chip.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-chip.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-chip::before,.mdc-chip::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-chip.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-chip::before,.mdc-chip::after{background-color:rgba(0,0,0,.87)}.mdc-chip:hover::before{opacity:.04}.mdc-chip:not(.mdc-ripple-upgraded):focus::before,.mdc-chip.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-chip:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-chip:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::before{opacity:.08}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::before,.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::before,.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::after{background-color:var(--mdc-theme-primary, #3c7251)}}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:hover::before{opacity:.12}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:not(.mdc-ripple-upgraded):focus::before,.mdc-chip-set--choice .mdc-chip.mdc-chip--selected.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.2}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.2}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.2}@keyframes mdc-chip-entry{from{transform:scale(0.8);opacity:.4}to{transform:scale(1);opacity:1}}.mdc-chip-set{padding:4px;display:flex;flex-wrap:wrap;box-sizing:border-box}.mdc-chip-set .mdc-chip{margin:4px}.mdc-chip-set--input .mdc-chip{animation:mdc-chip-entry 100ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:7}.mdc-dialog .mdc-dialog__surface{background-color:#fff;background-color:var(--mdc-theme-surface, #fff)}.mdc-dialog .mdc-dialog__scrim{background-color:rgba(0,0,0,.32)}.mdc-dialog .mdc-dialog__title{color:rgba(0,0,0,.87)}.mdc-dialog .mdc-dialog__content{color:rgba(0,0,0,.6)}.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title,.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions{border-color:rgba(0,0,0,.12)}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100vh - 32px)}.mdc-dialog .mdc-dialog__surface{border-radius:4px}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;justify-content:space-around;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-dialog__surface{box-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0,0,0,.12);display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%}.mdc-dialog[dir=rtl] .mdc-dialog__surface,[dir=rtl] .mdc-dialog .mdc-dialog__surface{text-align:right}.mdc-dialog__title{display:block;margin-top:0;line-height:normal;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.25rem;line-height:2rem;font-weight:500;letter-spacing:.0125em;text-decoration:inherit;text-transform:inherit;display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-dialog[dir=rtl] .mdc-dialog__title,[dir=rtl] .mdc-dialog .mdc-dialog__title{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{padding-bottom:15px}.mdc-dialog__content{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.5rem;font-weight:400;letter-spacing:.03125em;text-decoration:inherit;text-transform:inherit;flex-grow:1;box-sizing:border-box;margin:0;padding:20px 24px;overflow:auto;-webkit-overflow-scrolling:touch}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-dialog[dir=rtl] .mdc-dialog__button,[dir=rtl] .mdc-dialog .mdc-dialog__button{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:scale(1)}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:scale(1);opacity:1}.mdc-dialog-scroll-lock{overflow:hidden}@keyframes mdc-select-float-native-control{0%{transform:translateY(8px);opacity:0}100%{transform:translateY(0);opacity:1}}.mdc-line-ripple{position:absolute;bottom:0;left:0;width:100%;height:2px;transform:scaleX(0);transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;z-index:2}.mdc-line-ripple--active{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating{opacity:0}.mdc-notched-outline{display:flex;position:absolute;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;transition:border 150ms cubic-bezier(0.4, 0, 0.2, 1);border-top:1px solid;border-bottom:1px solid;pointer-events:none}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid;flex-grow:1}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{flex:0 0 auto;width:auto;max-width:calc(100% - 12px * 2)}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;top:17px;bottom:auto;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(100% / .75)}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{padding:0}.mdc-floating-label{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;position:absolute;left:0;transform-origin:left top;transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1);line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--float-above{transform:translateY(-50%) scale(0.75)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0 - 0%)) translateY(-50%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-50%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-50%) scale(0.75)}}.mdc-select--with-leading-icon:not(.mdc-select--disabled) .mdc-select__icon{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-select--with-leading-icon .mdc-select__icon{display:inline-block;position:absolute;bottom:16px;box-sizing:border-box;width:24px;height:24px;border:none;background-color:transparent;fill:currentColor;opacity:.54;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none}.mdc-select__icon:not([tabindex]),.mdc-select__icon[tabindex="-1"]{cursor:default;pointer-events:none}.mdc-select-helper-text{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit;display:block;margin-top:0;line-height:normal;margin:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;will-change:opacity}.mdc-select-helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.mdc-select-helper-text--persistent{transition:none;opacity:1;will-change:initial}.mdc-select{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-flex;position:relative;box-sizing:border-box;height:56px;overflow:hidden;will-change:opacity,transform,color}.mdc-select:not(.mdc-select--disabled){background-color:#f5f5f5}.mdc-select::before,.mdc-select::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-select::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-select.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-select.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-select.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-select.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-select.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-select::before,.mdc-select::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-select.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-select::before,.mdc-select::after{background-color:rgba(0,0,0,.87)}.mdc-select:hover::before{opacity:.04}.mdc-select:not(.mdc-ripple-upgraded):focus::before,.mdc-select.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,.mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{color:rgba(0,0,0,.87)}.mdc-select:not(.mdc-select--disabled) .mdc-floating-label{color:rgba(0,0,0,.6)}.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,.mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{border-bottom-color:rgba(0,0,0,.42)}.mdc-select:not(.mdc-select--disabled)+.mdc-select-helper-text{color:rgba(0,0,0,.6)}.mdc-select,.mdc-select__native-control{border-radius:4px 4px 0 0}.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple{background-color:#3c7251;background-color:var(--mdc-theme-primary, #3c7251)}.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label{color:rgba(60,114,81,.87)}.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control:hover{border-bottom-color:rgba(0,0,0,.87)}.mdc-select .mdc-floating-label--float-above{transform:translateY(-70%) scale(0.75)}.mdc-select .mdc-floating-label{left:16px;right:initial;top:21px;pointer-events:none}[dir=rtl] .mdc-select .mdc-floating-label,.mdc-select .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-select.mdc-select--with-leading-icon .mdc-floating-label{left:48px;right:initial}[dir=rtl] .mdc-select.mdc-select--with-leading-icon .mdc-floating-label,.mdc-select.mdc-select--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-select.mdc-select--outlined .mdc-floating-label{left:4px;right:initial;top:17px}[dir=rtl] .mdc-select.mdc-select--outlined .mdc-floating-label,.mdc-select.mdc-select--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label,.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above{left:36px;right:initial}[dir=rtl] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above,.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above[dir=rtl]{left:initial;right:36px}.mdc-select__dropdown-icon{background:url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;left:auto;right:8px;position:absolute;bottom:16px;width:24px;height:24px;transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}[dir=rtl] .mdc-select__dropdown-icon,.mdc-select__dropdown-icon[dir=rtl]{left:8px;right:auto}.mdc-select--focused .mdc-select__dropdown-icon{background:url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%233c7251%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;transform:rotate(180deg) translateY(-5px);transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-select__native-control{padding-top:20px}.mdc-select.mdc-select--focused .mdc-line-ripple::after{transform:scale(1, 2);opacity:1}.mdc-select+.mdc-select-helper-text{margin-right:12px;margin-left:12px}.mdc-select--outlined+.mdc-select-helper-text{margin-right:16px;margin-left:16px}.mdc-select--focused+.mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg){opacity:1}.mdc-select__selected-text{min-width:200px;padding-top:22px}.mdc-select__native-control,.mdc-select__selected-text{padding-left:16px;padding-right:52px;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;box-sizing:border-box;width:100%;height:56px;padding-top:20px;padding-bottom:4px;border:none;border-bottom:1px solid;outline:none;background-color:transparent;color:inherit;white-space:nowrap;cursor:pointer;appearance:none}[dir=rtl] .mdc-select__native-control,.mdc-select__native-control[dir=rtl],[dir=rtl] .mdc-select__selected-text,.mdc-select__selected-text[dir=rtl]{padding-left:52px;padding-right:16px}.mdc-select__native-control::-ms-expand,.mdc-select__selected-text::-ms-expand{display:none}.mdc-select__native-control::-ms-value,.mdc-select__selected-text::-ms-value{background-color:transparent;color:inherit}@-moz-document url-prefix(""){.mdc-select__native-control,.mdc-select__selected-text{text-indent:-2px}}.mdc-select--outlined{border:none;overflow:visible}.mdc-select--outlined:not(.mdc-select--disabled){background-color:transparent}.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.24)}.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.87)}.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-select--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-radius:4px 0 0 4px}[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-radius:0 4px 4px 0}.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-radius:0 4px 4px 0}[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-radius:4px 0 0 4px}.mdc-select--outlined .mdc-select__native-control{border-radius:4px}.mdc-select--outlined::before,.mdc-select--outlined::after{content:none}.mdc-select--outlined:not(.mdc-select--disabled){background-color:transparent}.mdc-select--outlined .mdc-floating-label--float-above{transform:translateY(-144%) scale(1)}.mdc-select--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) scale(0.75)}.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-select--outlined .mdc-select__native-control,.mdc-select--outlined .mdc-select__selected-text{padding-left:16px;padding-right:52px;display:flex;padding-top:12px;padding-bottom:12px;border:none;background-color:transparent;z-index:1}[dir=rtl] .mdc-select--outlined .mdc-select__native-control,.mdc-select--outlined .mdc-select__native-control[dir=rtl],[dir=rtl] .mdc-select--outlined .mdc-select__selected-text,.mdc-select--outlined .mdc-select__selected-text[dir=rtl]{padding-left:52px;padding-right:16px}.mdc-select--outlined .mdc-select__selected-text{padding-top:14px}.mdc-select--outlined .mdc-select__icon{z-index:2}.mdc-select--outlined .mdc-floating-label{line-height:1.15rem;pointer-events:auto}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-floating-label{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control,.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__selected-text{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple{background-color:#b00020;background-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label{color:#b00020}.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--invalid+.mdc-select-helper-text--validation-msg{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control:hover{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid .mdc-select__dropdown-icon{background:url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23b00020%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center}.mdc-select--invalid+.mdc-select-helper-text--validation-msg{opacity:1}.mdc-select--required .mdc-floating-label::after{content:"*"}.mdc-select--disabled{background-color:#fafafa;cursor:default;pointer-events:none}.mdc-select--disabled .mdc-floating-label{color:rgba(0,0,0,.37)}.mdc-select--disabled .mdc-select__dropdown-icon{background:url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.37%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center}.mdc-select--disabled .mdc-line-ripple{display:none}.mdc-select--disabled .mdc-select__icon{color:rgba(0,0,0,.37)}.mdc-select--disabled .mdc-select__native-control,.mdc-select--disabled .mdc-select__selected-text{color:rgba(0,0,0,.37);border-bottom-style:dotted}.mdc-select--disabled .mdc-select__selected-text{pointer-events:none}.mdc-select--disabled.mdc-select--outlined{background-color:transparent}.mdc-select--disabled.mdc-select--outlined .mdc-select__native-control,.mdc-select--disabled.mdc-select--outlined .mdc-select__selected-text{border-bottom-style:none}.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__leading,.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__notch,.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.16)}.mdc-select--with-leading-icon .mdc-select__icon{left:16px;right:initial}[dir=rtl] .mdc-select--with-leading-icon .mdc-select__icon,.mdc-select--with-leading-icon .mdc-select__icon[dir=rtl]{left:initial;right:16px}.mdc-select--with-leading-icon .mdc-select__native-control,.mdc-select--with-leading-icon .mdc-select__selected-text{padding-left:48px;padding-right:32px}[dir=rtl] .mdc-select--with-leading-icon .mdc-select__native-control,.mdc-select--with-leading-icon .mdc-select__native-control[dir=rtl],[dir=rtl] .mdc-select--with-leading-icon .mdc-select__selected-text,.mdc-select--with-leading-icon .mdc-select__selected-text[dir=rtl]{padding-left:32px;padding-right:48px}.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above{transform:translateY(-144%) translateX(-32px) scale(1)}[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-144%) translateX(32px) scale(1)}.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-130%) translateX(32px) scale(0.75)}.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-select-outlined-leading-icon 250ms 1}[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake,.mdc-select--with-leading-icon.mdc-select--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl 250ms 1}.mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text{padding-left:32px;padding-right:32px}[dir=rtl] .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text,.mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text[dir=rtl]{padding-left:32px;padding-right:32px}.mdc-select__menu .mdc-list .mdc-list-item--selected{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-select__menu .mdc-list .mdc-list-item--selected::before,.mdc-select__menu .mdc-list .mdc-list-item--selected::after{background-color:#000}@supports not (-ms-ime-align: auto){.mdc-select__menu .mdc-list .mdc-list-item--selected::before,.mdc-select__menu .mdc-list .mdc-list-item--selected::after{background-color:var(--mdc-theme-on-surface, #000)}}.mdc-select__menu .mdc-list .mdc-list-item--selected:hover::before{opacity:.04}.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before,.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon{0%{transform:translateX(calc(0 - 32px)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 32px)) translateY(-130%) scale(0.75)}}@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl{0%{transform:translateX(calc(0 - -32px)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - -32px)) translateY(-130%) scale(0.75)}}.mdc-tab{position:relative;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:2.25rem;font-weight:500;letter-spacing:.0892857143em;-webkit-text-decoration:none;text-decoration:none;text-transform:uppercase;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;height:48px;padding:0 24px;border:none;outline:none;background:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab .mdc-tab__text-label{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-tab .mdc-tab__icon{color:#000;color:var(--mdc-theme-on-surface, #000);fill:currentColor}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__ripple{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);will-change:transform,opacity;position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.mdc-tab__ripple::before,.mdc-tab__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-tab__ripple::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-tab__ripple.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-tab__ripple.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-tab__ripple.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-tab__ripple.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-tab__ripple.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-tab__ripple::before,.mdc-tab__ripple::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-tab__ripple.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-tab__ripple::before,.mdc-tab__ripple::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){.mdc-tab__ripple::before,.mdc-tab__ripple::after{background-color:var(--mdc-theme-primary, #3c7251)}}.mdc-tab__ripple:hover::before{opacity:.04}.mdc-tab__ripple:not(.mdc-ripple-upgraded):focus::before,.mdc-tab__ripple.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-tab__ripple:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-tab__ripple:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-tab__content{position:relative;display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label,.mdc-tab__icon{transition:150ms color linear,150ms opacity linear;z-index:2}.mdc-tab__text-label{display:inline-block;opacity:.6;line-height:1}.mdc-tab__icon{width:24px;height:24px;opacity:.54;font-size:24px}.mdc-tab--stacked{height:72px}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:space-between}.mdc-tab--stacked .mdc-tab__icon{padding-top:12px}.mdc-tab--stacked .mdc-tab__text-label{padding-bottom:16px}.mdc-tab--active .mdc-tab__text-label{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-tab--active .mdc-tab__icon{color:#3c7251;color:var(--mdc-theme-primary, #3c7251);fill:currentColor}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms;opacity:1}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-bar{width:100%}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator>.mdc-tab-indicator__content--underline{background-color:#3c7251;background-color:var(--mdc-theme-primary, #3c7251)}.mdc-tab-indicator>.mdc-tab-indicator__content--underline{height:2px}.mdc-tab-indicator>.mdc-tab-indicator__content--icon{color:#446199;color:var(--mdc-theme-secondary, #446199)}.mdc-tab-indicator>.mdc-tab-indicator__content--icon{height:34px;font-size:34px}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;width:100%}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active>.mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator>.mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition>.mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade>.mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade>.mdc-tab-indicator__content{transition-delay:100ms}.mdc-tab-scroller{overflow-y:hidden}.mdc-tab-scroller__test{position:absolute;top:-9999px;width:100px;height:100px;overflow-x:scroll}.mdc-tab-scroller__scroll-area{-webkit-overflow-scrolling:touch;display:flex;overflow-x:hidden}.mdc-tab-scroller__scroll-area::-webkit-scrollbar,.mdc-tab-scroller__test::-webkit-scrollbar{display:none}.mdc-tab-scroller__scroll-area--scroll{overflow-x:scroll}.mdc-tab-scroller__scroll-content{position:relative;display:flex;flex:1 0 auto;transform:none;will-change:transform}.mdc-tab-scroller--align-start .mdc-tab-scroller__scroll-content{justify-content:flex-start}.mdc-tab-scroller--align-end .mdc-tab-scroller__scroll-content{justify-content:flex-end}.mdc-tab-scroller--align-center .mdc-tab-scroller__scroll-content{justify-content:center}.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-area{-webkit-overflow-scrolling:auto}.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-text-field--with-leading-icon .mdc-text-field__icon,.mdc-text-field--with-trailing-icon .mdc-text-field__icon{position:absolute;bottom:16px;cursor:pointer}.mdc-text-field__icon:not([tabindex]),.mdc-text-field__icon[tabindex="-1"]{cursor:default;pointer-events:none}.mdc-text-field-helper-text{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit;display:block;margin-top:0;line-height:normal;margin:0;transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;will-change:opacity}.mdc-text-field-helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.mdc-text-field-helper-text--persistent{transition:none;opacity:1;will-change:initial}.mdc-text-field-helper-text{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit;display:block;margin-top:0;line-height:normal;margin:0;transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;will-change:opacity}.mdc-text-field-helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.mdc-text-field-helper-text--persistent{transition:none;opacity:1;will-change:initial}.mdc-text-field-character-counter{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit;display:block;margin-top:0;line-height:normal;margin-left:auto;margin-right:0;padding-left:16px;padding-right:0;white-space:nowrap}.mdc-text-field-character-counter::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}[dir=rtl] .mdc-text-field-character-counter,.mdc-text-field-character-counter[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-text-field-character-counter,.mdc-text-field-character-counter[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field--with-leading-icon .mdc-text-field__icon,.mdc-text-field--with-trailing-icon .mdc-text-field__icon{position:absolute;bottom:16px;cursor:pointer}.mdc-text-field__icon:not([tabindex]),.mdc-text-field__icon[tabindex="-1"]{cursor:default;pointer-events:none}.mdc-text-field{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);border-radius:4px 4px 0 0;display:inline-flex;position:relative;box-sizing:border-box;height:56px;overflow:hidden;will-change:opacity,transform,color}.mdc-text-field::before,.mdc-text-field::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-text-field::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-text-field.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-text-field.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-text-field.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-text-field.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-text-field.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-text-field::before,.mdc-text-field::after{background-color:rgba(0,0,0,.87)}.mdc-text-field:hover::before{opacity:.04}.mdc-text-field:not(.mdc-ripple-upgraded):focus::before,.mdc-text-field.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-text-field::before,.mdc-text-field::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-text-field.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(3,14,7,.32)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:rgba(0,0,0,.87)}.mdc-text-field .mdc-text-field__input{caret-color:#3c7251;caret-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input{border-bottom-color:rgba(0,0,0,.42)}.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover{border-bottom-color:rgba(0,0,0,.87)}.mdc-text-field .mdc-line-ripple{background-color:#3c7251;background-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea){border-bottom-color:rgba(0,0,0,.12)}.mdc-text-field:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0,0,0,.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field-character-counter,.mdc-text-field:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:rgba(0,0,0,.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon{color:rgba(0,0,0,.54)}.mdc-text-field:not(.mdc-text-field--disabled){background-color:#f5f5f5}.mdc-text-field .mdc-floating-label{left:16px;right:initial;top:18px;pointer-events:none}[dir=rtl] .mdc-text-field .mdc-floating-label,.mdc-text-field .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-text-field--textarea .mdc-floating-label{left:4px;right:initial}[dir=rtl] .mdc-text-field--textarea .mdc-floating-label,.mdc-text-field--textarea .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:initial;top:17px}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined--with-leading-icon .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label,.mdc-text-field--outlined--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above{left:40px;right:initial}[dir=rtl] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above,.mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above[dir=rtl]{left:initial;right:40px}.mdc-text-field__input{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;align-self:flex-end;box-sizing:border-box;width:100%;height:100%;padding:20px 16px 6px;transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);border:none;border-bottom:1px solid;border-radius:0;background:none;appearance:none}.mdc-text-field__input::placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;color:rgba(3,14,7,.32)}.mdc-text-field--fullwidth .mdc-text-field__input::placeholder,.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}.mdc-text-field__input:-webkit-autofill{z-index:auto !important}.mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input{padding-top:16px;padding-bottom:16px}.mdc-text-field__input:-webkit-autofill+.mdc-floating-label{transform:translateY(-50%) scale(0.75);cursor:auto}.mdc-text-field--outlined{border:none;overflow:visible}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.38)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.87)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-radius:4px 0 0 4px}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-radius:0 4px 4px 0}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-radius:0 4px 4px 0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-radius:4px 0 0 4px}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-144%) scale(1)}.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined::before,.mdc-text-field--outlined::after{content:none}.mdc-text-field--outlined:not(.mdc-text-field--disabled){background-color:transparent}.mdc-text-field--outlined .mdc-text-field__input{display:flex;padding:12px 16px 14px;border:none !important;background-color:transparent;z-index:1}.mdc-text-field--outlined .mdc-text-field__icon{z-index:2}.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--outlined.mdc-text-field--disabled{background-color:transparent}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.06)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{border-bottom:none}.mdc-text-field--outlined.mdc-text-field--dense{height:48px}.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above{transform:translateY(-134%) scale(1)}.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above{font-size:.8rem}.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-120%) scale(0.8)}.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-dense 250ms 1}.mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__input{padding:12px 12px 7px}.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label{top:14px}.mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__icon{top:12px}.mdc-text-field--with-leading-icon .mdc-text-field__icon{left:16px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon .mdc-text-field__icon,.mdc-text-field--with-leading-icon .mdc-text-field__icon[dir=rtl]{left:initial;right:16px}.mdc-text-field--with-leading-icon .mdc-text-field__input{padding-left:48px;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon .mdc-text-field__input,.mdc-text-field--with-leading-icon .mdc-text-field__input[dir=rtl]{padding-left:16px;padding-right:48px}.mdc-text-field--with-leading-icon .mdc-floating-label{left:48px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon .mdc-floating-label,.mdc-text-field--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon{left:16px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon[dir=rtl]{left:initial;right:16px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input{padding-left:48px;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input[dir=rtl]{padding-left:16px;padding-right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-144%) translateX(-32px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-144%) translateX(32px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-130%) translateX(32px) scale(0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake,.mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl 250ms 1}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above{transform:translateY(-134%) translateX(-21px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-134%) translateX(21px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above{font-size:.8rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-120%) translateX(-21px) scale(0.8)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-120%) translateX(21px) scale(0.8)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense 250ms 1}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl 250ms 1}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label{left:32px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label[dir=rtl]{left:initial;right:32px}.mdc-text-field--with-trailing-icon .mdc-text-field__icon{left:initial;right:12px}[dir=rtl] .mdc-text-field--with-trailing-icon .mdc-text-field__icon,.mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir=rtl]{left:12px;right:initial}.mdc-text-field--with-trailing-icon .mdc-text-field__input{padding-left:16px;padding-right:48px}[dir=rtl] .mdc-text-field--with-trailing-icon .mdc-text-field__input,.mdc-text-field--with-trailing-icon .mdc-text-field__input[dir=rtl]{padding-left:48px;padding-right:16px}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon{left:initial;right:16px}[dir=rtl] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon,.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon[dir=rtl]{left:16px;right:initial}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input{padding-left:16px;padding-right:48px}[dir=rtl] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input[dir=rtl]{padding-left:48px;padding-right:16px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon{left:16px;right:auto}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir=rtl]{left:auto;right:16px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon~.mdc-text-field__icon{right:12px;left:auto}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon~.mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon~.mdc-text-field__icon[dir=rtl]{right:auto;left:12px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input{padding-left:48px;padding-right:48px}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input[dir=rtl]{padding-left:48px;padding-right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon,.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon{bottom:16px;transform:scale(0.8)}.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon{left:12px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon[dir=rtl]{left:initial;right:12px}.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input{padding-left:44px;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input,.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input[dir=rtl]{padding-left:16px;padding-right:44px}.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label{left:44px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label[dir=rtl]{left:initial;right:44px}.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon{left:initial;right:12px}[dir=rtl] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon,.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir=rtl]{left:12px;right:initial}.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input{padding-left:16px;padding-right:44px}[dir=rtl] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input,.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir=rtl]{padding-left:44px;padding-right:16px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon{left:12px;right:auto}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir=rtl]{left:auto;right:12px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon~.mdc-text-field__icon{right:12px;left:auto}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon~.mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon~.mdc-text-field__icon[dir=rtl]{right:auto;left:12px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input{padding-left:44px;padding-right:44px}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir=rtl]{padding-left:44px;padding-right:44px}.mdc-text-field--dense .mdc-floating-label--float-above{transform:translateY(-70%) scale(0.8)}.mdc-text-field--dense .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-dense 250ms 1}.mdc-text-field--dense .mdc-text-field__input{padding:12px 12px 0}.mdc-text-field--dense .mdc-floating-label{font-size:.813rem}.mdc-text-field--dense .mdc-floating-label--float-above{font-size:.813rem}.mdc-text-field__input:required~.mdc-floating-label::after,.mdc-text-field__input:required~.mdc-notched-outline .mdc-floating-label::after{margin-left:1px;content:"*"}.mdc-text-field--textarea{display:inline-flex;width:auto;height:auto;transition:none;overflow:visible}.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.38)}.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.87)}.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field--textarea .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading{border-radius:4px 0 0 4px}[dir=rtl] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-radius:0 4px 4px 0}.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing{border-radius:0 4px 4px 0}[dir=rtl] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-radius:4px 0 0 4px}.mdc-text-field--textarea::before,.mdc-text-field--textarea::after{content:none}.mdc-text-field--textarea:not(.mdc-text-field--disabled){background-color:transparent}.mdc-text-field--textarea .mdc-floating-label--float-above{transform:translateY(-144%) scale(1)}.mdc-text-field--textarea .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) scale(0.75)}.mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--textarea .mdc-text-field-character-counter{left:initial;right:16px;position:absolute;bottom:13px}[dir=rtl] .mdc-text-field--textarea .mdc-text-field-character-counter,.mdc-text-field--textarea .mdc-text-field-character-counter[dir=rtl]{left:16px;right:initial}.mdc-text-field--textarea .mdc-text-field__input{align-self:auto;box-sizing:border-box;height:auto;margin:8px 1px 1px 0;padding:0 16px 16px;border:none}.mdc-text-field--textarea .mdc-text-field-character-counter+.mdc-text-field__input{margin-bottom:28px;padding-bottom:0}.mdc-text-field--textarea .mdc-floating-label{top:17px;bottom:auto;width:auto;pointer-events:none}.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--fullwidth{width:100%}.mdc-text-field--fullwidth:not(.mdc-text-field--textarea){display:block}.mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::before,.mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::after{content:none}.mdc-text-field--fullwidth:not(.mdc-text-field--textarea):not(.mdc-text-field--disabled){background-color:transparent}.mdc-text-field--fullwidth:not(.mdc-text-field--textarea) .mdc-text-field__input{padding:0}.mdc-text-field--fullwidth.mdc-text-field--textarea .mdc-text-field__input{resize:vertical}.mdc-text-field--fullwidth.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea){border-bottom-color:#ac4220}.mdc-text-field-helper-line{display:flex;justify-content:space-between;box-sizing:border-box}.mdc-text-field--dense+.mdc-text-field-helper-line{margin-bottom:4px}.mdc-text-field+.mdc-text-field-helper-line{padding-right:16px;padding-left:16px}.mdc-form-field>.mdc-text-field+label{align-self:flex-start}.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(60,114,81,.87)}.mdc-text-field--focused .mdc-text-field__input:required~.mdc-floating-label::after,.mdc-text-field--focused .mdc-text-field__input:required~.mdc-notched-outline .mdc-floating-label::after{color:rgba(60,114,81,.87)}.mdc-text-field--focused+.mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg){opacity:1}.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input{border-bottom-color:#ac4220}.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover{border-bottom-color:#ac4220}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple{background-color:#ac4220}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:#ac4220}.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{color:#ac4220}.mdc-text-field--invalid .mdc-text-field__input{caret-color:#ac4220}.mdc-text-field--invalid .mdc-text-field__input:required~.mdc-floating-label::after,.mdc-text-field--invalid .mdc-text-field__input:required~.mdc-notched-outline .mdc-floating-label::after{color:#ac4220}.mdc-text-field--invalid.mdc-text-field--with-trailing-icon:not(.mdc-text-field--with-leading-icon):not(.mdc-text-field--disabled) .mdc-text-field__icon{color:#ac4220}.mdc-text-field--invalid.mdc-text-field--with-trailing-icon.mdc-text-field--with-leading-icon:not(.mdc-text-field--disabled) .mdc-text-field__icon~.mdc-text-field__icon{color:#ac4220}.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{opacity:1}.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--disabled{background-color:#fafafa;border-bottom:none;pointer-events:none}.mdc-text-field--disabled .mdc-text-field__input{border-bottom-color:rgba(0,0,0,.06)}.mdc-text-field--disabled .mdc-text-field__input{color:rgba(0,0,0,.37)}.mdc-text-field--disabled .mdc-floating-label{color:rgba(0,0,0,.37)}.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0,0,0,.37)}.mdc-text-field--disabled .mdc-text-field-character-counter,.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:rgba(0,0,0,.37)}.mdc-text-field--disabled .mdc-text-field__icon{color:rgba(0,0,0,.3)}.mdc-text-field--disabled:not(.mdc-text-field--textarea){border-bottom-color:rgba(0,0,0,.12)}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.mdc-text-field--textarea.mdc-text-field--disabled{background-color:transparent;background-color:#f9f9f9}.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.06)}.mdc-text-field--textarea.mdc-text-field--disabled .mdc-text-field__input{border-bottom:none}@keyframes mdc-floating-label-shake-float-above-text-field-dense{0%{transform:translateX(calc(0 - 0%)) translateY(-70%) scale(0.8)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-70%) scale(0.8)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8)}100%{transform:translateX(calc(0 - 0%)) translateY(-70%) scale(0.8)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined{0%{transform:translateX(calc(0 - 0%)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-130%) scale(0.75)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-dense{0%{transform:translateX(calc(0 - 0%)) translateY(-120%) scale(0.8)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-120%) scale(0.8)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8)}100%{transform:translateX(calc(0 - 0%)) translateY(-120%) scale(0.8)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon{0%{transform:translateX(calc(0 - 0)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 0)) translateY(-130%) scale(0.75)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense{0%{transform:translateX(calc(0 - 21px)) translateY(-120%) scale(0.8)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 21px)) translateY(-120%) scale(0.8)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8)}100%{transform:translateX(calc(0 - 21px)) translateY(-120%) scale(0.8)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl{0%{transform:translateX(calc(0 - 0)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 0)) translateY(-130%) scale(0.75)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl{0%{transform:translateX(calc(0 - -21px)) translateY(-120%) scale(0.8)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -21px)) translateY(-120%) scale(0.8)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8)}100%{transform:translateX(calc(0 - -21px)) translateY(-120%) scale(0.8)}}@keyframes mdc-floating-label-shake-float-above-textarea{0%{transform:translateX(calc(0 - 0%)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-130%) scale(0.75)}}.mdc-switch{display:inline-block;position:relative;outline:none;-webkit-user-select:none;user-select:none}.mdc-switch.mdc-switch--checked .mdc-switch__track{background-color:#446199;background-color:var(--mdc-theme-secondary, #446199);border-color:#446199;border-color:var(--mdc-theme-secondary, #446199)}.mdc-switch.mdc-switch--checked .mdc-switch__thumb{background-color:#446199;background-color:var(--mdc-theme-secondary, #446199);border-color:#446199;border-color:var(--mdc-theme-secondary, #446199)}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__track{background-color:#000;border-color:#000}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb{background-color:#fff;border-color:#fff}.mdc-switch__native-control{left:0;right:initial;position:absolute;top:0;width:68px;height:48px;margin:0;opacity:0;cursor:pointer;pointer-events:auto}[dir=rtl] .mdc-switch__native-control,.mdc-switch__native-control[dir=rtl]{left:initial;right:0}.mdc-switch__track{box-sizing:border-box;width:32px;height:14px;border:1px solid;border-radius:7px;opacity:.38;transition:opacity 90ms cubic-bezier(0.4, 0, 0.2, 1),background-color 90ms cubic-bezier(0.4, 0, 0.2, 1),border-color 90ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-switch__thumb-underlay{left:-18px;right:initial;display:flex;position:absolute;top:-17px;align-items:center;justify-content:center;width:48px;height:48px;transform:translateX(0);transition:transform 90ms cubic-bezier(0.4, 0, 0.2, 1),background-color 90ms cubic-bezier(0.4, 0, 0.2, 1),border-color 90ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl] .mdc-switch__thumb-underlay,.mdc-switch__thumb-underlay[dir=rtl]{left:initial;right:-18px}.mdc-switch__thumb{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0,0,0,.12);box-sizing:border-box;width:20px;height:20px;border:10px solid;border-radius:50%;pointer-events:none;z-index:1}.mdc-switch--checked .mdc-switch__track{opacity:.54}.mdc-switch--checked .mdc-switch__thumb-underlay{transform:translateX(20px)}[dir=rtl] .mdc-switch--checked .mdc-switch__thumb-underlay,.mdc-switch--checked .mdc-switch__thumb-underlay[dir=rtl]{transform:translateX(-20px)}.mdc-switch--checked .mdc-switch__native-control{transform:translateX(-20px)}[dir=rtl] .mdc-switch--checked .mdc-switch__native-control,.mdc-switch--checked .mdc-switch__native-control[dir=rtl]{transform:translateX(20px)}.mdc-switch--disabled{opacity:.38;pointer-events:none}.mdc-switch--disabled .mdc-switch__thumb{border-width:1px}.mdc-switch--disabled .mdc-switch__native-control{cursor:default;pointer-events:none}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay::before,.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay::after{background-color:#9e9e9e}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:hover::before{opacity:.08}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before,.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.mdc-switch__thumb-underlay{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-switch__thumb-underlay::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::before,.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-switch__thumb-underlay:hover::before{opacity:.04}.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before,.mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-switch__thumb-underlay.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button{box-shadow:none;text-transform:none}.googlesitekit-plugin .mdc-button:not(:disabled){color:#3c7251}@media(max-width: 960px){.googlesitekit-plugin .mdc-button{min-width:auto}}.googlesitekit-plugin .mdc-button .mdc-button__icon--image{border-radius:50%;display:block;height:18px;width:18px}.googlesitekit-plugin .mdc-button .mdc-button__trailing-icon{margin-left:8px}.googlesitekit-plugin .mdc-button--raised{border-radius:100px;box-shadow:none;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;height:auto;letter-spacing:normal;min-height:40px;padding-bottom:8px;padding-top:8px;text-align:center}.googlesitekit-plugin .mdc-button--raised:not(:disabled){background-color:#3c7251}.googlesitekit-plugin .mdc-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--raised::before,.googlesitekit-plugin .mdc-button--raised::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--raised::before,.googlesitekit-plugin .mdc-button--raised::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--raised:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--raised:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--raised.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--raised:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--raised:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--raised.mdc-button--dense{border-radius:100px}.googlesitekit-plugin .mdc-button--raised:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--raised:focus{outline:none}.googlesitekit-plugin .mdc-button--danger:not(:disabled){background-color:#ac4220}.googlesitekit-plugin .mdc-button--danger:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--danger::before,.googlesitekit-plugin .mdc-button--danger::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--danger::before,.googlesitekit-plugin .mdc-button--danger::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--danger:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--danger:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--danger.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--danger:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--danger:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--danger.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--dropdown{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2212%22%20height%3D%228%22%20viewBox%3D%220%200%2012%208%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.6.6L12%202%206%208%200%202%201.4.6%206%205.2z%22%20fill%3D%22%23757575%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");background-position:calc(100% - 8px) center;background-repeat:no-repeat;background-size:9px 6px;letter-spacing:normal;padding-right:12px;text-transform:none}.googlesitekit-plugin .mdc-button--dropdown:not(:disabled){color:#161b18}@media(min-width: 600px){.googlesitekit-plugin .mdc-button--dropdown{padding-right:25px}}.googlesitekit-plugin .mdc-button--dropdown:hover,.googlesitekit-plugin .mdc-button--dropdown:active,.googlesitekit-plugin .mdc-button--dropdown:focus{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--dropdown:hover:not(:disabled),.googlesitekit-plugin .mdc-button--dropdown:active:not(:disabled),.googlesitekit-plugin .mdc-button--dropdown:focus:not(:disabled){background-color:#ebeef0}.googlesitekit-plugin .mdc-button--dropdown:hover:not(:disabled),.googlesitekit-plugin .mdc-button--dropdown:active:not(:disabled),.googlesitekit-plugin .mdc-button--dropdown:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--dropdown:hover::before,.googlesitekit-plugin .mdc-button--dropdown:hover::after,.googlesitekit-plugin .mdc-button--dropdown:active::before,.googlesitekit-plugin .mdc-button--dropdown:active::after,.googlesitekit-plugin .mdc-button--dropdown:focus::before,.googlesitekit-plugin .mdc-button--dropdown:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--dropdown:hover::before,.googlesitekit-plugin .mdc-button--dropdown:hover::after,.googlesitekit-plugin .mdc-button--dropdown:active::before,.googlesitekit-plugin .mdc-button--dropdown:active::after,.googlesitekit-plugin .mdc-button--dropdown:focus::before,.googlesitekit-plugin .mdc-button--dropdown:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--dropdown:hover:hover::before,.googlesitekit-plugin .mdc-button--dropdown:active:hover::before,.googlesitekit-plugin .mdc-button--dropdown:focus:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--dropdown:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--dropdown:hover.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--dropdown:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--dropdown:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--dropdown:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--dropdown:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--dropdown:hover:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--dropdown:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--dropdown:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--dropdown:hover:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--dropdown:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--dropdown:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--dropdown:hover.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--dropdown:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--dropdown:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}@media(max-width: 599px){.googlesitekit-plugin .mdc-button--dropdown{background-image:none}}@media(max-width: 599px){.googlesitekit-plugin .mdc-button--dropdown .mdc-button__label{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}}@media(min-width: 600px){.googlesitekit-plugin .mdc-button--dropdown .mdc-button__label{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(min-width: 960px){.googlesitekit-plugin .mdc-button--dropdown .mdc-button__label{max-width:300px}}@media(min-width: 1280px){.googlesitekit-plugin .mdc-button--dropdown .mdc-button__label{max-width:450px}}.googlesitekit-plugin .mdc-button--inverse:not(:disabled){background-color:#161b18}.googlesitekit-plugin .mdc-button--inverse:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--inverse::before,.googlesitekit-plugin .mdc-button--inverse::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--inverse::before,.googlesitekit-plugin .mdc-button--inverse::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--inverse:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--inverse:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--inverse.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--inverse:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--inverse:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--inverse.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--tertiary{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;height:auto;letter-spacing:normal;min-height:40px;padding:8px 16px}.googlesitekit-plugin .mdc-button--tertiary:not(:disabled){color:#6c726e}.googlesitekit-plugin .mdc-button--tertiary:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--tertiary:hover:not(:disabled){background-color:rgba(22,27,24,.08)}.googlesitekit-plugin .mdc-button--tertiary:hover:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--tertiary:hover::before,.googlesitekit-plugin .mdc-button--tertiary:hover::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--tertiary:hover::before,.googlesitekit-plugin .mdc-button--tertiary:hover::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--tertiary:hover:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--tertiary:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--tertiary:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--tertiary:hover:not(:disabled){color:#161b18}.googlesitekit-plugin .mdc-button--tertiary:active,.googlesitekit-plugin .mdc-button--tertiary:focus{outline:none}.googlesitekit-plugin .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .mdc-button--tertiary:focus:not(:disabled){background-color:rgba(22,27,24,.26)}.googlesitekit-plugin .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .mdc-button--tertiary:focus:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--tertiary:active::before,.googlesitekit-plugin .mdc-button--tertiary:active::after,.googlesitekit-plugin .mdc-button--tertiary:focus::before,.googlesitekit-plugin .mdc-button--tertiary:focus::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--tertiary:active::before,.googlesitekit-plugin .mdc-button--tertiary:active::after,.googlesitekit-plugin .mdc-button--tertiary:focus::before,.googlesitekit-plugin .mdc-button--tertiary:focus::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--tertiary:active:hover::before,.googlesitekit-plugin .mdc-button--tertiary:focus:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--tertiary:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--tertiary:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--tertiary:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--tertiary:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--tertiary:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .mdc-button--tertiary:focus:not(:disabled){color:#161b18}.googlesitekit-plugin .mdc-button--callout{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;height:auto;letter-spacing:normal;min-height:32px;padding:6px 16px}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:not(:disabled){color:#265c3b}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(:disabled){background-color:rgba(147,201,168,.6)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(:disabled){color:#265c3b}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus{outline:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(:disabled){background-color:#93c9a8}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(:disabled){color:#265c3b}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:disabled{color:rgba(38,92,59,.4)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:not(:disabled){color:#4e3300}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(:disabled){background-color:rgba(225,177,85,.6)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(:disabled){color:#4e3300}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus{outline:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(:disabled){background-color:#e1b155}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(:disabled){color:#4e3300}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:disabled{color:rgba(78,51,0,.4)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:not(:disabled){color:#7a1e00}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(:disabled){background-color:rgba(255,194,174,.6)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(:disabled){color:#7a1e00}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus{outline:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(:disabled){background-color:#ffc2ae}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(:disabled){color:#7a1e00}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:disabled{color:rgba(122,30,0,.4)}.googlesitekit-plugin .mdc-checkbox{box-sizing:content-box}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:#161b18;background-color:#fff}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:#161b18;background-color:#000}@keyframes mdc-checkbox-fade-in-background-0{0%{border-color:#161b18;background-color:#fff}50%{border-color:#161b18;background-color:#000}}@keyframes mdc-checkbox-fade-out-background-0{0%,80%{border-color:#161b18;background-color:#000}100%{border-color:#161b18;background-color:#fff}}.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-0}.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-0}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__checkmark{color:#fff}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__mixedmark{border-color:#fff}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__background::before{background-color:#265c3b}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__native-control{appearance:none;background:transparent;border:none;border-radius:0;box-shadow:none;clear:none;color:#161b18;cursor:inherit;display:block;height:100%;line-height:normal;margin:0;min-width:auto;opacity:0;outline:0;padding:0;text-align:center;transition:none;vertical-align:middle;width:100%;z-index:1}.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--align-left{margin-left:-11px}.googlesitekit-plugin .mdc-checkbox+.mdc-checkbox__content{padding-left:4px}.googlesitekit-plugin .mdc-checkbox__label-wrapper{align-items:center;column-gap:10px;display:flex}.googlesitekit-plugin .mdc-checkbox__label-wrapper .googlesitekit-badge{margin-left:0}.googlesitekit-plugin .mdc-chip{border-radius:100px;font-weight:500;height:auto;padding:8px 12px}@media(min-width: 783px){.googlesitekit-plugin .mdc-chip{font-size:16px;letter-spacing:.5px;margin:4px 16px;padding:12px 16px}}.googlesitekit-plugin .mdc-dialog{z-index:10000}.googlesitekit-plugin .mdc-dialog .mdc-dialog__surface{border-radius:8px;box-shadow:0 10px 40px 0 rgba(0,0,0,.35);max-width:76vw;padding:24px}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog .mdc-dialog__surface{max-width:478px;padding:36px}}@media(min-width: 960px){.googlesitekit-plugin .mdc-dialog .mdc-dialog__surface{max-width:590px}}.googlesitekit-plugin .mdc-dialog .mdc-dialog__lead,.googlesitekit-plugin .mdc-dialog .mdc-dialog__title{color:#161b18}.googlesitekit-plugin .mdc-dialog .mdc-dialog__title{align-items:flex-start;column-gap:9px;display:flex;flex-direction:column;font-size:22px;letter-spacing:0;padding:0 0 4px}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog .mdc-dialog__title{align-items:center;flex-direction:row;padding:0 0 14px}}.googlesitekit-plugin .mdc-dialog .mdc-dialog__title::before{display:none}.googlesitekit-plugin .mdc-dialog .mdc-dialog__title svg{color:#ac4220;margin-bottom:4px}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog .mdc-dialog__title svg{margin-bottom:0}}.googlesitekit-plugin .mdc-dialog .mdc-dialog__lead{font-size:14px;font-weight:500;line-height:1.43;margin:0;max-width:430px}.googlesitekit-plugin .mdc-dialog .mdc-dialog__content{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:normal;padding:0}.googlesitekit-plugin .mdc-dialog .mdc-dialog__dependencies{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:1em 0}.googlesitekit-plugin .mdc-dialog .mdc-dialog__dependencies strong{font-weight:500}.googlesitekit-plugin .mdc-dialog .mdc-dialog__provides{overflow:initial;padding:8px 0}.googlesitekit-plugin .mdc-dialog .mdc-list:first-child:last-child{padding:0}.googlesitekit-plugin .mdc-dialog .mdc-list.mdc-list--underlined .mdc-list-item,.googlesitekit-plugin .mdc-dialog .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu__list-item{font-size:14px;height:unset;letter-spacing:.2px;line-height:1.33;min-height:32px;padding:6px 0 6px 10px}.googlesitekit-plugin .mdc-dialog .mdc-list.mdc-list--underlined .mdc-list-item::before,.googlesitekit-plugin .mdc-dialog .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu__list-item::before{background-color:#161b18;border-radius:50%;content:" ";height:4px;left:0;position:absolute;top:14.3px;width:4px}.googlesitekit-plugin .mdc-dialog .mdc-dialog__actions{column-gap:10px;margin:2em 0 0;min-height:40px;padding:0}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-md .mdc-dialog__surface{max-width:441px}}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-sm .mdc-dialog__surface{max-width:402px}}.googlesitekit-plugin .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .mdc-list-item__text{white-space:normal}.googlesitekit-plugin .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .mdc-dialog__title{align-items:flex-start}.googlesitekit-plugin .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .mdc-list-item:last-child,.googlesitekit-plugin .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item:last-child,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .googlesitekit-view-only-menu__list-item:last-child{border-bottom:0}.googlesitekit-plugin .mdc-floating-label{vertical-align:initial}.googlesitekit-plugin .mdc-form-field{color:#161b18}.googlesitekit-plugin .mdc-layout-grid+.mdc-layout-grid{padding-top:0}.googlesitekit-plugin .mdc-layout-grid--collapsed{padding:0}.googlesitekit-plugin .mdc-layout-grid--collapsed .mdc-layout-grid__inner{grid-gap:0}.googlesitekit-plugin .mdc-layout-grid--fill .mdc-layout-grid__inner{height:100%}.googlesitekit-plugin .mdc-layout-grid__cell--align-left{margin-right:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-left{justify-self:start}}.googlesitekit-plugin .mdc-layout-grid__cell--align-right{margin-left:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-right{justify-self:end}}@media(min-width: 0){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-phone{margin-left:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-phone{justify-self:end}}}@media(min-width: 601px){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-tablet{margin-left:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-tablet{justify-self:end}}}@media(min-width: 961px){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-desktop{margin-left:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-desktop{justify-self:end}}}@media(min-width: 600px){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1{margin-left:8.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-1{grid-column-start:2}.googlesitekit-plugin .mdc-layout-grid__cell--offset-2{margin-left:16.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-2{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-2{grid-column-start:3}.googlesitekit-plugin .mdc-layout-grid__cell--offset-3{margin-left:25%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-3{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-3{grid-column-start:4}.googlesitekit-plugin .mdc-layout-grid__cell--offset-4{margin-left:33.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-4{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-4{grid-column-start:5}.googlesitekit-plugin .mdc-layout-grid__cell--offset-5{margin-left:41.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-5{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-5{grid-column-start:6}.googlesitekit-plugin .mdc-layout-grid__cell--offset-6{margin-left:50%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-6{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-6{grid-column-start:7}.googlesitekit-plugin .mdc-layout-grid__cell--offset-7{margin-left:58.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-7{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-7{grid-column-start:8}.googlesitekit-plugin .mdc-layout-grid__cell--offset-8{margin-left:66.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-8{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-8{grid-column-start:9}.googlesitekit-plugin .mdc-layout-grid__cell--offset-9{margin-left:75%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-9{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-9{grid-column-start:10}.googlesitekit-plugin .mdc-layout-grid__cell--offset-10{margin-left:83.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-10{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-10{grid-column-start:11}.googlesitekit-plugin .mdc-layout-grid__cell--offset-11{margin-left:91.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-11{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-11{grid-column-start:12}.googlesitekit-plugin .mdc-layout-grid__cell--offset-12{margin-left:100%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-12{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-12{grid-column-start:13}}@media(min-width: 0){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-phone{margin-left:8.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-1-phone{grid-column-start:2}.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-phone{margin-left:16.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-2-phone{grid-column-start:3}.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-phone{margin-left:25%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-3-phone{grid-column-start:4}.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-phone{margin-left:33.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-4-phone{grid-column-start:5}.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-phone{margin-left:41.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-5-phone{grid-column-start:6}.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-phone{margin-left:50%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-6-phone{grid-column-start:7}.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-phone{margin-left:58.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-7-phone{grid-column-start:8}.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-phone{margin-left:66.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-8-phone{grid-column-start:9}.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-phone{margin-left:75%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-9-phone{grid-column-start:10}.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-phone{margin-left:83.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-10-phone{grid-column-start:11}.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-phone{margin-left:91.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-11-phone{grid-column-start:12}.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-phone{margin-left:100%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-12-phone{grid-column-start:13}}@media(min-width: 601px){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-tablet{margin-left:8.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-1-tablet{grid-column-start:2}.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-tablet{margin-left:16.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-2-tablet{grid-column-start:3}.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-tablet{margin-left:25%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-3-tablet{grid-column-start:4}.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-tablet{margin-left:33.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-4-tablet{grid-column-start:5}.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-tablet{margin-left:41.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-5-tablet{grid-column-start:6}.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-tablet{margin-left:50%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-6-tablet{grid-column-start:7}.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-tablet{margin-left:58.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-7-tablet{grid-column-start:8}.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-tablet{margin-left:66.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-8-tablet{grid-column-start:9}.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-tablet{margin-left:75%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-9-tablet{grid-column-start:10}.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-tablet{margin-left:83.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-10-tablet{grid-column-start:11}.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-tablet{margin-left:91.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-11-tablet{grid-column-start:12}.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-tablet{margin-left:100%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-12-tablet{grid-column-start:13}}@media(min-width: 961px){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-desktop{margin-left:8.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-1-desktop{grid-column-start:2}.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-desktop{margin-left:16.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-2-desktop{grid-column-start:3}.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-desktop{margin-left:25%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-3-desktop{grid-column-start:4}.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-desktop{margin-left:33.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-4-desktop{grid-column-start:5}.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-desktop{margin-left:41.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-5-desktop{grid-column-start:6}.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-desktop{margin-left:50%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-6-desktop{grid-column-start:7}.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-desktop{margin-left:58.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-7-desktop{grid-column-start:8}.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-desktop{margin-left:66.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-8-desktop{grid-column-start:9}.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-desktop{margin-left:75%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-9-desktop{grid-column-start:10}.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-desktop{margin-left:83.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-10-desktop{grid-column-start:11}.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-desktop{margin-left:91.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-11-desktop{grid-column-start:12}.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-desktop{margin-left:100%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-12-desktop{grid-column-start:13}}@media(min-width: 0){.googlesitekit-plugin .mdc-layout-grid__cell--order-1-phone{order:1}.googlesitekit-plugin .mdc-layout-grid__cell--order-2-phone{order:2}.googlesitekit-plugin .mdc-layout-grid__cell--order-3-phone{order:3}.googlesitekit-plugin .mdc-layout-grid__cell--order-4-phone{order:4}.googlesitekit-plugin .mdc-layout-grid__cell--order-5-phone{order:5}.googlesitekit-plugin .mdc-layout-grid__cell--order-6-phone{order:6}.googlesitekit-plugin .mdc-layout-grid__cell--order-7-phone{order:7}.googlesitekit-plugin .mdc-layout-grid__cell--order-8-phone{order:8}.googlesitekit-plugin .mdc-layout-grid__cell--order-9-phone{order:9}.googlesitekit-plugin .mdc-layout-grid__cell--order-10-phone{order:10}.googlesitekit-plugin .mdc-layout-grid__cell--order-11-phone{order:11}.googlesitekit-plugin .mdc-layout-grid__cell--order-12-phone{order:12}}@media(min-width: 601px){.googlesitekit-plugin .mdc-layout-grid__cell--order-1-tablet{order:1}.googlesitekit-plugin .mdc-layout-grid__cell--order-2-tablet{order:2}.googlesitekit-plugin .mdc-layout-grid__cell--order-3-tablet{order:3}.googlesitekit-plugin .mdc-layout-grid__cell--order-4-tablet{order:4}.googlesitekit-plugin .mdc-layout-grid__cell--order-5-tablet{order:5}.googlesitekit-plugin .mdc-layout-grid__cell--order-6-tablet{order:6}.googlesitekit-plugin .mdc-layout-grid__cell--order-7-tablet{order:7}.googlesitekit-plugin .mdc-layout-grid__cell--order-8-tablet{order:8}.googlesitekit-plugin .mdc-layout-grid__cell--order-9-tablet{order:9}.googlesitekit-plugin .mdc-layout-grid__cell--order-10-tablet{order:10}.googlesitekit-plugin .mdc-layout-grid__cell--order-11-tablet{order:11}.googlesitekit-plugin .mdc-layout-grid__cell--order-12-tablet{order:12}}@media(min-width: 961px){.googlesitekit-plugin .mdc-layout-grid__cell--order-1-desktop{order:1}.googlesitekit-plugin .mdc-layout-grid__cell--order-2-desktop{order:2}.googlesitekit-plugin .mdc-layout-grid__cell--order-3-desktop{order:3}.googlesitekit-plugin .mdc-layout-grid__cell--order-4-desktop{order:4}.googlesitekit-plugin .mdc-layout-grid__cell--order-5-desktop{order:5}.googlesitekit-plugin .mdc-layout-grid__cell--order-6-desktop{order:6}.googlesitekit-plugin .mdc-layout-grid__cell--order-7-desktop{order:7}.googlesitekit-plugin .mdc-layout-grid__cell--order-8-desktop{order:8}.googlesitekit-plugin .mdc-layout-grid__cell--order-9-desktop{order:9}.googlesitekit-plugin .mdc-layout-grid__cell--order-10-desktop{order:10}.googlesitekit-plugin .mdc-layout-grid__cell--order-11-desktop{order:11}.googlesitekit-plugin .mdc-layout-grid__cell--order-12-desktop{order:12}}.googlesitekit-plugin .mdc-linear-progress{margin:32px 0}.googlesitekit-plugin .mdc-linear-progress .mdc-linear-progress__bar-inner{background-color:#3c7251}@media(min-width: 960px){.googlesitekit-plugin .mdc-linear-progress{margin:48px 0}}.googlesitekit-plugin .mdc-linear-progress--small{max-width:150px}.googlesitekit-plugin .mdc-linear-progress--compress{margin:0}.googlesitekit-plugin .mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item{margin:0}.googlesitekit-plugin .mdc-list.mdc-list--underlined .mdc-list-item,.googlesitekit-plugin .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu__list-item{border-bottom:1px solid #ebeef0;padding-left:0;padding-right:0}.mdc-menu-surface{box-shadow:0 1.25px 5px 0 rgba(0,0,0,.19),0 .33px 1.5px 0 rgba(0,0,0,.039);border-radius:16px}.googlesitekit-plugin .mdc-menu-surface{left:auto !important;right:-8px;top:calc(100% + 10px) !important;width:calc(100% + 8px)}.mdc-menu-surface--open{z-index:10000}.googlesitekit-plugin .mdc-radio .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:#000}.googlesitekit-plugin .mdc-radio .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:#000}.googlesitekit-plugin .mdc-radio .mdc-radio__native-control:enabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:#000}.googlesitekit-plugin .mdc-radio .mdc-radio__background::before{background-color:#265c3b}.googlesitekit-plugin .mdc-radio .mdc-radio__native-control{appearance:none;background:transparent;border:none;border-radius:0;box-shadow:none;clear:none;color:#161b18;cursor:inherit;display:block;height:100%;line-height:normal;margin:0;min-width:auto;opacity:0;outline:0;padding:0;text-align:center;transition:none;width:100%;z-index:1}.googlesitekit-plugin .mdc-radio.mdc-radio--align-left{margin-left:-10px}.googlesitekit-plugin .mdc-radio__description{color:#6c726e;font-size:12px;line-height:1.33}.googlesitekit-plugin .mdc-select{max-width:100%}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{color:#161b18}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-floating-label{color:#161b18}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label{color:#161b18}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:#b8bdb9}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#757575}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#3c7251}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple{background-color:#446199}.googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__leading{border-radius:8px 0 0 8px}[dir=rtl] .googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-radius:0 8px 8px 0}.googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__trailing{border-radius:0 8px 8px 0}[dir=rtl] .googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-radius:8px 0 0 8px}.googlesitekit-plugin .mdc-select .mdc-select__native-control{border-radius:8px}.googlesitekit-plugin .mdc-select .mdc-select__selected-text{display:block;overflow:hidden;text-overflow:ellipsis}.googlesitekit-plugin .mdc-select .mdc-select__native-control{appearance:none;box-shadow:none;height:56px !important;line-height:1.75rem;margin:0;padding:20px 26px 4px 16px}.googlesitekit-plugin .mdc-select.mdc-select--focused:not(.mdc-select--disabled) .mdc-floating-label--float-above{color:#3c7251}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple{background-color:#ac4220}.googlesitekit-plugin .mdc-select--minimal{background-color:transparent;background-position:right center;display:block;height:20px;line-height:1;margin:0 0 -6px;padding-bottom:6px;width:90px}.googlesitekit-plugin .mdc-select--minimal::before{background-color:transparent}.googlesitekit-plugin .mdc-select--outlined .mdc-select__native-control{background-color:transparent;border:none;box-shadow:none;display:flex;padding:12px 26px 12px 16px;z-index:1}.googlesitekit-plugin .mdc-select--minimal .mdc-select__selected-text{border:none;font-size:12px !important;height:14px !important;letter-spacing:.2px;line-height:1;min-width:0;padding:0 18px 0 0;text-align:right;text-indent:0}.googlesitekit-plugin .mdc-select--minimal .mdc-select__dropdown-icon{bottom:2px;right:-5px}.googlesitekit-plugin .mdc-select--minimal.mdc-select--focused .mdc-select__dropdown-icon{transform:rotate(180deg) translateY(0)}.googlesitekit-plugin .mdc-switch{vertical-align:middle}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__track{background-color:#3c7251;border-color:#3c7251}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb{background-color:#3c7251;border-color:#3c7251}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay::before,.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay::after{background-color:#3c7251}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay:hover::before{opacity:.04}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb{background-color:#3c7251;border-color:#3c7251}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__track{background-color:#b8e5ca;border-color:#b8e5ca}.googlesitekit-plugin .mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb{background-color:#6c726e;border-color:#6c726e}.googlesitekit-plugin .mdc-switch:not(.mdc-switch--checked) .mdc-switch__track{background-color:#cbd0d3;border-color:#cbd0d3}.googlesitekit-plugin .mdc-switch .mdc-switch__native-control{appearance:none;background:transparent;border:none;box-shadow:none;clear:none;color:#161b18;cursor:pointer;display:block;height:48px;line-height:normal;margin:0;min-width:auto;outline:0;padding:0;text-align:center;transition:none;vertical-align:middle;width:68px}.googlesitekit-plugin .mdc-switch .mdc-switch__native-control::before{opacity:0 !important}.googlesitekit-plugin .mdc-switch+label{font-size:14px;letter-spacing:.25px;line-height:1.43;margin-left:10px}.googlesitekit-plugin .mdc-switch .mdc-switch__track{opacity:1}.googlesitekit-plugin .mdc-switch .mdc-switch__thumb{box-shadow:none}.googlesitekit-plugin .mdc-tab{font-size:12px;letter-spacing:.2px;line-height:1;text-transform:none}.googlesitekit-plugin .mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#3c7251}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple::before,.googlesitekit-plugin .mdc-tab .mdc-tab__ripple::after{background-color:#3c7251}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple:hover::before{opacity:.04}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-tab .mdc-tab__ripple.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-tab:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-tab:focus{color:#3c7251;outline:none}.googlesitekit-plugin .mdc-tab[disabled]{cursor:default}.googlesitekit-plugin .mdc-tab[disabled] .mdc-tab__ripple{display:none}.googlesitekit-plugin .mdc-tab[disabled] .mdc-tab__text-label{color:#999f9b;opacity:.6}.googlesitekit-plugin .mdc-text-field{width:250px}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#161b18}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label{color:#161b18}.googlesitekit-plugin .mdc-text-field .mdc-text-field__input{caret-color:#3c7251}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#3c7251}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#757575}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#b8bdb9}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#b8bdb9}.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__leading{border-radius:8px 0 0 8px}[dir=rtl] .googlesitekit-plugin .mdc-text-field .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__leading[dir=rtl]{border-radius:0 8px 8px 0}.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__trailing{border-radius:0 8px 8px 0}[dir=rtl] .googlesitekit-plugin .mdc-text-field .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__trailing[dir=rtl]{border-radius:8px 0 0 8px}.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__notch{padding-right:0;width:auto !important}@media(min-width: 600px){.googlesitekit-plugin .mdc-text-field{width:350px}}.googlesitekit-plugin .mdc-text-field--textarea{max-width:650px;width:100%}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-floating-label,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-floating-label{color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--focused) .mdc-floating-label--float-above,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--focused) .mdc-floating-label--float-above{color:#ac4220}.googlesitekit-plugin .mdc-text-field--error+.mdc-text-field-helper-line .mdc-text-field-helper-text,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:#ac4220}.googlesitekit-plugin .mdc-text-field--textarea.mdc-text-field--focused{border-color:#446199}.googlesitekit-plugin .mdc-text-field--textarea .mdc-text-field__input{box-shadow:none;padding:8px 12px 12px}.googlesitekit-plugin .mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-text-field__input:focus{border-color:#446199}.googlesitekit-plugin .MuiCircularProgress-colorPrimary{color:#3c7251}.googlesitekit-plugin .MuiCircularProgress-colorSecondary{color:#108080}.googlesitekit-plugin{--md-sys-color-primary: #3c7251;--md-sys-color-on-surface: #161b18;--md-sys-color-on-tertiary-container: #225858;--md-sys-color-tertiary-container: #d5f6f6}.googlesitekit-plugin{--md-checkbox-container-shape: 4px;--md-checkbox-_touch-target-size: 40px}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox label{margin-left:2px}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox--loading{align-items:center;display:flex;height:var(--md-checkbox-_touch-target-size);justify-content:center;width:var(--md-checkbox-_touch-target-size)}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox--align-left{margin-left:-15px}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox__description{margin-left:2px}:root{--reach-combobox: 1}.googlesitekit-plugin{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.43}.googlesitekit-plugin *,.googlesitekit-plugin *::before,.googlesitekit-plugin *::after{box-sizing:border-box}.googlesitekit-plugin svg{color:inherit}.googlesitekit-plugin svg:not(:root){overflow:hidden}.googlesitekit-plugin h1,.googlesitekit-plugin h2,.googlesitekit-plugin h3,.googlesitekit-plugin h4,.googlesitekit-plugin h5,.googlesitekit-plugin h6{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.16}.googlesitekit-plugin h1,.googlesitekit-plugin .googlesitekit-heading-1{font-size:32px;font-weight:400;line-height:1.25}.googlesitekit-plugin h2,.googlesitekit-plugin .googlesitekit-heading-2{font-size:28px;font-weight:400;line-height:1.286}.googlesitekit-plugin h3,.googlesitekit-plugin .googlesitekit-heading-3{font-size:22px;font-weight:400;line-height:1.27}.googlesitekit-plugin h4,.googlesitekit-plugin .googlesitekit-heading-4{font-size:18px;font-weight:700;line-height:1.33}.googlesitekit-plugin .googlesitekit-subheading-1{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.14}.googlesitekit-plugin .googlesitekit-subheading-2{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-nodata{display:none}.googlesitekit-plugin legend,.googlesitekit-plugin p:not([class*=mdc-]){font-size:14px;letter-spacing:.25px}.googlesitekit-plugin a{color:#108080;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin a:hover{color:#108080;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin a:focus{box-shadow:none;outline:1px dotted #000;outline-offset:3px}.googlesitekit-plugin button{background:none;border:none;border-radius:100px;color:#108080;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin button:hover{-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin button:focus{outline:1px dotted #000;outline-offset:6px}.googlesitekit-plugin legend{line-height:1.5;margin:1em 0}.googlesitekit-plugin .screen-reader-only{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}@media(max-width: 599px){.googlesitekit-plugin .hidden-on-mobile{display:none}}.googlesitekit-hidden{display:none !important}.googlesitekit-activation .googlesitekit-activation__title{margin:10px 0 20px}.googlesitekit-noscript #googlesitekit-notice-activated{border-left-color:#fece72;margin:5px 15px 5px 0;padding:0}.googlesitekit-noscript #googlesitekit-notice-activated .googlesitekit-noscript{border:0;margin:0;padding:0}.googlesitekit-accordion{border:1px solid #ebeef0}.googlesitekit-accordion .googlesitekit-accordion__header,.googlesitekit-accordion .googlesitekit-accordion__content{padding:14px 20px}.googlesitekit-accordion .googlesitekit-accordion__header{cursor:pointer;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.14;padding-right:32px;position:relative;width:100%}.googlesitekit-accordion .googlesitekit-accordion__header:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-accordion .googlesitekit-accordion__header:focus{outline-offset:0}.googlesitekit-accordion .googlesitekit-accordion__header .googlesitekit-icon-wrapper{align-items:center;display:flex;justify-content:center;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:20px}.googlesitekit-accordion .googlesitekit-accordion__header .googlesitekit-icon-wrapper svg{color:#5b5b61}.googlesitekit-accordion .googlesitekit-accordion__header.is-active{font-weight:700}.googlesitekit-accordion .googlesitekit-accordion__header.is-active .googlesitekit-icon-wrapper{transform:translateY(-50%) rotate(180deg)}.js .googlesitekit-accordion .googlesitekit-accordion__content{display:none}.js .googlesitekit-accordion .googlesitekit-accordion__content.is-active{display:block}.googlesitekit-accordion .googlesitekit-accordion__content p{margin-top:0}.googlesitekit-accordion.googlesitekit-accordion--disabled .googlesitekit-accordion__header{pointer-events:none}.googlesitekit-accordion.googlesitekit-accordion--disabled .googlesitekit-accordion__header .googlesitekit-icon-wrapper svg{color:rgba(3,14,7,.32)}.googlesitekit-accordion+.googlesitekit-accordion{border-top-width:0}.googlesitekit-plugin .googlesitekit-analytics-cta{--cta-analytics-gap: 16px;--cta-analytics-gap-narrow: calc(var(--cta-analytics-gap) / 2);background-color:#ebeef0;display:flex;flex-direction:column;gap:var(--cta-analytics-gap);padding:var(--cta-analytics-gap)}@media(min-width: 1440px){.googlesitekit-plugin .googlesitekit-analytics-cta{--cta-analytics-gap: 24px;flex-direction:row-reverse}}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta--description{color:#161b18;font-size:14px;letter-spacing:.25px;margin:0}.googlesitekit-plugin .googlesitekit-analytics-cta .mdc-button{margin-top:var(--cta-analytics-gap-narrow);width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-analytics-cta .mdc-button{width:auto}}@media(min-width: 1440px){.googlesitekit-plugin .googlesitekit-analytics-cta .mdc-button{margin-top:var(--cta-analytics-gap)}}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-cta--activate-analytics,.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graphs{display:flex;gap:var(--cta-analytics-gap)}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph{background-color:#fff;border-radius:4px;display:flex;flex:1;flex-direction:column;padding:var(--cta-analytics-gap-narrow)}#dashboard-widgets .googlesitekit-plugin .googlesitekit-analytics-cta h3.googlesitekit-analytics-cta__preview-graph--title,.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph--title{color:#333935;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.2px;margin:0 0 auto;padding-bottom:var(--cta-analytics-gap-narrow)}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph--icons{align-items:center;color:#cbd0d3;display:flex;gap:4px;padding-top:var(--cta-analytics-gap-narrow)}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph--up-arrow{height:12px}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph--bar{background-color:#cbd0d3;border-radius:5px;height:8px;width:24px}@media(min-width: 1440px){.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graphs,.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__details{flex:1}}.autocomplete__wrapper{flex:1 1 100%;margin:0 0 16px 0;position:relative}@media(min-width: 600px){.autocomplete__wrapper{flex:1;margin:0 16px 0 0}}@media(min-width: 960px){.autocomplete__wrapper{margin-right:24px}}.autocomplete__wrapper .autocomplete__input{border-color:#b8bdb9;border-radius:4px;color:#161b18;font-size:14px;font-weight:400;height:48px;letter-spacing:.25px;line-height:1.43;padding:12px 16px;position:relative;transition:border-color 150ms ease-in-out;width:100%;z-index:3}.autocomplete__wrapper .autocomplete__input:hover{border-color:#757575}.autocomplete__wrapper .autocomplete__input:focus{border-color:#446199;border-width:2px;box-shadow:none;padding:12px 15px}.autocomplete__input--default{padding:4px}.autocomplete__input--show-all-values{cursor:pointer;padding:4px 34px 4px 4px}.autocomplete__menu{background-color:#446199;border-radius:4px;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;left:1px;line-height:1.5rem;margin:0;padding:8px 0;top:calc(100% - 10px);width:100%}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--inline{position:absolute;z-index:2}.autocomplete__option{color:#fff;font-weight:400;margin-bottom:0;overflow:hidden;padding:12px 16px;position:relative}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#6380b8}.googlesitekit-badge{background-color:#ebeef0;border-radius:100px;color:#333935;display:inline-block;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;padding:4px 8px;vertical-align:middle;white-space:nowrap}.googlesitekit-badge--has-left-spacing{margin-left:12px}.googlesitekit-badge--primary{background-color:#446199;color:#fff}.googlesitekit-badge--hidden{visibility:hidden}.googlesitekit-badge--beta{background-color:#6c726e;color:#fff}.googlesitekit-badge-with-tooltip{background-color:#ffe4b1;color:#684500;display:inline-flex;line-height:16px;padding:6px 10px}.googlesitekit-badge-with-tooltip .googlesitekit-info-tooltip{height:16px;margin-left:4px}.googlesitekit-badge-with-tooltip .googlesitekit-info-tooltip svg path{fill:#4e3300}.googlesitekit-plugin .mdc-button.googlesitekit-button-icon{min-height:auto;min-width:auto;padding:8px}@media(max-width: 599px){.googlesitekit-plugin .mdc-button.googlesitekit-button-icon--phone{min-height:auto;min-width:auto;padding:8px}}.googlesitekit-plugin .mdc-button.googlesitekit-button-icon--spinner__running svg circle{stroke:#fff}.googlesitekit-plugin .mdc-button.googlesitekit-button-icon--spinner__running.googlesitekit-button-icon--spinner__before .mdc-button__label{margin-inline-start:8px}.googlesitekit-plugin .mdc-button.googlesitekit-button-icon--spinner__running.googlesitekit-button-icon--spinner__after .mdc-button__label{margin-inline-end:8px}.googlesitekit-plugin .googlesitekit-change-arrow{--color-up: #46732b;--color-down: #ac4220}.googlesitekit-plugin .googlesitekit-change-arrow--inverted-color{--color-up: #ac4220;--color-down: #46732b}.googlesitekit-plugin .googlesitekit-change-arrow--up{color:var(--color-up)}.googlesitekit-plugin .googlesitekit-change-arrow--down{color:var(--color-up);transform:rotate(180deg)}.googlesitekit-plugin .googlesitekit-change-arrow--down path{fill:var(--color-down)}.googlesitekit-plugin .googlesitekit-change-badge{background-color:#d8ffc0;border-radius:100px;color:#1f4c04;font:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;margin-top:6px;padding:4px 8px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-change-badge{margin-top:12px}}.googlesitekit-plugin .googlesitekit-change-badge.googlesitekit-change-badge--negative{background-color:#ffded3;color:#7a1e00}.googlesitekit-plugin .googlesitekit-change-badge.googlesitekit-change-badge--zero{background-color:#ebeef0;color:#333935}.googlesitekit-chart{position:relative}.googlesitekit-chart .googlesitekit-chart__source{font-size:12px;letter-spacing:.2px;margin-top:16px}.googlesitekit-chart .googlesitekit-chart__date-marker-line{border-left:1px dashed #131418;height:100%;left:0;margin-left:.5px;opacity:0;position:absolute;top:0;transition:opacity 180ms ease-in;width:0}.googlesitekit-chart .googlesitekit-chart__date-marker-tooltip{color:#108080;height:18px;left:0;opacity:0;position:absolute;top:0;transition:opacity 180ms ease-in;width:18px}.googlesitekit-chart--LineChart div.google-visualization-tooltip{height:-moz-fit-content !important;height:fit-content !important;width:-moz-fit-content !important;width:fit-content !important}.googlesitekit-chart--LineChart div.google-visualization-tooltip .google-visualization-tooltip-item-list{margin:.5em 0}.googlesitekit-chart--LineChart div.google-visualization-tooltip .google-visualization-tooltip-item{margin:0}.googlesitekit-chart--PieChart svg{overflow:visible !important}.googlesitekit-chart--PieChart svg>g>g{pointer-events:none}.googlesitekit-chart--PieChart svg>g:last-child>g:last-child{pointer-events:none}.googlesitekit-chart--PieChart div.google-visualization-tooltip{pointer-events:none;z-index:8}.googlesitekit-chart-loading__forced{height:100%;width:100%}.googlesitekit-chart-loading{align-items:center;display:flex;flex-wrap:wrap;height:100%;justify-items:center;width:100%}.googlesitekit-chart-loading .googlesitekit-chart-loading__wrapper{margin:0 auto;text-align:center;width:100%}.googlesitekit-plugin .googlesitekit-chip{background-color:transparent;border:1px solid #b8bdb9;border-radius:8px;color:#161b18;flex-direction:row-reverse;font-size:12px;justify-content:center;letter-spacing:.2px;line-height:1.33;margin:0;min-width:80px;padding:13px 12px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-chip{padding:3px 12px}}.googlesitekit-plugin .googlesitekit-chip .mdc-chip__checkmark{margin:0}.googlesitekit-plugin .googlesitekit-chip .mdc-chip__checkmark-svg{transition:none}.googlesitekit-plugin .googlesitekit-chip .mdc-chip__text{padding:0 12px}.googlesitekit-plugin .googlesitekit-chip.mdc-chip--selected{background-color:#b8e5ca;border-color:#b8e5ca;gap:6px}.googlesitekit-plugin .googlesitekit-chip.mdc-chip--selected .mdc-chip__checkmark-path{stroke:#161b18}.googlesitekit-plugin .googlesitekit-chip.mdc-chip--selected .mdc-chip__checkmark-svg{height:18px;width:18px}.googlesitekit-plugin .googlesitekit-chip.mdc-chip--selected .mdc-chip__text{padding:0}.googlesitekit-plugin .googlesitekit-cta,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{background-color:#ebeef0;border-radius:16px;font-size:14px;grid-column:span 3;grid-row:span 3;height:100%;letter-spacing:.25px;line-height:1.43;padding:16px;width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-cta,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{padding:24px}}.googlesitekit-wp-dashboard .googlesitekit-plugin .googlesitekit-cta--error,.googlesitekit-wp-dashboard #dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta--error{background-color:#fff}.googlesitekit-adminbar-modules .googlesitekit-plugin .googlesitekit-cta,.googlesitekit-adminbar-modules #dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{padding:16px}.googlesitekit-wp-dashboard .googlesitekit-plugin .googlesitekit-cta,.googlesitekit-wp-dashboard #dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{background-color:#ebeef0;box-sizing:border-box;height:auto;margin-top:12px;padding:12px}.googlesitekit-wp-dashboard .googlesitekit-wp-dashboard-stats__cta .googlesitekit-plugin .googlesitekit-cta,.googlesitekit-wp-dashboard .googlesitekit-wp-dashboard-stats__cta #dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{margin-top:0}.googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__title,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__title{color:#161b18;font-size:14px;font-weight:500;margin:0 0 5px}.googlesitekit-plugin .googlesitekit-cta .googlesitekit-adminbar-modules .googlesitekit-cta__title,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta .googlesitekit-adminbar-modules .googlesitekit-cta__title{font-weight:700;letter-spacing:.5px}.googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__description,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__description{color:#161b18;margin:0 0 20px}.googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__description p:first-child,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__description p:first-child{margin-top:0}.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error{background-color:#ffded3}.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error a,.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .googlesitekit-cta__title,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error a,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .googlesitekit-cta__title{color:#7a1e00}.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .googlesitekit-cta__description,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .googlesitekit-cta__description{color:#7a1e00;word-break:break-word}.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .mdc-button:not(:disabled),#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .mdc-button:not(:disabled){background-color:#ac4220;color:#fff}.googlesitekit-plugin .googlesitekit-cta *:last-child,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta *:last-child{margin-bottom:0}.googlesitekit-wp-dashboard .googlesitekit-cta--error{margin-top:12px}.googlesitekit-cta-link{align-items:center;cursor:pointer;display:inline-flex;font-family:inherit;font-size:inherit;font-weight:inherit;padding:0;text-align:left;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-cta-link svg{fill:currentColor}.googlesitekit-cta-link:hover svg{fill:currentColor}.googlesitekit-page .googlesitekit-cta-link{color:#108080}.googlesitekit-page .googlesitekit-cta-link:hover{color:#108080;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-cta-link.googlesitekit-cta-link--secondary{color:#108080}.googlesitekit-cta-link.googlesitekit-cta-link--secondary svg{fill:currentColor}.googlesitekit-cta-link.googlesitekit-cta-link--secondary:hover{color:#108080}.googlesitekit-cta-link.googlesitekit-cta-link--secondary:hover svg{fill:currentColor}.googlesitekit-cta-link.googlesitekit-cta-link--caps{text-transform:uppercase}.googlesitekit-cta-link.googlesitekit-cta-link--danger{color:#ac4220}.googlesitekit-cta-link.googlesitekit-cta-link--small{font-size:12px;letter-spacing:.2px}.googlesitekit-cta-link.googlesitekit-cta-link--standalone{display:flex}.googlesitekit-cta-link.googlesitekit-cta-link--inverse{color:#fff}.googlesitekit-cta-link.googlesitekit-cta-link--inverse:hover{color:#fff}.googlesitekit-cta-link.googlesitekit-cta-link--disabled{color:#b8bdb9;cursor:default}.googlesitekit-cta-link.googlesitekit-cta-link--danger:hover{color:#ac4220}.googlesitekit-cta-link.googlesitekit-cta-link--disabled:hover{color:#b8bdb9;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-cta-link.googlesitekit-cta-link--no-flex{display:inline}button.googlesitekit-cta-link{color:#3c7251}button.googlesitekit-cta-link svg{fill:currentColor}button.googlesitekit-cta-link:hover{color:#2e5f41}button.googlesitekit-cta-link:hover svg{fill:currentColor}button.googlesitekit-cta-link--link-button{padding:2px 10px}button.googlesitekit-cta-link--link-button:focus{background-color:rgba(60,114,81,.08);outline:none}button.googlesitekit-cta-link--link-button.googlesitekit-cta-link--secondary:focus{background-color:rgba(16,128,128,.08)}.googlesitekit-plugin .googlesitekit-navigation{background-color:#fff;border-bottom:1px solid #ebeef0;justify-content:center;left:0;padding:12px 0;position:sticky;right:0;top:68px;z-index:10}.googlesitekit-plugin .googlesitekit-navigation::before{content:"";display:block;height:3px;left:0;opacity:1;position:absolute;top:-3px;transition:opacity 0s;width:100%}body.googlesitekit-showing-feature-tour .googlesitekit-plugin .googlesitekit-navigation,body.googlesitekit-showing-tooltip .googlesitekit-plugin .googlesitekit-navigation{position:static}@media(min-width: 601px){body.admin-bar .googlesitekit-plugin .googlesitekit-navigation{top:114px}}@media(min-width: 783px){body.admin-bar .googlesitekit-plugin .googlesitekit-navigation{top:100px}}@media(min-width: 961px){body.admin-bar .googlesitekit-plugin .googlesitekit-navigation{top:116px}}.googlesitekit-plugin .googlesitekit-navigation .mdc-chip{background-color:#fff;border:1px solid #ebeef0;border-radius:100px;color:#161b18;font-size:14px;letter-spacing:.2px;line-height:1;padding:11px 14px 11px 19px}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-navigation .mdc-chip{padding:5px 10px 5px 12px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-navigation .mdc-chip{margin:4px 12px}}.googlesitekit-plugin .googlesitekit-navigation .mdc-chip .mdc-chip__icon{border-radius:0;height:auto;margin-right:6px;width:auto}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-navigation .mdc-chip .mdc-chip__icon{display:none}}.googlesitekit-plugin .googlesitekit-navigation .mdc-chip--selected{color:#3c7251}.googlesitekit-plugin .googlesitekit-navigation--is-sticky{border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-navigation--is-sticky+.googlesitekit-entity-header{border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-navigation--entityDashboard{border-bottom:1px solid #ebeef0;border-radius:0}.googlesitekit-plugin--has-scrolled .googlesitekit-plugin .googlesitekit-header--has-subheader+.googlesitekit-subheader+.googlesitekit-navigation--is-sticky::before{opacity:0;transition:opacity .1s ease-out}.googlesitekit-data-block{--color-up: #46732b;--color-down: #ac4220;position:relative;text-align:left}.post-php .googlesitekit-data-block{min-width:150px}.googlesitekit-wp-dashboard .googlesitekit-data-block{padding-top:12px}.googlesitekit-data-block .googlesitekit-data-block__title{align-items:flex-start;color:#6c726e;display:flex;flex:1;flex-direction:column;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;justify-content:flex-start;line-height:1.14;margin:0 0 12px;row-gap:8px}.googlesitekit-data-block .googlesitekit-data-block__title .googlesitekit-new-badge{margin-left:0}.googlesitekit-data-block.googlesitekit-data-block--button .googlesitekit-data-block__title{align-items:center}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__title{font-size:16px;font-weight:700;letter-spacing:.5px;margin-bottom:5px}#dashboard-widgets .googlesitekit-wp-dashboard .googlesitekit-data-block .googlesitekit-data-block__title{font-size:12px;letter-spacing:.2px}.googlesitekit-data-block .googlesitekit-data-block__title-inner{align-items:center;display:flex;flex:1}.googlesitekit-data-block .googlesitekit-data-block__title-datapoint-wrapper{display:flex;flex:1;flex-flow:column}.googlesitekit-data-block .googlesitekit-data-block__datapoint{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:46px;font-weight:500;line-height:1.13;margin:0}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__datapoint{display:inline-block;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:38px;line-height:1.158;margin-right:5px}.googlesitekit-wp-dashboard .googlesitekit-data-block .googlesitekit-data-block__datapoint{font-size:32px}.googlesitekit-data-block .googlesitekit-data-block__change{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1;margin-top:16px;text-transform:none}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__change{display:inline-block;font-size:16px;letter-spacing:.5px;margin-top:0}.googlesitekit-wp-dashboard .googlesitekit-data-block .googlesitekit-data-block__change{margin-top:10px}.googlesitekit-data-block .googlesitekit-data-block__change--no-change{visibility:hidden}.googlesitekit-data-block .googlesitekit-data-block__sparkline{margin-top:8px;max-width:150px}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__sparkline{display:none}.googlesitekit-data-block .googlesitekit-data-block__arrow{display:inline-block;line-height:1;margin-right:2px;vertical-align:baseline}.googlesitekit-data-block .googlesitekit-data-block__arrow--reverse{transform:rotate(180deg)}#wpadminbar .googlesitekit-data-block .googlesitekit-data-block__arrow .svg{height:9px;width:9px}.googlesitekit-data-block .googlesitekit-data-block__suffix{margin-left:4px}.googlesitekit-data-block .googlesitekit-data-block__value,.googlesitekit-data-block .googlesitekit-data-block__suffix{color:#6c726e;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;text-transform:none}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__value,.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__suffix{font-size:16px;font-weight:400;letter-spacing:.5px}.googlesitekit-data-block .googlesitekit-data-block__value--up,.googlesitekit-data-block .googlesitekit-data-block__suffix--up{color:var(--color-up)}.googlesitekit-data-block .googlesitekit-data-block__value--down,.googlesitekit-data-block .googlesitekit-data-block__suffix--down{color:var(--color-down)}.googlesitekit-data-block .googlesitekit-data-block__source{font-size:12px;letter-spacing:.2px;margin-top:8px}@media(min-width: 960px){.googlesitekit-data-block .googlesitekit-data-block__source{margin-top:12px}}.googlesitekit-data-block--button .googlesitekit-data-block__sparkline{margin:8px auto 0 auto}.googlesitekit-data-block--button{cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:flex-end;padding-bottom:16px;padding-top:20px;text-align:center;transition:background-color .2s ease-in-out}@media(min-width: 960px){.googlesitekit-data-block--button{padding-bottom:24px;padding-top:28px}}.googlesitekit-data-block--button::before{content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease-in-out}.googlesitekit-data-block--selected::before{opacity:1}.googlesitekit-data-block--button-1:not(.googlesitekit-data-block--is-gathering-data):hover,.googlesitekit-data-block--button-1:not(.googlesitekit-data-block--is-gathering-data):focus,.googlesitekit-data-block--button-1:not(.googlesitekit-data-block--is-gathering-data):active{background-color:rgba(99,128,184,.1)}.googlesitekit-data-block--button-1.googlesitekit-data-block--is-gathering-data::before{background-color:#999f9b}.googlesitekit-data-block--button-1.googlesitekit-data-block--is-gathering-data.googlesitekit-data-block--selected::before{opacity:.6}.googlesitekit-data-block--button-1::before{background-color:#6380b8}.googlesitekit-data-block--button-2:not(.googlesitekit-data-block--is-gathering-data):hover,.googlesitekit-data-block--button-2:not(.googlesitekit-data-block--is-gathering-data):focus,.googlesitekit-data-block--button-2:not(.googlesitekit-data-block--is-gathering-data):active{background-color:rgba(75,187,187,.1)}.googlesitekit-data-block--button-2.googlesitekit-data-block--is-gathering-data::before{background-color:#999f9b}.googlesitekit-data-block--button-2.googlesitekit-data-block--is-gathering-data.googlesitekit-data-block--selected::before{opacity:.6}.googlesitekit-data-block--button-2::before{background-color:#4bbbbb}.googlesitekit-data-block--button-3:not(.googlesitekit-data-block--is-gathering-data):hover,.googlesitekit-data-block--button-3:not(.googlesitekit-data-block--is-gathering-data):focus,.googlesitekit-data-block--button-3:not(.googlesitekit-data-block--is-gathering-data):active{background-color:rgba(92,146,113,.1)}.googlesitekit-data-block--button-3.googlesitekit-data-block--is-gathering-data::before{background-color:#999f9b}.googlesitekit-data-block--button-3.googlesitekit-data-block--is-gathering-data.googlesitekit-data-block--selected::before{opacity:.6}.googlesitekit-data-block--button-3::before{background-color:#5c9271}.googlesitekit-data-block--button-4:not(.googlesitekit-data-block--is-gathering-data):hover,.googlesitekit-data-block--button-4:not(.googlesitekit-data-block--is-gathering-data):focus,.googlesitekit-data-block--button-4:not(.googlesitekit-data-block--is-gathering-data):active{background-color:rgba(110,72,171,.1)}.googlesitekit-data-block--button-4.googlesitekit-data-block--is-gathering-data::before{background-color:#999f9b}.googlesitekit-data-block--button-4.googlesitekit-data-block--is-gathering-data.googlesitekit-data-block--selected::before{opacity:.6}.googlesitekit-data-block--button-4::before{background-color:#6e48ab}.googlesitekit-plugin .googlesitekit-data-block__loading{align-items:center;display:flex;flex-direction:row}.googlesitekit-plugin .googlesitekit-data-block--is-gathering-data{cursor:auto}.admin-bar .googlesitekit-plugin .googlesitekit-dialog{align-items:stretch}@media(min-width: 600px){.admin-bar .googlesitekit-plugin .googlesitekit-dialog{align-items:center}}.googlesitekit-plugin .googlesitekit-dialog .mdc-dialog__container{height:100%;max-width:908px;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .mdc-dialog__container{height:auto;max-height:calc(100vh - 120px);width:80%}}.googlesitekit-plugin .googlesitekit-dialog .mdc-dialog__surface{border-radius:0;box-shadow:none;max-height:100%;max-width:100%;padding:0;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .mdc-dialog__surface{border-radius:24px;height:auto}}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back-wrapper{padding:20px 16px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back-wrapper[aria-hidden=true]{display:none}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back{background-color:transparent;border-radius:0;box-shadow:none;min-height:auto;min-width:auto;padding:0;width:24px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back:focus{outline:1px dotted #6380b8;outline-offset:3px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back .mdc-button__label{height:24px;line-height:1}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__content{overflow:auto;padding:24px 16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__content{padding:32px}}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__header{display:flex;flex-wrap:nowrap;gap:12px;margin:0 0 32px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__header-icon span{align-items:center;background-color:#46732b;border-radius:50%;color:#fff;display:flex;height:36px;justify-content:center;width:36px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__header-icon[aria-hidden=true]{display:none}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__title{color:#161b18;font-size:22px;font-weight:700;line-height:1.27;margin:0 0 12px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__title{margin:0 0 8px}}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__subtitle{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__subtitle--emphasis{font-size:14px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__footer{border-top:1px solid #ebeef0;justify-content:flex-end;margin:0;padding:16px;z-index:2}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__footer{padding:20px 32px}}.googlesitekit-device-size-tab-bar{border-radius:100px;overflow:hidden;width:auto}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab{background:#ebeef0;height:32px;width:56px}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab:first-child{border-radius:100px 0 0 100px}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab:last-child{border-radius:0 100px 100px 0}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab svg{color:#5f6561}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab.mdc-tab--active{background:#3c7251}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab.mdc-tab--active svg{color:#fff}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab .mdc-tab-indicator{display:none}.googlesitekit-device-size-tab-bar .mdc-tab--active[disabled]{background-color:#999f9b;opacity:.6}.googlesitekit-dropdown-menu .googlesitekit-header__dropdown:focus{outline:0}.googlesitekit-dropdown-menu .mdc-list-item .googlesitekit-cta-link:hover,.googlesitekit-dropdown-menu .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .googlesitekit-cta-link:hover,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-dropdown-menu .googlesitekit-view-only-menu__list-item .googlesitekit-cta-link:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-dropdown-menu.googlesitekit-dropdown-menu__icon-menu .mdc-button--dropdown{background-image:none;color:#6c726e;padding-right:8px}.googlesitekit-dropdown-menu .mdc-button--dropdown[aria-expanded=true]{background-color:#ebeef0;color:rgba(0,0,0,.87)}.googlesitekit-plugin .googlesitekit-entity-header{align-items:center;background-color:#fff;border-bottom:1px solid transparent;color:#6c726e;display:flex;justify-content:space-between;padding:16px;-webkit-position:sticky;position:sticky;top:120px;z-index:9}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-header{padding-left:36px;padding-right:36px}}.googlesitekit-navigation--is-sticky+.googlesitekit-plugin .googlesitekit-entity-header{border-bottom:1px solid #ebeef0}@media(min-width: 601px){body.admin-bar .googlesitekit-plugin .googlesitekit-entity-header{top:183px}}@media(min-width: 783px){body.admin-bar .googlesitekit-plugin .googlesitekit-entity-header{top:169px}}@media(min-width: 961px){body.admin-bar .googlesitekit-plugin .googlesitekit-entity-header{top:185px}}body.googlesitekit-showing-feature-tour .googlesitekit-plugin .googlesitekit-entity-header,body.googlesitekit-showing-tooltip .googlesitekit-plugin .googlesitekit-entity-header{position:static}.googlesitekit-plugin .googlesitekit-entity-header__back{height:auto;min-width:20%;padding-right:30px}.googlesitekit-plugin .googlesitekit-entity-header__back::before,.googlesitekit-plugin .googlesitekit-entity-header__back::after{display:none}.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button{height:100%;padding-left:0}.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button:not(:disabled){color:#6c726e}.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button:not(:disabled):hover{color:#161b18;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button__label{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;margin:0 0 0 8px;text-align:left;text-transform:none}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button__label{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif}}.googlesitekit-plugin .googlesitekit-entity-header__details{font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;overflow:hidden;text-align:right;white-space:nowrap;width:100%}.googlesitekit-plugin .googlesitekit-entity-header__details p{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0;overflow:hidden;text-overflow:ellipsis}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-header__details p{margin:0}}.googlesitekit-plugin .googlesitekit-entity-header__details a{margin:4px;max-width:100%;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-entity-header__details a:hover,.googlesitekit-plugin .googlesitekit-entity-header__details a:focus{color:#2e5f41}.googlesitekit-plugin .googlesitekit-entity-search{background-color:#fff;position:relative}.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__actions{position:absolute;right:17px;top:50%;transform:translateY(-50%);z-index:3}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__actions{right:2px}}.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__actions svg{color:#5f6561}.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__close{height:30px;width:30px}@media(max-width: 960px){.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__close{border-radius:50%}}.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__loading{border-radius:0 0 16px 16px;bottom:-4px;position:absolute;right:4px;width:calc(100% - 8px);z-index:4}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__loading{bottom:-4px;left:0;margin:0 auto;right:0;width:calc(100% - 25px)}}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__wrapper{margin:0}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__input{border:none;border-radius:100px;font-size:14px;height:34px;letter-spacing:.25px;margin:0;padding:0 32px 0 0}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__input{border:1px solid #b8bdb9;padding:0 32px 0 16px}}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__input:hover{border-color:#161b18}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__input:focus{border-color:#3c7251;border-width:2px}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__menu{box-shadow:0 1.25px 5px 0 rgba(0,0,0,.19),0 .33px 1.5px 0 rgba(0,0,0,.039);background-color:#fff;border-radius:16px;margin-left:-12px;overflow:hidden;padding:0;top:calc(100% + 14px);width:calc(100% + 24px)}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__menu{margin:0;top:calc(100% + 1px);width:100%}}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option{color:#161b18;font-size:14px;letter-spacing:.25px;line-height:1}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option:first-child{border-radius:16px 16px 0 0}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option:last-child{border-radius:0 0 16px 16px}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option--focused,.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option:hover,.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option[data-highlighted]{background-color:rgba(22,27,24,.16);cursor:pointer}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option--no-results,.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option--no-results:hover,.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option--no-results[data-highlighted]{background:none;cursor:default}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-search .mdc-button__label{line-height:0}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-search .mdc-button__label+svg{margin-left:8px}}.googlesitekit-plugin .googlesitekit-entity-search .mdc-button{color:#6c726e;font-weight:400;letter-spacing:.3px;min-width:auto;outline:none;text-transform:none}.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:hover,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:active,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:focus{background-color:#f8fafb;color:rgba(0,0,0,.87);-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:hover::before,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:hover::after,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:active::before,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:active::after,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:focus::before,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:focus::after{background-color:rgba(0,0,0,.87)}.googlesitekit-plugin .googlesitekit-entity-search--is-open{flex:1}@media(max-width: 783px){.googlesitekit-plugin .googlesitekit-entity-search--is-open{align-items:center;display:flex;left:0;margin:0;max-height:68px;padding:14px 16px;position:absolute;right:0;top:0;z-index:1}}.googlesitekit-plugin .googlesitekit-error-handler .googlesitekit-publisher-win__desc p{align-items:center;display:flex;flex-wrap:wrap;gap:16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-error-handler .googlesitekit-publisher-win__desc p{gap:24px}}.googlesitekit-error-text{color:#ac4220;font-weight:500}.googlesitekit-error-retry-text{color:#ac4220;margin-left:1rem}.googlesitekit-report-error-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.googlesitekit-plugin .googlesitekit-first-party-mode-toggle .googlesitekit-first-party-mode-toggle__progress{margin:11.5px 0}.googlesitekit-plugin .googlesitekit-first-party-mode-toggle .googlesitekit-subtle-notification{margin-top:10px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-first-party-mode-toggle .googlesitekit-subtle-notification{padding:14px 24px}}.googlesitekit-plugin .googlesitekit-first-party-mode-toggle .googlesitekit-badge{margin-left:6px}.googlesitekit-plugin .googlesitekit-gathering-data-notice{text-transform:lowercase}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small span{font-size:12px;letter-spacing:.2px;line-height:1.33;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-default{position:relative;text-align:inherit}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-default span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-overlay{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-overlay span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small-overlay{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small-overlay span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small-overlay span{font-size:18px;line-height:1.33;max-width:80px;padding:0;text-align:center}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-large span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}#wpadminbar .googlesitekit-plugin .googlesitekit-gathering-data-notice span{color:#999f9b;font-size:12px;letter-spacing:.2px;line-height:1.33;text-transform:lowercase}.googlesitekit-plugin .googlesitekit-generic-error-handler-actions{align-items:flex-start;display:flex;flex-direction:column;gap:16px;margin-block-start:16px}.googlesitekit-plugin .googlesitekit-subheader{background-color:#fff;position:relative;z-index:11}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-subheader{padding:0 10px}}.googlesitekit-plugin .googlesitekit-subheader:not(:empty){border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-header{background-color:#fff;left:0;position:sticky;right:0;top:0;transition:box-shadow .2s ease-in-out;z-index:9980}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-header{padding-left:10px;padding-right:10px}}.wp-responsive-open .googlesitekit-plugin .googlesitekit-header{margin-left:-18px;padding-left:28px}body.googlesitekit-showing-feature-tour .googlesitekit-plugin .googlesitekit-header,body.googlesitekit-showing-tooltip .googlesitekit-plugin .googlesitekit-header{position:static}@media(min-width: 601px){body.admin-bar .googlesitekit-plugin .googlesitekit-header{top:46px}}@media(min-width: 783px){body.admin-bar .googlesitekit-plugin .googlesitekit-header{top:32px}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__logo{min-width:150px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__logo{min-width:100px}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__logo-link{display:inline-block}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__button{align-items:center;background-color:transparent;cursor:pointer;display:flex;font-size:12px;letter-spacing:.2px;margin-right:-8px;padding:8px;transition:background-color .2s ease-in-out,color .2s ease-in-out}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__button:hover{background-color:#446199;color:#fff;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__button svg{fill:currentColor;margin-left:8px}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu{display:inline-block}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__icon{margin-right:12px}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__account{margin-right:0}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__icon,.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__icon--image{height:28px;width:28px}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__label{font-weight:400}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector{background:none}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector svg{margin-right:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector svg{margin-right:8px}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector .mdc-button--dropdown{color:#6c726e;padding-right:24px}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector .mdc-button--dropdown{background:none;margin-right:0;padding-right:8px}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector .mdc-button--dropdown svg{margin-right:0}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector .mdc-menu-surface{right:0}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__children{align-items:center;display:flex;gap:16px;justify-content:flex-end}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__children{gap:24px}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__children div>button>.mdc-button__label{display:none}@media(min-width: 784px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__children div>button>.mdc-button__label{display:inline-block}}.googlesitekit-plugin .googlesitekit-help-menu-link{padding:0}.googlesitekit-plugin .googlesitekit-help-menu-link .googlesitekit-cta-link{align-items:center;color:#161b18;display:flex;height:100%;padding:0 16px;width:100%}.googlesitekit-plugin .googlesitekit-icon-wrapper{align-items:center;display:inline-flex}.googlesitekit-plugin .googlesitekit-image-radio-options{display:flex;flex-wrap:wrap;gap:24px}.googlesitekit-plugin .googlesitekit-image-radio{display:flex;flex-direction:column;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-image-radio{max-width:16.5rem}}.googlesitekit-plugin .googlesitekit-image-radio>label{color:#5f6561;font-size:.75rem;margin-top:.625rem;padding:0}.googlesitekit-plugin .googlesitekit-image-radio>label span{color:#161b18;display:block;font-size:.875rem;margin-bottom:.125rem}.googlesitekit-plugin .googlesitekit-image-radio .image-radio{--mdc-ripple-fg-size: 0 !important;height:unset;padding:0;width:100%}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background .mdc-image-radio__content{align-items:center;background-color:#fff;border:.375rem solid #fff;border-radius:.5625rem;color:#161b18;display:flex;justify-content:center;min-height:12.1875rem}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background .mdc-image-radio__content svg{object-fit:contain;width:100%}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background::after{border:.0625rem solid #999f9b;border-radius:.5625rem;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background .mdc-image-radio__content--no-image{background-color:#ebeef0;min-height:5.0625rem;text-align:center}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background--checked::after{border:.1875rem solid #3c7251}.googlesitekit-plugin .googlesitekit-image-radio .image-radio:hover .mdc-image-radio__content{position:relative}.googlesitekit-plugin .googlesitekit-image-radio .image-radio:hover .mdc-image-radio__content::after{background-color:#cbd0d3;border-radius:.5625rem;content:"";height:calc(100% + 0.75rem);left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%, -50%);width:calc(100% + 0.75rem)}.googlesitekit-plugin .googlesitekit-image-radio .image-radio:hover .mdc-image-radio__content--no-image{background-color:#cbd0d3}.googlesitekit-plugin .googlesitekit-image-radio .image-radio:hover .mdc-image-radio__content--no-image::after{content:unset}.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--background-focused .mdc-image-radio__content,.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--foreground-activation .mdc-image-radio__content{position:relative}.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--background-focused .mdc-image-radio__content::after,.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--foreground-activation .mdc-image-radio__content::after{background-color:rgba(0,34,13,.32);border-radius:.5625rem;content:"";height:100%;opacity:1;position:absolute;width:100%}.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--foreground-activation .mdc-image-radio__content--no-image{background-color:rgba(0,34,13,.32)}.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--foreground-activation .mdc-image-radio__content--no-image::after{content:unset}.googlesitekit-tooltip.MuiTooltip-tooltip.googlesitekit-info-tooltip__content{border-radius:8px;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;max-width:160px;padding:12px}.googlesitekit-tooltip.MuiTooltip-tooltip.googlesitekit-info-tooltip__content>button{background:none;border:none;color:#ebeef0;padding-right:0;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-layout{background:#fff}.googlesitekit-layout .googlesitekit-layout__header{border-bottom:1px solid #ebeef0;font-size:16px;letter-spacing:.5px}.googlesitekit-layout .googlesitekit-layout__header-title{align-items:center;display:flex;gap:16px;margin:0}.googlesitekit-layout .googlesitekit-layout__footer{border-top:1px solid #ebeef0;font-size:12px;letter-spacing:.2px}.googlesitekit-layout.googlesitekit-layout--transparent{background-color:transparent}.googlesitekit-layout.googlesitekit-layout--rounded{border-radius:24px}.googlesitekit-layout--fill{display:flex;flex-direction:column;height:100%}.googlesitekit-layout--fill>*{flex:1 1 auto;width:100%}.googlesitekit-layout--fill .googlesitekit-layout__header{flex:0 0 auto}.googlesitekit-layout--fill .googlesitekit-layout__footer{flex:0 0 auto}.googlesitekit-layout--relative{position:relative}.googlesitekit-logo{color:#5f6561;line-height:0}.googlesitekit-logo .googlesitekit-logo__logo-g,.googlesitekit-logo .googlesitekit-svg-logo-g{height:24px;vertical-align:middle;width:23px}@media(min-width: 600px){.googlesitekit-logo .googlesitekit-logo__logo-g,.googlesitekit-logo .googlesitekit-svg-logo-g{height:34px;width:32px}}.googlesitekit-logo .googlesitekit-logo__logo-sitekit,.googlesitekit-logo .googlesitekit-svg-logo-sitekit{fill:currentColor;height:16px;margin-left:8px;vertical-align:middle;width:61px}@media(min-width: 600px){.googlesitekit-logo .googlesitekit-logo__logo-sitekit,.googlesitekit-logo .googlesitekit-svg-logo-sitekit{height:26px;margin-left:16px;width:99px}}@media(max-width: 449px){.googlesitekit-logo .googlesitekit-logo__logo-sitekit,.googlesitekit-logo .googlesitekit-svg-logo-sitekit{display:none}}.googlesitekit-logo--mini .googlesitekit-logo__logo-g,.googlesitekit-logo--mini .googlesitekit-svg-logo-g{height:19px;width:19px}.googlesitekit-logo--mini .googlesitekit-logo__logo-sitekit,.googlesitekit-logo--mini .googlesitekit-svg-logo-sitekit{height:17px;margin-left:4px;width:78px}.googlesitekit-mini-chart{margin-left:16px;width:28px}.googlesitekit-module-outro{background-color:#fff;padding:45px 0;text-align:center}@media(min-width: 600px){.googlesitekit-module-outro{padding:45px}}.googlesitekit-module-outro .googlesitekit-module-outro__logo{align-items:center;display:inline-flex}.googlesitekit-module-outro .googlesitekit-module-outro__logo>svg{margin:0 8px}@media(min-width: 960px){.googlesitekit-module-outro .googlesitekit-module-outro__logo>svg{margin:0 12px}}.googlesitekit-module-outro .googlesitekit-module-outro__title{margin:20px auto 25px;max-width:600px}.googlesitekit-module-page{padding-bottom:10px;padding-top:10px}@media(min-width: 600px){.googlesitekit-module-page{padding-left:10px;padding-right:10px}}.googlesitekit-module-recovery-errors{color:#ac4220}.googlesitekit-module-recovery-errors ul{list-style:disc;list-style-position:inside}.googlesitekit-new-badge{background-color:#573195;color:#fff;margin-left:6px;text-transform:none}.googlesitekit-new-badge.googlesitekit-new-badge--has-no-spacing{margin-left:0}.googlesitekit-new-badge.googlesitekit-badge--has-left-spacing{margin-left:12px}.googlesitekit-tooltip.MuiTooltip-tooltip.googlesitekit-new-badge__tooltip{border-radius:8px;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;max-width:160px;padding:12px}.googlesitekit-tooltip.MuiTooltip-tooltip.googlesitekit-new-badge__tooltip>a{color:#ebeef0;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-noscript{background-color:#fff;margin:5px 20px 5px 0}@media(min-width: 600px){.googlesitekit-noscript{padding-left:10px;padding-right:10px}}.googlesitekit-noscript__title{margin:0}.no-js:not([amp-version]) [id^=js-googlesitekit-]{display:none}.googlesitekit-opt-in{position:relative}.googlesitekit-opt-in .mdc-form-field{position:relative}.googlesitekit-opt-in .mdc-form-field label{font-size:12px;letter-spacing:.2px;line-height:1.33}@media(min-width: 960px){.googlesitekit-opt-in span{display:block}}.googlesitekit-opt-in--border{border-top:1px solid #b8bdb9;padding-top:16px}@media(min-width: 960px){.googlesitekit-opt-in--border{padding-top:24px}}.googlesitekit-opt-in--align-top .mdc-form-field{align-items:flex-start}.googlesitekit-opt-in--align-top .mdc-checkbox{margin-top:-7px}.googlesitekit-overlay{align-items:center;background:rgba(235,238,240,.8);bottom:0;cursor:not-allowed;display:flex;height:100%;justify-content:center;left:0;position:absolute;right:0;top:0;width:100%;z-index:10}.googlesitekit-overlay .googlesitekit-overlay__icon{align-items:center;background:#ebeef0;border-radius:50%;display:flex;height:60px;justify-content:center;margin:0 auto;width:60px}.googlesitekit-overlay .googlesitekit-overlay__icon svg{color:#333935}.googlesitekit-overlay .googlesitekit-overlay__title{margin-bottom:0;padding:0 16px;text-align:center}.googlesitekit-overlay--compress .googlesitekit-overlay__wrapper{align-items:center;display:flex}.googlesitekit-overlay--compress .googlesitekit-overlay__icon{height:40px;width:40px}.googlesitekit-overlay--compress .googlesitekit-overlay__icon .svg{height:20px;width:auto}.googlesitekit-overlay--compress .googlesitekit-overlay__title{font-size:16px;font-weight:700;line-height:1.25;margin-top:0;padding-right:0}.googlesitekit-page{margin-left:-10px}@media(min-width: 783px){.googlesitekit-page{margin-left:-20px}}#wpbody-content>div:not(#screen-meta)+.googlesitekit-plugin>.googlesitekit-page,#wpbody-content>div:not(#screen-meta)+script+.googlesitekit-plugin>.googlesitekit-page{margin-top:25px}.googlesitekit-pagespeed-widget header{display:flex;justify-content:space-between}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__data-src-tabs{display:flex}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__refreshing-progress-bar-wrapper{margin-top:-4px}.googlesitekit-pagespeed-widget__refreshing{filter:grayscale(1);opacity:.5}.googlesitekit-page-footer{display:flex;justify-content:flex-end;margin:0}.googlesitekit-page-header{margin:0}.googlesitekit-page-header .googlesitekit-page-header__title{display:inline-block;font-weight:500;line-height:1;margin:0 0 -2px;padding:0;vertical-align:middle}.googlesitekit-page-header .googlesitekit-page-header__icon+.googlesitekit-page-header__title{margin-left:8px}.googlesitekit-page-header .googlesitekit-page-header__icon{vertical-align:middle}.googlesitekit-page-header .googlesitekit-page-header__details{align-items:center;display:flex;justify-content:space-between}@media(min-width: 600px){.googlesitekit-page-header .googlesitekit-page-header__details{justify-content:flex-end}}.googlesitekit-page-header .googlesitekit-page-header__status{align-items:center;display:flex;font-size:12px;letter-spacing:.2px;line-height:1;margin:0}.googlesitekit-page-header .googlesitekit-page-header__status .googlesitekit-icon-wrapper{align-items:center;border-radius:50%;display:flex;height:19px;justify-content:center;margin-left:8px;width:19px}.googlesitekit-page-header .googlesitekit-page-header__status--connected .googlesitekit-icon-wrapper{background-color:#46732b;color:#fff}.googlesitekit-page-header .googlesitekit-page-header__status--not-connected .googlesitekit-icon-wrapper{background-color:#895a00;color:#fff}.googlesitekit-page-header .googlesitekit-page-header__status+.googlesitekit-page-header__range{margin-left:16px;margin-top:-3px}@media(min-width: 960px){.googlesitekit-page-header .googlesitekit-page-header__status+.googlesitekit-page-header__range{margin-left:24px}}.googlesitekit-percentage-circle{background-color:#ebeef0;border-radius:50%;font-size:28px;height:1em;margin:0 auto;position:relative;width:1em}.googlesitekit-percentage-circle::after{background-color:#fff;border-radius:50%;box-sizing:content-box;content:"";display:block;height:.8em;left:.1em;position:absolute;top:.1em;width:.8em}.googlesitekit-percentage-circle .googlesitekit-percentage-circle__text{box-sizing:content-box;font-size:18px;font-weight:700;left:0;line-height:50px;position:absolute;text-align:center;top:0;width:50px;z-index:1}.googlesitekit-percentage-circle .googlesitekit-percentage-circle__slice{box-sizing:content-box;clip:rect(0, 1em, 1em, 0.5em);height:1em;position:absolute;width:1em}.googlesitekit-percentage-circle .googlesitekit-percentage-circle__bar{border:.1em solid transparent;border-radius:50%;box-sizing:content-box;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(0deg);width:.8em}.googlesitekit-percentage-circle .googlesitekit-percentage-circle__fill{box-sizing:content-box}.googlesitekit-percentage-circle--fast{color:#46732b}.googlesitekit-percentage-circle--average{color:#895a00}.googlesitekit-percentage-circle--slow{color:#ac4220}.googlesitekit-percentage-circle--percent-51 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-51 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-51 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-52 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-52 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-52 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-53 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-53 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-53 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-54 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-54 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-54 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-55 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-55 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-55 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-56 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-56 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-56 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-57 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-57 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-57 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-58 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-58 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-58 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-59 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-59 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-59 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-60 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-60 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-60 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-61 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-61 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-61 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-62 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-62 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-62 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-63 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-63 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-63 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-64 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-64 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-64 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-65 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-65 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-65 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-66 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-66 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-66 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-67 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-67 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-67 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-68 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-68 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-68 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-69 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-69 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-69 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-70 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-70 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-70 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-71 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-71 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-71 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-72 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-72 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-72 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-73 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-73 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-73 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-74 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-74 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-74 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-75 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-75 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-75 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-76 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-76 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-76 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-77 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-77 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-77 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-78 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-78 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-78 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-79 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-79 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-79 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-80 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-80 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-80 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-81 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-81 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-81 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-82 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-82 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-82 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-83 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-83 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-83 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-84 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-84 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-84 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-85 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-85 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-85 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-86 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-86 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-86 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-87 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-87 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-87 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-88 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-88 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-88 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-89 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-89 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-89 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-90 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-90 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-90 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-91 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-91 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-91 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-92 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-92 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-92 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-93 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-93 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-93 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-94 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-94 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-94 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-95 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-95 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-95 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-96 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-96 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-96 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-97 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-97 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-97 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-98 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-98 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-98 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-99 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-99 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-99 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-100 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-100 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-100 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-1 .googlesitekit-percentage-circle__bar{transform:rotate(3.6deg)}.googlesitekit-percentage-circle--percent-2 .googlesitekit-percentage-circle__bar{transform:rotate(7.2deg)}.googlesitekit-percentage-circle--percent-3 .googlesitekit-percentage-circle__bar{transform:rotate(10.8deg)}.googlesitekit-percentage-circle--percent-4 .googlesitekit-percentage-circle__bar{transform:rotate(14.4deg)}.googlesitekit-percentage-circle--percent-5 .googlesitekit-percentage-circle__bar{transform:rotate(18deg)}.googlesitekit-percentage-circle--percent-6 .googlesitekit-percentage-circle__bar{transform:rotate(21.6deg)}.googlesitekit-percentage-circle--percent-7 .googlesitekit-percentage-circle__bar{transform:rotate(25.2deg)}.googlesitekit-percentage-circle--percent-8 .googlesitekit-percentage-circle__bar{transform:rotate(28.8deg)}.googlesitekit-percentage-circle--percent-9 .googlesitekit-percentage-circle__bar{transform:rotate(32.4deg)}.googlesitekit-percentage-circle--percent-10 .googlesitekit-percentage-circle__bar{transform:rotate(36deg)}.googlesitekit-percentage-circle--percent-11 .googlesitekit-percentage-circle__bar{transform:rotate(39.6deg)}.googlesitekit-percentage-circle--percent-12 .googlesitekit-percentage-circle__bar{transform:rotate(43.2deg)}.googlesitekit-percentage-circle--percent-13 .googlesitekit-percentage-circle__bar{transform:rotate(46.8deg)}.googlesitekit-percentage-circle--percent-14 .googlesitekit-percentage-circle__bar{transform:rotate(50.4deg)}.googlesitekit-percentage-circle--percent-15 .googlesitekit-percentage-circle__bar{transform:rotate(54deg)}.googlesitekit-percentage-circle--percent-16 .googlesitekit-percentage-circle__bar{transform:rotate(57.6deg)}.googlesitekit-percentage-circle--percent-17 .googlesitekit-percentage-circle__bar{transform:rotate(61.2deg)}.googlesitekit-percentage-circle--percent-18 .googlesitekit-percentage-circle__bar{transform:rotate(64.8deg)}.googlesitekit-percentage-circle--percent-19 .googlesitekit-percentage-circle__bar{transform:rotate(68.4deg)}.googlesitekit-percentage-circle--percent-20 .googlesitekit-percentage-circle__bar{transform:rotate(72deg)}.googlesitekit-percentage-circle--percent-21 .googlesitekit-percentage-circle__bar{transform:rotate(75.6deg)}.googlesitekit-percentage-circle--percent-22 .googlesitekit-percentage-circle__bar{transform:rotate(79.2deg)}.googlesitekit-percentage-circle--percent-23 .googlesitekit-percentage-circle__bar{transform:rotate(82.8deg)}.googlesitekit-percentage-circle--percent-24 .googlesitekit-percentage-circle__bar{transform:rotate(86.4deg)}.googlesitekit-percentage-circle--percent-25 .googlesitekit-percentage-circle__bar{transform:rotate(90deg)}.googlesitekit-percentage-circle--percent-26 .googlesitekit-percentage-circle__bar{transform:rotate(93.6deg)}.googlesitekit-percentage-circle--percent-27 .googlesitekit-percentage-circle__bar{transform:rotate(97.2deg)}.googlesitekit-percentage-circle--percent-28 .googlesitekit-percentage-circle__bar{transform:rotate(100.8deg)}.googlesitekit-percentage-circle--percent-29 .googlesitekit-percentage-circle__bar{transform:rotate(104.4deg)}.googlesitekit-percentage-circle--percent-30 .googlesitekit-percentage-circle__bar{transform:rotate(108deg)}.googlesitekit-percentage-circle--percent-31 .googlesitekit-percentage-circle__bar{transform:rotate(111.6deg)}.googlesitekit-percentage-circle--percent-32 .googlesitekit-percentage-circle__bar{transform:rotate(115.2deg)}.googlesitekit-percentage-circle--percent-33 .googlesitekit-percentage-circle__bar{transform:rotate(118.8deg)}.googlesitekit-percentage-circle--percent-34 .googlesitekit-percentage-circle__bar{transform:rotate(122.4deg)}.googlesitekit-percentage-circle--percent-35 .googlesitekit-percentage-circle__bar{transform:rotate(126deg)}.googlesitekit-percentage-circle--percent-36 .googlesitekit-percentage-circle__bar{transform:rotate(129.6deg)}.googlesitekit-percentage-circle--percent-37 .googlesitekit-percentage-circle__bar{transform:rotate(133.2deg)}.googlesitekit-percentage-circle--percent-38 .googlesitekit-percentage-circle__bar{transform:rotate(136.8deg)}.googlesitekit-percentage-circle--percent-39 .googlesitekit-percentage-circle__bar{transform:rotate(140.4deg)}.googlesitekit-percentage-circle--percent-40 .googlesitekit-percentage-circle__bar{transform:rotate(144deg)}.googlesitekit-percentage-circle--percent-41 .googlesitekit-percentage-circle__bar{transform:rotate(147.6deg)}.googlesitekit-percentage-circle--percent-42 .googlesitekit-percentage-circle__bar{transform:rotate(151.2deg)}.googlesitekit-percentage-circle--percent-43 .googlesitekit-percentage-circle__bar{transform:rotate(154.8deg)}.googlesitekit-percentage-circle--percent-44 .googlesitekit-percentage-circle__bar{transform:rotate(158.4deg)}.googlesitekit-percentage-circle--percent-45 .googlesitekit-percentage-circle__bar{transform:rotate(162deg)}.googlesitekit-percentage-circle--percent-46 .googlesitekit-percentage-circle__bar{transform:rotate(165.6deg)}.googlesitekit-percentage-circle--percent-47 .googlesitekit-percentage-circle__bar{transform:rotate(169.2deg)}.googlesitekit-percentage-circle--percent-48 .googlesitekit-percentage-circle__bar{transform:rotate(172.8deg)}.googlesitekit-percentage-circle--percent-49 .googlesitekit-percentage-circle__bar{transform:rotate(176.4deg)}.googlesitekit-percentage-circle--percent-50 .googlesitekit-percentage-circle__bar{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-51 .googlesitekit-percentage-circle__bar{transform:rotate(183.6deg)}.googlesitekit-percentage-circle--percent-52 .googlesitekit-percentage-circle__bar{transform:rotate(187.2deg)}.googlesitekit-percentage-circle--percent-53 .googlesitekit-percentage-circle__bar{transform:rotate(190.8deg)}.googlesitekit-percentage-circle--percent-54 .googlesitekit-percentage-circle__bar{transform:rotate(194.4deg)}.googlesitekit-percentage-circle--percent-55 .googlesitekit-percentage-circle__bar{transform:rotate(198deg)}.googlesitekit-percentage-circle--percent-56 .googlesitekit-percentage-circle__bar{transform:rotate(201.6deg)}.googlesitekit-percentage-circle--percent-57 .googlesitekit-percentage-circle__bar{transform:rotate(205.2deg)}.googlesitekit-percentage-circle--percent-58 .googlesitekit-percentage-circle__bar{transform:rotate(208.8deg)}.googlesitekit-percentage-circle--percent-59 .googlesitekit-percentage-circle__bar{transform:rotate(212.4deg)}.googlesitekit-percentage-circle--percent-60 .googlesitekit-percentage-circle__bar{transform:rotate(216deg)}.googlesitekit-percentage-circle--percent-61 .googlesitekit-percentage-circle__bar{transform:rotate(219.6deg)}.googlesitekit-percentage-circle--percent-62 .googlesitekit-percentage-circle__bar{transform:rotate(223.2deg)}.googlesitekit-percentage-circle--percent-63 .googlesitekit-percentage-circle__bar{transform:rotate(226.8deg)}.googlesitekit-percentage-circle--percent-64 .googlesitekit-percentage-circle__bar{transform:rotate(230.4deg)}.googlesitekit-percentage-circle--percent-65 .googlesitekit-percentage-circle__bar{transform:rotate(234deg)}.googlesitekit-percentage-circle--percent-66 .googlesitekit-percentage-circle__bar{transform:rotate(237.6deg)}.googlesitekit-percentage-circle--percent-67 .googlesitekit-percentage-circle__bar{transform:rotate(241.2deg)}.googlesitekit-percentage-circle--percent-68 .googlesitekit-percentage-circle__bar{transform:rotate(244.8deg)}.googlesitekit-percentage-circle--percent-69 .googlesitekit-percentage-circle__bar{transform:rotate(248.4deg)}.googlesitekit-percentage-circle--percent-70 .googlesitekit-percentage-circle__bar{transform:rotate(252deg)}.googlesitekit-percentage-circle--percent-71 .googlesitekit-percentage-circle__bar{transform:rotate(255.6deg)}.googlesitekit-percentage-circle--percent-72 .googlesitekit-percentage-circle__bar{transform:rotate(259.2deg)}.googlesitekit-percentage-circle--percent-73 .googlesitekit-percentage-circle__bar{transform:rotate(262.8deg)}.googlesitekit-percentage-circle--percent-74 .googlesitekit-percentage-circle__bar{transform:rotate(266.4deg)}.googlesitekit-percentage-circle--percent-75 .googlesitekit-percentage-circle__bar{transform:rotate(270deg)}.googlesitekit-percentage-circle--percent-76 .googlesitekit-percentage-circle__bar{transform:rotate(273.6deg)}.googlesitekit-percentage-circle--percent-77 .googlesitekit-percentage-circle__bar{transform:rotate(277.2deg)}.googlesitekit-percentage-circle--percent-78 .googlesitekit-percentage-circle__bar{transform:rotate(280.8deg)}.googlesitekit-percentage-circle--percent-79 .googlesitekit-percentage-circle__bar{transform:rotate(284.4deg)}.googlesitekit-percentage-circle--percent-80 .googlesitekit-percentage-circle__bar{transform:rotate(288deg)}.googlesitekit-percentage-circle--percent-81 .googlesitekit-percentage-circle__bar{transform:rotate(291.6deg)}.googlesitekit-percentage-circle--percent-82 .googlesitekit-percentage-circle__bar{transform:rotate(295.2deg)}.googlesitekit-percentage-circle--percent-83 .googlesitekit-percentage-circle__bar{transform:rotate(298.8deg)}.googlesitekit-percentage-circle--percent-84 .googlesitekit-percentage-circle__bar{transform:rotate(302.4deg)}.googlesitekit-percentage-circle--percent-85 .googlesitekit-percentage-circle__bar{transform:rotate(306deg)}.googlesitekit-percentage-circle--percent-86 .googlesitekit-percentage-circle__bar{transform:rotate(309.6deg)}.googlesitekit-percentage-circle--percent-87 .googlesitekit-percentage-circle__bar{transform:rotate(313.2deg)}.googlesitekit-percentage-circle--percent-88 .googlesitekit-percentage-circle__bar{transform:rotate(316.8deg)}.googlesitekit-percentage-circle--percent-89 .googlesitekit-percentage-circle__bar{transform:rotate(320.4deg)}.googlesitekit-percentage-circle--percent-90 .googlesitekit-percentage-circle__bar{transform:rotate(324deg)}.googlesitekit-percentage-circle--percent-91 .googlesitekit-percentage-circle__bar{transform:rotate(327.6deg)}.googlesitekit-percentage-circle--percent-92 .googlesitekit-percentage-circle__bar{transform:rotate(331.2deg)}.googlesitekit-percentage-circle--percent-93 .googlesitekit-percentage-circle__bar{transform:rotate(334.8deg)}.googlesitekit-percentage-circle--percent-94 .googlesitekit-percentage-circle__bar{transform:rotate(338.4deg)}.googlesitekit-percentage-circle--percent-95 .googlesitekit-percentage-circle__bar{transform:rotate(342deg)}.googlesitekit-percentage-circle--percent-96 .googlesitekit-percentage-circle__bar{transform:rotate(345.6deg)}.googlesitekit-percentage-circle--percent-97 .googlesitekit-percentage-circle__bar{transform:rotate(349.2deg)}.googlesitekit-percentage-circle--percent-98 .googlesitekit-percentage-circle__bar{transform:rotate(352.8deg)}.googlesitekit-percentage-circle--percent-99 .googlesitekit-percentage-circle__bar{transform:rotate(356.4deg)}.googlesitekit-percentage-circle--percent-100 .googlesitekit-percentage-circle__bar{transform:rotate(360deg)}.googlesitekit-percentage-circle--fast .googlesitekit-percentage-circle__bar,.googlesitekit-percentage-circle--fast .googlesitekit-percentage-circle__fill{border-color:#46732b}.googlesitekit-percentage-circle--average .googlesitekit-percentage-circle__bar,.googlesitekit-percentage-circle--average .googlesitekit-percentage-circle__fill{border-color:#895a00}.googlesitekit-percentage-circle--slow .googlesitekit-percentage-circle__bar,.googlesitekit-percentage-circle--slow .googlesitekit-percentage-circle__fill{border-color:#ac4220}.googlesitekit-post-searcher{display:flex;flex-wrap:wrap;position:relative;width:100%}.googlesitekit-post-searcher .googlesitekit-post-searcher__label{background-color:#fff;color:#5f6561;font-size:12px;left:12px;letter-spacing:.2px;padding:0 4px;position:absolute;top:-8px;z-index:4}.googlesitekit-post-searcher .googlesitekit-post-searcher__button-wrapper{flex:0 0 auto}.googlesitekit-post-searcher .googlesitekit-post-searcher__button-wrapper .googlesitekit-post-searcher__button{min-height:100%}.googlesitekit-preview-block{display:flex;flex-direction:column}.googlesitekit-preview-block--padding{padding:16px}.googlesitekit-preview-block--padding+.googlesitekit-preview-block--padding{padding-top:0}@media(min-width: 960px){.googlesitekit-preview-block--padding{padding:24px}}.googlesitekit-preview-block__wrapper{animation:googlesitekit-pulse 1s infinite ease-in-out;animation-direction:alternate;flex:1 1 auto}@media(prefers-reduced-motion: reduce){.googlesitekit-preview-block__wrapper{animation:none;background-image:linear-gradient(150deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.15))}}.googlesitekit-preview-block__wrapper--circle{border-radius:50%}@keyframes googlesitekit-pulse{0%{background-color:#ebeef0}100%{background-color:#cbd0d3}}.googlesitekit-preview-table{width:100%}.googlesitekit-preview-table .googlesitekit-preview-table__row{margin:0 0 9px}.googlesitekit-preview-table .googlesitekit-preview-table__row:last-child{margin-bottom:0}.googlesitekit-preview-table--padding{padding:16px}.googlesitekit-preview-table--padding+.googlesitekit-preview-table--padding{padding-top:0}@media(min-width: 960px){.googlesitekit-preview-table--padding{padding:24px}}.googlesitekit-progress-segments{background-color:#fff;border-radius:4px;display:flex;gap:4px;height:8px;justify-content:space-between;overflow:hidden}.googlesitekit-progress-segments .googlesitekit-progress-segments__segment{background-color:#ebeef0;height:8px;width:100%}.googlesitekit-progress-segments .googlesitekit-progress-segments__segment--active:nth-child(3n-2){background-color:#b8e5ca}.googlesitekit-progress-segments .googlesitekit-progress-segments__segment--active:nth-child(3n-1){background-color:#77ad8c}.googlesitekit-progress-segments .googlesitekit-progress-segments__segment--active:nth-child(3n){background-color:#3c7251}.googlesitekit-publisher-win{background:#fff;display:flex;flex-direction:column;opacity:1;position:relative;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;visibility:visible}@media(min-width: 600px){.googlesitekit-publisher-win{padding-left:10px;padding-right:10px}}@media(min-width: 600px){.googlesitekit-publisher-win{flex-direction:row}.googlesitekit-publisher-win .googlesitekit-publisher-win__secondary-pane-divider{height:106px;margin:auto 30px}}.googlesitekit-publisher-win .mdc-layout-grid{flex:1 1 0}.googlesitekit-publisher-win+.googlesitekit-publisher-win{display:none}.googlesitekit-publisher-win .googlesitekit-publisher-win__image-smaller svg{max-height:105px;width:100%}.googlesitekit-publisher-win .googlesitekit-publisher-win__title{flex:1;margin:0}.googlesitekit-publisher-win .googlesitekit-publisher-win__title .googlesitekit-badge{margin-left:8px}.googlesitekit-publisher-win .googlesitekit-publisher-win__title .googlesitekit-publisher-win__image-smaller{flex-basis:75px}.googlesitekit-publisher-win .googlesitekit-publisher-win__desc{max-width:700px}.googlesitekit-publisher-win .googlesitekit-publisher-win__desc:first-child>*:first-child{margin-top:0}.googlesitekit-publisher-win .googlesitekit-publisher-win__small-image{max-width:100%}.googlesitekit-publisher-win .googlesitekit-publisher-win__icons{display:flex;height:100%;justify-content:right}@media(min-width: 960px){.googlesitekit-publisher-win .googlesitekit-publisher-win__icons{right:calc(24px * 2)}}.googlesitekit-publisher-win .googlesitekit-publisher-win__image{align-self:center}.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large{margin-bottom:24px;text-align:center}@media(min-width: 600px){.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large{text-align:left}}@media(min-width: 960px){.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large{text-align:center}}.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large img{display:inline-block;max-width:100%}@media(max-width: 599px),(min-width: 960px){.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large svg{width:200px}}.googlesitekit-publisher-win .googlesitekit-publisher-win__link a{font-size:16px;letter-spacing:.5px}.googlesitekit-publisher-win .googlesitekit-publisher-win__stats{margin-bottom:24px}.googlesitekit-publisher-win .googlesitekit-button-icon--spinner+.googlesitekit-cta-link{text-align:center}.googlesitekit-publisher-win .googlesitekit-publisher-win__logo{display:inline-block;line-height:0;margin-right:5px;vertical-align:bottom}.googlesitekit-publisher-win .googlesitekit-publisher-win__module-name{display:inline-block;font-size:12px;letter-spacing:.2px;line-height:1;margin-bottom:-1px;vertical-align:bottom}.googlesitekit-publisher-win .googlesitekit-publisher-win__small-media svg{max-height:85px;max-width:85px}.googlesitekit-publisher-win .googlesitekit-publisher-win__actions{display:flex;gap:8px}.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper{display:flex;flex-wrap:nowrap;gap:16px}.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper+.googlesitekit-cta-link,.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper+.googlesitekit-publisher-win__actions{margin-top:16px}@media(min-width: 960px){.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper+.googlesitekit-cta-link,.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper+.googlesitekit-publisher-win__actions{margin-top:24px}}.googlesitekit-publisher-win .googlesitekit-publisher-win__image-larger svg{display:block}.googlesitekit-publisher-win.googlesitekit-publisher-win--rounded{border-radius:24px}.googlesitekit-publisher-win--win-warning{border-right:4px solid #895a00}.googlesitekit-publisher-win--win-warning .googlesitekit-publisher-win__icons{color:#895a00}.googlesitekit-publisher-win--win-error{border-right:4px solid #ac4220}.googlesitekit-publisher-win--win-error .googlesitekit-publisher-win__icons{color:#cc6240}.googlesitekit-publisher-win--is-closed{opacity:0;visibility:hidden}.googlesitekit-selection-box{border-bottom:2px solid #dee3e5;outline:1px solid #fff;outline-offset:-1px;padding:6px 10px 6px 7px}.googlesitekit-selection-box .mdc-form-field{align-items:flex-start}.googlesitekit-selection-box .mdc-checkbox__content{padding-top:9px}.googlesitekit-selection-box .mdc-checkbox__content:has(.googlesitekit-badge){padding-top:8px}.googlesitekit-selection-box label{cursor:pointer;font-size:14px;font-weight:500;line-height:1.43;position:relative}.googlesitekit-selection-box label:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-selection-box label:focus{outline-offset:0}.googlesitekit-selection-box .mdc-checkbox__description{color:#6c726e;font-size:12px;line-height:1.33;padding:7px 0 5px}.googlesitekit-selection-box+.googlesitekit-selection-box{margin-top:16px}.googlesitekit-selection-box.googlesitekit-selection-box--disabled label,.googlesitekit-selection-box.googlesitekit-selection-box--disabled .mdc-checkbox__description{color:rgba(3,14,7,.32);pointer-events:none}.googlesitekit-plugin .googlesitekit-selection-panel{display:flex;flex-direction:column}.googlesitekit-plugin .googlesitekit-selection-panel-header{padding:16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-header{padding:24px}}.googlesitekit-plugin .googlesitekit-selection-panel-header h3{margin:0}.googlesitekit-plugin .googlesitekit-selection-panel-header p{color:#161b18;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:8px 0 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-header p{font-size:14px}}.googlesitekit-plugin .googlesitekit-selection-panel-header .googlesitekit-cta-link__contents strong{font-weight:400}.googlesitekit-plugin .googlesitekit-selection-panel-header__row{align-items:center;display:flex;justify-content:space-between}.googlesitekit-plugin .googlesitekit-selection-panel-header__close{color:#6c726e;display:flex;padding:8px}.googlesitekit-plugin .googlesitekit-selection-panel__loading{border-bottom:2px solid #ebeef0;display:flex;justify-content:space-between;margin:8px 24px 10px;padding:6px 0}.googlesitekit-plugin .googlesitekit-selection-panel__loading:last-child{border:none}.googlesitekit-plugin .googlesitekit-selection-panel__loading-item{margin:0 0 10px}.googlesitekit-plugin .googlesitekit-selection-panel-items{overflow:auto}.googlesitekit-plugin .googlesitekit-selection-panel-items .googlesitekit-selection-panel-items__subheading{color:#6c726e;font-size:12px;font-weight:500;line-height:1.33;margin:16px 0 0 16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-items .googlesitekit-selection-panel-items__subheading{margin:24px 0 0 24px}}.googlesitekit-plugin .googlesitekit-selection-panel-items .googlesitekit-selection-panel-items__subheading:first-child{margin:0 0 0 16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-items .googlesitekit-selection-panel-items__subheading:first-child{margin:0 0 0 24px}}.googlesitekit-plugin .googlesitekit-selection-panel-item{border-bottom:2px solid #ebeef0;display:flex;margin:0 16px;outline:1px solid #fff;outline-offset:-1px;padding:0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-selection-panel-item{border-color:#cbd0d3;margin:0 24px}}.googlesitekit-plugin .googlesitekit-selection-panel-item:last-child{border:none}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-panel-item-error{color:#ac4220;padding-top:10px}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-box{border:none;flex:1;outline:none;padding:0 4px 10px}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-box .mdc-form-field{align-items:center;gap:5px}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-box .mdc-checkbox__description{padding:0}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-panel-item__subtitle{display:block;font-size:12px;letter-spacing:.2px;line-height:1.33;margin-bottom:6px}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-panel-item__suffix{color:#161b18;font-size:14px;font-weight:500;line-height:1.43;padding:15px 10px}.googlesitekit-plugin .googlesitekit-selection-panel-item .mdc-checkbox{margin-top:6px}.googlesitekit-plugin .googlesitekit-selection-panel-notice,.googlesitekit-plugin .googlesitekit-selection-panel-error{background-color:#ffe4b1;padding:16px 24px}.googlesitekit-plugin .googlesitekit-selection-panel-notice p,.googlesitekit-plugin .googlesitekit-selection-panel-error p{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-selection-panel-error{align-items:center;background-color:#ffded3;display:flex;gap:10px;padding:14px 24px}.googlesitekit-plugin .googlesitekit-selection-panel-error svg{color:#7a1e00;display:block}.googlesitekit-plugin .googlesitekit-selection-panel-footer{background-color:#f3f5f7;margin-top:auto;padding:12px 24px 24px;width:100%}.googlesitekit-plugin .googlesitekit-selection-panel-footer p{font-size:12px;letter-spacing:.2px;line-height:1.33}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-footer p{font-size:14px}}.googlesitekit-plugin .googlesitekit-selection-panel-footer .googlesitekit-error-text p{font-size:14px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-footer__content{align-items:center;column-gap:24px;display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:12px}}.googlesitekit-plugin .googlesitekit-selection-panel-footer__item-count{font-size:14px;font-weight:500}.googlesitekit-plugin .googlesitekit-selection-panel-footer__item-count .googlesitekit-selection-panel-footer__item-count--max-count{color:#6c726e;font-weight:400}.googlesitekit-plugin .googlesitekit-selection-panel-footer__actions{align-items:center;column-gap:8px;display:flex;justify-content:flex-end}.googlesitekit-plugin .googlesitekit-selection-panel-footer__actions .googlesitekit-cta-link{color:#6c726e}.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button{background-color:transparent;box-shadow:none;color:#6c726e}.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:focus,.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:hover{background-color:#f8fafb;color:rgba(0,0,0,.87)}.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:focus::before,.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:focus::after,.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:hover::before,.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:hover::after{background-color:rgba(0,0,0,.87)}.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-sharing-settings-dialog .googlesitekit-dialog__content{padding-bottom:0}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-sharing-settings-dialog .googlesitekit-dialog__footer{border-color:transparent;box-shadow:none;padding:0}}.googlesitekit-plugin .googlesitekit-user-role-select{align-items:center;column-gap:12px;display:flex;flex-wrap:wrap;position:relative;row-gap:4px}.googlesitekit-plugin .googlesitekit-user-role-select__button{border:1px solid #3c7251;border-radius:50%;box-shadow:none;color:#3c7251;display:flex;height:48px;min-height:auto;min-width:auto;padding:0;width:48px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-role-select__button{height:28px;width:28px}}.googlesitekit-plugin .googlesitekit-user-role-select__button:not(:disabled){background-color:#fff;color:#3c7251}.googlesitekit-plugin .googlesitekit-user-role-select__button svg{fill:#3c7251}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-role-select__button svg{height:14px;width:14px}}.googlesitekit-plugin .googlesitekit-user-role-select--open{align-items:flex-start;row-gap:8px}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings{color:#161b18;font-size:14px;line-height:1.14}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__header{align-items:flex-start;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.14}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--product{flex:0 0 50%}@media(max-width: 960px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--product svg{height:28px;width:28px}}.googlesitekit-plugin .googlesitekit-user-role-select__current-roles{color:#333935;display:block;font-size:14px;line-height:1.14}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-role-select__current-roles{flex:1}}.googlesitekit-plugin .googlesitekit-user-role-select__add-roles{display:block}.googlesitekit-plugin .googlesitekit-user-role-select__add-roles button{color:#999f9b;font-size:14px;font-weight:400;line-height:1.14}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--view{flex:1 1 30%;position:relative}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--view{align-items:center;display:flex;flex:1 1 45%}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--view .googlesitekit-warning-notice{margin-right:24px;padding:8px 16px}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--view .googlesitekit-warning-notice .googlesitekit-cta-link{font-weight:400;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row{display:flex;flex-wrap:nowrap;gap:16px;position:relative}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--disabled::after{background-color:rgba(255,255,255,.6);content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--editing{flex-direction:column}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--editing{align-items:flex-start;flex-direction:row}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--editing .googlesitekit-dashboard-sharing-settings__column--product{min-height:48px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--editing .googlesitekit-dashboard-sharing-settings__column--product{min-height:28px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module{border-bottom:1px solid #ebeef0;padding:16px 0}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module:last-child{border-bottom:0}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module .googlesitekit-dashboard-sharing-settings__column--product{align-items:center;display:flex;flex-flow:row nowrap;gap:12px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module .googlesitekit-dashboard-sharing-settings__column--product{align-items:center;flex-flow:row nowrap;gap:16px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module-name{flex:1}.googlesitekit-plugin p.googlesitekit-dashboard-sharing-settings__note{color:#757575;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select{height:48px;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select{height:30px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__selected-text{min-width:100px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__selected-text{min-width:140px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__native-control{appearance:none;background:none;font-size:14px;height:48px !important;padding-bottom:0;padding-top:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__native-control{height:30px !important;min-height:30px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__dropdown-icon{bottom:auto;top:50%;transform:translateY(-50%)}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage{flex:1 1 45%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage{align-items:center;display:flex;flex:0 0 30%}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__note{align-items:flex-end;display:flex;flex-wrap:wrap;font-size:12px;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__note span:not(.googlesitekit-dashboard-sharing-settings__tooltip-icon){width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__note span:not(.googlesitekit-dashboard-sharing-settings__tooltip-icon){margin-right:4px;width:auto}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__note svg{fill:#757575}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__tooltip-icon{display:block;height:18px;line-height:1;margin:0 0 0 4px}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer{display:flex;flex-basis:100%;flex-direction:column;gap:24px;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer{align-items:center;display:flex;flex-direction:row;gap:32px;justify-content:flex-end;width:auto}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-notice{margin:-0.625rem 0}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-notice{padding:16px 16px 0}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-actions{align-items:center;display:flex;flex:1;flex-direction:row;gap:32px;justify-content:flex-end}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-actions{box-shadow:0 -1px 4px 2px rgba(60,64,67,.15);padding:16px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-actions-right{align-items:center;display:flex;flex:1;flex-direction:row;gap:32px;grid-gap:32px;justify-content:flex-end}.googlesitekit-plugin p.googlesitekit-dashboard-sharing-settings__notice{background-color:#cbd0d3;border-radius:8px;color:#161b18;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0;padding:12px 24px;width:100%}@media(min-width: 600px){.googlesitekit-plugin p.googlesitekit-dashboard-sharing-settings__notice{padding:8px}}.googlesitekit-plugin p.googlesitekit-dashboard-sharing-settings__notice:empty{display:none}.googlesitekit-plugin .googlesitekit-user-role-select__chipset{display:flex;flex-wrap:wrap;gap:8px;padding:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-role-select__chipset{flex:1;gap:10px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings--has-multiple-admins .googlesitekit-dashboard-sharing-settings__column--product{align-items:flex-start;flex-basis:25%;flex-direction:column;max-width:25%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings--has-multiple-admins .googlesitekit-dashboard-sharing-settings__column--product{align-items:center;flex-direction:row;max-width:none}}.googlesitekit-plugin .googlesitekit-side-sheet{background-color:#fff;bottom:0;overflow:hidden;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .5s;width:100%;z-index:10000}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-side-sheet{width:530px}}body.admin-bar .googlesitekit-plugin .googlesitekit-side-sheet{top:46px}@media(min-width: 783px){body.admin-bar .googlesitekit-plugin .googlesitekit-side-sheet{top:32px}}.googlesitekit-plugin .googlesitekit-side-sheet--open{transform:translateX(0)}.googlesitekit-plugin .googlesitekit-side-sheet-overlay{background-color:rgba(0,0,0,.6);height:100%;left:0;position:fixed;top:0;width:100%;z-index:9990}body.googlesitekit-side-sheet-scroll-lock{overflow:hidden}.googlesitekit-source-link{color:#6c726e;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1}.googlesitekit-plugin .googlesitekit-stepper{list-style:none;margin:0;padding:0}.googlesitekit-plugin .googlesitekit-stepper__step{gap:10px;margin:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-stepper__step{display:flex}}.googlesitekit-plugin .googlesitekit-stepper__step-progress{display:flex;flex-direction:column}.googlesitekit-plugin .googlesitekit-stepper__step-number{align-items:center;background-color:#161b18;border-radius:12px;color:#fff;display:flex;font-size:12px;height:24px;justify-content:center;width:24px}.googlesitekit-plugin .googlesitekit-stepper__step-progress-line{background-color:#cbd0d3;display:none;flex:1;height:100%;margin:5px auto;min-height:30px;width:1px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-stepper__step-progress-line{display:block}}.googlesitekit-plugin .googlesitekit-stepper__step-title{align-items:center;color:#161b18;display:flex;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;height:24px;line-height:1.25}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-stepper__step-title{margin:0}}.googlesitekit-plugin .googlesitekit-stepper__step-content-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease-in-out;visibility:hidden}.googlesitekit-plugin .googlesitekit-stepper__step-content{overflow:hidden}.googlesitekit-plugin .googlesitekit-stepper__step--upcoming .googlesitekit-stepper__step-number{background-color:#6c726e}.googlesitekit-plugin .googlesitekit-stepper__step--upcoming .googlesitekit-stepper__step-title{color:#6c726e}.googlesitekit-plugin .googlesitekit-stepper__step--active .googlesitekit-stepper__step-content-container{grid-template-rows:1fr;margin-bottom:24px;visibility:visible}.googlesitekit-plugin .googlesitekit-stepper__step--completed .googlesitekit-stepper__step-number{color:#fff}.googlesitekit-plugin .googlesitekit-stepper__step--completed .googlesitekit-stepper__step-number svg{height:10px;width:10px}.googlesitekit-plugin .googlesitekit-stepper__step:last-child .googlesitekit-stepper__step-content-container{margin-bottom:0}.googlesitekit-plugin .googlesitekit-tab-bar__settings{margin:0 -16px;width:calc(100% + (16px * 2))}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-tab-bar__settings{margin:0;width:100%}}.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab-scroller__scroll-content{gap:1px}.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab{background-color:#fff;color:#161b18;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab:first-child{border-radius:16px 0 0 16px;overflow:hidden}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab:last-child{border-radius:0 16px 16px 0;overflow:hidden}}.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-ripple-upgraded--background-focused::after{background-color:#fff}.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab__text-label{color:#161b18;opacity:1}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast{border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast .mdc-tab-scroller__scroll-content .mdc-tab{flex:none;height:56px}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast .mdc-tab-scroller__scroll-content .mdc-tab .mdc-tab__content{color:#161b18;font-size:12px;font-weight:500;letter-spacing:-0.1px;line-height:1.33;padding-top:2px}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast .mdc-tab-scroller__scroll-content .mdc-tab.mdc-tab--active .mdc-tab__content{color:#3c7251}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast .mdc-tab-indicator>.mdc-tab-indicator__content--underline{height:3px}.googlesitekit-table{counter-reset:table;font-size:14px;letter-spacing:.25px;padding:16px;position:relative}@media(min-width: 960px){.googlesitekit-table{padding:24px}}.googlesitekit-alltraffic-widget .googlesitekit-table,.googlesitekit-wp-dashboard .googlesitekit-table{padding:0}.googlesitekit-table .googlesitekit-table__wrapper{border-collapse:collapse;table-layout:fixed;width:100%}@media(max-width: 599px){.googlesitekit-table .googlesitekit-table__wrapper.googlesitekit-table__wrapper--mobile-2-col .googlesitekit-table__head-item--primary{width:75%}}.googlesitekit-table .googlesitekit-table__wrapper--tabbed-layout{table-layout:auto}.googlesitekit-table .googlesitekit-table__head-row{border-bottom:1px solid #ebeef0}.googlesitekit-table .googlesitekit-table__head-item{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;hyphens:auto;line-height:1.25;outline:0;padding:0 4px 8px 4px;position:relative;text-align:right;-webkit-text-decoration:none;text-decoration:none;white-space:normal}@media(min-width: 600px){.googlesitekit-table .googlesitekit-table__head-item{padding:0 8px 8px 8px}}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__head-item{padding:0 12px 12px 12px}}.googlesitekit-table .googlesitekit-table__head-item:first-child{padding-left:0;text-align:left}.googlesitekit-table .googlesitekit-table__head-item:last-child{padding-right:0}.googlesitekit-widget--with-header .googlesitekit-table .googlesitekit-table__head-item{font-size:14px;line-height:1.14}.googlesitekit-table-overflow .googlesitekit-table .googlesitekit-table__head-item:last-child{padding-right:0}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__head-item[data-tooltip]::before{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;content:attr(data-tooltip);display:none;font-size:12px;letter-spacing:.2px;max-width:250px;opacity:0;padding:calc(16px / 2) 24px;pointer-events:none;position:absolute;right:0;text-align:center;top:100%;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;visibility:hidden}}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__head-item:first-child[data-tooltip]::before{left:0}}.googlesitekit-table .googlesitekit-table__head-item--primary{width:50%}.googlesitekit-table .googlesitekit-table__wrapper--2-col .googlesitekit-table__head-item--primary{width:75%}.googlesitekit-table .googlesitekit-table__body{color:#161b18;font-weight:400}.googlesitekit-table .googlesitekit-table__body-row{border-bottom:1px solid #ebeef0}.googlesitekit-table .googlesitekit-table__body-row--no-data td{white-space:normal}.googlesitekit-table .googlesitekit-table__body-item{padding:8px 4px;text-align:right}@media(min-width: 600px){.googlesitekit-table .googlesitekit-table__body-item{padding:8px}}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__body-item{padding:12px}}.googlesitekit-table .googlesitekit-table__body-item:first-child{padding-left:0;text-align:left}.googlesitekit-table .googlesitekit-table__body-item:last-child{padding-right:0}.googlesitekit-table .googlesitekit-table__body-item .googlesitekit-mini-chart{display:none}@media(min-width: 600px){.googlesitekit-table .googlesitekit-table__body-item .googlesitekit-mini-chart{display:block}}.googlesitekit-table-overflow .googlesitekit-table .googlesitekit-table__body-item:last-child{padding-right:0}@media(max-width: 600px){.googlesitekit-table .googlesitekit-table__body-item-content .googlesitekit-cta-link,.googlesitekit-table .googlesitekit-table__body-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis}}.googlesitekit-wp-dashboard .googlesitekit-table .googlesitekit-table__body-item-link{background-image:none}.googlesitekit-table .googlesitekit-table__body-item-url{background-image:none;display:block;font-size:12px;letter-spacing:.2px;word-break:break-word}.googlesitekit-table .googlesitekit-table__body-item-chart-wrap{align-items:center;display:flex;justify-content:flex-end}.googlesitekit-table .googlesitekit-table__source{margin-top:16px}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__source{margin-top:24px}}.googlesitekit-table--with-list .googlesitekit-table__body-row{transition:background-color .2s ease-in-out}.googlesitekit-table--with-list .googlesitekit-table__body-row:last-child{border-bottom:0}.googlesitekit-table--with-list .googlesitekit-table__body-row:hover{background-color:rgba(51,57,53,.05)}.googlesitekit-table--with-list .googlesitekit-table__body-row--no-data:hover{background-color:transparent}.googlesitekit-table--with-list .googlesitekit-table__body-item:first-child .googlesitekit-table__body-item-content{margin-left:24px;position:relative}.googlesitekit-table--with-list .googlesitekit-table__body-item:first-child .googlesitekit-table__body-item-content::before{content:counter(table) ".";counter-increment:table;left:-24px;position:absolute}.googlesitekit-table--gathering-data{padding-bottom:0}.googlesitekit-table-overflow{position:relative}@media(max-width: 600px){.googlesitekit-table-overflow::after{background:linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 85%, white 100%);bottom:0;content:"";display:block;pointer-events:none;position:absolute;right:0;top:0;transition:all .2s ease-in-out;width:0}}.googlesitekit-table-overflow .googlesitekit-table-overflow__container{overflow-x:auto;white-space:nowrap}@media(min-width: 600px){.googlesitekit-table-overflow .googlesitekit-table-overflow__container{overflow-x:visible;white-space:normal}}@media(max-width: 600px){.googlesitekit-table-overflow--gradient::after{width:15%}}.googlesitekit-plugin .googlesitekit-text-field-icon--warning,.googlesitekit-plugin .googlesitekit-text-field-icon--error{align-items:center;border-radius:50%;display:flex;height:22px;justify-content:center;width:22px}.googlesitekit-plugin .googlesitekit-text-field-icon--warning svg,.googlesitekit-plugin .googlesitekit-text-field-icon--error svg{color:#fff;margin-bottom:3px}.googlesitekit-plugin .googlesitekit-text-field-icon--warning{background-color:#895a00}.googlesitekit-plugin .googlesitekit-text-field-icon--error{background-color:#ac4220}.googlesitekit-tooltip-popper.MuiTooltip-popper{z-index:99999}.googlesitekit-tooltip.MuiTooltip-tooltip{background-color:#161b18;border-radius:32px;color:#ebeef0;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;padding:14.5px 19px}.googlesitekit-tooltip .MuiTooltip-arrow{color:#161b18}.googlesitekit--has-visible-tooltip #adminmenuwrap{z-index:10}.googlesitekit-plugin .googlesitekit-analytics-usesnippet p,.googlesitekit-plugin .googlesitekit-tagmanager-usesnippet p{font-size:12px;letter-spacing:.2px}.googlesitekit-plugin .googlesitekit-header .googlesitekit-user-selector{margin-right:-4px}@media(max-width: 783px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-user-selector .mdc-button__label{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}}@media(max-width: 783px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-user-selector .mdc-button__icon{margin-right:0}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-user-selector button{padding:4px}.googlesitekit-plugin .googlesitekit-user-menu{background-color:#f3f5f7;border-radius:24px;max-width:335px;width:calc(100vw - 32px)}.googlesitekit-plugin .googlesitekit-user-menu .mdc-list{padding-bottom:0}.googlesitekit-plugin .googlesitekit-user-menu li{margin:0;padding:0 8px}.googlesitekit-plugin .googlesitekit-user-menu .mdc-list-item,.googlesitekit-plugin .googlesitekit-user-menu .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-user-menu .googlesitekit-view-only-menu__list-item{padding:0 7.16% 0 14.33%}.googlesitekit-plugin .googlesitekit-user-menu__item{align-items:center;column-gap:30px;display:flex;width:100%}.googlesitekit-plugin .googlesitekit-user-menu__item-icon{display:flex}.googlesitekit-plugin .googlesitekit-user-menu__item-label{color:#161b18;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-user-menu__details{align-items:center;background-color:#fff;border-radius:24px;column-gap:14px;display:flex;padding:16px;width:100%}.googlesitekit-plugin .googlesitekit-user-menu__details-avatar{border:1px solid rgba(32,33,36,.13);border-radius:50%;height:64px;width:64px}.googlesitekit-plugin .googlesitekit-user-menu__details-info{overflow:hidden}.googlesitekit-plugin .googlesitekit-user-menu__details-info p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-user-menu__details-info__name{color:#161b18;font-weight:500;line-height:1.43}.googlesitekit-plugin .googlesitekit-user-menu__details-info__email{color:#6c726e;font-size:12px;line-height:1.33}.googlesitekit-plugin .googlesitekit-view-only-menu h4{font-size:16px;letter-spacing:.5px;margin:15px 0}.googlesitekit-plugin .googlesitekit-view-only-menu p{color:#161b18;font-size:14px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-button--dropdown .mdc-button__icon{margin-right:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-button--dropdown .mdc-button__icon{height:16px;margin-right:8px;width:16px}}.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-button--dropdown .mdc-button__icon--image{height:inherit;width:inherit}.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu{width:320px}.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list-divider{margin:8px 32px 4px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item{display:block;height:auto;padding:0 32px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item:last-child{margin-bottom:5px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__description p{margin-bottom:8px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__description .mdc-button{margin:6px 0 9px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service{display:flex;gap:8px;margin-bottom:10px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service svg{padding:2px;width:24px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service--icon{flex:0 0 24px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service--name{font-size:14px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service--owner{color:#161b18;flex:1;font-size:12px;letter-spacing:.2px;margin-left:auto;overflow:hidden;text-overflow:ellipsis}.googlesitekit-plugin .googlesitekit-view-only-menu--user-can-authenticate .googlesitekit-view-only-menu__service--name{flex:0 0 100px;margin-right:8px}.googlesitekit-warning-notice{background-color:#ffe4b1;border-radius:8px;color:#4e3300;font-size:12px;letter-spacing:.2px;line-height:1.33;padding:14px 24px}.googlesitekit-warning-notice .googlesitekit-cta-link{color:#4e3300;font-weight:500}.googlesitekit-warning-notice .googlesitekit-cta-link svg{fill:none}.googlesitekit-signin-box{background-color:#fff;border-color:#b8bdb9;display:block;margin:20px auto;padding:20px;text-align:center}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__chart-zero-data{align-items:center;display:flex;justify-content:center;min-height:368px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__chart-zero-data>svg{color:#cbd0d3;height:300px;width:300px}.googlesitekit-plugin .googlesitekit-adsense-site-stats .google-visualization-tooltip,.googlesitekit-plugin .googlesitekit-analytics-site-stats .google-visualization-tooltip,.googlesitekit-plugin .googlesitekit-search-console-site-stats .google-visualization-tooltip,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .google-visualization-tooltip,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .google-visualization-tooltip{border-color:#b8bdb9;border-radius:8px;box-shadow:none;height:auto !important;width:auto !important;z-index:8}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip{padding:0 1em}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip em,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip em,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip em,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip em,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip em{font-style:normal;font-weight:700}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip strong,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip strong,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip strong,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip strong,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip strong{color:#000;margin:0 .25em 0 1em}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip p,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip p,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip p,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip p,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip p{font-size:14px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip svg,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip svg,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip svg,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip svg,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip svg{margin-right:.25em}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip--up em,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip--up em,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip--up em,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip--up em,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip--up em{color:#46732b}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip--down em,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip--down em,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip--down em,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip--down em,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip--down em{color:#ac4220}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip-others em,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip-others em,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip-others em,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip-others em,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip-others em{display:none}.googlesitekit-dashboard-module-header{margin:0 0 -5px}@media(min-width: 960px){.googlesitekit-dashboard-module-header{margin-bottom:-10px}}.googlesitekit-dashboard-module-header .googlesitekit-dashboard-module-header__title{color:#5f6561;margin:0}.googlesitekit-dashboard-module-header .googlesitekit-dashboard-module-header__description{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-dashboard-module-header .googlesitekit-dashboard-module-header__time{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__heading{margin:10px 0 0}@media(min-width: 961px){.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__entity-header{margin-top:var(--mdc-layout-grid-gutter-desktop, 24px)}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__entity-header{margin-top:var(--mdc-layout-grid-gutter-tablet, 16px)}}@media(max-width: 600px){.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__entity-header{margin-top:var(--mdc-layout-grid-gutter-phone, 16px)}}.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__title{margin:0 0 10px}.googlesitekit-plugin .googlesitekit-lean-cta-banner{display:flex;flex-direction:column}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner{align-items:center;flex:1;flex-direction:row;padding-inline:36px}}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body{display:flex;flex-direction:column;padding-block:20px;padding-inline:16px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body{align-items:center;flex-direction:row;padding-inline:24px}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body{flex:0 1 auto;margin-right:24px;padding:0}}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-icon{display:flex;margin-bottom:6px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-icon{justify-content:right;margin-bottom:0}}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-content p{margin:0 0 4px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-content{margin-left:20px}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-content{margin-left:24px}}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic{display:flex;justify-content:center;padding-inline:24px}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic svg{max-height:128px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic{padding-inline:0}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic svg{height:150px;max-height:unset}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic{flex:1 1 auto}}.googlesitekit-pagespeed-widget .googlesitekit-cta-link{font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;white-space:nowrap}.googlesitekit-pagespeed-widget .googlesitekit-table{border-spacing:0;padding:0;width:100%}.googlesitekit-pagespeed-widget .googlesitekit-table thead{display:none}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper{position:relative}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__header{align-items:flex-end;border-bottom:1px solid #ebeef0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between}@media(max-width: 599px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__header{align-items:center;flex-direction:column-reverse;justify-content:flex-end}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__data-src-tabs button.mdc-tab{margin:0 10px;text-transform:none}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__data-src-tabs button.mdc-tab .mdc-tab-indicator__content--underline{border-top-left-radius:3px;border-top-right-radius:3px;height:3px}@media(max-width: 449px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__data-src-tabs button.mdc-tab{margin:0 6px;padding:0 6px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__device-size-tab-bar-wrapper{padding:12px;width:auto}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics--field-data-unavailable{align-items:center;display:flex;height:auto;justify-content:center;padding:16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics--field-data-unavailable{min-height:285px;padding:24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content{display:flex;flex-direction:column;justify-content:flex-start;max-width:600px;width:75%}@media(max-width: 599px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content{width:100%}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content h3{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;line-height:1.33;margin:0 0 .25rem}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content p{font-size:14px;letter-spacing:.25px;line-height:1.43;margin:.25rem 0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content a{margin:0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer{border-top:1px solid #ebeef0;gap:16px;justify-content:flex-end;padding-top:0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer p,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer .googlesitekit-cta-link{font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;text-align:right}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer button.googlesitekit-cta-link{color:#6c726e;font-size:14px;font-weight:500;line-height:1.43}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer--with-action{justify-content:space-between}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer{align-items:center;display:flex;padding:18px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer{padding:18px 24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row p,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer p{color:#6c726e;letter-spacing:.25px}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row{gap:24px;justify-content:space-between}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row .googlesitekit-error-text p{color:#ac4220}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--first{padding:12px 16px 8px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--first{padding:18px 24px 12px 24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--single-item{flex-direction:row-reverse}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--last{padding:8px 16px 12px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--last{padding:12px 24px 18px 24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--hidden{visibility:hidden}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--error{align-items:flex-start;flex-direction:column;padding:12px 16px 8px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--error{padding:18px 24px 12px 24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations{box-shadow:inset 0 1px 0 rgba(0,0,0,.1);display:flex;flex-direction:column;padding:16px 16px 0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-pagespeed-recommendations__title{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;letter-spacing:.1px;line-height:1.25}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion{border-top-left-radius:16px;border-top-right-radius:16px;color:#000}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion+.googlesitekit-accordion{border-radius:0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion:last-of-type{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-pagespeed-recommendations__title,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion:last-child{margin-bottom:16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations{padding:24px 24px 0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-pagespeed-recommendations__title,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion:last-child{margin-bottom:24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed__recommendations-cta--hidden{visibility:hidden}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed__zero-recommendations{display:flex;justify-content:center}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed__zero-recommendations svg{max-height:150px}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__data-src-tabs{display:flex;gap:12px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__data-src-tabs{gap:20px;padding-left:24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__device-size-tab-bar-wrapper{display:flex;padding-right:24px}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__values .googlesitekit-preview-block{padding:18px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__values .googlesitekit-preview-block{padding:18px 24px}}.googlesitekit-pagespeed-report-metric .googlesitekit-pagespeed-report-metric-value-container{align-items:flex-end;display:flex;flex-direction:column;font-size:14px;justify-content:center;letter-spacing:.25px;line-height:1.43;text-align:right}.googlesitekit-pagespeed-report-metric .googlesitekit-pagespeed-report-metric-value__display-value,.googlesitekit-pagespeed-report-metric .googlesitekit-pagespeed-report-metric-value__rating{width:auto}.googlesitekit-pagespeed-report-metric .googlesitekit-pagespeed-report-metric-value__display-value{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.25;white-space:nowrap}.googlesitekit-pagespeed-report-metric--fast{color:#46732b}.googlesitekit-pagespeed-report-metric--average{color:#895a00}.googlesitekit-pagespeed-report-metric--slow{color:#ac4220}.googlesitekit-pagespeed-report-metric__title{align-items:center;color:#161b18;column-gap:8px;display:flex;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;letter-spacing:.1px;line-height:1.25}.googlesitekit-pagespeed-report-metric__title .googlesitekit-info-tooltip{display:inline-flex}.googlesitekit-pagespeed-report-metric__badge{margin-left:6px;vertical-align:bottom}.googlesitekit-pagespeed-report-metric__hint-text{color:#6c726e;letter-spacing:.25px;line-height:1.5;margin-top:.5em}.googlesitekit-pagespeed-report__row--unavailable .googlesitekit-pagespeed-report-metric__title,.googlesitekit-pagespeed-report__row--unavailable .googlesitekit-pagespeed-report-metric__description,.googlesitekit-pagespeed-report__row--unavailable .googlesitekit-pagespeed-report-metric-value{color:#999f9b}.googlesitekit-subtle-notification{align-items:flex-start;background-color:#b8e5ca;border-radius:16px;color:#265c3b;display:flex;flex-direction:column;gap:10px;padding:14px 16px}@media(min-width: 600px){.googlesitekit-subtle-notification{align-items:center;flex-direction:row;gap:16px;padding:14px 24px}}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__icon{display:flex}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;line-height:1.33}@media(min-width: 600px){.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content{flex:1;font-size:18px}}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content p{margin:0 0 10px}@media(min-width: 600px){.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content p{margin:0}}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content p>a{color:inherit;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-subtle-notification .mdc-button{font-weight:500;margin:0 auto;min-height:32px;padding:6px 16px}.googlesitekit-subtle-notification .mdc-button.mdc-button--tertiary:not(:disabled){color:#265c3b}@media(min-width: 600px){.googlesitekit-subtle-notification .mdc-button{margin:0}}.googlesitekit-subtle-notification .mdc-button.mdc-button--raised{font-weight:500;padding:6px 16px}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__action{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:end;width:100%}@media(min-width: 600px){.googlesitekit-subtle-notification .googlesitekit-subtle-notification__action{justify-content:initial;width:initial}}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__action .mdc-button{margin:0}.googlesitekit-subtle-notification p.googlesitekit-subtle-notification__secondary_description{font-weight:400}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__cta svg{margin-inline-start:6px}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning{background-color:#ffe4b1}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .googlesitekit-subtle-notification__icon,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .googlesitekit-subtle-notification__content{color:#4e3300}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(:disabled){background-color:#4e3300}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:hover::before{opacity:.08}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:not(:disabled){color:#4e3300}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(:disabled){background-color:rgba(225,177,85,.6)}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:hover::before{opacity:.04}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(:disabled){color:#4e3300}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(:disabled),.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(:disabled){background-color:#e1b155}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(:disabled),.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active::after,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active::after,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:hover::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:hover::before{opacity:.04}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active.mdc-ripple-upgraded,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(:disabled),.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(:disabled){color:#4e3300}.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__primary-cell{padding:16px 16px 0}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__primary-cell{padding:24px}}.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__title{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:.1px;line-height:1.25;margin:0 0 10px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__title{font-size:22px;font-weight:400;line-height:1.27}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__title{font-size:28px;font-weight:400;line-height:1.286}}.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__description p{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__description p{font-size:14px;letter-spacing:.25px;line-height:1.43}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__description p{font-size:16px;letter-spacing:.5px;line-height:1.5}}.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__actions-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin:20px 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__actions-wrapper{gap:10px;margin-bottom:0}}.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative}.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper svg{max-height:136px;scale:1.26;transform-origin:center 2px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper svg{height:100%;max-height:346px;position:absolute;scale:1.31;top:18px;transform-origin:initial}}.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__primary-cell{padding:20px 16px 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__primary-cell{padding:24px}}.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__cells{display:grid;grid-template-columns:1fr}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__cells{gap:48px;grid-template-columns:1fr 1fr}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__title{font-size:22px;font-weight:400;letter-spacing:0;line-height:1.27}}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__title{font-size:28px;line-height:1.286}}.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__description{letter-spacing:.2px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__description{font-size:14px;letter-spacing:.25px;line-height:1.43}}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__description{letter-spacing:.5px}}.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper{min-height:136px}@media(min-width: 451px){.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper{min-height:158px}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper svg{scale:1;top:0}}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-consent-mode-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper svg{scale:1.31;top:18px}}.googlesitekit-wizard{padding-top:10px}@media(min-width: 600px){.googlesitekit-wizard{padding-left:10px;padding-right:10px}}.googlesitekit-wizard .googlesitekit-opt-in{margin-bottom:8px;margin-top:8px}.googlesitekit-wizard .googlesitekit-wizard__asterisk{color:#ac4220}.googlesitekit-wizard .googlesitekit-wizard__asterisk--space{margin-left:3px}.googlesitekit-wizard .googlesitekit-wizard__error-text{color:#ac4220;font-weight:500}.googlesitekit-wizard-auth{border-bottom:1px solid #ebeef0;display:flex;padding-bottom:40px}.googlesitekit-wizard-auth .googlesitekit-wizard-auth__image{border-radius:50%;display:block;flex:0 0 auto;height:32px;margin-right:16px;width:32px}@media(min-width: 600px){.googlesitekit-wizard-auth .googlesitekit-wizard-auth__image{height:64px;width:64px}}@media(min-width: 960px){.googlesitekit-wizard-auth .googlesitekit-wizard-auth__image{margin-right:24px}}.googlesitekit-wizard-auth .googlesitekit-wizard-auth__title{margin:0 0 10px}.googlesitekit-wizard-auth .googlesitekit-wizard-auth__text{margin:0}.googlesitekit-wizard-component .googlesitekit-wizard-component__title{display:inline-block;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;margin:0 0 10px}.googlesitekit-wizard-component .googlesitekit-wizard-component__logo{display:inline-block;margin:0 16px 8px 0;vertical-align:bottom}.googlesitekit-wizard-component .googlesitekit-wizard-component__logo img{display:block}.googlesitekit-wizard-component .googlesitekit-wizard-component__description{margin:0 0 17px 0}@media(min-width: 960px){.googlesitekit-wizard-component .googlesitekit-wizard-component__description{margin:0 0 29px 0}}.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs{align-items:center;display:flex;flex-wrap:wrap;margin:0}.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs>div{margin:16px 16px 16px 0}@media(min-width: 960px){.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs>div{margin:24px 24px 24px 0}}.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs--multiline{display:block}.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs--multiline>div{margin:0;width:100%}.googlesitekit-wizard-component .googlesitekit-wizard-component__action{margin:24px 0 0 0}@media(min-width: 600px){.googlesitekit-wizard-component .googlesitekit-wizard-component__action{align-items:center;display:flex;justify-content:space-between}}@media(min-width: 960px){.googlesitekit-wizard-component .googlesitekit-wizard-component__action{margin:36px 0 0 0}}.googlesitekit-wizard-component .googlesitekit-wizard-component__skip{display:flex;flex:1 1 auto;justify-content:space-between;margin-top:16px}@media(min-width: 600px){.googlesitekit-wizard-component .googlesitekit-wizard-component__skip{margin-left:16px;margin-top:0}}@media(min-width: 960px){.googlesitekit-wizard-component .googlesitekit-wizard-component__skip{margin-left:24px}}.googlesitekit-wizard-component .googlesitekit-wizard-component__steps{font-size:12px;letter-spacing:.2px}.googlesitekit-wizard-component-nav{align-items:center;display:flex}.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__button{cursor:pointer}.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon{display:inline-block;opacity:.6}.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon:focus,.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon:active,.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon:hover{opacity:1}.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon--reverse{transform:rotate(180deg)}.googlesitekit-wizard-module{border:1px solid #ebeef0;height:100%;padding:16px;width:100%}@media(min-width: 960px){.googlesitekit-wizard-module{padding:24px}}.googlesitekit-wizard-module .googlesitekit-wizard-module__logo{align-items:flex-end;display:flex;height:36px}.googlesitekit-wizard-module .googlesitekit-wizard-module__logo img{display:block}.googlesitekit-wizard-module .googlesitekit-wizard-module__title{margin:15px 0 10px}.googlesitekit-wizard-module .googlesitekit-wizard-module__text{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-wizard-module .googlesitekit-wizard-module__switch{float:right}.googlesitekit-wizard-module .googlesitekit-wizard-module__switch .spinner{margin-top:-5px}.googlesitekit-wizard-module .googlesitekit-wizard-module__cta{font-size:12px;letter-spacing:.2px}.googlesitekit-wizard-progress{background-color:#fff}@media(min-width: 600px){.googlesitekit-wizard-progress{padding-left:10px;padding-right:10px}}@media(min-width: 600px){.googlesitekit-wizard-progress{border-bottom:1px solid #ebeef0}}.googlesitekit-wizard-progress .googlesitekit-wizard-progress__subtitle{margin:10px 0 17px}.googlesitekit-wizard-progress .googlesitekit-wizard-progress__title{margin:0 0 10px}@media(min-width: 600px){.googlesitekit-wizard-progress .googlesitekit-wizard-progress__title{margin:0 0 30px}}.googlesitekit-wizard-progress .googlesitekit-wizard-progress__description{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0 0 10px}@media(min-width: 600px){.googlesitekit-wizard-progress .googlesitekit-wizard-progress__description{margin:0 0 30px}}.googlesitekit-wizard-progress .googlesitekit-wizard-progress__steps{display:flex;padding:16px}@media(min-width: 960px){.googlesitekit-wizard-progress .googlesitekit-wizard-progress__steps{padding:24px 0 0 0}}.googlesitekit-plugin .googlesitekit-wizard-progress-step{display:none;flex:1;flex-wrap:nowrap;text-align:center}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-wizard-progress-step{display:block;margin-bottom:40px}}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-wrapper{position:relative}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-wrapper::before{position:absolute;top:50%;transform:translateY(-50%);background-color:#ebeef0;content:"";display:block;height:2px;left:-16px;right:-16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-wrapper::before{left:-24px;right:-24px}}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number{background-color:#ebeef0;border:15px solid #fff;border-radius:50%;color:#333935;font-size:14px;height:54px;letter-spacing:.25px;line-height:1.43;margin:0 auto;position:relative;width:54px;z-index:2}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--inprogress{background-color:#446199;color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--warning{background-color:#895a00;color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--warning svg{color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--error{background-color:#ac4220;color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--error svg{color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--completed{background-color:#46732b;color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--completed svg{color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-text--warning,.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-text--error,.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-text--completed{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-icon{align-items:center;display:flex;height:100%;justify-content:center}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__text{color:#5f6561;font-size:14px;font-weight:500;letter-spacing:.25px;margin:0}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__text span{color:#ac4220;display:inline-block;margin-left:5px}.googlesitekit-plugin .googlesitekit-wizard-progress-step--current{display:block}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--1 .googlesitekit-wizard-progress-step__number-wrapper::after,.googlesitekit-plugin .googlesitekit-wizard-progress-step--completeSetup .googlesitekit-wizard-progress-step__number-wrapper::after{position:absolute;top:50%;transform:translateY(-50%);background-color:#fff;content:"";display:block;height:4px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--1 .googlesitekit-wizard-progress-step__number-wrapper::after{left:-16px;right:50%}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--1 .googlesitekit-wizard-progress-step__number-wrapper::after{left:-24px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--completeSetup .googlesitekit-wizard-progress-step__number-wrapper::after{left:50%;right:-16px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--completeSetup .googlesitekit-wizard-progress-step__number-wrapper::after{right:-24px}}.googlesitekit-wizard-step{background-color:#fff;overflow:hidden;padding-bottom:16px;padding-top:16px}@media(min-width: 600px){.googlesitekit-wizard-step{padding-left:10px;padding-right:10px}}@media(min-width: 960px){.googlesitekit-wizard-step{padding-bottom:24px;padding-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__title{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;margin:0 0 10px}.googlesitekit-wizard-step .googlesitekit-wizard-step__text{margin:0}.googlesitekit-wizard-step .googlesitekit-wizard-step__subtitle{margin:16px 0 0 0}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__subtitle{margin-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs{align-items:center;display:flex;flex-wrap:wrap;margin:0}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs>div{margin:16px 16px 16px 0}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs>div{margin:24px 24px 24px 0}}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs>.googlesitekit-setup-module__input{margin:1em 0}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs--multiline{display:block}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs--multiline>div{margin:0;width:100%}.googlesitekit-wizard-step .googlesitekit-wizard-step__action{margin-top:16px}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__action{margin-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:0}.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify>*:first-child{margin-right:16px;margin-top:16px}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify>*:first-child{margin-right:24px;margin-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify>*:last-child{flex:0 0 auto;margin-top:16px}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify>*:last-child{margin-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__back{margin-left:8px}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .mdc-layout-grid{padding:0}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .mdc-layout-grid__inner{grid-template-columns:1fr;overflow:hidden;position:relative}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-content__wrapper{padding:24px 24px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-content__wrapper{max-width:56%;padding:35px 24px 31px}}@media(min-width: 1024px)and (max-width: 1279px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-content__wrapper{max-width:60%;padding:35px 24px 31px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-content__wrapper{max-width:54%;padding:34px 24px 43px}}@media(min-width: 800px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-preview-block{max-width:42%;min-height:100%;position:absolute;right:0;top:0}}@media(min-width: 1500px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-preview-block{max-width:30%}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper{overflow:hidden}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper.mdc-layout-grid__cell{grid-column:1;grid-row:auto;padding-top:20px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper.mdc-layout-grid__cell{grid-column:unset;grid-column-end:span 4;grid-row:1/-1;padding-top:0}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{display:block;margin:0 auto;max-height:140px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:310px;max-width:45%;position:absolute;right:0;top:0}}@media(min-width: 1181px)and (max-width: 1279px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:340px;top:-35px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:290px;top:0}}@media(min-width: 1440px1px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{top:-50px}}@media(min-width: 1700px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:340px;max-width:35%}}@media(min-width: 2200px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:370px;right:-15px;top:-65px}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-publisher-win__title{color:#161b18;display:grid;font-size:16px;font-weight:400;letter-spacing:.1px;line-height:1.25;margin:0;place-content:center}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-publisher-win__title{font-size:22px;letter-spacing:unset;line-height:1.27;place-content:start}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-publisher-win__title{font-size:28px;line-height:1.286}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta p{color:#161b18;display:grid;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:5px 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta p{font-size:14px;letter-spacing:.25px;line-height:1.14}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta p{font-size:16px;letter-spacing:.5px;line-height:1.25}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper{display:flex;flex-wrap:wrap;gap:4px;margin-top:20px}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper a,.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper button{place-content:center;text-align:center;width:auto}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper{gap:10px}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper{margin-top:24px}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper a,.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper button{width:auto}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper .googlesitekit-cta-link{color:#6c726e}.googlesitekit-plugin .googlesitekit-widget-key-metrics-footer{padding:0 8px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget-key-metrics-footer{padding:0}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary div.mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer div.googlesitekit-widget-key-metrics-footer__cta-wrapper{gap:6px;grid-template-columns:1fr 1fr}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary div.mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer div.googlesitekit-widget-key-metrics-footer__cta-wrapper span{display:block}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary div.mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer div.googlesitekit-widget-key-metrics-footer__cta-wrapper span{display:inline}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary div.mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer div.googlesitekit-widget-key-metrics-footer__cta-wrapper .googlesitekit-cta-link{color:#108080}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All .googlesitekit-widget-key-metrics-text__wrapper{text-align:center}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All .googlesitekit-widget-key-metrics-text__wrapper{text-align:initial}}@media(min-width: 800px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:228px;position:absolute;right:0;top:-25px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:265px;top:-25px}}@media(min-width: 1024px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:310px;right:0;top:-46px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:260px;right:0;top:-14px}}@media(min-width: 2200px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:370px;right:0;top:-67px}}.googlesitekit-plugin .googlesitekit-km-connect-ga4-cta .googlesitekit-publisher-win__title{color:#ac4220;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif}.googlesitekit-plugin .googlesitekit-km-connect-ga4-cta .googlesitekit-widget-key-metrics-actions__wrapper{justify-content:center}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-km-connect-ga4-cta .googlesitekit-widget-key-metrics-actions__wrapper{justify-content:flex-start}}@media(min-width: 800px){html[dir=rtl] .googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-preview-block{left:0;right:unset}}@media(min-width: 960px){html[dir=rtl] .googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-svg__wrapper svg{left:0;right:unset;transform:scaleX(-1)}}@media(min-width: 2200px){html[dir=rtl] .googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-svg__wrapper svg{left:-15px}}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .mdc-layout-grid__cell--span-2-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .mdc-layout-grid__cell--span-2-phone{width:auto;grid-column-end:span 4}}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-header__title{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-header__title .googlesitekit-new-badge{margin-left:12px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item,.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab{background-color:#ebeef0;color:#161b18;font-size:12px;font-weight:500;min-height:28px;padding:6px 14px;--mdc-ripple-fg-opacity: 0}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items{background:#fff;display:flex;flex-wrap:nowrap;gap:12px;left:0;margin:0 16px 15px;overflow:auto;position:sticky;top:0;white-space:nowrap;z-index:1}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items{flex-wrap:wrap;margin:0 25px 25px;overflow:hidden;white-space:unset}}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab-scroller__scroll-content{gap:10px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab{height:unset;line-height:unset}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab.mdc-tab--active{background-color:#b8e5ca}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab .mdc-tab-indicator>.mdc-tab-indicator__content{display:none}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab .mdc-tab__content{position:initial}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item{overflow:visible}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item svg{margin-right:7px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item-new-dot{align-items:center;background-color:#fff;border-radius:50%;display:flex;height:10px;justify-content:center;position:absolute;right:0;top:0;width:10px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item-new-dot::after{background-color:#573195;border-radius:50%;content:"";display:block;height:6px;right:0;top:0;width:6px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items-row{display:flex;flex-wrap:nowrap;gap:10px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items-row{flex-wrap:wrap}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items-row:last-child .googlesitekit-chip-tab-group__chip-item:nth-last-child(2),.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items-row:last-child .googlesitekit-chip-tab-group__chip-item:last-child{padding:6px 23px}}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item--active{background-color:#b8e5ca}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item-svg__suggested path{fill:#161b18}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item-count{margin-left:3px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-selection-panel-item{align-items:center}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-selection-panel-item .googlesitekit-badge{background-color:#573195;color:#fff;font-size:12px;line-height:1.33;margin-right:1px;padding:4px 8px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-selection-panel-item .googlesitekit-selection-box{padding:0 4px 10px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__graphic{align-items:center;display:flex;flex-direction:column;margin-top:10%}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__graphic svg{max-height:160px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__graphic svg{max-height:unset}}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-item-mobile-svg{margin-right:7px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-item-mobile-svg svg{display:block}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-item-mobile-svg.googlesitekit-chip-tab-group__tab-item-mobile-svg--suggested svg path{fill:#161b18}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-acr-km-selection-panel{width:578px}}.googlesitekit-plugin .googlesitekit-acr-km-selection-panel .googlesitekit-selection-panel-items{flex:1}.googlesitekit-plugin .googlesitekit-acr-km-selection-panel .googlesitekit-selection-panel-footer__actions{width:100%}.googlesitekit-plugin .googlesitekit-acr-km-selection-panel .googlesitekit-selection-panel-footer__actions .googlesitekit-selection-panel-footer__item-count{margin-right:auto;order:1}.googlesitekit-plugin .googlesitekit-acr-km-selection-panel .googlesitekit-selection-panel-footer__actions button{order:2}.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions{width:100%}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions{flex-wrap:wrap;justify-content:flex-end}}.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions .googlesitekit-selection-panel-footer__item-count{margin-right:auto;order:1}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions .googlesitekit-selection-panel-footer__item-count{order:1;text-align:left;width:100%}}.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions button{order:2}.googlesitekit-plugin .googlesitekit-acr-subtle-notification{background-color:#e3d1ff;color:#462083;padding:14px 24px}.googlesitekit-plugin .googlesitekit-acr-subtle-notification .mdc-button--raised:not(:disabled){background-color:#462083}.googlesitekit-plugin .googlesitekit-acr-subtle-notification .googlesitekit-subtle-notification__content,.googlesitekit-plugin .googlesitekit-acr-subtle-notification .mdc-button--tertiary:not(:disabled),.googlesitekit-plugin .googlesitekit-acr-subtle-notification p>a{color:inherit}.googlesitekit-plugin .googlesitekit-acr-subtle-notification .googlesitekit-subtle-notification__action{grid-gap:10px;justify-content:flex-end}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-acr-subtle-notification .googlesitekit-subtle-notification__action{grid-gap:16px}}.googlesitekit-plugin .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .mdc-layout-grid{padding:0}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification{background:transparent}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .mdc-layout-grid,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .mdc-layout-grid__inner{display:block}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-widget__body .mdc-layout-grid{margin:0}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-widget__body .mdc-layout-grid:nth-child(2){margin:15px 0 0}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-acr-subtle-notification{display:flex}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-cta-link{-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events{background-color:#ffe4b1}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events{gap:10px}}.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events .mdc-button--raised:not(:disabled){background-color:#4e3300}.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events .googlesitekit-subtle-notification__content,.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events .mdc-button--tertiary:not(:disabled),.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events .googlesitekit-subtle-notification__icon svg{color:#4e3300}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change h2{font-size:28px}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__content{margin-top:15px}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__content h3{font-size:14px;font-weight:500;margin:0}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.mdc-list-item,.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined .googlesitekit-view-only-menu li.googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.googlesitekit-view-only-menu__list-item{font-size:12px;min-height:auto;padding:4px 0}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.mdc-list-item::before,.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined .googlesitekit-view-only-menu li.googlesitekit-view-only-menu__list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.googlesitekit-view-only-menu__list-item::before{display:none}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.mdc-list-item:last-child,.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined .googlesitekit-view-only-menu li.googlesitekit-view-only-menu__list-item:last-child,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.googlesitekit-view-only-menu__list-item:last-child{border:none}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__actions{border-top:none}@media(max-width: 600px){.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__actions button{width:100%}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__actions button:last-child{margin-top:5px}}.googlesitekit-plugin .googlesitekit-setup{padding-top:10px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup{padding-left:10px;padding-right:10px}}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-opt-in{margin-bottom:8px;margin-top:8px}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__step{border-bottom:1px solid #ebeef0;margin-bottom:16px;padding-bottom:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__step{margin-bottom:24px;padding-bottom:24px}}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__title{display:inline-block;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;margin:.67em 0}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__notice{font-weight:500}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__description+.googlesitekit-setup__notice{margin-top:1em}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__notice-text{display:inline-block;margin-left:5px;vertical-align:middle}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__footer{border-top:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__splash{border-bottom:1px solid #ebeef0;padding-left:10px;padding-right:10px}.googlesitekit-plugin .googlesitekit-setup-compat{max-width:60rem}.googlesitekit-plugin .googlesitekit-start-setup-wrap{display:flex}.googlesitekit-plugin .googlesitekit-start-setup{margin-right:8px}.googlesitekit-plugin .googlesitekit-start-setup+.googlesitekit-cta-link{margin-left:8px}.googlesitekit-plugin .googlesitekit-setup__wrapper{background-color:#fff;border-radius:16px}.googlesitekit-plugin .googlesitekit-setup__wrapper .googlesitekit-setup__intro-title{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.14;margin:0 0 17px}.googlesitekit-plugin .googlesitekit-setup__warning{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-setup__warning svg{color:#895a00;width:34px}.googlesitekit-plugin .googlesitekit-setup__warning div{flex:1;margin:0 0 0 24px}.googlesitekit-plugin .googlesitekit-setup__content{margin:0 auto;max-width:465px;padding:2rem 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__content{max-width:none;padding:0}}.googlesitekit-plugin .googlesitekit-setup__content .googlesitekit-setup__description{margin:0}.googlesitekit-plugin .googlesitekit-setup__content .googlesitekit-opt-in{margin:2rem 0}.googlesitekit-plugin .googlesitekit-setup__icon{text-align:center}.googlesitekit-plugin .googlesitekit-setup__icon svg{height:auto;max-width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__icon{align-self:center;order:2}}.googlesitekit-plugin .googlesitekit-setup-analytics-notice{background-color:#f8fafb;border-radius:16px;display:flex;flex-direction:column-reverse;margin:24px 0 0;padding:16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-analytics-notice{padding:24px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-analytics-notice{align-items:center;flex-flow:row nowrap}}.googlesitekit-plugin .googlesitekit-setup-analytics-notice label{color:#333935;font-size:16px;letter-spacing:.5px;line-height:1.5;padding-top:8px}.googlesitekit-plugin .googlesitekit-setup-analytics-notice .mdc-form-field{align-items:flex-start}.googlesitekit-plugin .googlesitekit-setup-analytics-notice__icon{margin:0 0 24px}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-analytics-notice__icon{margin:0;padding-left:24px}}.googlesitekit-plugin .googlesitekit-setup-analytics-notice__icon svg{display:block;margin:0 auto;max-width:378px;width:100%}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-analytics-notice__icon svg{margin:0;width:378px}}.googlesitekit-plugin .googlesitekit-setup-module{flex:1 1 auto}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__step{margin-bottom:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__step{margin-bottom:24px}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__step:last-child{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__logo{display:inline-block;margin:0 16px 0 0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__logo img{display:block;height:auto;width:40px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__title{display:inline-block;margin:0 0 10px;vertical-align:bottom}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__text--no-margin{margin:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+p,.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+.googlesitekit-settings-notice{margin-top:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+.googlesitekit-settings-notice{margin-top:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__title+p{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__title+p~p{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__user{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__user-image{border-radius:50%;height:32px;margin-right:10px;width:32px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs{align-items:center;display:flex;flex-wrap:wrap;margin:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs>div{margin:16px 16px 16px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs>div{margin:24px 24px 24px 0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs>.googlesitekit-setup-module__input{margin:1em 0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+.googlesitekit-error-text{margin-top:-16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+.googlesitekit-error-text{margin-top:-24px}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs--collapsed{align-items:flex-start}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs--collapsed>div{margin-top:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs--multiline{display:block}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs--multiline>div{margin:0;width:100%}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__switch{margin:16px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__switch{margin:24px 0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action{margin:24px 0 0 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action{align-items:center;display:flex}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action{margin:36px 0 0 0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action .googlesitekit-cta-link{font-size:14px;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action .mdc-button+.googlesitekit-cta-link{margin-left:24px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__sub-action{display:flex;margin-top:16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__sub-action{margin-left:8px;margin-top:0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__list-wrapper{background:#ebeef0;border-radius:16px;margin:16px 0 0 0;padding:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__list-wrapper{margin-top:24px}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__cta{margin-top:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__cta{margin-top:24px}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__cta-link{display:inline-block;margin-right:50px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__cta-link:last-child{margin-right:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action+.googlesitekit-setup-module__footer-text{margin:24px 0 0 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action+.googlesitekit-setup-module__footer-text{margin:36px 0 0 0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__header{align-items:center;display:flex;flex-wrap:wrap;grid-gap:10px 12px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__header .googlesitekit-setup-module__logo,.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__header .googlesitekit-setup-module__title{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__badges{align-items:center;display:flex;flex-wrap:wrap;gap:10px 12px}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect{--adsense-connect-cta-fade-in-duration: 7.5s;--adsense-connect-cta-fade-out-duration: 500ms}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption-container{display:grid;grid-template-columns:1fr;margin:0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption-container{display:block;padding:32px 0 0}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption{color:#999f9b;display:flex;grid-column-start:1;grid-row-start:1;margin:0;opacity:0;transition:color 500ms ease-in-out}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption{margin-bottom:24px;opacity:1}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption .googlesitekit-setup-module--adsense__stage-caption-indicator{align-self:stretch;background-color:rgba(0,0,0,.1);display:none;margin-right:20px;width:1px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption .googlesitekit-setup-module--adsense__stage-caption-indicator{display:block}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption h4{color:#7b807d;font-size:18px;font-weight:400;margin:0 0 4px}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption p{color:#7b807d;font-size:12px;margin:0}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption *{transition:inherit}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--static h4,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter h4,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave h4{color:#446199}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--static p,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter p,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave p{color:#333935}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--static{opacity:1}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--static .googlesitekit-setup-module--adsense__stage-caption-indicator{background-color:#446199}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter .googlesitekit-setup-module--adsense__stage-caption-indicator,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave .googlesitekit-setup-module--adsense__stage-caption-indicator{background-image:linear-gradient(0deg, #446199 0%, #446199 100%);background-repeat:no-repeat}@keyframes googlesitekit-fade-in{0%{opacity:0}6.67%{opacity:1}100%{opacity:1}}@keyframes googlesitekit-fade-out{0%{opacity:1}50%{opacity:0}100%{opacity:0}}@keyframes googlesitekit-caption-indicator-enter{from{background-size:100% 0%}to{background-size:100% 100%}}@keyframes googlesitekit-caption-indicator-leave{from{background-size:100% 100%}to{background-size:100% 0%}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter{animation:googlesitekit-fade-in var(--adsense-connect-cta-fade-in-duration) linear forwards}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter{animation:none}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter .googlesitekit-setup-module--adsense__stage-caption-indicator{animation:googlesitekit-caption-indicator-enter 500ms linear forwards;background-position:0% 0%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave{animation:googlesitekit-fade-out var(--adsense-connect-cta-fade-out-duration) linear forwards}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave{animation:none}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave .googlesitekit-setup-module--adsense__stage-caption-indicator{animation:googlesitekit-caption-indicator-leave 500ms linear forwards;background-position:0% 100%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image-container{display:grid;grid-template-columns:1fr;height:100%;padding:16px 0;width:100%}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image-container{height:calc(100% + 70px);margin-bottom:12px;margin-top:-70px}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image{align-items:center;display:flex;grid-column-start:1;grid-row-start:1;height:100%;justify-content:center;opacity:0;width:100%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image svg{flex:1;max-height:312px;max-width:100%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image--current--static{opacity:1}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image--current--enter{animation:googlesitekit-fade-in var(--adsense-connect-cta-fade-in-duration) linear forwards}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image--current--leave{animation:googlesitekit-fade-out var(--adsense-connect-cta-fade-out-duration) linear forwards}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator{display:grid;grid-auto-flow:column;grid-gap:6px;justify-content:flex-start;margin:12px 0 20px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator{display:none}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li{background-color:rgba(0,0,0,.1);border-radius:1px;height:2px;width:26px;--adsense-connect-cta-indicator-duration: 500ms}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--static{background-color:#446199}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--enter,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--leave{background-image:linear-gradient(0deg, #446199 0%, #446199 100%);background-repeat:no-repeat}@keyframes googlesitekit-indicator-enter{from{background-size:0% 100%}to{background-size:100% 100%}}@keyframes googlesitekit-indicator-leave{from{background-size:100% 100%}to{background-size:0% 100%}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--enter{animation:googlesitekit-indicator-enter var(--adsense-connect-cta-indicator-duration) linear forwards;background-position:0% 0%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--leave{animation:googlesitekit-indicator-leave var(--adsense-connect-cta-indicator-duration) linear forwards;background-position:100% 0%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__action{display:flex;flex-wrap:wrap;gap:4px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__action{gap:10px}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__footer-text{align-items:flex-end;display:flex;justify-content:flex-end}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__footer-text a{-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__footer-text p{font-size:12px;margin:0}.googlesitekit-plugin #js-googlesitekit-settings .googlesitekit-layout__header{border:none}.googlesitekit-plugin #js-googlesitekit-settings .googlesitekit-layout__header .mdc-layout-grid{padding-bottom:0}.googlesitekit-plugin #js-googlesitekit-settings .googlesitekit-layout__header .mdc-layout-grid h3.googlesitekit-layout__header-title{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;font-weight:500}.googlesitekit-plugin #js-googlesitekit-settings .googlesitekit-settings-module .googlesitekit-settings-module__footer .mdc-layout-grid{padding-top:0}.googlesitekit-plugin .googlesitekit-settings-connect-module{border:1px solid #ebeef0;border-radius:8px;height:100%;padding:16px;width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-connect-module{padding:24px}}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__logo{align-items:flex-end;display:flex;height:36px}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__logo img{display:block}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__heading{align-items:center;display:flex;flex-wrap:wrap;grid-gap:10px 12px;margin:15px 0 10px}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__title{margin:0}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__badges{display:flex;flex-wrap:wrap;grid-gap:10px 12px}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__text{font-size:14px;letter-spacing:.25px;line-height:1.43;margin:0}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__switch{float:right}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__switch .spinner{margin-top:-5px}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__cta{font-size:14px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-switch__enabled-notice,.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirements__description{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-switch-description--loading{margin:14px 0}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirements__grid{padding:0}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirement{border:1px solid #ebeef0;border-radius:8px;display:flex;flex-direction:column;height:100%;padding:16px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirement{padding:24px}}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirement h4{font-size:16px;font-weight:500;line-height:1.25;margin:0}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirement__description{flex:1;font-size:12px;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-notice{border-radius:8px;display:flex;flex-direction:column}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-notice{flex-direction:row}}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-notice .googlesitekit-settings-notice__icon{align-self:start;margin-bottom:6px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-notice .googlesitekit-settings-notice__icon{align-self:center;margin-bottom:0}}.googlesitekit-plugin .googlesitekit-settings-consent-mode__recommendation-notice{background-color:#dce8ff;color:#2d4a82;font-size:14px;line-height:1.43;margin-bottom:0;margin-top:8px}.googlesitekit-plugin .googlesitekit-settings-consent-mode__recommendation-notice svg{color:#6380b8}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__footer{align-items:flex-start;display:flex;flex:1;flex-direction:column;justify-content:center}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-wrapper{align-items:center;display:flex;flex-direction:column;gap:6px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-wrapper{flex-direction:row;gap:10px}}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-icon{align-items:center;align-self:start;background-color:#b8e5ca;border-radius:11px;color:#1f4c04;display:flex;height:22px;justify-content:center;margin-top:10px;min-width:22px;width:22px}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-icon svg{height:10px;width:10px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-icon{align-self:center;margin-top:0}}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__install-button{padding:6px 16px}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-management-plugin-notice{margin-bottom:0;padding:10px 16px}.googlesitekit-plugin .googlesitekit-module-settings-group{background-color:#f3f5f7;border-radius:8px;display:flex;flex-direction:column;gap:20px;padding:24px 16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-module-settings-group{padding:24px}}.googlesitekit-plugin .googlesitekit-module-settings-group h4{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;line-height:1.25;margin:0}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-module-settings-group__switch{display:flex}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-module-settings-group__switch .mdc-switch{top:3px}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-first-party-mode-toggle__switch-badge{position:relative;top:-2px}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-module-settings-group__helper-text{color:#6c726e;flex-basis:100%;font-size:12px;margin:6px 0 0 42px}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-analytics-enable-enhanced-measurement--loading{padding-top:11px}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-analytics-enable-enhanced-measurement__progress--settings-edit{margin-bottom:12px}.googlesitekit-settings-meta .googlesitekit-settings-meta__profile{align-items:center;display:flex;margin:16px 0}@media(min-width: 960px){.googlesitekit-settings-meta .googlesitekit-settings-meta__profile{margin:24px 0}}.googlesitekit-settings-meta .googlesitekit-settings-meta__profile .googlesitekit-cta-link{font-style:italic}.googlesitekit-settings-meta .googlesitekit-settings-meta__avatar{border-radius:50%;height:64px;margin-right:16px;width:64px}@media(min-width: 960px){.googlesitekit-settings-meta .googlesitekit-settings-meta__avatar{margin-right:24px}}.googlesitekit-settings-meta .googlesitekit-settings-meta__user-details{font-size:12px;letter-spacing:.2px}.googlesitekit-settings-meta .googlesitekit-settings-meta__user{font-weight:700;margin:0}.googlesitekit-settings-meta .googlesitekit-settings-meta__unlink{font-size:12px;letter-spacing:.2px}.googlesitekit-plugin .googlesitekit-settings-module{border-bottom:1px solid #ebeef0;position:relative}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status{align-items:center;color:#161b18;display:flex;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;margin:0;text-align:right}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status--not-connected{color:#895a00}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status-icon{align-items:center;background-color:#46732b;border-radius:50%;color:#fff;display:flex;height:19px;justify-content:center;margin-left:16px;width:19px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status-icon--not-connected,.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status-icon--warning{background-color:#fff;color:#fece72}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__content{border-top:1px solid #ebeef0;display:none}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__content .mdc-layout-grid__cell{font-size:14px;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__content--open{border:none;display:block;margin-top:-10px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__heading{align-items:center;display:flex;flex-wrap:wrap;row-gap:12px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__title{align-items:center;display:flex;font-size:16px;line-height:1.25;margin:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__heading-icon{height:auto;margin-right:16px;width:40px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__heading-badges{align-items:center;display:flex;flex-wrap:wrap;row-gap:12px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__footer-cancel{margin-left:8px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-header{margin:0 0 8px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group{border-bottom:1px solid #ebeef0;margin-bottom:1em}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group:last-child,.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group:has(+.googlesitekit-module-settings-group){border-bottom:none;margin-bottom:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group--read-only{border:none}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group--read-only>span{font-size:14px;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group--read-only .mdc-text-field-helper-text{color:#6c726e}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group--no-border{border:none}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group-title{font-size:14px;font-weight:500}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-items{align-items:stretch;display:flex;flex-wrap:wrap;margin:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-error-notice__icon{height:32px;width:32px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-error-notice__retry-button+.googlesitekit-settings-module__meta-items{margin-top:14px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-select{margin:0 16px 16px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-select{margin:0 24px 24px 0}}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item{margin:0 32px 16px 0;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item{width:auto}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item{margin:0 48px 24px 0}}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item p{font-size:12px;letter-spacing:.2px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-type{color:#161b18;font-size:14px;font-weight:700;letter-spacing:.25px;line-height:1.33;margin:0 0 8px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-data{color:#161b18;font-size:14px;letter-spacing:.25px;line-height:1.43;margin:0;overflow:hidden;text-overflow:ellipsis}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-data .mdc-linear-progress{margin:8px 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-data--wrap{word-break:break-all}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-data--tiny{font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-info{color:#5f6561;font-size:.75rem}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item--data-only{align-items:flex-end;display:flex}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item--nomargin{margin:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-setup-module--analytics .googlesitekit-settings-module__meta-item--data-only{margin-top:-16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-setup-module--analytics .googlesitekit-settings-module__meta-item--data-only{margin-top:0}}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__inline-items{display:flex;flex-wrap:wrap}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__inline-item{margin:0 1rem 0 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__edit-button-icon svg{color:#6380b8}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__remove-button-icon{color:#cc6240}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__remove-button{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__error{background-color:#ac4220;color:#fff;font-weight:700}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__apikey-cancel{font-size:12px;letter-spacing:.2px;margin-left:24px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header{cursor:pointer;display:block;padding:0 32px 0 0;position:relative;width:100%}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header:focus{outline-offset:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-icon-wrapper{height:20px;justify-content:center;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:20px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-icon-wrapper svg{color:#5b5b61;height:8px;width:12px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .mdc-button{color:#ebeef0;font-weight:500}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .mdc-button:disabled{background-color:rgba(8,42,65,.08);color:rgba(3,14,7,.32)}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-settings-module__status p{margin:8px 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-settings-module__status--not-connected .mdc-button{margin:-1.5px 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-settings-module__status--loading{align-items:center;display:flex;min-width:150px;padding:.5px 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header--open .googlesitekit-icon-wrapper{transform:translateY(-50%) rotate(180deg)}.googlesitekit-plugin .googlesitekit-settings-module--active .googlesitekit-overlay{background:rgba(203,208,211,.75)}.googlesitekit-plugin .googlesitekit-settings-module--error{border:3px solid #ac4220}.googlesitekit-settings-notice{background-color:#ffe4b1;border-radius:16px;color:rgba(0,0,0,.7);display:flex;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:1.5em 0;padding:16px}@media(min-width: 960px){.googlesitekit-settings-notice{padding-left:24px}}.googlesitekit-settings-notice .googlesitekit-settings-notice__body{flex-grow:1;min-width:0}@media(min-width: 600px){.googlesitekit-settings-notice .googlesitekit-settings-notice__body{display:flex}}.googlesitekit-settings-notice .googlesitekit-settings-notice__children-container{flex-grow:1}.googlesitekit-settings-notice .googlesitekit-settings-notice__icon{line-height:0;margin-right:10px}.googlesitekit-settings-notice .googlesitekit-settings-notice__text{flex-grow:1;line-height:20px;max-width:1098px}.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__leading,.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__notch,.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__trailing,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#b8bdb9}.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-floating-label,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label{color:#161b18}.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#161b18}.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#7f9cd4}.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{color:#161b18}.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#161b18}.googlesitekit-settings-notice--single-row .googlesitekit-settings-notice__learn-more{flex-shrink:0;line-height:20px;text-align:right}@media(min-width: 600px){.googlesitekit-settings-notice--single-row .googlesitekit-settings-notice__learn-more{padding-left:24px;text-align:inherit}}.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__body{flex-direction:column}.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__inner-row{max-width:1098px;padding-top:16px}@media(min-width: 600px){.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__inner-row{display:flex;padding-top:24px}}@media(min-width: 960px){.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__inner-row{padding-top:24px}}.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__learn-more{flex-shrink:0;text-align:right}@media(min-width: 600px){.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__learn-more{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:4px;padding-right:12px;text-align:left}}@media(min-width: 960px){.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__learn-more{margin-left:24px}}.googlesitekit-settings-notice--warning{background-color:#ffe4b1;color:rgba(0,0,0,.7)}.googlesitekit-settings-notice--info{background-color:#ebeef0;color:#161b18}.googlesitekit-settings-notice--info .googlesitekit-cta-link{color:#108080}.googlesitekit-settings-notice--suggestion{background-color:#f8faff;color:#7f9cd4}.googlesitekit-setup-module .googlesitekit-settings-notice,.googlesitekit-setup .googlesitekit-settings-notice{max-width:1098px}.googlesitekit-settings-notice-ua-cutoff-warning,.googlesitekit-settings-notice-adsense-status-migration{max-width:none}.googlesitekit-settings-notice-ua-cutoff-warning .googlesitekit-settings-notice__icon,.googlesitekit-settings-notice-adsense-status-migration .googlesitekit-settings-notice__icon{padding-top:10px}.googlesitekit-settings-notice-ua-cutoff-warning .googlesitekit-settings-notice__body,.googlesitekit-settings-notice-adsense-status-migration .googlesitekit-settings-notice__body{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.googlesitekit-settings-notice-ua-cutoff-warning .googlesitekit-settings-notice__text,.googlesitekit-settings-notice-adsense-status-migration .googlesitekit-settings-notice__text{flex:1 1 50%}.googlesitekit-settings-notice-offline-notice{align-items:center;bottom:0;gap:16px;position:fixed;right:0;z-index:9}@media(max-width: 600px){.googlesitekit-settings-notice-offline-notice{flex-direction:column;gap:10px;text-align:center;width:100%}}.googlesitekit-settings-notice-offline-notice .googlesitekit-settings-notice__text{font-size:14px}.googlesitekit-settings-notice-offline-notice .mdc-button{min-height:35px}.googlesitekit-settings-notice-ua-cutoff-warning__notice{margin:0 14px 0 0}.googlesitekit-settings-notice-adsense-top-earning-pages-widget{align-items:normal;flex-flow:column wrap;gap:15px;padding-bottom:24px;padding-top:24px}@media(min-width: 960px){.googlesitekit-settings-notice-adsense-top-earning-pages-widget{align-items:center;flex-direction:row}}.googlesitekit-settings-notice-adsense-top-earning-pages-widget .googlesitekit-settings-notice__icon{margin-right:5px}.googlesitekit-settings-notice-adsense-top-earning-pages-widget .googlesitekit-settings-notice__text{font-size:14px;font-weight:500;line-height:1.14}.googlesitekit-settings-notice-adsense-top-earning-pages-widget .googlesitekit-settings-notice__inner-row{font-size:14px;line-height:1.43;padding-top:3px}.googlesitekit-plugin .googlesitekit-settings-user-input .googlesitekit-settings-user-input__heading-container{border-bottom:1px solid #ebeef0;margin:12px 0;padding-bottom:12px}.googlesitekit-plugin .googlesitekit-settings-user-input .googlesitekit-settings-user-input__heading{color:#161b18;font-size:12px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-settings-user-input .googlesitekit-user-input__preview-contents{overflow:hidden;padding:0}.googlesitekit-plugin .googlesitekit-user-input__notification-text-loading{margin:14px 0}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup p{font-size:14px;line-height:1.43;margin-top:0}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup .googlesitekit-cta-link{margin-top:6px}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup-progress{margin-top:16px}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup-progress p{margin-bottom:10px}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup-success{margin-bottom:30px}.googlesitekit-plugin .googlesitekit-user-input{margin-bottom:30px}.googlesitekit-plugin .googlesitekit-user-input__header{padding-bottom:30px;padding-top:30px}.googlesitekit-plugin .googlesitekit-user-input__header .mdc-layout-grid__inner{align-items:center}.googlesitekit-plugin .googlesitekit-user-input__heading{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:28px;font-weight:400;line-height:1.286}.googlesitekit-plugin .googlesitekit-user-input__subtitle{color:#6c726e;font-size:14px;line-height:1.14}.googlesitekit-plugin .googlesitekit-user-input__content{padding:0}.googlesitekit-plugin .googlesitekit-user-input__content .mdc-linear-progress__buffer{background-color:#f8faff}.googlesitekit-plugin .googlesitekit-user-input__congrats{background-color:#fff;margin:-10px;padding:35px}.googlesitekit-plugin .googlesitekit-user-input__congrats h1{margin-bottom:0}.googlesitekit-plugin .googlesitekit-user-input__note{color:#5f6561;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-user-input__error{background-color:#ffded3;bottom:77px;color:#7a1e00;display:flex;gap:7px;left:0;margin:42px 0 0;padding:1px 30px;position:fixed;right:0}.googlesitekit-plugin .googlesitekit-user-input__error .googlesitekit-error-notice__icon{height:24px;margin:12px 0}.googlesitekit-plugin .googlesitekit-user-input__error .googlesitekit-error-text{color:#7a1e00;font-weight:500}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-user-input__error{left:160px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__error{bottom:97px;left:160px;padding:1px 40px}}.googlesitekit-plugin .googlesitekit-user-input__footer{align-items:center;background-color:#fff;border-top:1px solid #ebeef0;bottom:0;display:flex;flex-direction:column;flex-direction:row-reverse;justify-content:space-between;left:0;margin:42px 0 0;padding:18px 14px;position:fixed;right:0;z-index:1}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-user-input__footer{left:160px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__footer{left:160px;padding:28px 24px}}.googlesitekit-plugin .googlesitekit-user-input__footer-nav{column-gap:4px;display:flex}.googlesitekit-plugin .googlesitekit-user-input__footer-cancel{border:none;padding:0}.googlesitekit-plugin .googlesitekit-user-input__select-options-wrapper{grid-row:span 2}.googlesitekit-plugin p.googlesitekit-user-input__select-instruction{border-bottom:1px solid #ebeef0;color:#161b18;font-size:12px;line-height:1.33;margin:0;padding-bottom:15px}@media(min-width: 600px){.googlesitekit-plugin p.googlesitekit-user-input__select-instruction{color:#6c726e;font-size:18px;font-weight:500}}.googlesitekit-plugin .googlesitekit-user-input__author p{color:#6c726e;font-size:12px;letter-spacing:.25px;line-height:1.33;margin:0 0 3px}.googlesitekit-plugin .googlesitekit-user-input__author .googlesitekit-user-input__author-info{align-items:center;color:#5f6561;display:flex;font-size:12px;letter-spacing:.2px;margin-top:4px}.googlesitekit-plugin .googlesitekit-user-input__author .googlesitekit-user-input__author-info img{border-radius:50%;height:24px;margin-right:8px;width:24px}.sb-show-main .googlesitekit-plugin .googlesitekit-user-input__footer,.sb-show-main .googlesitekit-plugin .googlesitekit-user-input__error{left:0}@media(min-width: 783px){.auto-fold .googlesitekit-plugin .googlesitekit-user-input__footer{left:36px}}@media(min-width: 960px){.auto-fold .googlesitekit-plugin .googlesitekit-user-input__footer{left:160px;padding:28px 24px}}.folded .googlesitekit-plugin .googlesitekit-user-input__question .googlesitekit-user-input__footer,.folded .googlesitekit-plugin .googlesitekit-user-input__preview .googlesitekit-user-input__footer{left:36px}@media(min-width: 783px){.auto-fold .googlesitekit-plugin .googlesitekit-user-input__error{left:36px}}@media(min-width: 960px){.auto-fold .googlesitekit-plugin .googlesitekit-user-input__error{left:160px}}.folded .googlesitekit-plugin .googlesitekit-user-input__question .googlesitekit-user-input__error,.folded .googlesitekit-plugin .googlesitekit-user-input__preview .googlesitekit-user-input__error{left:36px}.googlesitekit-plugin .googlesitekit-user-input__question,.googlesitekit-plugin .googlesitekit-user-input__preview{background-color:#fff;border-radius:0 0 24px 24px}.googlesitekit-plugin .googlesitekit-user-input__question-progress{padding:0 17px 5px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__question-progress{padding:0 24px 10px}}.googlesitekit-plugin .googlesitekit-user-input__question-contents{padding:17px;position:relative}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__question-contents{padding:28px 24px}}.googlesitekit-plugin .googlesitekit-user-input__question-number,.googlesitekit-plugin p.googlesitekit-user-input__preview-subheader{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.14;margin-bottom:10px}.googlesitekit-plugin .googlesitekit-user-input__question-instructions{display:flex;flex-direction:column}.googlesitekit-plugin .googlesitekit-user-input__question-instructions h1{color:#161b18;font-size:14px;font-weight:500;line-height:1.33;margin:0 0 14px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__question-instructions h1{font-size:32px;font-weight:400;line-height:1.25;margin:0 0 16px}}.googlesitekit-plugin .googlesitekit-user-input__question-instructions .googlesitekit-user-input__question-instructions--description{color:#161b18;font-size:12px;font-weight:400;letter-spacing:.25px;line-height:1.158;margin:0 0 1em}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__question-instructions .googlesitekit-user-input__question-instructions--description{font-size:14px;line-height:1.43;margin:0 0 25px}}.googlesitekit-plugin .googlesitekit-user-input__question-info p{color:#6c726e;font-size:12px;letter-spacing:.25px;line-height:1.33;margin:0 0 3px}.googlesitekit-plugin p.googlesitekit-user-input__question-notice{color:#6c726e;font-size:12px;font-weight:400;letter-spacing:.25px;line-height:1.33;margin:0 0 1em}@media(min-width: 960px){.googlesitekit-plugin p.googlesitekit-user-input__question-notice{margin:0 0 16px}}.googlesitekit-plugin .googlesitekit-user-input__question--progress{margin:0 auto}.googlesitekit-plugin .googlesitekit-user-input__preview .googlesitekit-user-input__question-instructions--notice{background-color:#cbd0d3;color:#161b18;display:block;font-size:14px;letter-spacing:.25px;line-height:1.43;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__preview .googlesitekit-user-input__question-instructions--notice{display:inline-block;margin:0;width:auto}}.googlesitekit-plugin .googlesitekit-user-input__preview-loading{padding:50px 23px}.googlesitekit-plugin .googlesitekit-user-input__preview-contents{padding:17px 17px 26px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview-contents{padding:28px 24px 18px}}.googlesitekit-plugin p.googlesitekit-user-input__preview-subheader{margin-bottom:14px}@media(min-width: 960px){.googlesitekit-plugin p.googlesitekit-user-input__preview-subheader{margin-bottom:37px}}.googlesitekit-plugin .googlesitekit-user-input__preview-notice{padding:0 17px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview-notice{padding:0 24px}}.googlesitekit-plugin .googlesitekit-user-input__preview-answers{display:flex;flex-wrap:wrap;gap:18px 12px;padding-bottom:8px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview-answers{padding-bottom:11px}}.googlesitekit-plugin .googlesitekit-user-input__preview-answer{align-items:center;background-color:#b8e5ca;border-radius:24px;color:#161b18;display:flex;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;padding:8px 13px;word-break:break-word}.googlesitekit-plugin .googlesitekit-user-input__preview-group .googlesitekit-user-input__author{margin:24px 0 28px}.googlesitekit-plugin .googlesitekit-user-input__preview-group .googlesitekit-user-input__select-option:not(:last-child){border-bottom:none}.googlesitekit-plugin .googlesitekit-user-input__preview-group+.googlesitekit-user-input__preview-group{border-top:1px solid #ebeef0;margin-top:12px;padding-top:12px}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title{display:flex;flex-direction:column-reverse;justify-content:space-between;margin-bottom:14px}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title.googlesitekit-user-input__preview-group-title-with-subtitle{margin-bottom:0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview-group-title{flex-direction:row}}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title p{color:#202124;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;margin:0}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button{align-items:center;display:flex;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;gap:4px;margin-left:auto;padding:3px 7px 3px 12px}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button[disabled]{color:#b8bdb9}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button svg{fill:none;transition:transform .2s ease-out}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button:hover svg,.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button:focus svg{fill:none}.googlesitekit-plugin .googlesitekit-user-input__preview-group-subtitle p{margin-top:0}.googlesitekit-plugin .googlesitekit-user-input__preview-group-subtitle .mdc-layout-grid{padding:0 0 25px}.googlesitekit-plugin .googlesitekit-user-input__preview-group-subtitle .googlesitekit-user-input__preview-group-subtitle-component{margin-top:14px}.googlesitekit-plugin .googlesitekit-user-input__preview-group--editing .googlesitekit-user-input__preview-group-title button svg{transform:rotate(180deg)}.googlesitekit-plugin .googlesitekit-user-input__preview-actions{align-items:center;column-gap:4px;display:flex}.googlesitekit-plugin .googlesitekit-user-input__preview-actions .googlesitekit-cta-link{color:#6c726e}.googlesitekit-plugin .googlesitekit-user-input__preview-group--individual-cta{position:relative}.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing){pointer-events:none}.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing)::after{background-color:#cbd0d3;content:"";height:calc(100% + 13px);opacity:.75;position:absolute;top:0;z-index:1}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing)::after{margin-left:-24px;margin-left:calc(var(--mdc-layout-grid-margin-desktop, 24px) * -1);width:calc(100% + 24px * 2);width:calc(100% + var(--mdc-layout-grid-margin-desktop, 24px) * 2)}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing)::after{margin-left:-16px;margin-left:calc(var(--mdc-layout-grid-margin-tablet, 16px) * -1);width:calc(100% + 16px * 2);width:calc(100% + var(--mdc-layout-grid-margin-tablet, 16px) * 2)}}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing)::after{margin-left:-16px;margin-left:calc(var(--mdc-layout-grid-margin-phone, 16px) * -1);width:calc(100% + 16px * 2);width:calc(100% + var(--mdc-layout-grid-margin-phone, 16px) * 2)}}.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):first-child::after{height:calc(100% + 26px);top:-13px}.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):last-child::after{border-radius:0 0 24px 24px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):last-child::after{height:calc(100% + 24px);height:calc(100% + var(--mdc-layout-grid-margin-desktop, 24px))}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):last-child::after{height:calc(100% + 16px);height:calc(100% + var(--mdc-layout-grid-margin-tablet, 16px))}}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):last-child::after{height:calc(100% + 16px);height:calc(100% + var(--mdc-layout-grid-margin-phone, 16px))}}.googlesitekit-plugin .googlesitekit-user-input__select-options{margin:0 0 20px}.googlesitekit-plugin .googlesitekit-user-input__select-option{align-items:center;display:flex;padding:20px 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__select-option{padding:10px 0}}.googlesitekit-plugin .googlesitekit-user-input__select-option .mdc-radio{margin-right:8px}.googlesitekit-plugin .googlesitekit-user-input__select-option label{color:#161b18;font-size:14px;letter-spacing:.25px;line-height:1.43}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__select-option label{padding:10px 0}}.googlesitekit-plugin .googlesitekit-user-input__select-option:not(:last-child){border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-user-input__text-options{border:2px solid #999f9b;border-radius:4px;margin:13px 0 8px;padding:0 12px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__text-options{margin-top:0}}.googlesitekit-plugin .googlesitekit-user-input__text-options>div{margin:12px;margin-left:0}.googlesitekit-plugin .googlesitekit-user-input__text-options svg{color:#fff}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field,.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field__input{background-color:transparent}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field{height:32px;width:100%}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field__input{border:none;margin:0;padding:0 6px}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field__input::placeholder{color:#b8bdb9}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-line-ripple{display:none}.googlesitekit-plugin .googlesitekit-user-input__text-option{align-items:center;background-color:#b8e5ca;border-radius:8px;color:#265c3b;display:inline-flex;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;padding:3px 3px 3px 12px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-user-input__text-option button{border-radius:100px;margin:0;min-width:35px;padding:0 12px}.googlesitekit-plugin .googlesitekit-user-input__text-option button svg path{fill:#265c3b}.googlesitekit-plugin .googlesitekit-user-input__text-option .mdc-text-field{width:auto}.googlesitekit-plugin .googlesitekit-user-input__text-option .mdc-text-field .mdc-text-field__input{color:#265c3b;font-weight:500}.googlesitekit-plugin .googlesitekit-user-input__text-option+div{margin-top:0}.googlesitekit-plugin .googlesitekit-user-input__text-options>div:last-child{margin-right:0}.googlesitekit-plugin .googlesitekit-user-input__buttons button{letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-user-input__buttons button.mdc-button{border:none;padding:10px 16px}.googlesitekit-plugin .googlesitekit-user-input__buttons button.googlesitekit-cta-link{color:#6c726e}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-user-input__buttons button span.googlesitekit-user-input__responsive-text{display:none}}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{bottom:0;position:fixed;width:100vw;z-index:99}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer{background:#fff;border-top:1px solid #ebeef0;bottom:0;padding:24px 36px;position:static}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__content{margin-top:0}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__item-count{order:1;text-align:left;width:100%}}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__actions{justify-content:space-between;width:100%}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__actions button{order:2}}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-error{padding:14px 48px}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-module-page .googlesitekit-user-input__content{margin-bottom:30px;padding-bottom:30px}.sb-show-main .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{left:0}.auto-fold .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{left:0;width:100vw}@media(min-width: 783px){.auto-fold .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{left:36px;width:calc(100vw - 36px)}}@media(min-width: 960px){.auto-fold .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{left:160px;width:calc(100vw - 160px)}}.folded .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__question .googlesitekit-user-input__footer-container--fullscreen,.folded .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__preview .googlesitekit-user-input__footer-container--fullscreen{left:36px;width:calc(100vw - 36px)}.googlesitekit-showing-feature-tour .react-joyride__overlay{mix-blend-mode:multiply !important}.googlesitekit-showing-feature-tour .react-joyride__spotlight{border-radius:16px !important}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card{--mdc-theme-surface: #3c7251;border-radius:8px;box-shadow:none;color:#fff;position:relative}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a{-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a:active,.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a:hover,.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a:visited{color:#fff}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a:focus{box-shadow:none;outline:1px dotted #fff;outline-offset:3px}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card svg{color:#fff}.googlesitekit-tooltip-title{color:#fff;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:.5px;line-height:1.5;margin-bottom:4px;margin-top:0}.googlesitekit-tooltip-body{box-sizing:border-box;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:300;letter-spacing:.25px;line-height:1.43;max-width:352px;padding:24px 56px 2px 24px}.googlesitekit-tooltip-buttons{line-height:1em}.googlesitekit-tooltip-button,.googlesitekit-tooltip-button:not(:disabled){color:#fff;height:auto;letter-spacing:normal;line-height:1em;min-width:initial;padding:0;text-transform:none}.googlesitekit-tooltip-button:focus{outline:1px dotted #fff;outline-offset:6px}.googlesitekit-tooltip-button:not(:first-of-type){margin-left:28px}.googlesitekit-tooltip-close{height:auto;min-width:auto;padding:0;position:absolute;right:29px;top:29px}.googlesitekit-tooltip-close:focus{outline:1px dotted #fff;outline-offset:6px}.googlesitekit-tooltip-close .mdc-button__label{display:none}.mdc-card__actions.googlesitekit-tooltip-actions{align-items:center;display:flex;justify-content:space-between;padding:12px 24px 18px;text-align:right}.googlesitekit-tooltip-indicators{display:flex;margin:0;margin-right:16px;padding:0}.googlesitekit-tooltip-indicator{background:#fff;border-radius:50%;height:8px;list-style:none;margin-bottom:0;margin-right:8px;opacity:.5;width:8px}.googlesitekit-tooltip-indicator.active{opacity:1}body.googlesitekit-showing-feature-tour--dashboardSharing .googlesitekit-sharing-settings-dialog .mdc-dialog__container,body.googlesitekit-showing-feature-tour--dashboardSharing .googlesitekit-sharing-settings-dialog .mdc-dialog__scrim{opacity:1;transform:none}body.googlesitekit-showing-feature-tour--dashboardSharing .googlesitekit-sharing-settings-dialog:not(.mdc-dialog--open):not(.mdc-dialog--opening){display:flex !important;opacity:0;z-index:-99}.googlesitekit-plugin .googlesitekit-text-field-conversion-tracking-id .googlesitekit-text-field-conversion-tracking-id-prefix.mdc-text-field__icon{color:#161b18;left:20px;top:17.5px}.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-settings-module__fields-group-title{font-size:14px;font-weight:500}.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-setup-module__inputs>.googlesitekit-settings-module__fields-group{margin:0}.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-setup-module__create-account{margin:16px 0 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-setup-module__create-account{margin:24px 0 0}}.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-setup-module__action{margin-bottom:32px}.googlesitekit-plugin .googlesitekit-ads-settings-fields .googlesitekit-settings-module__fields-group-title{margin-bottom:0}.googlesitekit-plugin .googlesitekit-ads-settings-fields p.googlesitekit-settings-module__fields-group-helper-text{color:#6c726e;font-size:14px;font-weight:400;margin-bottom:20px;margin-top:6px}.googlesitekit-plugin .googlesitekit-ads-settings-fields p.mdc-dialog__lead{font-size:14px}.googlesitekit-plugin .googlesitekit-ads-settings-fields .googlesitekit-setup-module__inputs{margin-bottom:34px}.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__primary-cell{padding:20px 16px 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__primary-cell{padding:24px}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__title{font-size:22px;font-weight:500;line-height:1.27}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__title{font-size:28px;line-height:1.286}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__description{font-size:14px;line-height:1.43}}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__description{font-size:16px;line-height:1.5}}.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__actions-wrapper{gap:4px;margin-bottom:27px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__actions-wrapper{gap:10px;margin-bottom:0;padding:10px 0}}.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper svg{max-height:143px;scale:1}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper svg{max-height:272px;right:70px;scale:1.6;top:10px;width:65%}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper svg{right:50px;scale:1.1;width:unset}}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-pax-embedded-app .card-content{padding:0}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-pax-embedded-app .mdc-card.card{border-radius:16px;box-shadow:none;margin-top:0;max-width:unset;padding:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget .googlesitekit-pax-embedded-app .mdc-card.card{padding:24px}}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-pax-embedded-app .mdc-card.card .notification{margin-top:0}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery .googlesitekit-publisher-win,.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery .mdc-layout-grid{padding:0}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__content{margin-bottom:30px}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__content p{margin:10px 0 0}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__graphics{text-align:center}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__graphics p{color:#6c726e;font-size:12px;margin:0 34px}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__graphics{text-align:left}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__graphics p{margin:0}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__complete-content{padding-left:35px}}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__complete-content p{color:#6c726e;font-size:16px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__hero-graphic{margin:0 2rem;text-align:center}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__hero-graphic svg{max-width:400px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer{border-top:1px solid #ebeef0;display:flex;flex-direction:column;justify-content:space-between;margin:42px 0 0;padding:14px 24px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer{align-items:center;flex-direction:row}}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__complete-actions .mdc-button{margin-right:10px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer-nav{align-items:center;column-gap:20px;display:flex;padding:17px 17px 33px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer-nav{flex-direction:reverse;padding:0}}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer-cancel button{color:#6c726e}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery-notification .googlesitekit-publisher-win__image-small{text-align:center}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery-notification .googlesitekit-publisher-win__image-small svg{max-width:233px}.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta{align-items:center;flex-wrap:wrap;margin-top:24px;padding:24px;row-gap:15px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta{flex-wrap:nowrap}}.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta .googlesitekit-settings-notice__icon{margin-right:20px}.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta .googlesitekit-settings-notice__text{font-size:14px;font-weight:500;line-height:1.14}.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta .googlesitekit-settings-notice__inner-row{flex-wrap:wrap;font-size:14px;line-height:1.43;padding-top:3px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta .googlesitekit-settings-notice__button{margin-left:25px;white-space:nowrap}}.googlesitekit-plugin .googlesitekit-settings-module__ad-blocking-recovery-toggles{margin-top:20px}.googlesitekit-plugin .googlesitekit-settings-module__ad-blocking-recovery-toggles .googlesitekit-settings-module__meta-item{margin-bottom:0}.googlesitekit-plugin .googlesitekit-settings-module__ad-blocking-recovery-toggles .googlesitekit-settings-module__meta-item p{left:42px;margin-top:10px;position:relative}.googlesitekit-plugin .googlesitekit-settings-module__ad-blocking-recovery-toggles .googlesitekit-settings-notice{margin-bottom:0}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step .googlesitekit-stepper__step-content>p{color:#6c726e;font-size:16px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step .googlesitekit-stepper__step-content>p:first-child{margin-top:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step .googlesitekit-stepper__step-content>p:first-child{margin-top:8px}}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-place-tags p.googlesitekit-ad-blocking-recovery__error-protection-tag-info{font-size:14px;line-height:1.43;margin:0 0 20px 34px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-create-message .googlesitekit-ad-blocking-recovery__create-message-footer-actions{align-items:center;display:flex;flex-wrap:wrap;gap:26px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-create-message .googlesitekit-ad-blocking-recovery__create-message-footer-actions .googlesitekit-cta-link{color:#6c726e;font-weight:500}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-create-message .googlesitekit-ad-blocking-recovery__create-message-footer{display:inline-block;margin-top:12px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-create-message p.googlesitekit-ad-blocking-recovery__create-message-footer-note{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33;margin-top:24px}.googlesitekit-plugin .googlesitekit-adsense-alert.googlesitekit-publisher-win .googlesitekit-publisher-win__module-name{font-size:16px}.googlesitekit-plugin .googlesitekit-adsense-alert .googlesitekit-publisher-win__image-small svg{width:68px}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__desc{align-items:center;display:inline-flex}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__desc .googlesitekit-ga4-reminder-banner__description-icon{margin-right:10px;vertical-align:middle}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__desc .googlesitekit-ga4-reminder-banner__description-icon--info path{fill:#3c7251}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__desc .googlesitekit-ga4-reminder-banner__description-icon--error path{fill:#ac4220}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__icon{min-height:22px}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__secondary-pane{margin:0}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__secondary-pane .googlesitekit-publisher-win__secondary-pane-title{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin:8px 0 0}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__secondary-pane .googlesitekit-publisher-win__secondary-pane-list li{color:#757575;display:flex;max-width:22rem}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__secondary-pane .googlesitekit-publisher-win__secondary-pane-list li svg{fill:currentColor;flex:none;margin-right:8px}.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__title{font-size:18px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__title{max-width:66.67%}}.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__footer p,.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__footer ul{color:#757575}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__footer p,.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__footer ul{max-width:66.67%}}.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-ga4-setup-banner__field-group{align-items:center;column-gap:30px;display:flex;flex-wrap:wrap;margin:25px 0 10px;row-gap:24px}.googlesitekit-plugin .googlesitekit-ga4-setup-banner__footer-text-list{list-style-type:none;margin:0}.googlesitekit-plugin .googlesitekit-ga4-setup-banner__footer-text-list li{font-size:14px;letter-spacing:.25px;line-height:1.5;margin:.5em 0}.googlesitekit-plugin .googlesitekit-ga4-setup-banner__footer-text-list li:first-child{margin-top:1em}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-module__fields-group-title+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-account,.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-module__fields-group-title+.googlesitekit-setup-module__inputs .googlesitekit-analytics-4__select-property,.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-module__fields-group-title+.googlesitekit-setup-module__inputs .googlesitekit-analytics-4__select-webdatastream{margin-top:8px}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-analytics-enable+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-property,.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-analytics-enable+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-profile{margin-top:8px}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-analytics-ads-conversion-id-notice{align-items:center;display:flex;margin:16px 0 0;padding:14px 24px}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-analytics-ads-conversion-id-notice .googlesitekit-settings-notice__icon{margin-right:16px}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-analytics-ads-conversion-id-notice .googlesitekit-settings-notice__text{font-size:14px;font-weight:500}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-analytics-ads-conversion-id-notice .googlesitekit-settings-notice__button button{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif}.googlesitekit-plugin .googlesitekit-setup-module--analytics .googlesitekit-analytics-enable+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-property,.googlesitekit-plugin .googlesitekit-setup-module--analytics .googlesitekit-analytics-enable+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-profile{margin-top:8px}.googlesitekit-plugin .googlesitekit-setup-module--analytics .googlesitekit-setup-module__inputs--multiline .googlesitekit-analytics-webdatastreamname{margin-bottom:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--analytics .googlesitekit-setup-module__inputs--multiline .googlesitekit-analytics-webdatastreamname{margin-bottom:24px}}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__already-enabled-label{display:flex;gap:6px;margin-top:1px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__already-enabled-tick{align-items:center;background-color:#3c7251;border-radius:11px;color:#fff;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-left:16px;width:20px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__already-enabled-tick svg{height:10px;width:10px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement--loading{padding-top:10px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__progress--settings-edit{margin:0 0 21px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__progress--settings-view{margin:0 0 13px}.googlesitekit-plugin .googlesitekit-enhanced-measurement-setup-banner svg,.googlesitekit-plugin .googlesitekit-enhanced-measurement-success-banner svg{max-height:175px}.googlesitekit-plugin .googlesitekit-enhanced-measurement-setup-banner__footer-notice{color:#757575;font-size:14px;letter-spacing:.25px;line-height:1.5;margin:1em 0 .5em}.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-primary-cell{padding:0 24px 24px}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-primary-cell{padding-bottom:0}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-text__wrapper .googlesitekit-publisher-win__title{font-size:16px;font-weight:500;margin-bottom:10px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-text__wrapper .googlesitekit-publisher-win__title{margin-bottom:8px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-text__wrapper .googlesitekit-publisher-win__title{margin-bottom:25px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-text__wrapper p{margin-top:0}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-text__wrapper p{font-size:12px;margin-top:0}}.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-actions__wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin:25px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-actions__wrapper{margin:25px 0 0}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-actions__wrapper{gap:10px}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-actions__wrapper a,.googlesitekit-plugin .googlesitekit-audience-segmentation-setup-cta-widget .googlesitekit-widget-audience-segmentation-actions__wrapper button{font-weight:500}}.googlesitekit-plugin .googlesitekit-widget-audience-segmentation-svg__wrapper{bottom:-5px;position:relative}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile{margin-bottom:16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__header{align-items:center;border-bottom:1px solid #ebeef0;color:#161b18;display:flex;font-size:14px;justify-content:space-between;line-height:16px;padding:25px;width:100%}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__header .googlesitekit-info-tooltip{color:#108080}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__header .googlesitekit-audience-segmentation-tile__header-title{display:flex}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__header .googlesitekit-audience-segmentation-tile__header-title .googlesitekit-info-tooltip{display:inline-block;height:16px;margin-left:5px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__metrics>.googlesitekit-audience-segmentation-partial-data-notice{margin:16px 16px 10px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric{border-bottom:1px solid #ebeef0;display:flex;margin:0 16px;padding:12px 0}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric{margin:0 24px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric:last-child{border-bottom:none}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__icon{align-items:center;color:#6c726e;display:flex;margin-right:4px;min-width:36px;width:36px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__icon svg{height:20px;width:20px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__icon{justify-content:center;min-width:52px;width:52px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__container{flex-grow:1}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__container .googlesitekit-audience-segmentation-tile-metric__value{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:28px;font-weight:400;line-height:32px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__container .googlesitekit-audience-segmentation-tile-metric__title{color:#6c726e;font-size:14px;font-weight:400;letter-spacing:.25px;line-height:20px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__badge-container{align-items:center;display:flex;flex-direction:row}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__badge-container .googlesitekit-change-badge{margin-top:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__container{min-width:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__content{display:grid;gap:16px;grid-auto-columns:minmax(0, 1fr);grid-auto-flow:column;margin-top:12px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__content{gap:10px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-tile-metric__cities-metric .googlesitekit-audience-segmentation-tile-metric__cities-metric-name{color:#161b18;font-size:14px;font-weight:500;line-height:1.14;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-tile-metric__cities-metric .googlesitekit-audience-segmentation-tile-metric__cities-metric-value{color:#161b18;font-size:14px;font-weight:400;line-height:1.43}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__title{height:20px;line-height:20px;margin-bottom:10px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__title:has(.googlesitekit-audience-segmentation-partial-data-badge){align-items:center;display:flex;height:auto;justify-content:space-between;margin:4px 0 14px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-cta-link,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile__top-content-metric-name{margin-right:30px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__container,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-cta-link{min-width:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__container .googlesitekit-cta-link__contents,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__container .googlesitekit-audience-segmentation-tile__top-content-metric-name,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-cta-link .googlesitekit-cta-link__contents,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-cta-link .googlesitekit-audience-segmentation-tile__top-content-metric-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__page-metric-container{display:flex;font-size:12px;justify-content:space-between;line-height:1.33;margin:6px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-partial-data-notice{margin-top:10px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-tile-metric__no-data p{color:#161b18;font-size:12px;font-weight:400;line-height:16px;margin:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-tile-metric__no-data .mdc-button{font-weight:500;margin-top:8px;min-height:32px;padding:6px 16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile.googlesitekit-audience-segmentation-tile--partial-data .googlesitekit-audience-segmentation-tile__header{padding:19px 25px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container{align-items:center;display:flex;flex-direction:column;text-align:center}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile__header{border-bottom:none}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile__zero-data-content{padding:155px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile__zero-data-image{margin-bottom:20px;width:106px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile__zero-data-description{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.14;margin:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile-hide-cta{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;margin:6px 0;padding:6px 12px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading{margin:16px 16px 20px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading{margin:24px 24px 28px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block{margin:22px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block:first-of-type{display:none}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block:last-of-type{margin-bottom:31px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block{margin:24px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block:first-of-type{display:flex;margin-bottom:35px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error{background-color:#fff;border:2px solid #ac4220;border-radius:16px;padding:155px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container{align-items:center;display:flex;flex-direction:column;gap:24px;margin:16px auto;text-align:center}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container .googlesitekit-audience-segmentation-tile-error__image{width:190px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container .googlesitekit-audience-segmentation-tile-error__body .googlesitekit-audience-segmentation-tile-error__title{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.14;margin-top:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container .googlesitekit-audience-segmentation-tile-error__body .googlesitekit-audience-segmentation-tile-error__actions .googlesitekit-report-error-actions{color:#6c726e;flex-direction:column-reverse;font-size:12px;font-weight:400;line-height:1.33;margin:0 16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container .googlesitekit-audience-segmentation-tile-error__body .googlesitekit-audience-segmentation-tile-error__actions .googlesitekit-report-error-actions .mdc-button{font-weight:500;min-height:32px;padding:6px 16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder{min-height:542px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder .googlesitekit-widget__body{align-items:center;display:flex;justify-content:center}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__container{align-items:center;display:flex;flex-direction:column;gap:24px;max-width:340px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__image{max-width:245px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__body{text-align:center}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__body--without-selectable-audiences{margin-top:10px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__title{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.14;margin:0 0 6px}.googlesitekit-plugin p.googlesitekit-audience-segmentation-tile-placeholder__description{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;line-height:1.33;margin:0}.googlesitekit-plugin p.googlesitekit-audience-segmentation-tile-placeholder__description .googlesitekit-cta-link{font-weight:500}.googlesitekit-audience-segmentation-info-notice{align-items:center;background-color:#fff;border-radius:16px;display:flex;gap:20px;justify-content:space-between;padding:16px}@media(min-width: 960px){.googlesitekit-audience-segmentation-info-notice{padding:16px 40px}}.googlesitekit-audience-segmentation-info-notice svg{flex-shrink:0}.googlesitekit-widget--InfoNoticeWidget svg{color:#fece72}.googlesitekit-audience-segmentation-info-notice__body{align-items:center;display:flex;flex-grow:1;flex-wrap:wrap;gap:0 60px;min-width:0}.googlesitekit-audience-segmentation-info-notice__body p{flex-basis:400px;flex-grow:1}.googlesitekit-audience-segmentation-info-notice__dismiss{flex-shrink:0;margin-left:auto}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget{border:2px solid #ac4220}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-audience-segmentation-error__widget-primary-cell{padding:20px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-audience-segmentation-error__widget-primary-cell{padding:20px 36px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-publisher-win__title{display:grid;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;font-weight:500;line-height:1.33;margin:0 0 14px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-publisher-win__title{place-content:start}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-publisher-win__title{margin:14px 0}}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-report-error-actions{align-items:flex-start;display:flex;flex-direction:column-reverse}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-report-error-actions{padding-bottom:10px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-report-error-actions .mdc-button{font-weight:500;padding:6px 16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-report-error-actions .googlesitekit-error-retry-text{color:#161b18;flex:1;letter-spacing:.25px;margin:-14px 0 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-widget-audience-segmentation-error__svg-wrapper{display:flex;justify-content:flex-start;margin:16px 8px 0}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-widget-audience-segmentation-error__svg-wrapper{justify-content:space-evenly;margin:0}}.googlesitekit-info-tooltip__content.googlesitekit-info-tooltip__content--audience{color:#ebeef0}.googlesitekit-info-tooltip__content.googlesitekit-info-tooltip__content--audience a{color:#ebeef0;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles{border-radius:16px}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller{border-top-left-radius:16px;border-top-right-radius:16px}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller .mdc-tab-scroller__scroll-content .mdc-tab{pointer-events:none}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller .mdc-tab-scroller__scroll-content .mdc-tab .googlesitekit-info-tooltip{color:#108080}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller .mdc-tab-scroller__scroll-content .mdc-tab .mdc-tab__content{pointer-events:all}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller .mdc-tab-scroller__scroll-content .mdc-tab .mdc-tab__content .googlesitekit-info-tooltip{height:18px;margin-left:5px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles{background-color:transparent}}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles>.googlesitekit-widget__body .googlesitekit-widget-audience-tiles__body{display:grid;gap:16px;grid-auto-columns:1fr;grid-template-columns:1fr}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles>.googlesitekit-widget__body .googlesitekit-widget-audience-tiles__body>.googlesitekit-widget{overflow:hidden}@media(max-width: 960px){.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles>.googlesitekit-widget__body .googlesitekit-widget-audience-tiles__body>:not(.googlesitekit-audience-segmentation-error-widget){border-top-left-radius:0;border-top-right-radius:0}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles>.googlesitekit-widget__body .googlesitekit-widget-audience-tiles__body{gap:24px;grid-auto-columns:minmax(400px, 1fr);grid-auto-flow:column;grid-template-columns:repeat(auto-fit, minmax(400px, 1fr));overflow-x:auto}}.googlesitekit-plugin .googlesitekit-audience-widget__source{float:right;margin:14px 0;padding:4px 0}.googlesitekit-plugin .googlesitekit-lean-cta-banner.googlesitekit-no-audience-banner .googlesitekit-lean-cta-banner__graphic{padding-bottom:26px}.googlesitekit-plugin .googlesitekit-lean-cta-banner.googlesitekit-no-audience-banner .googlesitekit-lean-cta-banner__graphic svg{max-height:110px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner.googlesitekit-no-audience-banner .googlesitekit-lean-cta-banner__graphic{padding-bottom:20px;padding-inline:85px;padding-top:20px}}.googlesitekit-plugin .mdc-layout-grid.googlesitekit-widget-area--mainDashboardTrafficAudienceSegmentation{padding-top:3px}@media(min-width: 961px){.googlesitekit-plugin .mdc-layout-grid.googlesitekit-widget-area--mainDashboardTrafficAudienceSegmentation{padding-top:8px}}.googlesitekit-audience-segmentation-partial-data-notice{background-color:#ffe4b1;border-radius:8px;color:#4e3300;display:flex;font-size:12px;letter-spacing:.2px;line-height:1.33;padding:16px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-selection-box .googlesitekit-badge-with-tooltip{padding:4px 10px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__learn-more{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33;margin-top:auto;padding:20px 24px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-selection-panel-footer{margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice{align-items:center;background-color:#ffded3;display:flex;justify-content:space-between;padding:10px 24px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice p{color:#7a1e00;flex-basis:65%;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice p a{color:#7a1e00;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action{border-radius:100px;min-height:32px;padding:6px 16px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:not(:disabled){color:#7a1e00}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(:disabled){background-color:rgba(255,194,174,.6)}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(:disabled){color:#7a1e00}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(:disabled){background-color:#ffc2ae}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active.mdc-ripple-upgraded,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(:disabled){color:#7a1e00}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice{background-color:#f3f5f7;margin:5px 24px;padding:16px 20px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice{padding:16px}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice .googlesitekit-audience-segmentation-info-notice__body{flex-wrap:nowrap;grid-gap:0 30px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice .googlesitekit-audience-segmentation-info-notice__body{flex-wrap:wrap}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice .googlesitekit-audience-segmentation-info-notice__body p{margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice svg{height:22px;width:22px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice .googlesitekit-audience-segmentation-info-notice__dismiss{color:#161b18}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice{background-color:#f3f5f7;border-radius:8px;margin:5px 24px;padding:20px 20px 6px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-header{display:flex;justify-content:space-between}.googlesitekit-plugin .googlesitekit-audience-selection-panel p.googlesitekit-audience-selection-panel__audience-creation-notice-title{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-close svg{color:#6c726e;height:12px;width:12px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-body{display:flex;flex-direction:column;justify-content:space-between}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience{display:flex;justify-content:space-between;margin-bottom:12px;padding-top:5px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience+.googlesitekit-audience-selection-panel__audience-creation-notice-audience{border-top:1px solid #cbd0d3;padding-top:12px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience-details h3{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.43;margin-bottom:1px;margin-top:7px}.googlesitekit-plugin .googlesitekit-audience-selection-panel p.googlesitekit-audience-selection-panel__audience-creation-notice-audience-description{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience-button{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience-button .mdc-button{background-color:#161b18;min-height:32px;padding:6px 16px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-info .googlesitekit-subtle-notification{align-items:center;border-radius:8px;flex-direction:row;gap:16px;margin:18px 0;padding:8px 16px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-info .googlesitekit-subtle-notification__content{flex:1}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-info .googlesitekit-subtle-notification__content p{font-size:12px;font-weight:400}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-info .googlesitekit-subtle-notification__action{justify-content:initial;width:initial}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice{align-items:center;background-color:#fff;border:2px solid #ac4220;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:14px 16px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice{align-items:flex-start;flex-direction:column;gap:6px}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice .googlesitekit-audience-creation-error-notice__content{display:flex;flex-direction:column;gap:4px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice svg{color:#ac4220;flex-shrink:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice p.googlesitekit-audience-creation-error-notice__title{color:#161b18;font-size:14px;font-weight:500;line-height:1.43;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice p.googlesitekit-audience-creation-error-notice__description{color:#161b18;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;margin:0}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice .googlesitekit-audience-creation-error-notice__actions{align-self:flex-end;margin-top:10px}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice .googlesitekit-audience-creation-error-notice__actions .mdc-button{font-weight:500;min-height:32px;padding:6px 16px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice{align-items:center;background-color:#b8e5ca;color:#265c3b;display:flex;gap:10px;justify-content:flex-start;padding:10px 24px}.googlesitekit-plugin p.googlesitekit-audience-selection-panel__success-notice-message{color:inherit;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-icon{height:24px;width:24px}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions{margin-left:auto}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary{font-weight:500;margin:0 auto;min-height:32px;padding:6px 16px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:not(:disabled){color:#265c3b}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(:disabled){background-color:rgba(147,201,168,.6)}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(:disabled){color:#265c3b}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(:disabled){background-color:#93c9a8}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active.mdc-ripple-upgraded,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(:disabled){color:#265c3b}.googlesitekit-plugin .googlesitekit-reader-revenue-manager-publication-approved-notification .mdc-button--raised{font-weight:500;gap:0 6px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-reader-revenue-manager-publication-approved-notification{max-width:348px}}.googlesitekit-plugin .googlesitekit-settings-module--reader-revenue-manager .googlesitekit-settings-module__meta-items+.googlesitekit-publication-onboarding-state-notice{margin-top:24px}.googlesitekit-plugin .googlesitekit-setup-module--reader-revenue-manager form>.googlesitekit-cta-link{font-weight:500}.googlesitekit-plugin .googlesitekit-setup-module--reader-revenue-manager .googlesitekit-setup-module__step .googlesitekit-publication-onboarding-state-notice{margin-bottom:40px}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__title,.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__description{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__title{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__description{margin-top:3px}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__action{margin-top:40px}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__action svg{margin-left:6px}.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__primary-cell{padding:20px 16px 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__primary-cell{padding:24px}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__title{font-size:22px;line-height:1.27}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__title{font-size:28px;line-height:1.286}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__description{font-size:14px;line-height:1.43}}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__description{font-size:16px;line-height:1.5}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__actions-wrapper{gap:4px;margin-bottom:27px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__actions-wrapper{gap:10px;margin-bottom:0;padding:10px 0}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__svg-wrapper--rrm-setup-notification{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative}.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__svg-wrapper--rrm-setup-notification svg{flex:1;max-height:143px;scale:1;transform-origin:center 2px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__svg-wrapper--rrm-setup-notification svg{height:100%;max-height:272px;position:absolute;right:70px;scale:1.6;top:10px;transform-origin:initial;width:65%}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__svg-wrapper--rrm-setup-notification svg{right:50px;scale:1.1;width:unset}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__actions-wrapper{gap:0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__actions-wrapper{gap:16px}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__actions-wrapper{gap:24px}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__svg-wrapper--setup-cta-siwg{align-items:flex-end;display:flex;justify-content:center}.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__svg-wrapper--setup-cta-siwg svg{flex:1;max-height:136px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__svg-wrapper--setup-cta-siwg svg{max-height:265px}}@media(min-width: 1500px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta{height:100%;position:relative}}.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta svg{display:block;justify-self:center;max-height:180px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta svg{max-height:210px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta svg{justify-self:flex-end;max-height:274px}}@media(min-width: 1500px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta svg{max-height:300px;position:absolute;right:0;top:50%;transform:translateY(-50%)}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-badge{margin:0 0 2px 13px;padding:4px 8px}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .mdc-text-field{height:48px}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .mdc-text-field .mdc-floating-label{top:15px}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-setup-module__step-description{margin:0 0 1.7em}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-client-id-cta{font-weight:500;min-height:32px;padding:3px 18px}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-client-id-cta svg{margin-left:6px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form{display:flex;justify-content:space-between}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item{flex:2}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item{max-width:510px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item{max-width:670px}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg{flex:1;margin-bottom:-16px;overflow:hidden;position:relative;text-align:center}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg{bottom:unset;margin-bottom:-25px;min-width:40%;top:-30px}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg svg{display:none;height:100%;position:relative;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg svg{bottom:-60px;display:inline-block;max-height:260px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg svg{bottom:unset;max-height:248px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg svg{max-height:300px}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-settings-module__fields-group,.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-text-field-client-id{width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-setup-module__step p{max-width:610px}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-settings-notice__button{align-items:center;display:flex;text-wrap:nowrap}.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google{margin-top:32px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google{margin-top:0}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid{padding:24px 48px}}.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:first-child{order:2}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:first-child{order:1}}.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:last-child{order:1}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:last-child{justify-self:start;margin-left:0}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:last-child{order:2}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-settings-notice__icon{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-settings-module__footer{margin-top:30px}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google>.mdc-layout-grid{margin-bottom:0}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-text-field-client-id,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select__selected-text{height:52px}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select{width:100%}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select .mdc-select__selected-text{min-width:100%;padding-top:12px}@media(min-width: 960px)and (max-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select .mdc-select__selected-text{padding-right:28px}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select .mdc-select__dropdown-icon{bottom:14px}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select.mdc-select--focused .mdc-select__dropdown-icon{transform:rotate(180deg)}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap-on-all-pages{border-bottom:none}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap-on-all-pages{margin-top:10px}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap .mdc-switch,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap-on-all-pages .mdc-switch{margin-left:3px}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap p,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap-on-all-pages p{color:#6c726e;letter-spacing:.2px;margin:4px 0 0}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-sign-in-with-google-settings-fields__button-preview{margin-left:30px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-sign-in-with-google-settings-fields__button-preview .mdc-layout-grid__inner{display:block}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid{padding:0}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid .mdc-layout-grid .mdc-layout-grid__inner{margin-bottom:24px}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid.googlesitekit-sign-in-with-google-settings-fields__stretch-form{display:flex;flex-direction:column;height:100%;justify-content:space-between;margin-right:52px;width:100%}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid.googlesitekit-sign-in-with-google-settings-fields__stretch-form>.mdc-layout-grid__inner:last-child{margin-bottom:0}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid.googlesitekit-sign-in-with-google-settings-fields__stretch-form>.mdc-layout-grid__inner:last-child .mdc-layout-grid__cell{margin-right:14px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid.googlesitekit-sign-in-with-google-settings-fields__stretch-form>.mdc-layout-grid__inner:last-child .mdc-layout-grid__cell:last-child{margin:0}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google__preview{background-color:#cbd0d3;border-radius:4px;display:flex;flex-direction:column;height:145px;justify-content:center;padding:0 10%;position:relative;width:100%}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google__preview--label{margin:0 0 1rem;text-align:center}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google__preview--protector{height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}.googlesitekit-plugin .googlesitekit-anyone-can-register-disabled-notice{padding:12px 24px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-anyone-can-register-disabled-notice{padding-bottom:14px;padding-top:14px}}.googlesitekit-plugin .googlesitekit-anyone-can-register-disabled-notice .googlesitekit-settings-notice__icon{margin-right:16px}.googlesitekit-plugin .googlesitekit-anyone-can-register-disabled-notice .googlesitekit-settings-notice__icon svg{height:24px;width:24px}.googlesitekit-plugin .googlesitekit-anyone-can-register-disabled-notice .googlesitekit-settings-notice__text{font-size:12px;font-weight:500;line-height:1.43}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-anyone-can-register-disabled-notice .googlesitekit-settings-notice__text{font-size:14px}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__actions-wrapper{gap:4px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__actions-wrapper{gap:10px}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__svg-wrapper--fpm-setup-cta{align-items:flex-end;display:flex;justify-content:center}.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__svg-wrapper--fpm-setup-cta svg{flex:1;max-height:136px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__svg-wrapper--fpm-setup-cta svg{max-height:265px}}.googlesitekit-plugin .googlesitekit-km-widget-tile{display:flex;flex-direction:column;justify-content:space-between;padding:12px 16px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile{min-height:150px;padding:18px 24px}}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-info-tooltip{color:#108080}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__title-container{display:flex;flex-basis:50%;flex-grow:1}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__title{color:#6c726e;flex:1;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:16px;margin:0 8px 4px 0}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__body{display:flex;flex-basis:50%;flex-grow:1}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__body{flex-direction:column}}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__metric-container{flex-basis:100%}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__metric-change-container{align-self:flex-end;display:flex}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__metric-change-container{align-self:auto}}.googlesitekit-plugin .googlesitekit-km-widget-tile--numeric .googlesitekit-km-widget-tile__metric{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:32px;line-height:1.25;margin-top:4px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--numeric .googlesitekit-km-widget-tile__metric{margin:0}}.googlesitekit-plugin .googlesitekit-km-widget-tile--numeric .googlesitekit-km-widget-tile__subtext{font-size:12px;font-weight:500;line-height:1.33;margin:-1px 0 1px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--numeric .googlesitekit-km-widget-tile__subtext{font-size:14px;font-weight:400;line-height:1.43;margin:-4px 0 1px}}.googlesitekit-plugin .googlesitekit-km-widget-tile--text .googlesitekit-km-widget-tile__metric{font-size:18px;font-weight:500;margin-top:4px;text-transform:capitalize}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--text .googlesitekit-km-widget-tile__metric{margin:5px 0 0}}.googlesitekit-plugin .googlesitekit-km-widget-tile--text .googlesitekit-km-widget-tile__subtext{font-size:12px;font-weight:500;line-height:1.33;margin:2px 0 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--text .googlesitekit-km-widget-tile__subtext{font-size:14px;font-weight:400;line-height:1.43;margin:0}}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-km-widget-tile__table{display:flex;flex-direction:column;font-size:12px;margin-top:12px;width:100%}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-row{display:flex;flex-direction:row;justify-content:space-between;padding:2px 0}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-item{margin-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-item:last-child{margin-right:0;overflow:visible;text-overflow:unset}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-item strong{font-weight:500}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-item .googlesitekit-cta-link{display:inline}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-km-widget-tile__table-plain-text{color:#161b18;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0;overflow:hidden;text-overflow:ellipsis}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-zero-data{font-size:14px;line-height:1.43}.googlesitekit-plugin .googlesitekit-km-widget-tile__loading{width:100%}.googlesitekit-plugin .googlesitekit-km-widget-tile__loading .googlesitekit-km-widget-tile__loading-body{margin-top:10px}.googlesitekit-plugin .googlesitekit-km-widget-tile--error{height:100%}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error{background:#fff;border:2px solid #7a1e00;padding:14px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error{min-height:150px;padding:16px 22px}}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-cta__header{column-gap:8px;display:flex;flex-basis:50%}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-cta__header svg{color:#108080}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-cta__header_text{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;margin:0 0 10px}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-cta__title{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;font-weight:400}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions{align-items:flex-start;display:flex;flex-direction:row-reverse;gap:0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions{flex-direction:column-reverse}}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions .googlesitekit-error-retry-text{color:#161b18;flex:1;margin:0;margin-right:14px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions .googlesitekit-error-retry-text{margin-right:0}}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions button:not(.googlesitekit-cta-link),.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions a.mdc-button{align-self:flex-end;font-weight:500;min-height:32px;padding:6px 16px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions button:not(.googlesitekit-cta-link),.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions a.mdc-button{align-self:flex-start;margin-top:10px}}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions .googlesitekit-cta-link{color:#108080}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .mdc-layout-grid__inner{grid-template-rows:auto 1fr}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .mdc-layout-grid__cell{display:grid;grid-row:span 3;grid-template-columns:subgrid;grid-template-rows:subgrid}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .mdc-layout-grid__cell{grid-row:span 2}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget{display:grid;grid-column:1/-1;grid-row:1/-1;grid-template-columns:subgrid;grid-template-rows:subgrid}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-cta--error,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-km-widget-tile--error{display:grid;grid-column:1/-1;grid-row:1/-1;grid-template-rows:subgrid}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-km-widget-tile{display:grid;gap:0;grid-column:1/-1;grid-row:1/-1;grid-template-columns:subgrid;grid-template-rows:subgrid}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--connectModuleCTATile,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile{grid-column:1/-1;grid-row:1/-1}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-km-widget-tile>div{grid-column:1/-1}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-cta--error>div,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-cta--error>h3{grid-column:1/-1}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsConnectGA4All,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsSetupCTA{grid-template-columns:auto;grid-template-rows:auto}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsConnectGA4All .mdc-layout-grid__inner,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsSetupCTA .mdc-layout-grid__inner{grid-template-rows:auto}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsConnectGA4All .mdc-layout-grid__cell,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsSetupCTA .mdc-layout-grid__cell{grid-template-columns:auto;grid-template-rows:auto}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsConnectGA4All .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsSetupCTA .googlesitekit-widget__body{display:block}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer{display:inline-block}.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile{align-items:center;container:cta-tile/inline-size;display:flex}.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile .googlesitekit-km-connect-module-cta-tile__ghost-card{display:none;height:90px;margin-right:12px;max-height:90px}@container cta-tile (inline-size > 400px){.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile .googlesitekit-km-connect-module-cta-tile__ghost-card:nth-child(2){display:flex;margin-left:12px}}@container cta-tile (inline-size > 600px){.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile .googlesitekit-km-connect-module-cta-tile__ghost-card:nth-child(4){display:flex}}@container cta-tile (inline-size > 900px){.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile .googlesitekit-km-connect-module-cta-tile__ghost-card:nth-child(3){display:flex}}.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile{align-items:center;display:flex;flex:1;padding:16px 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile{padding:24px 0}}.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile__icon{display:flex;justify-content:right}.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile__content{flex:1;margin-left:8px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile__content{margin-left:12px}}.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile__content .googlesitekit-km-connect-module-cta-tile__text{margin:0 0 4px}.googlesitekit-plugin .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile{align-items:center;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;padding:16px}.googlesitekit-plugin .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile:focus{border-radius:16px;outline:1px dotted #000}.googlesitekit-plugin .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile__icon{background-color:#ebeef0;border-radius:50%;color:#6c726e;height:48px;margin:0 auto;padding:16px;width:48px}.googlesitekit-plugin .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile__text{color:#6c726e;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;margin:7px 0 0}.googlesitekit-portal-survey{bottom:24px;position:fixed;right:24px;z-index:99999}@media(max-width: 449px){.googlesitekit-portal-survey{bottom:0;right:0}}@media(min-width: 1280px){.googlesitekit-portal-survey{bottom:34px;right:34px}}.googlesitekit-plugin .googlesitekit-survey__header-logo{margin:0 16px 0 0;width:24px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__header-logo{margin-right:24px}}.googlesitekit-plugin .googlesitekit-survey__header-logo svg{display:block}.googlesitekit-plugin .googlesitekit-survey__header-close{position:absolute;right:-12px;top:-12px}.googlesitekit-plugin .googlesitekit-survey__header-close svg{fill:#5f6561}.googlesitekit-plugin .googlesitekit-survey__header{align-items:center;display:flex;flex-wrap:nowrap;padding:16px 16px 8px;position:relative}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__header{padding:24px 24px 8px}}.googlesitekit-plugin .googlesitekit-survey__header .mdc-button:not(:disabled){background-color:transparent;border-radius:50%;box-shadow:none;height:40px;min-width:40px;padding:0;transition:background .2s ease-in-out;width:40px}.googlesitekit-plugin .googlesitekit-survey__header .mdc-button:not(:disabled):hover,.googlesitekit-plugin .googlesitekit-survey__header .mdc-button:not(:disabled):focus{background-color:#ebeef0}.googlesitekit-plugin .googlesitekit-survey__header h3{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:.5px;line-height:1.5;margin:0}.googlesitekit-plugin .googlesitekit-survey__header-details{flex:1 0;padding:0 32px 0 0;position:relative}.googlesitekit-plugin .googlesitekit-survey{background-color:#fff;border-radius:8px;box-shadow:rgba(0,0,0,.14) 0 16px 24px 2px,rgba(0,0,0,.12) 0 6px 30px 5px,rgba(0,0,0,.2) 0 8px 10px -5px;max-width:400px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-survey{max-width:none}}.googlesitekit-plugin .googlesitekit-survey__body{padding:0 0 16px;position:relative}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__body{padding-bottom:24px}}.googlesitekit-plugin .googlesitekit-survey__choices{display:flex;flex-wrap:nowrap;justify-content:space-between;margin-top:8px}.googlesitekit-plugin .googlesitekit-survey__choices>div{min-width:50px;overflow:visible}.googlesitekit-plugin .googlesitekit-survey__footer{padding:0 16px 16px;position:relative;text-align:right}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__footer{padding:0 24px 24px}}.googlesitekit-plugin .googlesitekit-survey__footer p{border-top:1px solid #ebeef0;color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.2px;margin:12px 0 0;padding-top:12px;text-align:left}.googlesitekit-plugin .googlesitekit-survey__footer .googlesitekit-survey__terms{margin:0;padding-top:12px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__footer .googlesitekit-survey__terms{margin:0 0 -12px}}.googlesitekit-plugin .googlesitekit-survey__footer .mdc-button{letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-survey__choice p{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:6px 0 0}.googlesitekit-plugin .googlesitekit-survey__choice:first-child{margin-left:8px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__choice:first-child{margin-left:15px}}.googlesitekit-plugin .googlesitekit-survey__choice:first-child p{transform:translateX(9px)}.googlesitekit-plugin .googlesitekit-survey__choice:last-child{margin-right:7px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__choice:last-child{margin-right:17px}}.googlesitekit-plugin .googlesitekit-survey__choice:last-child p{transform:translateX(-9px)}.googlesitekit-plugin .googlesitekit-survey__choice:not(:first-child):not(:last-child) p{display:none}.googlesitekit-plugin .googlesitekit-survey__choice .mdc-button:not(:disabled){background-color:transparent;border-radius:50%;box-shadow:none;color:#5f6561;height:50px;min-width:50px;padding:0;transition:background .2s ease-in-out;width:50px}.googlesitekit-plugin .googlesitekit-survey__choice .mdc-button:not(:disabled):hover,.googlesitekit-plugin .googlesitekit-survey__choice .mdc-button:not(:disabled):focus{background-color:#ebeef0}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__body{padding:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__body{padding:16px 24px}}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice{align-items:center;display:flex;flex-wrap:wrap}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice .mdc-text-field{flex-grow:1;height:35px;margin-left:10px;width:auto}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice .mdc-text-field .mdc-text-field__input{background:transparent;font-size:12px;letter-spacing:.2px}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice--disabled{opacity:.25}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice--disabled :hover{cursor:default}.googlesitekit-plugin .googlesitekit-survey__completion .googlesitekit-survey__body{color:#5f6561;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;padding:0 16px 16px 56px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__completion .googlesitekit-survey__body{padding-left:70px;padding-right:24px}}.googlesitekit-survey__open-text .mdc-text-field{margin-bottom:16px}.googlesitekit-survey__open-text .mdc-text-field-helper-line{padding-left:0}.googlesitekit-survey__open-text .googlesitekit-survey__body{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:16px}@media(min-width: 960px){.googlesitekit-survey__open-text .googlesitekit-survey__body{padding:24px}}.googlesitekit-single-select .googlesitekit-survey__body{padding:16px}@media(min-width: 960px){.googlesitekit-single-select .googlesitekit-survey__body{padding:16px 24px}}.googlesitekit-single-select .googlesitekit-single-select__choice{align-items:center;display:flex;flex-wrap:wrap}.googlesitekit-single-select .mdc-text-field{flex-grow:1;height:35px;margin-left:10px;width:auto}.googlesitekit-single-select .mdc-text-field .mdc-text-field__input{background:transparent;font-size:12px;letter-spacing:.2px}.googlesitekit-overlay-notification{background-color:#fff;border-radius:16px;display:flex;flex-direction:column;margin:16px}@media(min-width: 600px){.googlesitekit-overlay-notification{bottom:32px;box-shadow:0 8px 24px 0 rgba(0,0,0,.25);inset-inline-end:32px;margin:0;max-width:296px;position:fixed;z-index:9970}}@media(min-width: 960px){.googlesitekit-overlay-notification{bottom:22px;inset-inline-end:42px;right:42px}html[dir=rtl] .googlesitekit-overlay-notification{right:unset}}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body{color:#161b18;padding:16px}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body h3{font-size:16px;font-weight:500;letter-spacing:.1px;line-height:1.25;margin:0 0 10px}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body p{font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;margin:0}@media(min-width: 600px){.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body{padding:24px}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body h3{font-size:22px;font-weight:400;letter-spacing:unset;line-height:1.27;margin:0 0 5px}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body p{font-size:14px;font-weight:400;letter-spacing:.25px;line-height:1.43}}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__actions{align-items:center;display:flex;flex-direction:row-reverse;gap:8px;justify-content:flex-end;padding:16px;padding-top:0}@media(min-width: 600px){.googlesitekit-overlay-notification .googlesitekit-overlay-notification__actions{flex-direction:row;padding:24px;padding-top:0}}.googlesitekit-widget-area--composite .googlesitekit-widget-area-widgets{background:#fff}@media(min-width: 961px){.googlesitekit-widget-area-header{margin-bottom:24px;margin-bottom:var(--mdc-layout-grid-margin-desktop, 24px)}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-widget-area-header{margin-bottom:16px;margin-bottom:var(--mdc-layout-grid-margin-tablet, 16px)}}@media(max-width: 600px){.googlesitekit-widget-area-header{margin-bottom:16px;margin-bottom:var(--mdc-layout-grid-margin-phone, 16px)}}.googlesitekit-widget-area-header .googlesitekit-widget-area-header__title{color:#161b18;font-weight:500;margin:0 0 .125rem}.googlesitekit-widget-area-header .googlesitekit-widget-area-header__subtitle{color:#161b18;display:flex;flex-grow:1;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;justify-content:space-between;letter-spacing:.25px;line-height:1.43;margin:0}@media(min-width: 600px){.googlesitekit-widget-area-header .googlesitekit-widget-area-header__subtitle{display:block}}.googlesitekit-widget-area-header .googlesitekit-widget-area-header__subtitle .googlesitekit-new-badge{height:24px;margin-left:14px}.googlesitekit-widget-area-header .googlesitekit-widget-area-header__details{align-items:flex-start;display:flex;justify-content:space-between}.googlesitekit-widget-area-header .googlesitekit-widget-area__cta-link{align-items:center;display:flex;font-size:14px;font-weight:500;line-height:1.43;padding-left:6px;white-space:nowrap}.googlesitekit-widget-area-footer__cta{font-size:14px;font-weight:500;margin:12px 0}.googlesitekit-widget-context{padding-bottom:10px;padding-top:10px}@media(min-width: 600px){.googlesitekit-widget-context{padding-left:10px;padding-right:10px}}.googlesitekit-widget-context--last{min-height:80vh}@media screen and (min-height: 1200px){.googlesitekit-widget-context--last{min-height:100vh}}.googlesitekit-plugin .googlesitekit-widget{background:#fff;border-radius:16px;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-widget__header--cta{margin:16px 0 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget .googlesitekit-widget__header--cta{margin:0}}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-widget__header--cta .googlesitekit-cta-link{font-size:16px;font-weight:400;letter-spacing:.5px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-widget__header,.googlesitekit-plugin .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget__footer{padding:24px;padding:var(--mdc-layout-grid-margin-desktop, 24px)}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-plugin .googlesitekit-widget__header,.googlesitekit-plugin .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget__footer{padding:16px;padding:var(--mdc-layout-grid-margin-tablet, 16px)}}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-widget__header,.googlesitekit-plugin .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget__footer{padding:16px;padding:var(--mdc-layout-grid-margin-phone, 16px)}}.googlesitekit-plugin .googlesitekit-widget__header{border-bottom:1px solid #ebeef0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget__header{display:flex;justify-content:space-between}}.googlesitekit-plugin .googlesitekit-widget__header .googlesitekit-widget__header-title{font-size:16px;line-height:1.25;margin:0}.googlesitekit-plugin .googlesitekit-widget__body{flex:1}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--no-padding .googlesitekit-widget__body{padding:0}.googlesitekit-plugin .googlesitekit-widget__footer{border-top:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-widget--hidden-footer .googlesitekit-widget__footer{visibility:hidden}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--footer-v2 .googlesitekit-widget__footer{border-top:0;display:flex;justify-content:flex-end}.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget{background:transparent;box-shadow:none}.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__header,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__footer{padding-left:0;padding-right:0}.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__header:first-child,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__body:first-child,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__footer:first-child{padding-top:0}.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__header:last-child,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__body:last-child,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__footer:last-child{padding-bottom:0}.googlesitekit-plugin .googlesitekit-adsense-performance-overview{display:flex;flex-wrap:wrap;justify-content:space-evenly;padding:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-adsense-performance-overview{padding:24px}}.googlesitekit-plugin .googlesitekit-adsense-performance-overview .googlesitekit-data-block--button{min-width:25%;padding-left:20px;padding-right:20px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount .googlesitekit-data-block__title{display:block;text-transform:capitalize}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount svg{vertical-align:bottom}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount .googlesitekit-cta-link{font-size:16px;letter-spacing:.5px}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab__text-label,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab__text-label{color:#6c726e}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab-scroller__scroll-content,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab-scroller__scroll-content{justify-content:center}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab-indicator__content--underline,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab-indicator__content--underline{border-radius:4px 4px 0 0;height:4px}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab__text-label,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab__text-label{letter-spacing:normal;opacity:1;text-transform:none}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab{height:40px;margin:0 10px;padding:0 20px}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab.mdc-tab--active .mdc-tab__text-label,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#3c7251}@media(min-width: 600px)and (max-width: 1280px){.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab{margin:0;padding:0 10px}}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab--active[disabled] .mdc-tab-indicator__content--underline,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab--active[disabled] .mdc-tab-indicator__content--underline{background-color:#999f9b;opacity:.6}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-widget__footer,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-widget__footer{padding-top:0}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-data-block__title,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-data-block__title{font-size:14px;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-data-block__datapoint,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-data-block__datapoint{font-size:58px;line-height:1.1}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-data-block__arrow,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-data-block__arrow{vertical-align:top}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-data-block__suffix,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-data-block__suffix{font-weight:400}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__user-count-chart{position:relative;top:16px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__user-count-chart{top:0}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions{min-height:450px;padding-top:30px;position:relative}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions .googlesitekit-preview-block.googlesitekit-widget--analyticsAllTraffic__dimensions--not-loading{display:none}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions .googlesitekit-preview-block.googlesitekit-widget--analyticsAllTraffic__dimensions--loading{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%)}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions .googlesitekit-widget--analyticsAllTraffic__dimensions-container{position:relative}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount--loading{margin:0 0 10px}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount--loading{min-height:106px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart{height:100%;position:relative;width:100%}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-chart-loading{padding-bottom:32px;padding-top:32px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart{padding:16px;text-align:center}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart{padding:24px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart .mdc-layout-grid__inner{align-items:center;min-height:120px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart .mdc-layout-grid__inner{min-height:270px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart svg{max-width:140px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart h4{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;letter-spacing:.5px;line-height:1.5;margin:0}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart p{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:4px 0 0}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__selectable .googlesitekit-chart__inner>div>div>div>svg>g>path,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__selectable .googlesitekit-chart__inner>div>div>div>svg>g>g{cursor:pointer}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__slice-selected .googlesitekit-chart--PieChart div.google-visualization-tooltip{pointer-events:auto;z-index:8}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart-title{color:#6c726e;font-size:12px;font-weight:500;left:50%;letter-spacing:.2px;max-width:80px;position:absolute;text-align:center;text-transform:capitalize;top:50%;transform:translate(-50%, -50%)}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart-title span{display:block;font-weight:400}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart-gathering-data{color:#cbd0d3;font-size:18px;left:50%;line-height:1.33;max-width:80px;position:absolute;text-align:center;top:50%;transform:translate(-50%, -50%)}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__tabs--small{text-align:center}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__tabs--small{display:none}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__tabs--loading{display:flex;flex-direction:row;justify-content:center}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__tabs--loading .googlesitekit-preview-block{margin:0 10px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totals{margin-bottom:-24px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totals .googlesitekit-cta--error{height:auto;margin-top:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totals .googlesitekit-cta--error{margin-top:24px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__chart{min-height:368px;position:relative}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend{margin-top:-6px;text-align:center}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend .googlesitekit-cta-link__contents{align-items:center;display:inline-flex}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-slice{align-items:center;border-radius:4px;color:#333935;display:inline-flex;font-size:12px;font-weight:400;letter-spacing:.2px;margin:0 4px 0 0;padding:7px 4px;position:relative;text-transform:capitalize}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-slice:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-slice:focus{outline:none}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__label{display:inline-flex;flex-direction:column}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__label::after{content:attr(data-label);display:inline-flex;font-weight:500;height:0;visibility:hidden}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dot{border-radius:50%;display:inline-block;height:12px;margin:0 4px 0 0;width:12px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__underlay{display:block;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease-in-out;width:100%;z-index:1}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-active{font-weight:500}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-active .googlesitekit-widget--analyticsAllTraffic__underlay,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-slice:hover .googlesitekit-widget--analyticsAllTraffic__underlay{opacity:.16}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-others{cursor:text}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-others:hover .googlesitekit-widget--analyticsAllTraffic__underlay{opacity:0}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend--single .googlesitekit-widget--analyticsAllTraffic__legend-slice:not(:first-child){display:none}.googlesitekit-plugin .googlesitekit-widget--adBlockerWarning{background-color:transparent;box-shadow:none}.googlesitekit-plugin .googlesitekit-analytics-popular-pages-widget__report-table--tabbed-layout .googlesitekit-table__body-item:last-child{white-space:nowrap}.googlesitekit-plugin .googlesitekit-analytics-popular-pages-widget__report-table--tabbed-layout .googlesitekit-table__body-item:last-child .googlesitekit-table__body-item-content{padding-left:1em}.googlesitekit-plugin .googlesitekit-ua-cutoff-warning--overall-page-metrics{padding-left:0;padding-right:0;padding-top:0}.googlesitekit-plugin .googlesitekit-widget-error-handler{display:grid;grid-column:1/-1;grid-row:1/-1;grid-template-columns:subgrid}.googlesitekit-plugin .googlesitekit-align-self-center{align-self:center}.googlesitekit-plugin .googlesitekit-border-radius-round{border-radius:50%}@media(min-width: 600px)and (max-width: 783px){.googlesitekit-plugin .googlesitekit-border-radius-round--tablet{border-radius:50%}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-border-radius-round--phone{border-radius:50%}}.googlesitekit-plugin .googlesitekit-color--surfaces-on-background-variant{color:#6c726e}.googlesitekit-plugin .googlesitekit-display-block{display:block}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-desktop-display-none{display:none}}@media(max-width: 960px){.googlesitekit-plugin .googlesitekit-non-desktop-display-none{display:none}}.googlesitekit-plugin .googlesitekit-font-weight-medium{font-weight:500}.googlesitekit-plugin .googlesitekit-font-weight-bold{font-weight:700 !important}.googlesitekit-plugin .googlesitekit-margin-top-0{margin-top:0 !important}.googlesitekit-plugin .googlesitekit-margin-top-1{margin-top:1rem !important}.googlesitekit-plugin .googlesitekit-margin-bottom-0{margin-bottom:0 !important}.googlesitekit-plugin .googlesitekit-margin-left-1rem{margin-left:1rem}.googlesitekit-plugin .googlesitekit-margin-left-auto{margin-left:auto}.googlesitekit-plugin .googlesitekit-margin-right-0{margin-right:0}.googlesitekit-plugin .googlesitekit-overflow-auto{overflow:auto}.googlesitekit-plugin .googlesitekit-overflow-hidden{overflow:hidden}.googlesitekit-plugin .googlesitekit-overflow-wrap-break-word{overflow-wrap:break-word}.googlesitekit-plugin .googlesitekit-padding-top-0{padding-top:0}.googlesitekit-plugin .googlesitekit-padding-bottom-0{padding-bottom:0}.googlesitekit-plugin .googlesitekit-text-align-center{text-align:center}.googlesitekit-plugin .googlesitekit-width-auto{width:auto} diff --git a/plugins/google-site-kit/dist/assets/css/googlesitekit-admin-css-1a1b3dd6836e74847e00.min.css b/plugins/google-site-kit/dist/assets/css/googlesitekit-admin-css-1a1b3dd6836e74847e00.min.css new file mode 100644 index 000000000..2a445d5f3 --- /dev/null +++ b/plugins/google-site-kit/dist/assets/css/googlesitekit-admin-css-1a1b3dd6836e74847e00.min.css @@ -0,0 +1 @@ +.mdc-button{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:2.25rem;font-weight:500;letter-spacing:.0892857143em;-webkit-text-decoration:none;text-decoration:none;text-transform:uppercase;padding:0 8px 0 8px;display:inline-flex;position:relative;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;height:36px;border:none;outline:none;line-height:inherit;-webkit-user-select:none;user-select:none;-webkit-appearance:none;overflow:hidden;vertical-align:middle;border-radius:4px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{background-color:transparent;color:rgba(0,0,0,.37);cursor:default;pointer-events:none}.mdc-button.mdc-button--dense{border-radius:4px}.mdc-button:not(:disabled){background-color:transparent}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;width:18px;height:18px;font-size:18px;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button:not(:disabled){color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--raised .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon,.mdc-button--outlined .mdc-button__icon{margin-left:-4px;margin-right:8px}[dir=rtl] .mdc-button--raised .mdc-button__icon,.mdc-button--raised .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__icon,.mdc-button--outlined .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--raised .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mdc-button--raised,.mdc-button--unelevated{padding:0 16px 0 16px}.mdc-button--raised:disabled,.mdc-button--unelevated:disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.37)}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:#3c7251}@supports not (-ms-ime-align: auto){.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:var(--mdc-theme-primary, #3c7251)}}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary, #fff)}.mdc-button--raised{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--raised:hover,.mdc-button--raised:focus{box-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12)}.mdc-button--raised:active{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0,0,0,.12)}.mdc-button--raised:disabled{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2),0px 0px 0px 0px rgba(0, 0, 0, 0.14),0px 0px 0px 0px rgba(0,0,0,.12)}.mdc-button--outlined{border-style:solid;padding:0 15px 0 15px;border-width:1px}.mdc-button--outlined:disabled{border-color:rgba(0,0,0,.37)}.mdc-button--outlined:not(:disabled){border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-button--dense{height:32px;font-size:.8125rem}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface--test-edge-var-bug{--mdc-ripple-surface-test-edge-var: 1px solid #000;visibility:hidden}.mdc-ripple-surface--test-edge-var-bug::before{border:var(--mdc-ripple-surface-test-edge-var)}.mdc-button{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-button::before,.mdc-button::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-button::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-button.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-button.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-button.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button::before,.mdc-button::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-button::before,.mdc-button::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){.mdc-button::before,.mdc-button::after{background-color:var(--mdc-theme-primary, #3c7251)}}.mdc-button:hover::before{opacity:.04}.mdc-button:not(.mdc-ripple-upgraded):focus::before,.mdc-button.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-button:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-button:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-button--raised::before,.mdc-button--raised::after,.mdc-button--unelevated::before,.mdc-button--unelevated::after{background-color:#fff}@supports not (-ms-ime-align: auto){.mdc-button--raised::before,.mdc-button--raised::after,.mdc-button--unelevated::before,.mdc-button--unelevated::after{background-color:var(--mdc-theme-on-primary, #fff)}}.mdc-button--raised:hover::before,.mdc-button--unelevated:hover::before{opacity:.08}.mdc-button--raised:not(.mdc-ripple-upgraded):focus::before,.mdc-button--raised.mdc-ripple-upgraded--background-focused::before,.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before,.mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.mdc-button--raised:not(.mdc-ripple-upgraded)::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-button--raised:not(.mdc-ripple-upgraded):active::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.mdc-button--raised.mdc-ripple-upgraded,.mdc-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;padding:11px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:rgba(0,0,0,.54);background-color:transparent}.mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199);background-color:#446199;background-color:var(--mdc-theme-secondary, #446199)}@keyframes mdc-checkbox-fade-in-background-0{0%{border-color:rgba(0,0,0,.54);background-color:transparent}50%{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199);background-color:#446199;background-color:var(--mdc-theme-secondary, #446199)}}@keyframes mdc-checkbox-fade-out-background-0{0%,80%{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199);background-color:#446199;background-color:var(--mdc-theme-secondary, #446199)}100%{border-color:rgba(0,0,0,.54);background-color:transparent}}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-0}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-0}.mdc-checkbox__checkmark{color:#fff}.mdc-checkbox__mixedmark{border-color:#fff}.mdc-checkbox__background::before{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-checkbox__background::before{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:rgba(0,0,0,.26)}.mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background{border-color:transparent;background-color:rgba(0,0,0,.26)}@media screen and (-ms-high-contrast: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{left:11px;right:initial;display:inline-flex;position:absolute;top:11px;bottom:0;align-items:center;justify-content:center;box-sizing:border-box;width:45%;height:45%;border:2px solid currentColor;border-radius:2px;background-color:transparent;pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox[dir=rtl] .mdc-checkbox__background,[dir=rtl] .mdc-checkbox .mdc-checkbox__background{left:initial;right:11px}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__checkmark{opacity:1}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__background,.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none !important}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__background::before{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:"";will-change:opacity,transform;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:focus~.mdc-checkbox__background::before{transform:scale(2.75, 2.75);opacity:.12;transition:opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:inherit}.mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}.mdc-checkbox{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-checkbox::before,.mdc-checkbox::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-checkbox::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-checkbox.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-checkbox.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-checkbox.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-checkbox.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-checkbox::before,.mdc-checkbox::after{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-checkbox::before,.mdc-checkbox::after{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-checkbox:hover::before{opacity:.04}.mdc-checkbox:not(.mdc-ripple-upgraded):focus::before,.mdc-checkbox.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-checkbox:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-checkbox:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-checkbox.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-checkbox::before,.mdc-checkbox::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-checkbox.mdc-ripple-upgraded::before,.mdc-checkbox.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-checkbox.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-upgraded--background-focused .mdc-checkbox__background::before{content:none}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:7}.mdc-dialog .mdc-dialog__surface{background-color:#fff;background-color:var(--mdc-theme-surface, #fff)}.mdc-dialog .mdc-dialog__scrim{background-color:rgba(0,0,0,.32)}.mdc-dialog .mdc-dialog__title{color:rgba(0,0,0,.87)}.mdc-dialog .mdc-dialog__content{color:rgba(0,0,0,.6)}.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title,.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions{border-color:rgba(0,0,0,.12)}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100vh - 32px)}.mdc-dialog .mdc-dialog__surface{border-radius:4px}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;justify-content:space-around;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-dialog__surface{box-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0,0,0,.12);display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%}.mdc-dialog[dir=rtl] .mdc-dialog__surface,[dir=rtl] .mdc-dialog .mdc-dialog__surface{text-align:right}.mdc-dialog__title{display:block;margin-top:0;line-height:normal;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.25rem;line-height:2rem;font-weight:500;letter-spacing:.0125em;text-decoration:inherit;text-transform:inherit;display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-dialog[dir=rtl] .mdc-dialog__title,[dir=rtl] .mdc-dialog .mdc-dialog__title{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{padding-bottom:15px}.mdc-dialog__content{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.5rem;font-weight:400;letter-spacing:.03125em;text-decoration:inherit;text-transform:inherit;flex-grow:1;box-sizing:border-box;margin:0;padding:20px 24px;overflow:auto;-webkit-overflow-scrolling:touch}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-dialog[dir=rtl] .mdc-dialog__button,[dir=rtl] .mdc-dialog .mdc-dialog__button{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:scale(1)}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:scale(1);opacity:1}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-form-field{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:1.25rem;font-weight:400;letter-spacing:.0178571429em;text-decoration:inherit;text-transform:inherit;color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field>label{order:0;margin-right:auto;padding-left:4px}[dir=rtl] .mdc-form-field>label,.mdc-form-field[dir=rtl]>label{margin-left:auto;padding-right:4px}.mdc-form-field--align-end>label{order:-1;margin-left:auto;padding-right:4px}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end[dir=rtl]>label{margin-right:auto;padding-left:4px}:root{--mdc-layout-grid-margin-desktop: 24px;--mdc-layout-grid-gutter-desktop: 24px;--mdc-layout-grid-column-width-desktop: 72px;--mdc-layout-grid-margin-tablet: 16px;--mdc-layout-grid-gutter-tablet: 16px;--mdc-layout-grid-column-width-tablet: 72px;--mdc-layout-grid-margin-phone: 16px;--mdc-layout-grid-gutter-phone: 16px;--mdc-layout-grid-column-width-phone: 72px}@media(min-width: 961px){.mdc-layout-grid{box-sizing:border-box;margin:0 auto;padding:24px;padding:var(--mdc-layout-grid-margin-desktop, 24px)}}@media(min-width: 601px)and (max-width: 960px){.mdc-layout-grid{box-sizing:border-box;margin:0 auto;padding:16px;padding:var(--mdc-layout-grid-margin-tablet, 16px)}}@media(max-width: 600px){.mdc-layout-grid{box-sizing:border-box;margin:0 auto;padding:16px;padding:var(--mdc-layout-grid-margin-phone, 16px)}}@media(min-width: 961px){.mdc-layout-grid__inner{display:flex;flex-flow:row wrap;align-items:stretch;margin:-12px;margin:calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2 * -1)}@supports(display: grid){.mdc-layout-grid__inner{display:grid;margin:0;grid-gap:24px;grid-gap:var(--mdc-layout-grid-gutter-desktop, 24px);grid-template-columns:repeat(12, minmax(0, 1fr))}}}@media(min-width: 601px)and (max-width: 960px){.mdc-layout-grid__inner{display:flex;flex-flow:row wrap;align-items:stretch;margin:-8px;margin:calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2 * -1)}@supports(display: grid){.mdc-layout-grid__inner{display:grid;margin:0;grid-gap:16px;grid-gap:var(--mdc-layout-grid-gutter-tablet, 16px);grid-template-columns:repeat(8, minmax(0, 1fr))}}}@media(max-width: 600px){.mdc-layout-grid__inner{display:flex;flex-flow:row wrap;align-items:stretch;margin:-8px;margin:calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2 * -1)}@supports(display: grid){.mdc-layout-grid__inner{display:grid;margin:0;grid-gap:16px;grid-gap:var(--mdc-layout-grid-gutter-phone, 16px);grid-template-columns:repeat(4, minmax(0, 1fr))}}}@media(min-width: 961px){.mdc-layout-grid__cell{width:calc(33.3333333333% - 24px);width:calc(33.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px));box-sizing:border-box;margin:12px;margin:calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2)}@supports(display: grid){.mdc-layout-grid__cell{width:auto;grid-column-end:span 4}}@supports(display: grid){.mdc-layout-grid__cell{margin:0}}.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-desktop{width:calc(8.3333333333% - 24px);width:calc(8.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-desktop{width:auto;grid-column-end:span 1}}.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-desktop{width:calc(16.6666666667% - 24px);width:calc(16.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-desktop{width:auto;grid-column-end:span 2}}.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-desktop{width:calc(25% - 24px);width:calc(25% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-desktop{width:auto;grid-column-end:span 3}}.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-desktop{width:calc(33.3333333333% - 24px);width:calc(33.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-desktop{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-desktop{width:calc(41.6666666667% - 24px);width:calc(41.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-desktop{width:auto;grid-column-end:span 5}}.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-desktop{width:calc(50% - 24px);width:calc(50% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-desktop{width:auto;grid-column-end:span 6}}.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-desktop{width:calc(58.3333333333% - 24px);width:calc(58.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-desktop{width:auto;grid-column-end:span 7}}.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-desktop{width:calc(66.6666666667% - 24px);width:calc(66.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-desktop{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-desktop{width:calc(75% - 24px);width:calc(75% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-desktop{width:auto;grid-column-end:span 9}}.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-desktop{width:calc(83.3333333333% - 24px);width:calc(83.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-desktop{width:auto;grid-column-end:span 10}}.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-desktop{width:calc(91.6666666667% - 24px);width:calc(91.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-desktop{width:auto;grid-column-end:span 11}}.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-desktop{width:calc(100% - 24px);width:calc(100% - var(--mdc-layout-grid-gutter-desktop, 24px))}@supports(display: grid){.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-desktop{width:auto;grid-column-end:span 12}}}@media(min-width: 601px)and (max-width: 960px){.mdc-layout-grid__cell{width:calc(50% - 16px);width:calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px));box-sizing:border-box;margin:8px;margin:calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2)}@supports(display: grid){.mdc-layout-grid__cell{width:auto;grid-column-end:span 4}}@supports(display: grid){.mdc-layout-grid__cell{margin:0}}.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-tablet{width:calc(12.5% - 16px);width:calc(12.5% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-tablet{width:auto;grid-column-end:span 1}}.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-tablet{width:calc(25% - 16px);width:calc(25% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-tablet{width:auto;grid-column-end:span 2}}.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-tablet{width:calc(37.5% - 16px);width:calc(37.5% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-tablet{width:auto;grid-column-end:span 3}}.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-tablet{width:calc(50% - 16px);width:calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-tablet{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-tablet{width:calc(62.5% - 16px);width:calc(62.5% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-tablet{width:auto;grid-column-end:span 5}}.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-tablet{width:calc(75% - 16px);width:calc(75% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-tablet{width:auto;grid-column-end:span 6}}.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-tablet{width:calc(87.5% - 16px);width:calc(87.5% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-tablet{width:auto;grid-column-end:span 7}}.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-tablet{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-tablet{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-tablet{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-tablet{width:auto;grid-column-end:span 8}}.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-tablet{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-tablet{width:auto;grid-column-end:span 8}}}@media(max-width: 600px){.mdc-layout-grid__cell{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px));box-sizing:border-box;margin:8px;margin:calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2)}@supports(display: grid){.mdc-layout-grid__cell{width:auto;grid-column-end:span 4}}@supports(display: grid){.mdc-layout-grid__cell{margin:0}}.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-phone{width:calc(25% - 16px);width:calc(25% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-1,.mdc-layout-grid__cell--span-1-phone{width:auto;grid-column-end:span 1}}.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-phone{width:calc(50% - 16px);width:calc(50% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-2,.mdc-layout-grid__cell--span-2-phone{width:auto;grid-column-end:span 2}}.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-phone{width:calc(75% - 16px);width:calc(75% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-3,.mdc-layout-grid__cell--span-3-phone{width:auto;grid-column-end:span 3}}.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-4,.mdc-layout-grid__cell--span-4-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-5,.mdc-layout-grid__cell--span-5-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-6,.mdc-layout-grid__cell--span-6-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-7,.mdc-layout-grid__cell--span-7-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-8,.mdc-layout-grid__cell--span-8-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-9,.mdc-layout-grid__cell--span-9-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-10,.mdc-layout-grid__cell--span-10-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-11,.mdc-layout-grid__cell--span-11-phone{width:auto;grid-column-end:span 4}}.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.mdc-layout-grid__cell--span-12,.mdc-layout-grid__cell--span-12-phone{width:auto;grid-column-end:span 4}}}.mdc-layout-grid__cell--order-1{order:1}.mdc-layout-grid__cell--order-2{order:2}.mdc-layout-grid__cell--order-3{order:3}.mdc-layout-grid__cell--order-4{order:4}.mdc-layout-grid__cell--order-5{order:5}.mdc-layout-grid__cell--order-6{order:6}.mdc-layout-grid__cell--order-7{order:7}.mdc-layout-grid__cell--order-8{order:8}.mdc-layout-grid__cell--order-9{order:9}.mdc-layout-grid__cell--order-10{order:10}.mdc-layout-grid__cell--order-11{order:11}.mdc-layout-grid__cell--order-12{order:12}.mdc-layout-grid__cell--align-top{align-self:flex-start}@supports(display: grid){.mdc-layout-grid__cell--align-top{align-self:start}}.mdc-layout-grid__cell--align-middle{align-self:center}.mdc-layout-grid__cell--align-bottom{align-self:flex-end}@supports(display: grid){.mdc-layout-grid__cell--align-bottom{align-self:end}}@media(min-width: 961px){.mdc-layout-grid--fixed-column-width{width:1176px;width:calc( var(--mdc-layout-grid-column-width-desktop, 72px) * 12 + var(--mdc-layout-grid-gutter-desktop, 24px) * 11 + var(--mdc-layout-grid-margin-desktop, 24px) * 2 )}}@media(min-width: 601px)and (max-width: 960px){.mdc-layout-grid--fixed-column-width{width:720px;width:calc( var(--mdc-layout-grid-column-width-tablet, 72px) * 8 + var(--mdc-layout-grid-gutter-tablet, 16px) * 7 + var(--mdc-layout-grid-margin-tablet, 16px) * 2 )}}@media(max-width: 600px){.mdc-layout-grid--fixed-column-width{width:368px;width:calc( var(--mdc-layout-grid-column-width-phone, 72px) * 4 + var(--mdc-layout-grid-gutter-phone, 16px) * 3 + var(--mdc-layout-grid-margin-phone, 16px) * 2 )}}.mdc-layout-grid--align-left{margin-right:auto;margin-left:0}.mdc-layout-grid--align-right{margin-right:0;margin-left:auto}@keyframes primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes buffering{to{transform:translateX(-10px)}}@keyframes primary-indeterminate-translate-reverse{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(-83.67142%)}100%{transform:translateX(-200.611057%)}}@keyframes secondary-indeterminate-translate-reverse{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(-37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(-84.386165%)}100%{transform:translateX(-160.277782%)}}@keyframes buffering-reverse{to{transform:translateX(10px)}}.mdc-linear-progress{position:relative;width:100%;height:4px;transform:translateZ(0);transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);overflow:hidden}.mdc-linear-progress__bar{position:absolute;width:100%;height:100%;animation:none;transform-origin:top left;transition:transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-linear-progress__bar-inner{display:inline-block;position:absolute;width:100%;height:100%;animation:none}.mdc-linear-progress__buffering-dots{position:absolute;width:100%;height:100%;animation:buffering 250ms infinite linear;background-repeat:repeat-x;background-size:10px 4px}.mdc-linear-progress__buffer{position:absolute;width:100%;height:100%;transform-origin:top left;transition:transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-linear-progress__primary-bar{transform:scaleX(0)}.mdc-linear-progress__secondary-bar{visibility:hidden}.mdc-linear-progress--indeterminate .mdc-linear-progress__bar{transition:none}.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{left:-145.166611%;animation:primary-indeterminate-translate 2s infinite linear}.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar>.mdc-linear-progress__bar-inner{animation:primary-indeterminate-scale 2s infinite linear}.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{left:-54.888891%;animation:secondary-indeterminate-translate 2s infinite linear;visibility:visible}.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar>.mdc-linear-progress__bar-inner{animation:secondary-indeterminate-scale 2s infinite linear}.mdc-linear-progress--reversed .mdc-linear-progress__bar,.mdc-linear-progress--reversed .mdc-linear-progress__buffer{right:0;transform-origin:center right}.mdc-linear-progress--reversed .mdc-linear-progress__primary-bar{animation-name:primary-indeterminate-translate-reverse}.mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar{animation-name:secondary-indeterminate-translate-reverse}.mdc-linear-progress--reversed .mdc-linear-progress__buffering-dots{animation:buffering-reverse 250ms infinite linear}.mdc-linear-progress--closed{opacity:0}.mdc-linear-progress__bar-inner{background-color:#3c7251;background-color:var(--mdc-theme-primary, #3c7251)}.mdc-linear-progress__buffering-dots{background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E")}.mdc-linear-progress__buffer{background-color:#e6e6e6}.mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__primary-bar{right:-145.166611%;left:auto}.mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar{right:-54.888891%;left:auto}.mdc-list{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;line-height:1.5rem;margin:0;padding:8px 0;list-style-type:none;color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87))}.mdc-list:focus{outline:none}.mdc-list-item__secondary-text{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54))}.mdc-list-item__graphic{background-color:transparent}.mdc-list-item__graphic{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38))}.mdc-list-item__meta{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38))}.mdc-list-group__subheader{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87))}.mdc-list--dense{padding-top:4px;padding-bottom:4px;font-size:.812rem}.mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item{display:flex;position:relative;align-items:center;justify-content:flex-start;height:48px;padding:0 16px;overflow:hidden}.mdc-list-item:focus,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item:focus{outline:none}.mdc-list-item--selected,.mdc-list-item--activated{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-list-item--selected .mdc-list-item__graphic,.mdc-list-item--activated .mdc-list-item__graphic{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-list-item--disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38))}.mdc-list-item__graphic{margin-left:0;margin-right:32px;width:24px;height:24px;flex-shrink:0;align-items:center;justify-content:center;fill:currentColor}.mdc-list-item[dir=rtl] .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list-item__graphic,[dir=rtl] .mdc-list-item .mdc-list-item__graphic,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list-item__graphic{margin-left:32px;margin-right:0}.mdc-list .mdc-list-item__graphic{display:inline-flex}.mdc-list-item__meta{margin-left:auto;margin-right:0}.mdc-list-item__meta:not(.material-icons){font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit}.mdc-list-item[dir=rtl] .mdc-list-item__meta,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list-item__meta,[dir=rtl] .mdc-list-item .mdc-list-item__meta,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list-item__meta,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list-item__meta{margin-left:0;margin-right:auto}.mdc-list-item__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mdc-list-item__text[for]{pointer-events:none}.mdc-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;line-height:normal;margin-bottom:-20px;display:block}.mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list--dense .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list--dense .mdc-list-item__primary-text::before{display:inline-block;width:0;height:24px;content:"";vertical-align:0}.mdc-list--dense .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item__secondary-text{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:1.25rem;font-weight:400;letter-spacing:.0178571429em;text-decoration:inherit;text-transform:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;line-height:normal;display:block}.mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list--dense .mdc-list-item__secondary-text{display:block;margin-top:0;line-height:normal;font-size:inherit}.mdc-list--dense .mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list--dense .mdc-list-item,.mdc-list--dense .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--dense .googlesitekit-view-only-menu__list-item{height:40px}.mdc-list--dense .mdc-list-item__graphic{margin-left:0;margin-right:36px;width:20px;height:20px}.mdc-list-item[dir=rtl] .mdc-list--dense .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list--dense .mdc-list-item__graphic,[dir=rtl] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list--dense .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list--dense .mdc-list-item__graphic{margin-left:36px;margin-right:0}.mdc-list--avatar-list .mdc-list-item,.mdc-list--avatar-list .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--avatar-list .googlesitekit-view-only-menu__list-item{height:56px}.mdc-list--avatar-list .mdc-list-item__graphic{margin-left:0;margin-right:16px;width:40px;height:40px;border-radius:50%}.mdc-list-item[dir=rtl] .mdc-list--avatar-list .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list--avatar-list .mdc-list-item__graphic,[dir=rtl] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list--avatar-list .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list--avatar-list .mdc-list-item__graphic{margin-left:16px;margin-right:0}.mdc-list--two-line .mdc-list-item__text{align-self:flex-start}.mdc-list--two-line .mdc-list-item,.mdc-list--two-line .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--two-line .googlesitekit-view-only-menu__list-item{height:72px}.mdc-list--two-line.mdc-list--dense .mdc-list-item,.mdc-list--two-line.mdc-list--dense .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--two-line.mdc-list--dense .googlesitekit-view-only-menu__list-item,.mdc-list--avatar-list.mdc-list--dense .mdc-list-item,.mdc-list--avatar-list.mdc-list--dense .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list--avatar-list.mdc-list--dense .googlesitekit-view-only-menu__list-item{height:60px}.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic{margin-left:0;margin-right:20px;width:36px;height:36px}.mdc-list-item[dir=rtl] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,[dir=rtl] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,[dir=rtl] .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .googlesitekit-view-only-menu__list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic{margin-left:20px;margin-right:0}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled){cursor:pointer}a.mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu a.googlesitekit-view-only-menu__list-item{color:inherit;-webkit-text-decoration:none;text-decoration:none}.mdc-list-divider{height:0;margin:0;border:none;border-bottom-width:1px;border-bottom-style:solid}.mdc-list-divider{border-bottom-color:rgba(0,0,0,.12)}.mdc-list-divider--padded{margin:0 16px}.mdc-list-divider--inset{margin-left:72px;margin-right:0;width:calc(100% - 72px)}.mdc-list-group[dir=rtl] .mdc-list-divider--inset,[dir=rtl] .mdc-list-group .mdc-list-divider--inset{margin-left:0;margin-right:72px}.mdc-list-divider--inset.mdc-list-divider--padded{width:calc(100% - 72px - 16px)}.mdc-list-group .mdc-list{padding:0}.mdc-list-group__subheader{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;margin:.75rem 16px}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled){--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled)::after{background-color:#000}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item:hover::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled):hover::before{opacity:.04}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled):not(.mdc-ripple-upgraded):focus::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled):not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled):not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded,.googlesitekit-plugin .googlesitekit-view-only-menu :not(.mdc-list--non-interactive)>.googlesitekit-view-only-menu__list-item:not(.mdc-list-item--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::before{opacity:.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated::after{background-color:var(--mdc-theme-primary, #3c7251)}}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before{opacity:.16}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::before{opacity:.08}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected::after{background-color:var(--mdc-theme-primary, #3c7251)}}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before{opacity:.12}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before,:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.2}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.2}:not(.mdc-list--non-interactive)>:not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.2}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::before,:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::before,:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::before,:not(.mdc-list--non-interactive)>.mdc-list-item--disabled::after{background-color:#000}:not(.mdc-list--non-interactive)>.mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before,:not(.mdc-list--non-interactive)>.mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-menu{min-width:112px}.mdc-menu .mdc-list-item__meta{color:rgba(0,0,0,.87)}.mdc-menu .mdc-list-item__graphic{color:rgba(0,0,0,.87)}.mdc-menu .mdc-list{color:rgba(0,0,0,.87)}.mdc-menu .mdc-list-divider{margin:8px 0}.mdc-menu .mdc-list-item,.mdc-menu .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu .googlesitekit-view-only-menu__list-item{-webkit-user-select:none;user-select:none}.mdc-menu .mdc-list-item--disabled{cursor:auto}.mdc-menu a.mdc-list-item .mdc-list-item__text,.mdc-menu .googlesitekit-plugin .googlesitekit-view-only-menu a.googlesitekit-view-only-menu__list-item .mdc-list-item__text,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu a.googlesitekit-view-only-menu__list-item .mdc-list-item__text,.mdc-menu a.mdc-list-item .mdc-list-item__graphic,.mdc-menu .googlesitekit-plugin .googlesitekit-view-only-menu a.googlesitekit-view-only-menu__list-item .mdc-list-item__graphic,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu a.googlesitekit-view-only-menu__list-item .mdc-list-item__graphic{pointer-events:none}.mdc-menu__selection-group{padding:0;fill:currentColor}.mdc-menu__selection-group .mdc-list-item,.mdc-menu__selection-group .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu__selection-group .googlesitekit-view-only-menu__list-item{padding-left:56px;padding-right:16px}[dir=rtl] .mdc-menu__selection-group .mdc-list-item,[dir=rtl] .mdc-menu__selection-group .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl] .mdc-menu__selection-group .googlesitekit-view-only-menu__list-item,.mdc-menu__selection-group .mdc-list-item[dir=rtl],.mdc-menu__selection-group .googlesitekit-plugin .googlesitekit-view-only-menu [dir=rtl].googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu__selection-group [dir=rtl].googlesitekit-view-only-menu__list-item{padding-left:16px;padding-right:56px}.mdc-menu__selection-group .mdc-menu__selection-group-icon{left:16px;right:initial;display:none;position:absolute}[dir=rtl] .mdc-menu__selection-group .mdc-menu__selection-group-icon,.mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=rtl]{left:initial;right:16px}.mdc-menu-item--selected .mdc-menu__selection-group-icon{display:inline}.mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;z-index:8;transition:opacity .03s linear,transform .12s cubic-bezier(0, 0, 0.2, 1);box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0,0,0,.12);background-color:#fff;background-color:var(--mdc-theme-surface, #fff);color:#000;color:var(--mdc-theme-on-surface, #000);border-radius:4px;transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0;transition:opacity .075s linear}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:border-box;width:40px;height:40px;padding:10px;cursor:pointer;will-change:opacity,transform,border-color,color}.mdc-radio .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.54)}.mdc-radio .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199)}.mdc-radio .mdc-radio__native-control:enabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:#446199;border-color:var(--mdc-theme-secondary, #446199)}.mdc-radio .mdc-radio__background::before{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-radio .mdc-radio__background::before{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-radio__background{display:inline-block;position:absolute;left:10px;box-sizing:border-box;width:50%;height:50%}.mdc-radio__background::before{position:absolute;top:0;left:0;width:100%;height:100%;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:"";transition:opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0, 0);border-width:10px;border-style:solid;border-radius:50%;transition:transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-radio__native-control{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1}.mdc-radio__native-control:checked+.mdc-radio__background,.mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{transition:border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{transition:transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio--disabled{cursor:default;pointer-events:none}.mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle{transform:scale(0.5);transition:transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio__native-control:disabled+.mdc-radio__background,[aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background{cursor:default}.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle,[aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.26)}.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle,[aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background .mdc-radio__inner-circle{border-color:rgba(0,0,0,.26)}.mdc-radio__native-control:focus+.mdc-radio__background::before{transform:scale(2, 2);opacity:.12;transition:opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-radio::before,.mdc-radio::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-radio::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-radio.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-radio.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-radio.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-radio.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-radio.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-radio::before,.mdc-radio::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-radio.mdc-ripple-upgraded::before,.mdc-radio.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-radio.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-radio::before,.mdc-radio::after{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-radio::before,.mdc-radio::after{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-radio:hover::before{opacity:.04}.mdc-radio:not(.mdc-ripple-upgraded):focus::before,.mdc-radio.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-radio:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-radio:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-radio.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__background::before{content:none}.mdc-card{border-radius:4px;background-color:#fff;background-color:var(--mdc-theme-surface, #fff);box-shadow:0px 2px 1px -1px rgba(0, 0, 0, 0.2),0px 1px 1px 0px rgba(0, 0, 0, 0.14),0px 1px 3px 0px rgba(0,0,0,.12);display:flex;flex-direction:column;box-sizing:border-box}.mdc-card--outlined{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2),0px 0px 0px 0px rgba(0, 0, 0, 0.14),0px 0px 0px 0px rgba(0,0,0,.12);border-width:1px;border-style:solid;border-color:#e0e0e0}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mdc-card__media--square::before{margin-top:100%}.mdc-card__media--16-9::before{margin-top:56.25%}.mdc-card__media-content{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box}.mdc-card__primary-action{display:flex;flex-direction:column;box-sizing:border-box;position:relative;outline:none;color:inherit;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;overflow:hidden}.mdc-card__primary-action:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__primary-action:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mdc-card__actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mdc-card__actions--full-bleed{padding:0}.mdc-card__action-buttons,.mdc-card__action-icons{display:flex;flex-direction:row;align-items:center;box-sizing:border-box}.mdc-card__action-icons{color:rgba(0,0,0,.6);flex-grow:1;justify-content:flex-end}.mdc-card__action-buttons+.mdc-card__action-icons{margin-left:16px;margin-right:0}[dir=rtl] .mdc-card__action-buttons+.mdc-card__action-icons,.mdc-card__action-buttons+.mdc-card__action-icons[dir=rtl]{margin-left:0;margin-right:16px}.mdc-card__action{display:inline-flex;flex-direction:row;align-items:center;box-sizing:border-box;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.mdc-card__action:focus{outline:none}.mdc-card__action--button{margin-left:0;margin-right:8px;padding:0 8px}[dir=rtl] .mdc-card__action--button,.mdc-card__action--button[dir=rtl]{margin-left:8px;margin-right:0}.mdc-card__action--button:last-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-card__action--button:last-child,.mdc-card__action--button:last-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-card__actions--full-bleed .mdc-card__action--button{justify-content:space-between;width:100%;height:auto;max-height:none;margin:0;padding:8px 16px;text-align:left}[dir=rtl] .mdc-card__actions--full-bleed .mdc-card__action--button,.mdc-card__actions--full-bleed .mdc-card__action--button[dir=rtl]{text-align:right}.mdc-card__action--icon{margin:-6px 0;padding:12px}.mdc-card__action--icon:not(:disabled){color:rgba(0,0,0,.6)}.mdc-card__primary-action{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-card__primary-action::before,.mdc-card__primary-action::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-card__primary-action::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-card__primary-action.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-card__primary-action.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-card__primary-action.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-card__primary-action.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-card__primary-action.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-card__primary-action::before,.mdc-card__primary-action::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-card__primary-action.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-card__primary-action::before,.mdc-card__primary-action::after{background-color:#000}.mdc-card__primary-action:hover::before{opacity:.04}.mdc-card__primary-action:not(.mdc-ripple-upgraded):focus::before,.mdc-card__primary-action.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-card__primary-action:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-card__primary-action:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-card__primary-action.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-chip__icon--leading{color:rgba(0,0,0,.54)}.mdc-chip__icon--trailing{color:rgba(0,0,0,.54)}.mdc-chip__icon--trailing:hover{color:rgba(0,0,0,.62)}.mdc-chip__icon--trailing:focus{color:rgba(0,0,0,.87)}.mdc-chip__icon.mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden){width:20px;height:20px;font-size:20px}.mdc-chip__icon.mdc-chip__icon--trailing{width:18px;height:18px;font-size:18px}.mdc-chip__icon--trailing{margin:0 -4px 0 4px}.mdc-chip{border-radius:16px;background-color:#e0e0e0;color:rgba(0,0,0,.87);font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:1.25rem;font-weight:400;letter-spacing:.0178571429em;text-decoration:inherit;text-transform:inherit;height:32px;display:inline-flex;position:relative;align-items:center;box-sizing:border-box;padding:7px 12px;outline:none;cursor:pointer;overflow:hidden}.mdc-chip:hover{color:rgba(0,0,0,.87)}.mdc-chip.mdc-chip--selected .mdc-chip__checkmark,.mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden){margin-left:-4px;margin-right:4px;margin-top:-4px;margin-bottom:-4px}[dir=rtl] .mdc-chip.mdc-chip--selected .mdc-chip__checkmark,.mdc-chip.mdc-chip--selected .mdc-chip__checkmark[dir=rtl],[dir=rtl] .mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden),.mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden)[dir=rtl]{margin-left:4px;margin-right:-4px}.mdc-chip:hover{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-chip--exit{transition:opacity 75ms cubic-bezier(0.4, 0, 0.2, 1),width 150ms cubic-bezier(0, 0, 0.2, 1),padding 100ms linear,margin 100ms linear;opacity:0}.mdc-chip__text{white-space:nowrap}.mdc-chip__icon{border-radius:50%;outline:none;vertical-align:middle}.mdc-chip__checkmark{height:20px}.mdc-chip__checkmark-path{transition:stroke-dashoffset 150ms 50ms cubic-bezier(0.4, 0, 0.6, 1);stroke-width:2px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-chip--selected .mdc-chip__checkmark-path{stroke-dashoffset:0}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected .mdc-chip__icon--leading{color:rgba(60,114,81,.54)}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:hover{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-chip-set--choice .mdc-chip .mdc-chip__checkmark-path{stroke:#3c7251;stroke:var(--mdc-theme-primary, #3c7251)}.mdc-chip-set--choice .mdc-chip--selected{background-color:#fff;background-color:var(--mdc-theme-surface, #fff)}.mdc-chip__checkmark-svg{width:0;height:20px;transition:width 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-chip--selected .mdc-chip__checkmark-svg{width:20px}.mdc-chip-set--filter .mdc-chip__icon--leading{transition:opacity 75ms linear;transition-delay:-50ms;opacity:1}.mdc-chip-set--filter .mdc-chip__icon--leading+.mdc-chip__checkmark{transition:opacity 75ms linear;transition-delay:80ms;opacity:0}.mdc-chip-set--filter .mdc-chip__icon--leading+.mdc-chip__checkmark .mdc-chip__checkmark-svg{transition:width 0ms}.mdc-chip-set--filter .mdc-chip--selected .mdc-chip__icon--leading{opacity:0}.mdc-chip-set--filter .mdc-chip--selected .mdc-chip__icon--leading+.mdc-chip__checkmark{width:0;opacity:1}.mdc-chip-set--filter .mdc-chip__icon--leading-hidden.mdc-chip__icon--leading{width:0;opacity:0}.mdc-chip-set--filter .mdc-chip__icon--leading-hidden.mdc-chip__icon--leading+.mdc-chip__checkmark{width:20px}.mdc-chip{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-chip::before,.mdc-chip::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-chip::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-chip.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-chip.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-chip.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-chip.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-chip.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-chip::before,.mdc-chip::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-chip.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-chip::before,.mdc-chip::after{background-color:rgba(0,0,0,.87)}.mdc-chip:hover::before{opacity:.04}.mdc-chip:not(.mdc-ripple-upgraded):focus::before,.mdc-chip.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-chip:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-chip:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::before{opacity:.08}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::before,.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::before,.mdc-chip-set--choice .mdc-chip.mdc-chip--selected::after{background-color:var(--mdc-theme-primary, #3c7251)}}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:hover::before{opacity:.12}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:not(.mdc-ripple-upgraded):focus::before,.mdc-chip-set--choice .mdc-chip.mdc-chip--selected.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.2}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.2}.mdc-chip-set--choice .mdc-chip.mdc-chip--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.2}@keyframes mdc-chip-entry{from{transform:scale(0.8);opacity:.4}to{transform:scale(1);opacity:1}}.mdc-chip-set{padding:4px;display:flex;flex-wrap:wrap;box-sizing:border-box}.mdc-chip-set .mdc-chip{margin:4px}.mdc-chip-set--input .mdc-chip{animation:mdc-chip-entry 100ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:7}.mdc-dialog .mdc-dialog__surface{background-color:#fff;background-color:var(--mdc-theme-surface, #fff)}.mdc-dialog .mdc-dialog__scrim{background-color:rgba(0,0,0,.32)}.mdc-dialog .mdc-dialog__title{color:rgba(0,0,0,.87)}.mdc-dialog .mdc-dialog__content{color:rgba(0,0,0,.6)}.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title,.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions{border-color:rgba(0,0,0,.12)}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100vh - 32px)}.mdc-dialog .mdc-dialog__surface{border-radius:4px}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;justify-content:space-around;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-dialog__surface{box-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0,0,0,.12);display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%}.mdc-dialog[dir=rtl] .mdc-dialog__surface,[dir=rtl] .mdc-dialog .mdc-dialog__surface{text-align:right}.mdc-dialog__title{display:block;margin-top:0;line-height:normal;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.25rem;line-height:2rem;font-weight:500;letter-spacing:.0125em;text-decoration:inherit;text-transform:inherit;display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-dialog[dir=rtl] .mdc-dialog__title,[dir=rtl] .mdc-dialog .mdc-dialog__title{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{padding-bottom:15px}.mdc-dialog__content{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.5rem;font-weight:400;letter-spacing:.03125em;text-decoration:inherit;text-transform:inherit;flex-grow:1;box-sizing:border-box;margin:0;padding:20px 24px;overflow:auto;-webkit-overflow-scrolling:touch}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-dialog[dir=rtl] .mdc-dialog__button,[dir=rtl] .mdc-dialog .mdc-dialog__button{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:scale(1)}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:scale(1);opacity:1}.mdc-dialog-scroll-lock{overflow:hidden}@keyframes mdc-select-float-native-control{0%{transform:translateY(8px);opacity:0}100%{transform:translateY(0);opacity:1}}.mdc-line-ripple{position:absolute;bottom:0;left:0;width:100%;height:2px;transform:scaleX(0);transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;z-index:2}.mdc-line-ripple--active{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating{opacity:0}.mdc-notched-outline{display:flex;position:absolute;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;transition:border 150ms cubic-bezier(0.4, 0, 0.2, 1);border-top:1px solid;border-bottom:1px solid;pointer-events:none}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid;flex-grow:1}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{flex:0 0 auto;width:auto;max-width:calc(100% - 12px * 2)}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;top:17px;bottom:auto;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(100% / .75)}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{padding:0}.mdc-floating-label{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;position:absolute;left:0;transform-origin:left top;transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1);line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--float-above{transform:translateY(-50%) scale(0.75)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0 - 0%)) translateY(-50%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-50%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-50%) scale(0.75)}}.mdc-select--with-leading-icon:not(.mdc-select--disabled) .mdc-select__icon{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-select--with-leading-icon .mdc-select__icon{display:inline-block;position:absolute;bottom:16px;box-sizing:border-box;width:24px;height:24px;border:none;background-color:transparent;fill:currentColor;opacity:.54;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none}.mdc-select__icon:not([tabindex]),.mdc-select__icon[tabindex="-1"]{cursor:default;pointer-events:none}.mdc-select-helper-text{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit;display:block;margin-top:0;line-height:normal;margin:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;will-change:opacity}.mdc-select-helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.mdc-select-helper-text--persistent{transition:none;opacity:1;will-change:initial}.mdc-select{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-flex;position:relative;box-sizing:border-box;height:56px;overflow:hidden;will-change:opacity,transform,color}.mdc-select:not(.mdc-select--disabled){background-color:#f5f5f5}.mdc-select::before,.mdc-select::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-select::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-select.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-select.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-select.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-select.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-select.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-select::before,.mdc-select::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-select.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-select::before,.mdc-select::after{background-color:rgba(0,0,0,.87)}.mdc-select:hover::before{opacity:.04}.mdc-select:not(.mdc-ripple-upgraded):focus::before,.mdc-select.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,.mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{color:rgba(0,0,0,.87)}.mdc-select:not(.mdc-select--disabled) .mdc-floating-label{color:rgba(0,0,0,.6)}.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,.mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{border-bottom-color:rgba(0,0,0,.42)}.mdc-select:not(.mdc-select--disabled)+.mdc-select-helper-text{color:rgba(0,0,0,.6)}.mdc-select,.mdc-select__native-control{border-radius:4px 4px 0 0}.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple{background-color:#3c7251;background-color:var(--mdc-theme-primary, #3c7251)}.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label{color:rgba(60,114,81,.87)}.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control:hover{border-bottom-color:rgba(0,0,0,.87)}.mdc-select .mdc-floating-label--float-above{transform:translateY(-70%) scale(0.75)}.mdc-select .mdc-floating-label{left:16px;right:initial;top:21px;pointer-events:none}[dir=rtl] .mdc-select .mdc-floating-label,.mdc-select .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-select.mdc-select--with-leading-icon .mdc-floating-label{left:48px;right:initial}[dir=rtl] .mdc-select.mdc-select--with-leading-icon .mdc-floating-label,.mdc-select.mdc-select--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-select.mdc-select--outlined .mdc-floating-label{left:4px;right:initial;top:17px}[dir=rtl] .mdc-select.mdc-select--outlined .mdc-floating-label,.mdc-select.mdc-select--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label,.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above{left:36px;right:initial}[dir=rtl] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above,.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above[dir=rtl]{left:initial;right:36px}.mdc-select__dropdown-icon{background:url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;left:auto;right:8px;position:absolute;bottom:16px;width:24px;height:24px;transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}[dir=rtl] .mdc-select__dropdown-icon,.mdc-select__dropdown-icon[dir=rtl]{left:8px;right:auto}.mdc-select--focused .mdc-select__dropdown-icon{background:url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%233c7251%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;transform:rotate(180deg) translateY(-5px);transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-select__native-control{padding-top:20px}.mdc-select.mdc-select--focused .mdc-line-ripple::after{transform:scale(1, 2);opacity:1}.mdc-select+.mdc-select-helper-text{margin-right:12px;margin-left:12px}.mdc-select--outlined+.mdc-select-helper-text{margin-right:16px;margin-left:16px}.mdc-select--focused+.mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg){opacity:1}.mdc-select__selected-text{min-width:200px;padding-top:22px}.mdc-select__native-control,.mdc-select__selected-text{padding-left:16px;padding-right:52px;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;box-sizing:border-box;width:100%;height:56px;padding-top:20px;padding-bottom:4px;border:none;border-bottom:1px solid;outline:none;background-color:transparent;color:inherit;white-space:nowrap;cursor:pointer;appearance:none}[dir=rtl] .mdc-select__native-control,.mdc-select__native-control[dir=rtl],[dir=rtl] .mdc-select__selected-text,.mdc-select__selected-text[dir=rtl]{padding-left:52px;padding-right:16px}.mdc-select__native-control::-ms-expand,.mdc-select__selected-text::-ms-expand{display:none}.mdc-select__native-control::-ms-value,.mdc-select__selected-text::-ms-value{background-color:transparent;color:inherit}@-moz-document url-prefix(""){.mdc-select__native-control,.mdc-select__selected-text{text-indent:-2px}}.mdc-select--outlined{border:none;overflow:visible}.mdc-select--outlined:not(.mdc-select--disabled){background-color:transparent}.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.24)}.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.87)}.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-select--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-radius:4px 0 0 4px}[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-radius:0 4px 4px 0}.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-radius:0 4px 4px 0}[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-radius:4px 0 0 4px}.mdc-select--outlined .mdc-select__native-control{border-radius:4px}.mdc-select--outlined::before,.mdc-select--outlined::after{content:none}.mdc-select--outlined:not(.mdc-select--disabled){background-color:transparent}.mdc-select--outlined .mdc-floating-label--float-above{transform:translateY(-144%) scale(1)}.mdc-select--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) scale(0.75)}.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-select--outlined .mdc-select__native-control,.mdc-select--outlined .mdc-select__selected-text{padding-left:16px;padding-right:52px;display:flex;padding-top:12px;padding-bottom:12px;border:none;background-color:transparent;z-index:1}[dir=rtl] .mdc-select--outlined .mdc-select__native-control,.mdc-select--outlined .mdc-select__native-control[dir=rtl],[dir=rtl] .mdc-select--outlined .mdc-select__selected-text,.mdc-select--outlined .mdc-select__selected-text[dir=rtl]{padding-left:52px;padding-right:16px}.mdc-select--outlined .mdc-select__selected-text{padding-top:14px}.mdc-select--outlined .mdc-select__icon{z-index:2}.mdc-select--outlined .mdc-floating-label{line-height:1.15rem;pointer-events:auto}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-floating-label{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control,.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__selected-text{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple{background-color:#b00020;background-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label{color:#b00020}.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--invalid+.mdc-select-helper-text--validation-msg{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control:hover{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid .mdc-select__dropdown-icon{background:url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23b00020%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center}.mdc-select--invalid+.mdc-select-helper-text--validation-msg{opacity:1}.mdc-select--required .mdc-floating-label::after{content:"*"}.mdc-select--disabled{background-color:#fafafa;cursor:default;pointer-events:none}.mdc-select--disabled .mdc-floating-label{color:rgba(0,0,0,.37)}.mdc-select--disabled .mdc-select__dropdown-icon{background:url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.37%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center}.mdc-select--disabled .mdc-line-ripple{display:none}.mdc-select--disabled .mdc-select__icon{color:rgba(0,0,0,.37)}.mdc-select--disabled .mdc-select__native-control,.mdc-select--disabled .mdc-select__selected-text{color:rgba(0,0,0,.37);border-bottom-style:dotted}.mdc-select--disabled .mdc-select__selected-text{pointer-events:none}.mdc-select--disabled.mdc-select--outlined{background-color:transparent}.mdc-select--disabled.mdc-select--outlined .mdc-select__native-control,.mdc-select--disabled.mdc-select--outlined .mdc-select__selected-text{border-bottom-style:none}.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__leading,.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__notch,.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.16)}.mdc-select--with-leading-icon .mdc-select__icon{left:16px;right:initial}[dir=rtl] .mdc-select--with-leading-icon .mdc-select__icon,.mdc-select--with-leading-icon .mdc-select__icon[dir=rtl]{left:initial;right:16px}.mdc-select--with-leading-icon .mdc-select__native-control,.mdc-select--with-leading-icon .mdc-select__selected-text{padding-left:48px;padding-right:32px}[dir=rtl] .mdc-select--with-leading-icon .mdc-select__native-control,.mdc-select--with-leading-icon .mdc-select__native-control[dir=rtl],[dir=rtl] .mdc-select--with-leading-icon .mdc-select__selected-text,.mdc-select--with-leading-icon .mdc-select__selected-text[dir=rtl]{padding-left:32px;padding-right:48px}.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above{transform:translateY(-144%) translateX(-32px) scale(1)}[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-144%) translateX(32px) scale(1)}.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-130%) translateX(32px) scale(0.75)}.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-select-outlined-leading-icon 250ms 1}[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake,.mdc-select--with-leading-icon.mdc-select--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl 250ms 1}.mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text{padding-left:32px;padding-right:32px}[dir=rtl] .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text,.mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text[dir=rtl]{padding-left:32px;padding-right:32px}.mdc-select__menu .mdc-list .mdc-list-item--selected{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-select__menu .mdc-list .mdc-list-item--selected::before,.mdc-select__menu .mdc-list .mdc-list-item--selected::after{background-color:#000}@supports not (-ms-ime-align: auto){.mdc-select__menu .mdc-list .mdc-list-item--selected::before,.mdc-select__menu .mdc-list .mdc-list-item--selected::after{background-color:var(--mdc-theme-on-surface, #000)}}.mdc-select__menu .mdc-list .mdc-list-item--selected:hover::before{opacity:.04}.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before,.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon{0%{transform:translateX(calc(0 - 32px)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 32px)) translateY(-130%) scale(0.75)}}@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl{0%{transform:translateX(calc(0 - -32px)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - -32px)) translateY(-130%) scale(0.75)}}.mdc-tab{position:relative;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:2.25rem;font-weight:500;letter-spacing:.0892857143em;-webkit-text-decoration:none;text-decoration:none;text-transform:uppercase;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;height:48px;padding:0 24px;border:none;outline:none;background:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab .mdc-tab__text-label{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-tab .mdc-tab__icon{color:#000;color:var(--mdc-theme-on-surface, #000);fill:currentColor}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__ripple{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);will-change:transform,opacity;position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.mdc-tab__ripple::before,.mdc-tab__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-tab__ripple::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-tab__ripple.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-tab__ripple.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-tab__ripple.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-tab__ripple.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-tab__ripple.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-tab__ripple::before,.mdc-tab__ripple::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-tab__ripple.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-tab__ripple::before,.mdc-tab__ripple::after{background-color:#3c7251}@supports not (-ms-ime-align: auto){.mdc-tab__ripple::before,.mdc-tab__ripple::after{background-color:var(--mdc-theme-primary, #3c7251)}}.mdc-tab__ripple:hover::before{opacity:.04}.mdc-tab__ripple:not(.mdc-ripple-upgraded):focus::before,.mdc-tab__ripple.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-tab__ripple:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-tab__ripple:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-tab__content{position:relative;display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label,.mdc-tab__icon{transition:150ms color linear,150ms opacity linear;z-index:2}.mdc-tab__text-label{display:inline-block;opacity:.6;line-height:1}.mdc-tab__icon{width:24px;height:24px;opacity:.54;font-size:24px}.mdc-tab--stacked{height:72px}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:space-between}.mdc-tab--stacked .mdc-tab__icon{padding-top:12px}.mdc-tab--stacked .mdc-tab__text-label{padding-bottom:16px}.mdc-tab--active .mdc-tab__text-label{color:#3c7251;color:var(--mdc-theme-primary, #3c7251)}.mdc-tab--active .mdc-tab__icon{color:#3c7251;color:var(--mdc-theme-primary, #3c7251);fill:currentColor}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms;opacity:1}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-bar{width:100%}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator>.mdc-tab-indicator__content--underline{background-color:#3c7251;background-color:var(--mdc-theme-primary, #3c7251)}.mdc-tab-indicator>.mdc-tab-indicator__content--underline{height:2px}.mdc-tab-indicator>.mdc-tab-indicator__content--icon{color:#446199;color:var(--mdc-theme-secondary, #446199)}.mdc-tab-indicator>.mdc-tab-indicator__content--icon{height:34px;font-size:34px}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;width:100%}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active>.mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator>.mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition>.mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade>.mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade>.mdc-tab-indicator__content{transition-delay:100ms}.mdc-tab-scroller{overflow-y:hidden}.mdc-tab-scroller__test{position:absolute;top:-9999px;width:100px;height:100px;overflow-x:scroll}.mdc-tab-scroller__scroll-area{-webkit-overflow-scrolling:touch;display:flex;overflow-x:hidden}.mdc-tab-scroller__scroll-area::-webkit-scrollbar,.mdc-tab-scroller__test::-webkit-scrollbar{display:none}.mdc-tab-scroller__scroll-area--scroll{overflow-x:scroll}.mdc-tab-scroller__scroll-content{position:relative;display:flex;flex:1 0 auto;transform:none;will-change:transform}.mdc-tab-scroller--align-start .mdc-tab-scroller__scroll-content{justify-content:flex-start}.mdc-tab-scroller--align-end .mdc-tab-scroller__scroll-content{justify-content:flex-end}.mdc-tab-scroller--align-center .mdc-tab-scroller__scroll-content{justify-content:center}.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-area{-webkit-overflow-scrolling:auto}.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-text-field--with-leading-icon .mdc-text-field__icon,.mdc-text-field--with-trailing-icon .mdc-text-field__icon{position:absolute;bottom:16px;cursor:pointer}.mdc-text-field__icon:not([tabindex]),.mdc-text-field__icon[tabindex="-1"]{cursor:default;pointer-events:none}.mdc-text-field-helper-text{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit;display:block;margin-top:0;line-height:normal;margin:0;transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;will-change:opacity}.mdc-text-field-helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.mdc-text-field-helper-text--persistent{transition:none;opacity:1;will-change:initial}.mdc-text-field-helper-text{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit;display:block;margin-top:0;line-height:normal;margin:0;transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;will-change:opacity}.mdc-text-field-helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.mdc-text-field-helper-text--persistent{transition:none;opacity:1;will-change:initial}.mdc-text-field-character-counter{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.75rem;line-height:1.25rem;font-weight:400;letter-spacing:.0333333333em;text-decoration:inherit;text-transform:inherit;display:block;margin-top:0;line-height:normal;margin-left:auto;margin-right:0;padding-left:16px;padding-right:0;white-space:nowrap}.mdc-text-field-character-counter::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}[dir=rtl] .mdc-text-field-character-counter,.mdc-text-field-character-counter[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-text-field-character-counter,.mdc-text-field-character-counter[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field--with-leading-icon .mdc-text-field__icon,.mdc-text-field--with-trailing-icon .mdc-text-field__icon{position:absolute;bottom:16px;cursor:pointer}.mdc-text-field__icon:not([tabindex]),.mdc-text-field__icon[tabindex="-1"]{cursor:default;pointer-events:none}.mdc-text-field{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);border-radius:4px 4px 0 0;display:inline-flex;position:relative;box-sizing:border-box;height:56px;overflow:hidden;will-change:opacity,transform,color}.mdc-text-field::before,.mdc-text-field::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-text-field::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-text-field.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-text-field.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-text-field.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-text-field.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-text-field.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-text-field::before,.mdc-text-field::after{background-color:rgba(0,0,0,.87)}.mdc-text-field:hover::before{opacity:.04}.mdc-text-field:not(.mdc-ripple-upgraded):focus::before,.mdc-text-field.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-text-field::before,.mdc-text-field::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-text-field.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(3,14,7,.32)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:rgba(0,0,0,.87)}.mdc-text-field .mdc-text-field__input{caret-color:#3c7251;caret-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input{border-bottom-color:rgba(0,0,0,.42)}.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover{border-bottom-color:rgba(0,0,0,.87)}.mdc-text-field .mdc-line-ripple{background-color:#3c7251;background-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea){border-bottom-color:rgba(0,0,0,.12)}.mdc-text-field:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0,0,0,.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field-character-counter,.mdc-text-field:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:rgba(0,0,0,.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon{color:rgba(0,0,0,.54)}.mdc-text-field:not(.mdc-text-field--disabled){background-color:#f5f5f5}.mdc-text-field .mdc-floating-label{left:16px;right:initial;top:18px;pointer-events:none}[dir=rtl] .mdc-text-field .mdc-floating-label,.mdc-text-field .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-text-field--textarea .mdc-floating-label{left:4px;right:initial}[dir=rtl] .mdc-text-field--textarea .mdc-floating-label,.mdc-text-field--textarea .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:initial;top:17px}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined--with-leading-icon .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label,.mdc-text-field--outlined--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above{left:40px;right:initial}[dir=rtl] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above,.mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above[dir=rtl]{left:initial;right:40px}.mdc-text-field__input{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.75rem;font-weight:400;letter-spacing:.009375em;text-decoration:inherit;text-transform:inherit;align-self:flex-end;box-sizing:border-box;width:100%;height:100%;padding:20px 16px 6px;transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);border:none;border-bottom:1px solid;border-radius:0;background:none;appearance:none}.mdc-text-field__input::placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;color:rgba(3,14,7,.32)}.mdc-text-field--fullwidth .mdc-text-field__input::placeholder,.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}.mdc-text-field__input:-webkit-autofill{z-index:auto !important}.mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input{padding-top:16px;padding-bottom:16px}.mdc-text-field__input:-webkit-autofill+.mdc-floating-label{transform:translateY(-50%) scale(0.75);cursor:auto}.mdc-text-field--outlined{border:none;overflow:visible}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.38)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.87)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-radius:4px 0 0 4px}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-radius:0 4px 4px 0}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-radius:0 4px 4px 0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-radius:4px 0 0 4px}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-144%) scale(1)}.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined::before,.mdc-text-field--outlined::after{content:none}.mdc-text-field--outlined:not(.mdc-text-field--disabled){background-color:transparent}.mdc-text-field--outlined .mdc-text-field__input{display:flex;padding:12px 16px 14px;border:none !important;background-color:transparent;z-index:1}.mdc-text-field--outlined .mdc-text-field__icon{z-index:2}.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--outlined.mdc-text-field--disabled{background-color:transparent}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.06)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{border-bottom:none}.mdc-text-field--outlined.mdc-text-field--dense{height:48px}.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above{transform:translateY(-134%) scale(1)}.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above{font-size:.8rem}.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-120%) scale(0.8)}.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-dense 250ms 1}.mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__input{padding:12px 12px 7px}.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label{top:14px}.mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__icon{top:12px}.mdc-text-field--with-leading-icon .mdc-text-field__icon{left:16px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon .mdc-text-field__icon,.mdc-text-field--with-leading-icon .mdc-text-field__icon[dir=rtl]{left:initial;right:16px}.mdc-text-field--with-leading-icon .mdc-text-field__input{padding-left:48px;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon .mdc-text-field__input,.mdc-text-field--with-leading-icon .mdc-text-field__input[dir=rtl]{padding-left:16px;padding-right:48px}.mdc-text-field--with-leading-icon .mdc-floating-label{left:48px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon .mdc-floating-label,.mdc-text-field--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon{left:16px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon[dir=rtl]{left:initial;right:16px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input{padding-left:48px;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input[dir=rtl]{padding-left:16px;padding-right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-144%) translateX(-32px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-144%) translateX(32px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-130%) translateX(32px) scale(0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake,.mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl 250ms 1}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above{transform:translateY(-134%) translateX(-21px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-134%) translateX(21px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above{font-size:.8rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-120%) translateX(-21px) scale(0.8)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-120%) translateX(21px) scale(0.8)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense 250ms 1}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl 250ms 1}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label{left:32px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label[dir=rtl]{left:initial;right:32px}.mdc-text-field--with-trailing-icon .mdc-text-field__icon{left:initial;right:12px}[dir=rtl] .mdc-text-field--with-trailing-icon .mdc-text-field__icon,.mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir=rtl]{left:12px;right:initial}.mdc-text-field--with-trailing-icon .mdc-text-field__input{padding-left:16px;padding-right:48px}[dir=rtl] .mdc-text-field--with-trailing-icon .mdc-text-field__input,.mdc-text-field--with-trailing-icon .mdc-text-field__input[dir=rtl]{padding-left:48px;padding-right:16px}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon{left:initial;right:16px}[dir=rtl] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon,.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon[dir=rtl]{left:16px;right:initial}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input{padding-left:16px;padding-right:48px}[dir=rtl] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input[dir=rtl]{padding-left:48px;padding-right:16px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon{left:16px;right:auto}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir=rtl]{left:auto;right:16px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon~.mdc-text-field__icon{right:12px;left:auto}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon~.mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon~.mdc-text-field__icon[dir=rtl]{right:auto;left:12px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input{padding-left:48px;padding-right:48px}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input[dir=rtl]{padding-left:48px;padding-right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon,.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon{bottom:16px;transform:scale(0.8)}.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon{left:12px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon[dir=rtl]{left:initial;right:12px}.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input{padding-left:44px;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input,.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input[dir=rtl]{padding-left:16px;padding-right:44px}.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label{left:44px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label[dir=rtl]{left:initial;right:44px}.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon{left:initial;right:12px}[dir=rtl] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon,.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir=rtl]{left:12px;right:initial}.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input{padding-left:16px;padding-right:44px}[dir=rtl] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input,.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir=rtl]{padding-left:44px;padding-right:16px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon{left:12px;right:auto}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir=rtl]{left:auto;right:12px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon~.mdc-text-field__icon{right:12px;left:auto}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon~.mdc-text-field__icon,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon~.mdc-text-field__icon[dir=rtl]{right:auto;left:12px}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input{padding-left:44px;padding-right:44px}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input,.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir=rtl]{padding-left:44px;padding-right:44px}.mdc-text-field--dense .mdc-floating-label--float-above{transform:translateY(-70%) scale(0.8)}.mdc-text-field--dense .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-dense 250ms 1}.mdc-text-field--dense .mdc-text-field__input{padding:12px 12px 0}.mdc-text-field--dense .mdc-floating-label{font-size:.813rem}.mdc-text-field--dense .mdc-floating-label--float-above{font-size:.813rem}.mdc-text-field__input:required~.mdc-floating-label::after,.mdc-text-field__input:required~.mdc-notched-outline .mdc-floating-label::after{margin-left:1px;content:"*"}.mdc-text-field--textarea{display:inline-flex;width:auto;height:auto;transition:none;overflow:visible}.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.38)}.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.87)}.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field--textarea .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading{border-radius:4px 0 0 4px}[dir=rtl] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-radius:0 4px 4px 0}.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing{border-radius:0 4px 4px 0}[dir=rtl] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-radius:4px 0 0 4px}.mdc-text-field--textarea::before,.mdc-text-field--textarea::after{content:none}.mdc-text-field--textarea:not(.mdc-text-field--disabled){background-color:transparent}.mdc-text-field--textarea .mdc-floating-label--float-above{transform:translateY(-144%) scale(1)}.mdc-text-field--textarea .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-130%) scale(0.75)}.mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--textarea .mdc-text-field-character-counter{left:initial;right:16px;position:absolute;bottom:13px}[dir=rtl] .mdc-text-field--textarea .mdc-text-field-character-counter,.mdc-text-field--textarea .mdc-text-field-character-counter[dir=rtl]{left:16px;right:initial}.mdc-text-field--textarea .mdc-text-field__input{align-self:auto;box-sizing:border-box;height:auto;margin:8px 1px 1px 0;padding:0 16px 16px;border:none}.mdc-text-field--textarea .mdc-text-field-character-counter+.mdc-text-field__input{margin-bottom:28px;padding-bottom:0}.mdc-text-field--textarea .mdc-floating-label{top:17px;bottom:auto;width:auto;pointer-events:none}.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--fullwidth{width:100%}.mdc-text-field--fullwidth:not(.mdc-text-field--textarea){display:block}.mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::before,.mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::after{content:none}.mdc-text-field--fullwidth:not(.mdc-text-field--textarea):not(.mdc-text-field--disabled){background-color:transparent}.mdc-text-field--fullwidth:not(.mdc-text-field--textarea) .mdc-text-field__input{padding:0}.mdc-text-field--fullwidth.mdc-text-field--textarea .mdc-text-field__input{resize:vertical}.mdc-text-field--fullwidth.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea){border-bottom-color:#ac4220}.mdc-text-field-helper-line{display:flex;justify-content:space-between;box-sizing:border-box}.mdc-text-field--dense+.mdc-text-field-helper-line{margin-bottom:4px}.mdc-text-field+.mdc-text-field-helper-line{padding-right:16px;padding-left:16px}.mdc-form-field>.mdc-text-field+label{align-self:flex-start}.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(60,114,81,.87)}.mdc-text-field--focused .mdc-text-field__input:required~.mdc-floating-label::after,.mdc-text-field--focused .mdc-text-field__input:required~.mdc-notched-outline .mdc-floating-label::after{color:rgba(60,114,81,.87)}.mdc-text-field--focused+.mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg){opacity:1}.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#3c7251;border-color:var(--mdc-theme-primary, #3c7251)}.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input{border-bottom-color:#ac4220}.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover{border-bottom-color:#ac4220}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple{background-color:#ac4220}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:#ac4220}.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{color:#ac4220}.mdc-text-field--invalid .mdc-text-field__input{caret-color:#ac4220}.mdc-text-field--invalid .mdc-text-field__input:required~.mdc-floating-label::after,.mdc-text-field--invalid .mdc-text-field__input:required~.mdc-notched-outline .mdc-floating-label::after{color:#ac4220}.mdc-text-field--invalid.mdc-text-field--with-trailing-icon:not(.mdc-text-field--with-leading-icon):not(.mdc-text-field--disabled) .mdc-text-field__icon{color:#ac4220}.mdc-text-field--invalid.mdc-text-field--with-trailing-icon.mdc-text-field--with-leading-icon:not(.mdc-text-field--disabled) .mdc-text-field__icon~.mdc-text-field__icon{color:#ac4220}.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{opacity:1}.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#ac4220}.mdc-text-field--disabled{background-color:#fafafa;border-bottom:none;pointer-events:none}.mdc-text-field--disabled .mdc-text-field__input{border-bottom-color:rgba(0,0,0,.06)}.mdc-text-field--disabled .mdc-text-field__input{color:rgba(0,0,0,.37)}.mdc-text-field--disabled .mdc-floating-label{color:rgba(0,0,0,.37)}.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0,0,0,.37)}.mdc-text-field--disabled .mdc-text-field-character-counter,.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:rgba(0,0,0,.37)}.mdc-text-field--disabled .mdc-text-field__icon{color:rgba(0,0,0,.3)}.mdc-text-field--disabled:not(.mdc-text-field--textarea){border-bottom-color:rgba(0,0,0,.12)}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.mdc-text-field--textarea.mdc-text-field--disabled{background-color:transparent;background-color:#f9f9f9}.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:rgba(0,0,0,.06)}.mdc-text-field--textarea.mdc-text-field--disabled .mdc-text-field__input{border-bottom:none}@keyframes mdc-floating-label-shake-float-above-text-field-dense{0%{transform:translateX(calc(0 - 0%)) translateY(-70%) scale(0.8)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-70%) scale(0.8)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8)}100%{transform:translateX(calc(0 - 0%)) translateY(-70%) scale(0.8)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined{0%{transform:translateX(calc(0 - 0%)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-130%) scale(0.75)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-dense{0%{transform:translateX(calc(0 - 0%)) translateY(-120%) scale(0.8)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-120%) scale(0.8)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8)}100%{transform:translateX(calc(0 - 0%)) translateY(-120%) scale(0.8)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon{0%{transform:translateX(calc(0 - 0)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 0)) translateY(-130%) scale(0.75)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense{0%{transform:translateX(calc(0 - 21px)) translateY(-120%) scale(0.8)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 21px)) translateY(-120%) scale(0.8)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8)}100%{transform:translateX(calc(0 - 21px)) translateY(-120%) scale(0.8)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl{0%{transform:translateX(calc(0 - 0)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 0)) translateY(-130%) scale(0.75)}}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl{0%{transform:translateX(calc(0 - -21px)) translateY(-120%) scale(0.8)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -21px)) translateY(-120%) scale(0.8)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8)}100%{transform:translateX(calc(0 - -21px)) translateY(-120%) scale(0.8)}}@keyframes mdc-floating-label-shake-float-above-textarea{0%{transform:translateX(calc(0 - 0%)) translateY(-130%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-130%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-130%) scale(0.75)}}.mdc-switch{display:inline-block;position:relative;outline:none;-webkit-user-select:none;user-select:none}.mdc-switch.mdc-switch--checked .mdc-switch__track{background-color:#446199;background-color:var(--mdc-theme-secondary, #446199);border-color:#446199;border-color:var(--mdc-theme-secondary, #446199)}.mdc-switch.mdc-switch--checked .mdc-switch__thumb{background-color:#446199;background-color:var(--mdc-theme-secondary, #446199);border-color:#446199;border-color:var(--mdc-theme-secondary, #446199)}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__track{background-color:#000;border-color:#000}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb{background-color:#fff;border-color:#fff}.mdc-switch__native-control{left:0;right:initial;position:absolute;top:0;width:68px;height:48px;margin:0;opacity:0;cursor:pointer;pointer-events:auto}[dir=rtl] .mdc-switch__native-control,.mdc-switch__native-control[dir=rtl]{left:initial;right:0}.mdc-switch__track{box-sizing:border-box;width:32px;height:14px;border:1px solid;border-radius:7px;opacity:.38;transition:opacity 90ms cubic-bezier(0.4, 0, 0.2, 1),background-color 90ms cubic-bezier(0.4, 0, 0.2, 1),border-color 90ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-switch__thumb-underlay{left:-18px;right:initial;display:flex;position:absolute;top:-17px;align-items:center;justify-content:center;width:48px;height:48px;transform:translateX(0);transition:transform 90ms cubic-bezier(0.4, 0, 0.2, 1),background-color 90ms cubic-bezier(0.4, 0, 0.2, 1),border-color 90ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl] .mdc-switch__thumb-underlay,.mdc-switch__thumb-underlay[dir=rtl]{left:initial;right:-18px}.mdc-switch__thumb{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0,0,0,.12);box-sizing:border-box;width:20px;height:20px;border:10px solid;border-radius:50%;pointer-events:none;z-index:1}.mdc-switch--checked .mdc-switch__track{opacity:.54}.mdc-switch--checked .mdc-switch__thumb-underlay{transform:translateX(20px)}[dir=rtl] .mdc-switch--checked .mdc-switch__thumb-underlay,.mdc-switch--checked .mdc-switch__thumb-underlay[dir=rtl]{transform:translateX(-20px)}.mdc-switch--checked .mdc-switch__native-control{transform:translateX(-20px)}[dir=rtl] .mdc-switch--checked .mdc-switch__native-control,.mdc-switch--checked .mdc-switch__native-control[dir=rtl]{transform:translateX(20px)}.mdc-switch--disabled{opacity:.38;pointer-events:none}.mdc-switch--disabled .mdc-switch__thumb{border-width:1px}.mdc-switch--disabled .mdc-switch__native-control{cursor:default;pointer-events:none}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay::before,.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay::after{background-color:#9e9e9e}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:hover::before{opacity:.08}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before,.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.mdc-switch__thumb-underlay{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-switch__thumb-underlay::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::before,.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{background-color:#446199}@supports not (-ms-ime-align: auto){.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{background-color:var(--mdc-theme-secondary, #446199)}}.mdc-switch__thumb-underlay:hover::before{opacity:.04}.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before,.mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-switch__thumb-underlay.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button{box-shadow:none;text-transform:none}.googlesitekit-plugin .mdc-button:not(:disabled){color:#3c7251}@media(max-width: 960px){.googlesitekit-plugin .mdc-button{min-width:auto}}.googlesitekit-plugin .mdc-button .mdc-button__icon--image{border-radius:50%;display:block;height:18px;width:18px}.googlesitekit-plugin .mdc-button .mdc-button__trailing-icon{margin-left:8px}.googlesitekit-plugin .mdc-button--raised{border-radius:100px;box-shadow:none;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;height:auto;letter-spacing:normal;min-height:40px;padding-bottom:8px;padding-top:8px;text-align:center}.googlesitekit-plugin .mdc-button--raised:not(:disabled){background-color:#3c7251}.googlesitekit-plugin .mdc-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--raised::before,.googlesitekit-plugin .mdc-button--raised::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--raised::before,.googlesitekit-plugin .mdc-button--raised::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--raised:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--raised:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--raised.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--raised:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--raised:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--raised.mdc-button--dense{border-radius:100px}.googlesitekit-plugin .mdc-button--raised:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--raised:focus{outline:none}.googlesitekit-plugin .mdc-button--danger:not(:disabled){background-color:#ac4220}.googlesitekit-plugin .mdc-button--danger:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--danger::before,.googlesitekit-plugin .mdc-button--danger::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--danger::before,.googlesitekit-plugin .mdc-button--danger::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--danger:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--danger:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--danger.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--danger:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--danger:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--danger.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--dropdown{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2212%22%20height%3D%228%22%20viewBox%3D%220%200%2012%208%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.6.6L12%202%206%208%200%202%201.4.6%206%205.2z%22%20fill%3D%22%23757575%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");background-position:calc(100% - 8px) center;background-repeat:no-repeat;background-size:9px 6px;letter-spacing:normal;padding-right:12px;text-transform:none}.googlesitekit-plugin .mdc-button--dropdown:not(:disabled){color:#161b18}@media(min-width: 600px){.googlesitekit-plugin .mdc-button--dropdown{padding-right:25px}}.googlesitekit-plugin .mdc-button--dropdown:hover,.googlesitekit-plugin .mdc-button--dropdown:active,.googlesitekit-plugin .mdc-button--dropdown:focus{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--dropdown:hover:not(:disabled),.googlesitekit-plugin .mdc-button--dropdown:active:not(:disabled),.googlesitekit-plugin .mdc-button--dropdown:focus:not(:disabled){background-color:#ebeef0}.googlesitekit-plugin .mdc-button--dropdown:hover:not(:disabled),.googlesitekit-plugin .mdc-button--dropdown:active:not(:disabled),.googlesitekit-plugin .mdc-button--dropdown:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--dropdown:hover::before,.googlesitekit-plugin .mdc-button--dropdown:hover::after,.googlesitekit-plugin .mdc-button--dropdown:active::before,.googlesitekit-plugin .mdc-button--dropdown:active::after,.googlesitekit-plugin .mdc-button--dropdown:focus::before,.googlesitekit-plugin .mdc-button--dropdown:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--dropdown:hover::before,.googlesitekit-plugin .mdc-button--dropdown:hover::after,.googlesitekit-plugin .mdc-button--dropdown:active::before,.googlesitekit-plugin .mdc-button--dropdown:active::after,.googlesitekit-plugin .mdc-button--dropdown:focus::before,.googlesitekit-plugin .mdc-button--dropdown:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--dropdown:hover:hover::before,.googlesitekit-plugin .mdc-button--dropdown:active:hover::before,.googlesitekit-plugin .mdc-button--dropdown:focus:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--dropdown:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--dropdown:hover.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--dropdown:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--dropdown:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--dropdown:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--dropdown:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--dropdown:hover:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--dropdown:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--dropdown:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--dropdown:hover:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--dropdown:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--dropdown:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--dropdown:hover.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--dropdown:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--dropdown:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}@media(max-width: 599px){.googlesitekit-plugin .mdc-button--dropdown{background-image:none}}@media(max-width: 599px){.googlesitekit-plugin .mdc-button--dropdown .mdc-button__label{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}}@media(min-width: 600px){.googlesitekit-plugin .mdc-button--dropdown .mdc-button__label{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(min-width: 960px){.googlesitekit-plugin .mdc-button--dropdown .mdc-button__label{max-width:300px}}@media(min-width: 1280px){.googlesitekit-plugin .mdc-button--dropdown .mdc-button__label{max-width:450px}}.googlesitekit-plugin .mdc-button--inverse:not(:disabled){background-color:#161b18}.googlesitekit-plugin .mdc-button--inverse:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--inverse::before,.googlesitekit-plugin .mdc-button--inverse::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--inverse::before,.googlesitekit-plugin .mdc-button--inverse::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--inverse:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--inverse:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--inverse.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--inverse:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--inverse:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--inverse.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--tertiary{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;height:auto;letter-spacing:normal;min-height:40px;padding:8px 16px}.googlesitekit-plugin .mdc-button--tertiary:not(:disabled){color:#6c726e}.googlesitekit-plugin .mdc-button--tertiary:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--tertiary:hover:not(:disabled){background-color:rgba(22,27,24,.08)}.googlesitekit-plugin .mdc-button--tertiary:hover:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--tertiary:hover::before,.googlesitekit-plugin .mdc-button--tertiary:hover::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--tertiary:hover::before,.googlesitekit-plugin .mdc-button--tertiary:hover::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--tertiary:hover:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--tertiary:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--tertiary:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--tertiary:hover:not(:disabled){color:#161b18}.googlesitekit-plugin .mdc-button--tertiary:active,.googlesitekit-plugin .mdc-button--tertiary:focus{outline:none}.googlesitekit-plugin .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .mdc-button--tertiary:focus:not(:disabled){background-color:rgba(22,27,24,.26)}.googlesitekit-plugin .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .mdc-button--tertiary:focus:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-plugin .mdc-button--tertiary:active::before,.googlesitekit-plugin .mdc-button--tertiary:active::after,.googlesitekit-plugin .mdc-button--tertiary:focus::before,.googlesitekit-plugin .mdc-button--tertiary:focus::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--tertiary:active::before,.googlesitekit-plugin .mdc-button--tertiary:active::after,.googlesitekit-plugin .mdc-button--tertiary:focus::before,.googlesitekit-plugin .mdc-button--tertiary:focus::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-plugin .mdc-button--tertiary:active:hover::before,.googlesitekit-plugin .mdc-button--tertiary:focus:hover::before{opacity:.08}.googlesitekit-plugin .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--tertiary:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--tertiary:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--tertiary:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-plugin .mdc-button--tertiary:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--tertiary:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-plugin .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .mdc-button--tertiary:focus:not(:disabled){color:#161b18}.googlesitekit-plugin .mdc-button--callout{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;height:auto;letter-spacing:normal;min-height:32px;padding:6px 16px}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:not(:disabled){color:#265c3b}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(:disabled){background-color:rgba(147,201,168,.6)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:hover:not(:disabled){color:#265c3b}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus{outline:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(:disabled){background-color:#93c9a8}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:focus:not(:disabled){color:#265c3b}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-primary:disabled{color:rgba(38,92,59,.4)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:not(:disabled){color:#4e3300}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(:disabled){background-color:rgba(225,177,85,.6)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:hover:not(:disabled){color:#4e3300}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus{outline:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(:disabled){background-color:#e1b155}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:focus:not(:disabled){color:#4e3300}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-warning:disabled{color:rgba(78,51,0,.4)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:not(:disabled){color:#7a1e00}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(:disabled){background-color:rgba(255,194,174,.6)}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:hover:not(:disabled){color:#7a1e00}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus{outline:none}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(:disabled){background-color:#ffc2ae}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:hover::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:hover::before{opacity:.04}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active.mdc-ripple-upgraded,.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:active:not(:disabled),.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:focus:not(:disabled){color:#7a1e00}.googlesitekit-plugin .mdc-button--callout.mdc-button--callout-error:disabled{color:rgba(122,30,0,.4)}.googlesitekit-plugin .mdc-checkbox{box-sizing:content-box}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:#161b18;background-color:#fff}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:#161b18;background-color:#000}@keyframes mdc-checkbox-fade-in-background-0{0%{border-color:#161b18;background-color:#fff}50%{border-color:#161b18;background-color:#000}}@keyframes mdc-checkbox-fade-out-background-0{0%,80%{border-color:#161b18;background-color:#000}100%{border-color:#161b18;background-color:#fff}}.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-0}.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-0}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__checkmark{color:#fff}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__mixedmark{border-color:#fff}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__background::before{background-color:#265c3b}.googlesitekit-plugin .mdc-checkbox .mdc-checkbox__native-control{appearance:none;background:transparent;border:none;border-radius:0;box-shadow:none;clear:none;color:#161b18;cursor:inherit;display:block;height:100%;line-height:normal;margin:0;min-width:auto;opacity:0;outline:0;padding:0;text-align:center;transition:none;vertical-align:middle;width:100%;z-index:1}.googlesitekit-plugin .mdc-checkbox.mdc-checkbox--align-left{margin-left:-11px}.googlesitekit-plugin .mdc-checkbox+.mdc-checkbox__content{padding-left:4px}.googlesitekit-plugin .mdc-checkbox__label-wrapper{align-items:center;column-gap:10px;display:flex}.googlesitekit-plugin .mdc-checkbox__label-wrapper .googlesitekit-badge{margin-left:0}.googlesitekit-plugin .mdc-chip{border-radius:100px;font-weight:500;height:auto;padding:8px 12px}@media(min-width: 783px){.googlesitekit-plugin .mdc-chip{font-size:16px;letter-spacing:.5px;margin:4px 16px;padding:12px 16px}}.googlesitekit-plugin .mdc-dialog{z-index:10000}.googlesitekit-plugin .mdc-dialog .mdc-dialog__surface{border-radius:8px;box-shadow:0 10px 40px 0 rgba(0,0,0,.35);max-width:76vw;padding:24px}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog .mdc-dialog__surface{max-width:478px;padding:36px}}@media(min-width: 960px){.googlesitekit-plugin .mdc-dialog .mdc-dialog__surface{max-width:590px}}.googlesitekit-plugin .mdc-dialog .mdc-dialog__lead,.googlesitekit-plugin .mdc-dialog .mdc-dialog__title{color:#161b18}.googlesitekit-plugin .mdc-dialog .mdc-dialog__title{align-items:flex-start;column-gap:9px;display:flex;flex-direction:column;font-size:22px;letter-spacing:0;padding:0 0 4px}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog .mdc-dialog__title{align-items:center;flex-direction:row;padding:0 0 14px}}.googlesitekit-plugin .mdc-dialog .mdc-dialog__title::before{display:none}.googlesitekit-plugin .mdc-dialog .mdc-dialog__title svg{color:#ac4220;margin-bottom:4px}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog .mdc-dialog__title svg{margin-bottom:0}}.googlesitekit-plugin .mdc-dialog .mdc-dialog__lead{font-size:14px;font-weight:500;line-height:1.43;margin:0;max-width:430px}.googlesitekit-plugin .mdc-dialog .mdc-dialog__content{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:normal;padding:0}.googlesitekit-plugin .mdc-dialog .mdc-dialog__dependencies{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:1em 0}.googlesitekit-plugin .mdc-dialog .mdc-dialog__dependencies strong{font-weight:500}.googlesitekit-plugin .mdc-dialog .mdc-dialog__provides{overflow:initial;padding:8px 0}.googlesitekit-plugin .mdc-dialog .mdc-list:first-child:last-child{padding:0}.googlesitekit-plugin .mdc-dialog .mdc-list.mdc-list--underlined .mdc-list-item,.googlesitekit-plugin .mdc-dialog .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu__list-item{font-size:14px;height:unset;letter-spacing:.2px;line-height:1.33;min-height:32px;padding:6px 0 6px 10px}.googlesitekit-plugin .mdc-dialog .mdc-list.mdc-list--underlined .mdc-list-item::before,.googlesitekit-plugin .mdc-dialog .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu__list-item::before{background-color:#161b18;border-radius:50%;content:" ";height:4px;left:0;position:absolute;top:14.3px;width:4px}.googlesitekit-plugin .mdc-dialog .mdc-dialog__actions{column-gap:10px;margin:2em 0 0;min-height:40px;padding:0}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-md .mdc-dialog__surface{max-width:441px}}@media(min-width: 600px){.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-sm .mdc-dialog__surface{max-width:402px}}.googlesitekit-plugin .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .mdc-list-item__text{white-space:normal}.googlesitekit-plugin .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .mdc-dialog__title{align-items:flex-start}.googlesitekit-plugin .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .mdc-list-item:last-child,.googlesitekit-plugin .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item:last-child,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog.googlesitekit-settings-module__confirm-disconnect-modal .googlesitekit-view-only-menu__list-item:last-child{border-bottom:0}.googlesitekit-plugin .mdc-floating-label{vertical-align:initial}.googlesitekit-plugin .mdc-form-field{color:#161b18}.googlesitekit-plugin .mdc-layout-grid+.mdc-layout-grid{padding-top:0}.googlesitekit-plugin .mdc-layout-grid--collapsed{padding:0}.googlesitekit-plugin .mdc-layout-grid--collapsed .mdc-layout-grid__inner{grid-gap:0}.googlesitekit-plugin .mdc-layout-grid--fill .mdc-layout-grid__inner{height:100%}.googlesitekit-plugin .mdc-layout-grid__cell--align-left{margin-right:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-left{justify-self:start}}.googlesitekit-plugin .mdc-layout-grid__cell--align-right{margin-left:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-right{justify-self:end}}@media(min-width: 0){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-phone{margin-left:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-phone{justify-self:end}}}@media(min-width: 601px){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-tablet{margin-left:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-tablet{justify-self:end}}}@media(min-width: 961px){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-desktop{margin-left:auto;width:auto}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--align-right-desktop{justify-self:end}}}@media(min-width: 600px){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1{margin-left:8.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-1{grid-column-start:2}.googlesitekit-plugin .mdc-layout-grid__cell--offset-2{margin-left:16.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-2{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-2{grid-column-start:3}.googlesitekit-plugin .mdc-layout-grid__cell--offset-3{margin-left:25%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-3{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-3{grid-column-start:4}.googlesitekit-plugin .mdc-layout-grid__cell--offset-4{margin-left:33.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-4{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-4{grid-column-start:5}.googlesitekit-plugin .mdc-layout-grid__cell--offset-5{margin-left:41.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-5{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-5{grid-column-start:6}.googlesitekit-plugin .mdc-layout-grid__cell--offset-6{margin-left:50%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-6{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-6{grid-column-start:7}.googlesitekit-plugin .mdc-layout-grid__cell--offset-7{margin-left:58.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-7{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-7{grid-column-start:8}.googlesitekit-plugin .mdc-layout-grid__cell--offset-8{margin-left:66.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-8{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-8{grid-column-start:9}.googlesitekit-plugin .mdc-layout-grid__cell--offset-9{margin-left:75%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-9{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-9{grid-column-start:10}.googlesitekit-plugin .mdc-layout-grid__cell--offset-10{margin-left:83.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-10{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-10{grid-column-start:11}.googlesitekit-plugin .mdc-layout-grid__cell--offset-11{margin-left:91.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-11{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-11{grid-column-start:12}.googlesitekit-plugin .mdc-layout-grid__cell--offset-12{margin-left:100%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-12{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-12{grid-column-start:13}}@media(min-width: 0){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-phone{margin-left:8.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-1-phone{grid-column-start:2}.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-phone{margin-left:16.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-2-phone{grid-column-start:3}.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-phone{margin-left:25%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-3-phone{grid-column-start:4}.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-phone{margin-left:33.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-4-phone{grid-column-start:5}.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-phone{margin-left:41.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-5-phone{grid-column-start:6}.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-phone{margin-left:50%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-6-phone{grid-column-start:7}.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-phone{margin-left:58.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-7-phone{grid-column-start:8}.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-phone{margin-left:66.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-8-phone{grid-column-start:9}.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-phone{margin-left:75%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-9-phone{grid-column-start:10}.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-phone{margin-left:83.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-10-phone{grid-column-start:11}.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-phone{margin-left:91.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-11-phone{grid-column-start:12}.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-phone{margin-left:100%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-phone{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-12-phone{grid-column-start:13}}@media(min-width: 601px){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-tablet{margin-left:8.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-1-tablet{grid-column-start:2}.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-tablet{margin-left:16.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-2-tablet{grid-column-start:3}.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-tablet{margin-left:25%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-3-tablet{grid-column-start:4}.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-tablet{margin-left:33.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-4-tablet{grid-column-start:5}.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-tablet{margin-left:41.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-5-tablet{grid-column-start:6}.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-tablet{margin-left:50%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-6-tablet{grid-column-start:7}.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-tablet{margin-left:58.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-7-tablet{grid-column-start:8}.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-tablet{margin-left:66.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-8-tablet{grid-column-start:9}.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-tablet{margin-left:75%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-9-tablet{grid-column-start:10}.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-tablet{margin-left:83.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-10-tablet{grid-column-start:11}.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-tablet{margin-left:91.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-11-tablet{grid-column-start:12}.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-tablet{margin-left:100%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-tablet{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-12-tablet{grid-column-start:13}}@media(min-width: 961px){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-desktop{margin-left:8.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-1-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-1-desktop{grid-column-start:2}.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-desktop{margin-left:16.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-2-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-2-desktop{grid-column-start:3}.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-desktop{margin-left:25%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-3-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-3-desktop{grid-column-start:4}.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-desktop{margin-left:33.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-4-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-4-desktop{grid-column-start:5}.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-desktop{margin-left:41.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-5-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-5-desktop{grid-column-start:6}.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-desktop{margin-left:50%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-6-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-6-desktop{grid-column-start:7}.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-desktop{margin-left:58.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-7-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-7-desktop{grid-column-start:8}.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-desktop{margin-left:66.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-8-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-8-desktop{grid-column-start:9}.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-desktop{margin-left:75%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-9-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-9-desktop{grid-column-start:10}.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-desktop{margin-left:83.3333333333%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-10-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-10-desktop{grid-column-start:11}.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-desktop{margin-left:91.6666666667%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-11-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-11-desktop{grid-column-start:12}.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-desktop{margin-left:100%}@supports(display: grid){.googlesitekit-plugin .mdc-layout-grid__cell--offset-12-desktop{margin-left:0}}.googlesitekit-plugin .mdc-layout-grid__cell--start-12-desktop{grid-column-start:13}}@media(min-width: 0){.googlesitekit-plugin .mdc-layout-grid__cell--order-1-phone{order:1}.googlesitekit-plugin .mdc-layout-grid__cell--order-2-phone{order:2}.googlesitekit-plugin .mdc-layout-grid__cell--order-3-phone{order:3}.googlesitekit-plugin .mdc-layout-grid__cell--order-4-phone{order:4}.googlesitekit-plugin .mdc-layout-grid__cell--order-5-phone{order:5}.googlesitekit-plugin .mdc-layout-grid__cell--order-6-phone{order:6}.googlesitekit-plugin .mdc-layout-grid__cell--order-7-phone{order:7}.googlesitekit-plugin .mdc-layout-grid__cell--order-8-phone{order:8}.googlesitekit-plugin .mdc-layout-grid__cell--order-9-phone{order:9}.googlesitekit-plugin .mdc-layout-grid__cell--order-10-phone{order:10}.googlesitekit-plugin .mdc-layout-grid__cell--order-11-phone{order:11}.googlesitekit-plugin .mdc-layout-grid__cell--order-12-phone{order:12}}@media(min-width: 601px){.googlesitekit-plugin .mdc-layout-grid__cell--order-1-tablet{order:1}.googlesitekit-plugin .mdc-layout-grid__cell--order-2-tablet{order:2}.googlesitekit-plugin .mdc-layout-grid__cell--order-3-tablet{order:3}.googlesitekit-plugin .mdc-layout-grid__cell--order-4-tablet{order:4}.googlesitekit-plugin .mdc-layout-grid__cell--order-5-tablet{order:5}.googlesitekit-plugin .mdc-layout-grid__cell--order-6-tablet{order:6}.googlesitekit-plugin .mdc-layout-grid__cell--order-7-tablet{order:7}.googlesitekit-plugin .mdc-layout-grid__cell--order-8-tablet{order:8}.googlesitekit-plugin .mdc-layout-grid__cell--order-9-tablet{order:9}.googlesitekit-plugin .mdc-layout-grid__cell--order-10-tablet{order:10}.googlesitekit-plugin .mdc-layout-grid__cell--order-11-tablet{order:11}.googlesitekit-plugin .mdc-layout-grid__cell--order-12-tablet{order:12}}@media(min-width: 961px){.googlesitekit-plugin .mdc-layout-grid__cell--order-1-desktop{order:1}.googlesitekit-plugin .mdc-layout-grid__cell--order-2-desktop{order:2}.googlesitekit-plugin .mdc-layout-grid__cell--order-3-desktop{order:3}.googlesitekit-plugin .mdc-layout-grid__cell--order-4-desktop{order:4}.googlesitekit-plugin .mdc-layout-grid__cell--order-5-desktop{order:5}.googlesitekit-plugin .mdc-layout-grid__cell--order-6-desktop{order:6}.googlesitekit-plugin .mdc-layout-grid__cell--order-7-desktop{order:7}.googlesitekit-plugin .mdc-layout-grid__cell--order-8-desktop{order:8}.googlesitekit-plugin .mdc-layout-grid__cell--order-9-desktop{order:9}.googlesitekit-plugin .mdc-layout-grid__cell--order-10-desktop{order:10}.googlesitekit-plugin .mdc-layout-grid__cell--order-11-desktop{order:11}.googlesitekit-plugin .mdc-layout-grid__cell--order-12-desktop{order:12}}.googlesitekit-plugin .mdc-linear-progress{margin:32px 0}.googlesitekit-plugin .mdc-linear-progress .mdc-linear-progress__bar-inner{background-color:#3c7251}@media(min-width: 960px){.googlesitekit-plugin .mdc-linear-progress{margin:48px 0}}.googlesitekit-plugin .mdc-linear-progress--small{max-width:150px}.googlesitekit-plugin .mdc-linear-progress--compress{margin:0}.googlesitekit-plugin .mdc-list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item{margin:0}.googlesitekit-plugin .mdc-list.mdc-list--underlined .mdc-list-item,.googlesitekit-plugin .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list.mdc-list--underlined .googlesitekit-view-only-menu__list-item{border-bottom:1px solid #ebeef0;padding-left:0;padding-right:0}.mdc-menu-surface{box-shadow:0 1.25px 5px 0 rgba(0,0,0,.19),0 .33px 1.5px 0 rgba(0,0,0,.039);border-radius:16px}.googlesitekit-plugin .mdc-menu-surface{left:auto !important;right:-8px;top:calc(100% + 10px) !important;width:calc(100% + 8px)}.mdc-menu-surface--open{z-index:10000}.googlesitekit-plugin .mdc-radio .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:#000}.googlesitekit-plugin .mdc-radio .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:#000}.googlesitekit-plugin .mdc-radio .mdc-radio__native-control:enabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:#000}.googlesitekit-plugin .mdc-radio .mdc-radio__background::before{background-color:#265c3b}.googlesitekit-plugin .mdc-radio .mdc-radio__native-control{appearance:none;background:transparent;border:none;border-radius:0;box-shadow:none;clear:none;color:#161b18;cursor:inherit;display:block;height:100%;line-height:normal;margin:0;min-width:auto;opacity:0;outline:0;padding:0;text-align:center;transition:none;width:100%;z-index:1}.googlesitekit-plugin .mdc-radio.mdc-radio--align-left{margin-left:-10px}.googlesitekit-plugin .mdc-radio__description{color:#6c726e;font-size:12px;line-height:1.33}.googlesitekit-plugin .mdc-select{max-width:100%}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{color:#161b18}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-floating-label{color:#161b18}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label{color:#161b18}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:#b8bdb9}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#757575}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#3c7251}.googlesitekit-plugin .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple{background-color:#446199}.googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__leading{border-radius:8px 0 0 8px}[dir=rtl] .googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-radius:0 8px 8px 0}.googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__trailing{border-radius:0 8px 8px 0}[dir=rtl] .googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-select .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-radius:8px 0 0 8px}.googlesitekit-plugin .mdc-select .mdc-select__native-control{border-radius:8px}.googlesitekit-plugin .mdc-select .mdc-select__selected-text{display:block;overflow:hidden;text-overflow:ellipsis}.googlesitekit-plugin .mdc-select .mdc-select__native-control{appearance:none;box-shadow:none;height:56px !important;line-height:1.75rem;margin:0;padding:20px 26px 4px 16px}.googlesitekit-plugin .mdc-select.mdc-select--focused:not(.mdc-select--disabled) .mdc-floating-label--float-above{color:#3c7251}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple{background-color:#ac4220}.googlesitekit-plugin .mdc-select--minimal{background-color:transparent;background-position:right center;display:block;height:20px;line-height:1;margin:0 0 -6px;padding-bottom:6px;width:90px}.googlesitekit-plugin .mdc-select--minimal::before{background-color:transparent}.googlesitekit-plugin .mdc-select--outlined .mdc-select__native-control{background-color:transparent;border:none;box-shadow:none;display:flex;padding:12px 26px 12px 16px;z-index:1}.googlesitekit-plugin .mdc-select--minimal .mdc-select__selected-text{border:none;font-size:12px !important;height:14px !important;letter-spacing:.2px;line-height:1;min-width:0;padding:0 18px 0 0;text-align:right;text-indent:0}.googlesitekit-plugin .mdc-select--minimal .mdc-select__dropdown-icon{bottom:2px;right:-5px}.googlesitekit-plugin .mdc-select--minimal.mdc-select--focused .mdc-select__dropdown-icon{transform:rotate(180deg) translateY(0)}.googlesitekit-plugin .mdc-switch{vertical-align:middle}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__track{background-color:#3c7251;border-color:#3c7251}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb{background-color:#3c7251;border-color:#3c7251}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay::before,.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay::after{background-color:#3c7251}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay:hover::before{opacity:.04}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb-underlay.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__thumb{background-color:#3c7251;border-color:#3c7251}.googlesitekit-plugin .mdc-switch.mdc-switch--checked .mdc-switch__track{background-color:#b8e5ca;border-color:#b8e5ca}.googlesitekit-plugin .mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb{background-color:#6c726e;border-color:#6c726e}.googlesitekit-plugin .mdc-switch:not(.mdc-switch--checked) .mdc-switch__track{background-color:#cbd0d3;border-color:#cbd0d3}.googlesitekit-plugin .mdc-switch .mdc-switch__native-control{appearance:none;background:transparent;border:none;box-shadow:none;clear:none;color:#161b18;cursor:pointer;display:block;height:48px;line-height:normal;margin:0;min-width:auto;outline:0;padding:0;text-align:center;transition:none;vertical-align:middle;width:68px}.googlesitekit-plugin .mdc-switch .mdc-switch__native-control::before{opacity:0 !important}.googlesitekit-plugin .mdc-switch+label{font-size:14px;letter-spacing:.25px;line-height:1.43;margin-left:10px}.googlesitekit-plugin .mdc-switch .mdc-switch__track{opacity:1}.googlesitekit-plugin .mdc-switch .mdc-switch__thumb{box-shadow:none}.googlesitekit-plugin .mdc-tab{font-size:12px;letter-spacing:.2px;line-height:1;text-transform:none}.googlesitekit-plugin .mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#3c7251}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple::before,.googlesitekit-plugin .mdc-tab .mdc-tab__ripple::after{background-color:#3c7251}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple:hover::before{opacity:.04}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .mdc-tab .mdc-tab__ripple.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .mdc-tab .mdc-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .mdc-tab:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .mdc-tab:focus{color:#3c7251;outline:none}.googlesitekit-plugin .mdc-tab[disabled]{cursor:default}.googlesitekit-plugin .mdc-tab[disabled] .mdc-tab__ripple{display:none}.googlesitekit-plugin .mdc-tab[disabled] .mdc-tab__text-label{color:#999f9b;opacity:.6}.googlesitekit-plugin .mdc-text-field{width:250px}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#161b18}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label{color:#161b18}.googlesitekit-plugin .mdc-text-field .mdc-text-field__input{caret-color:#3c7251}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#3c7251}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#757575}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#b8bdb9}.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#b8bdb9}.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__leading{border-radius:8px 0 0 8px}[dir=rtl] .googlesitekit-plugin .mdc-text-field .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__leading[dir=rtl]{border-radius:0 8px 8px 0}.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__trailing{border-radius:0 8px 8px 0}[dir=rtl] .googlesitekit-plugin .mdc-text-field .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__trailing[dir=rtl]{border-radius:8px 0 0 8px}.googlesitekit-plugin .mdc-text-field .mdc-notched-outline__notch{padding-right:0;width:auto !important}@media(min-width: 600px){.googlesitekit-plugin .mdc-text-field{width:350px}}.googlesitekit-plugin .mdc-text-field--textarea{max-width:650px;width:100%}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--disabled) .mdc-floating-label,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-floating-label{color:#ac4220}.googlesitekit-plugin .mdc-text-field--error:not(.mdc-text-field--focused) .mdc-floating-label--float-above,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea:not(.mdc-text-field--focused) .mdc-floating-label--float-above{color:#ac4220}.googlesitekit-plugin .mdc-text-field--error+.mdc-text-field-helper-line .mdc-text-field-helper-text,.googlesitekit-plugin .mdc-text-field--error.mdc-text-field--textarea+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:#ac4220}.googlesitekit-plugin .mdc-text-field--textarea.mdc-text-field--focused{border-color:#446199}.googlesitekit-plugin .mdc-text-field--textarea .mdc-text-field__input{box-shadow:none;padding:8px 12px 12px}.googlesitekit-plugin .mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-text-field__input:focus{border-color:#446199}.googlesitekit-plugin .MuiCircularProgress-colorPrimary{color:#3c7251}.googlesitekit-plugin .MuiCircularProgress-colorSecondary{color:#108080}.googlesitekit-plugin{--md-sys-color-primary: #3c7251;--md-sys-color-on-surface: #161b18;--md-sys-color-on-tertiary-container: #225858;--md-sys-color-tertiary-container: #d5f6f6}.googlesitekit-plugin{--md-checkbox-container-shape: 4px;--md-checkbox-_touch-target-size: 40px}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox label{margin-left:2px}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox--loading{align-items:center;display:flex;height:var(--md-checkbox-_touch-target-size);justify-content:center;width:var(--md-checkbox-_touch-target-size)}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox--align-left{margin-left:-15px}.googlesitekit-plugin .googlesitekit-component-gm3_checkbox__description{margin-left:2px}:root{--reach-combobox: 1}.googlesitekit-plugin{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.43}.googlesitekit-plugin *,.googlesitekit-plugin *::before,.googlesitekit-plugin *::after{box-sizing:border-box}.googlesitekit-plugin svg{color:inherit}.googlesitekit-plugin svg:not(:root){overflow:hidden}.googlesitekit-plugin h1,.googlesitekit-plugin h2,.googlesitekit-plugin h3,.googlesitekit-plugin h4,.googlesitekit-plugin h5,.googlesitekit-plugin h6{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.16}.googlesitekit-plugin h1,.googlesitekit-plugin .googlesitekit-heading-1{font-size:32px;font-weight:400;line-height:1.25}.googlesitekit-plugin h2,.googlesitekit-plugin .googlesitekit-heading-2{font-size:28px;font-weight:400;line-height:1.286}.googlesitekit-plugin h3,.googlesitekit-plugin .googlesitekit-heading-3{font-size:22px;font-weight:400;line-height:1.27}.googlesitekit-plugin h4,.googlesitekit-plugin .googlesitekit-heading-4{font-size:18px;font-weight:700;line-height:1.33}.googlesitekit-plugin .googlesitekit-subheading-1{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.14}.googlesitekit-plugin .googlesitekit-subheading-2{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-nodata{display:none}.googlesitekit-plugin legend,.googlesitekit-plugin p:not([class*=mdc-]){font-size:14px;letter-spacing:.25px}.googlesitekit-plugin a{color:#108080;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin a:hover{color:#108080;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin a:focus{box-shadow:none;outline:1px dotted #000;outline-offset:3px}.googlesitekit-plugin button{background:none;border:none;border-radius:100px;color:#108080;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin button:hover{-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin button:focus{outline:1px dotted #000;outline-offset:6px}.googlesitekit-plugin legend{line-height:1.5;margin:1em 0}.googlesitekit-plugin .screen-reader-only{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}@media(max-width: 599px){.googlesitekit-plugin .hidden-on-mobile{display:none}}.googlesitekit-hidden{display:none !important}.googlesitekit-activation .googlesitekit-activation__title{margin:10px 0 20px}.googlesitekit-noscript #googlesitekit-notice-activated{border-left-color:#fece72;margin:5px 15px 5px 0;padding:0}.googlesitekit-noscript #googlesitekit-notice-activated .googlesitekit-noscript{border:0;margin:0;padding:0}.googlesitekit-accordion{border:1px solid #ebeef0}.googlesitekit-accordion .googlesitekit-accordion__header,.googlesitekit-accordion .googlesitekit-accordion__content{padding:14px 20px}.googlesitekit-accordion .googlesitekit-accordion__header{cursor:pointer;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.14;padding-right:32px;position:relative;width:100%}.googlesitekit-accordion .googlesitekit-accordion__header:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-accordion .googlesitekit-accordion__header:focus{outline-offset:0}.googlesitekit-accordion .googlesitekit-accordion__header .googlesitekit-icon-wrapper{align-items:center;display:flex;justify-content:center;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:20px}.googlesitekit-accordion .googlesitekit-accordion__header .googlesitekit-icon-wrapper svg{color:#5b5b61}.googlesitekit-accordion .googlesitekit-accordion__header.is-active{font-weight:700}.googlesitekit-accordion .googlesitekit-accordion__header.is-active .googlesitekit-icon-wrapper{transform:translateY(-50%) rotate(180deg)}.js .googlesitekit-accordion .googlesitekit-accordion__content{display:none}.js .googlesitekit-accordion .googlesitekit-accordion__content.is-active{display:block}.googlesitekit-accordion .googlesitekit-accordion__content p{margin-top:0}.googlesitekit-accordion.googlesitekit-accordion--disabled .googlesitekit-accordion__header{pointer-events:none}.googlesitekit-accordion.googlesitekit-accordion--disabled .googlesitekit-accordion__header .googlesitekit-icon-wrapper svg{color:rgba(3,14,7,.32)}.googlesitekit-accordion+.googlesitekit-accordion{border-top-width:0}.googlesitekit-plugin .googlesitekit-analytics-cta{--cta-analytics-gap: 16px;--cta-analytics-gap-narrow: calc(var(--cta-analytics-gap) / 2);background-color:#ebeef0;display:flex;flex-direction:column;gap:var(--cta-analytics-gap);padding:var(--cta-analytics-gap)}@media(min-width: 1440px){.googlesitekit-plugin .googlesitekit-analytics-cta{--cta-analytics-gap: 24px;flex-direction:row-reverse}}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta--description{color:#161b18;font-size:14px;letter-spacing:.25px;margin:0}.googlesitekit-plugin .googlesitekit-analytics-cta .mdc-button{margin-top:var(--cta-analytics-gap-narrow);width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-analytics-cta .mdc-button{width:auto}}@media(min-width: 1440px){.googlesitekit-plugin .googlesitekit-analytics-cta .mdc-button{margin-top:var(--cta-analytics-gap)}}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-cta--activate-analytics,.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graphs{display:flex;gap:var(--cta-analytics-gap)}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph{background-color:#fff;border-radius:4px;display:flex;flex:1;flex-direction:column;padding:var(--cta-analytics-gap-narrow)}#dashboard-widgets .googlesitekit-plugin .googlesitekit-analytics-cta h3.googlesitekit-analytics-cta__preview-graph--title,.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph--title{color:#333935;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.2px;margin:0 0 auto;padding-bottom:var(--cta-analytics-gap-narrow)}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph--icons{align-items:center;color:#cbd0d3;display:flex;gap:4px;padding-top:var(--cta-analytics-gap-narrow)}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph--up-arrow{height:12px}.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graph--bar{background-color:#cbd0d3;border-radius:5px;height:8px;width:24px}@media(min-width: 1440px){.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__preview-graphs,.googlesitekit-plugin .googlesitekit-analytics-cta .googlesitekit-analytics-cta__details{flex:1}}.autocomplete__wrapper{flex:1 1 100%;margin:0 0 16px 0;position:relative}@media(min-width: 600px){.autocomplete__wrapper{flex:1;margin:0 16px 0 0}}@media(min-width: 960px){.autocomplete__wrapper{margin-right:24px}}.autocomplete__wrapper .autocomplete__input{border-color:#b8bdb9;border-radius:4px;color:#161b18;font-size:14px;font-weight:400;height:48px;letter-spacing:.25px;line-height:1.43;padding:12px 16px;position:relative;transition:border-color 150ms ease-in-out;width:100%;z-index:3}.autocomplete__wrapper .autocomplete__input:hover{border-color:#757575}.autocomplete__wrapper .autocomplete__input:focus{border-color:#446199;border-width:2px;box-shadow:none;padding:12px 15px}.autocomplete__input--default{padding:4px}.autocomplete__input--show-all-values{cursor:pointer;padding:4px 34px 4px 4px}.autocomplete__menu{background-color:#446199;border-radius:4px;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;left:1px;line-height:1.5rem;margin:0;padding:8px 0;top:calc(100% - 10px);width:100%}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--inline{position:absolute;z-index:2}.autocomplete__option{color:#fff;font-weight:400;margin-bottom:0;overflow:hidden;padding:12px 16px;position:relative}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#6380b8}.googlesitekit-badge{background-color:#ebeef0;border-radius:100px;color:#333935;display:inline-block;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;padding:4px 8px;vertical-align:middle;white-space:nowrap}.googlesitekit-badge--has-left-spacing{margin-left:12px}.googlesitekit-badge--primary{background-color:#446199;color:#fff}.googlesitekit-badge--hidden{visibility:hidden}.googlesitekit-badge--beta{background-color:#6c726e;color:#fff}.googlesitekit-badge-with-tooltip{background-color:#ffe4b1;color:#684500;display:inline-flex;line-height:16px;padding:6px 10px}.googlesitekit-badge-with-tooltip .googlesitekit-info-tooltip{height:16px;margin-left:4px}.googlesitekit-badge-with-tooltip .googlesitekit-info-tooltip svg path{fill:#4e3300}.googlesitekit-plugin .mdc-button.googlesitekit-button-icon{min-height:auto;min-width:auto;padding:8px}@media(max-width: 599px){.googlesitekit-plugin .mdc-button.googlesitekit-button-icon--phone{min-height:auto;min-width:auto;padding:8px}}.googlesitekit-plugin .mdc-button.googlesitekit-button-icon--spinner__running svg circle{stroke:#fff}.googlesitekit-plugin .mdc-button.googlesitekit-button-icon--spinner__running.googlesitekit-button-icon--spinner__before .mdc-button__label{margin-inline-start:8px}.googlesitekit-plugin .mdc-button.googlesitekit-button-icon--spinner__running.googlesitekit-button-icon--spinner__after .mdc-button__label{margin-inline-end:8px}.googlesitekit-plugin .googlesitekit-change-arrow{--color-up: #46732b;--color-down: #ac4220}.googlesitekit-plugin .googlesitekit-change-arrow--inverted-color{--color-up: #ac4220;--color-down: #46732b}.googlesitekit-plugin .googlesitekit-change-arrow--up{color:var(--color-up)}.googlesitekit-plugin .googlesitekit-change-arrow--down{color:var(--color-up);transform:rotate(180deg)}.googlesitekit-plugin .googlesitekit-change-arrow--down path{fill:var(--color-down)}.googlesitekit-plugin .googlesitekit-change-badge{background-color:#d8ffc0;border-radius:100px;color:#1f4c04;font:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;margin-top:6px;padding:4px 8px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-change-badge{margin-top:12px}}.googlesitekit-plugin .googlesitekit-change-badge.googlesitekit-change-badge--negative{background-color:#ffded3;color:#7a1e00}.googlesitekit-plugin .googlesitekit-change-badge.googlesitekit-change-badge--zero{background-color:#ebeef0;color:#333935}.googlesitekit-chart{position:relative}.googlesitekit-chart .googlesitekit-chart__source{font-size:12px;letter-spacing:.2px;margin-top:16px}.googlesitekit-chart .googlesitekit-chart__date-marker-line{border-left:1px dashed #131418;height:100%;left:0;margin-left:.5px;opacity:0;position:absolute;top:0;transition:opacity 180ms ease-in;width:0}.googlesitekit-chart .googlesitekit-chart__date-marker-tooltip{color:#108080;height:18px;left:0;opacity:0;position:absolute;top:0;transition:opacity 180ms ease-in;width:18px}.googlesitekit-chart--LineChart div.google-visualization-tooltip{height:-moz-fit-content !important;height:fit-content !important;width:-moz-fit-content !important;width:fit-content !important}.googlesitekit-chart--LineChart div.google-visualization-tooltip .google-visualization-tooltip-item-list{margin:.5em 0}.googlesitekit-chart--LineChart div.google-visualization-tooltip .google-visualization-tooltip-item{margin:0}.googlesitekit-chart--PieChart svg{overflow:visible !important}.googlesitekit-chart--PieChart svg>g>g{pointer-events:none}.googlesitekit-chart--PieChart svg>g:last-child>g:last-child{pointer-events:none}.googlesitekit-chart--PieChart div.google-visualization-tooltip{pointer-events:none;z-index:8}.googlesitekit-chart-loading__forced{height:100%;width:100%}.googlesitekit-chart-loading{align-items:center;display:flex;flex-wrap:wrap;height:100%;justify-items:center;width:100%}.googlesitekit-chart-loading .googlesitekit-chart-loading__wrapper{margin:0 auto;text-align:center;width:100%}.googlesitekit-plugin .googlesitekit-chip{background-color:transparent;border:1px solid #b8bdb9;border-radius:8px;color:#161b18;flex-direction:row-reverse;font-size:12px;justify-content:center;letter-spacing:.2px;line-height:1.33;margin:0;min-width:80px;padding:13px 12px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-chip{padding:3px 12px}}.googlesitekit-plugin .googlesitekit-chip .mdc-chip__checkmark{margin:0}.googlesitekit-plugin .googlesitekit-chip .mdc-chip__checkmark-svg{transition:none}.googlesitekit-plugin .googlesitekit-chip .mdc-chip__text{padding:0 12px}.googlesitekit-plugin .googlesitekit-chip.mdc-chip--selected{background-color:#b8e5ca;border-color:#b8e5ca;gap:6px}.googlesitekit-plugin .googlesitekit-chip.mdc-chip--selected .mdc-chip__checkmark-path{stroke:#161b18}.googlesitekit-plugin .googlesitekit-chip.mdc-chip--selected .mdc-chip__checkmark-svg{height:18px;width:18px}.googlesitekit-plugin .googlesitekit-chip.mdc-chip--selected .mdc-chip__text{padding:0}.googlesitekit-plugin .googlesitekit-chip-multi-select{display:flex;flex-wrap:wrap;gap:12px}.googlesitekit-plugin .googlesitekit-chip-multi-select__item.googlesitekit-chip{background-color:#ebeef0;border:none;border-radius:100px;flex-direction:row;padding:6px 26px}.googlesitekit-plugin .googlesitekit-chip-multi-select__item.googlesitekit-chip .mdc-chip__checkmark{display:none}.googlesitekit-plugin .googlesitekit-chip-multi-select__item.googlesitekit-chip.mdc-chip--selected{background-color:#b8e5ca;border:none;gap:10px}.googlesitekit-plugin .googlesitekit-chip-multi-select__item.googlesitekit-chip.mdc-chip--selected .mdc-chip__checkmark{display:block}.googlesitekit-plugin .googlesitekit-chip-multi-select__item.googlesitekit-chip.mdc-chip--selected .mdc-chip__checkmark,.googlesitekit-plugin .googlesitekit-chip-multi-select__item.googlesitekit-chip.mdc-chip--selected .mdc-chip__checkmark svg{height:12px;width:12px}.googlesitekit-plugin .googlesitekit-chip-multi-select__item.googlesitekit-chip .mdc-chip__text{padding:0 11px;text-align:center;text-wrap:inherit}.googlesitekit-plugin .googlesitekit-chip-multi-select__item.googlesitekit-chip.mdc-chip--selected .mdc-chip__text{padding:0}.googlesitekit-plugin .googlesitekit-cta,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{background-color:#ebeef0;border-radius:16px;font-size:14px;grid-column:span 3;grid-row:span 3;height:100%;letter-spacing:.25px;line-height:1.43;padding:16px;width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-cta,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{padding:24px}}.googlesitekit-wp-dashboard .googlesitekit-plugin .googlesitekit-cta--error,.googlesitekit-wp-dashboard #dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta--error{background-color:#fff}.googlesitekit-adminbar-modules .googlesitekit-plugin .googlesitekit-cta,.googlesitekit-adminbar-modules #dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{padding:16px}.googlesitekit-wp-dashboard .googlesitekit-plugin .googlesitekit-cta,.googlesitekit-wp-dashboard #dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{background-color:#ebeef0;box-sizing:border-box;height:auto;margin-top:12px;padding:12px}.googlesitekit-wp-dashboard .googlesitekit-wp-dashboard-stats__cta .googlesitekit-plugin .googlesitekit-cta,.googlesitekit-wp-dashboard .googlesitekit-wp-dashboard-stats__cta #dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta{margin-top:0}.googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__title,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__title{color:#161b18;font-size:14px;font-weight:500;margin:0 0 5px}.googlesitekit-plugin .googlesitekit-cta .googlesitekit-adminbar-modules .googlesitekit-cta__title,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta .googlesitekit-adminbar-modules .googlesitekit-cta__title{font-weight:700;letter-spacing:.5px}.googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__description,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__description{color:#161b18;margin:0 0 20px}.googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__description p:first-child,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta .googlesitekit-cta__description p:first-child{margin-top:0}.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error{background-color:#ffded3}.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error a,.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .googlesitekit-cta__title,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error a,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .googlesitekit-cta__title{color:#7a1e00}.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .googlesitekit-cta__description,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .googlesitekit-cta__description{color:#7a1e00;word-break:break-word}.googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .mdc-button:not(:disabled),#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta.googlesitekit-cta--error .mdc-button:not(:disabled){background-color:#ac4220;color:#fff}.googlesitekit-plugin .googlesitekit-cta *:last-child,#dashboard-widgets .inside .googlesitekit-plugin .googlesitekit-cta *:last-child{margin-bottom:0}.googlesitekit-wp-dashboard .googlesitekit-cta--error{margin-top:12px}.googlesitekit-cta-link{align-items:center;cursor:pointer;display:inline-flex;font-family:inherit;font-size:inherit;font-weight:inherit;padding:0;text-align:left;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-cta-link svg{fill:currentColor}.googlesitekit-cta-link:hover svg{fill:currentColor}.googlesitekit-page .googlesitekit-cta-link{color:#108080}.googlesitekit-page .googlesitekit-cta-link:hover{color:#108080;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-cta-link.googlesitekit-cta-link--secondary{color:#108080}.googlesitekit-cta-link.googlesitekit-cta-link--secondary svg{fill:currentColor}.googlesitekit-cta-link.googlesitekit-cta-link--secondary:hover{color:#108080}.googlesitekit-cta-link.googlesitekit-cta-link--secondary:hover svg{fill:currentColor}.googlesitekit-cta-link.googlesitekit-cta-link--caps{text-transform:uppercase}.googlesitekit-cta-link.googlesitekit-cta-link--danger{color:#ac4220}.googlesitekit-cta-link.googlesitekit-cta-link--small{font-size:12px;letter-spacing:.2px}.googlesitekit-cta-link.googlesitekit-cta-link--standalone{display:flex}.googlesitekit-cta-link.googlesitekit-cta-link--inverse{color:#fff}.googlesitekit-cta-link.googlesitekit-cta-link--inverse:hover{color:#fff}.googlesitekit-cta-link.googlesitekit-cta-link--disabled{color:#b8bdb9;cursor:default}.googlesitekit-cta-link.googlesitekit-cta-link--danger:hover{color:#ac4220}.googlesitekit-cta-link.googlesitekit-cta-link--disabled:hover{color:#b8bdb9;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-cta-link.googlesitekit-cta-link--no-flex{display:inline}button.googlesitekit-cta-link{color:#3c7251}button.googlesitekit-cta-link svg{fill:currentColor}button.googlesitekit-cta-link:hover{color:#2e5f41}button.googlesitekit-cta-link:hover svg{fill:currentColor}button.googlesitekit-cta-link--link-button{padding:2px 10px}button.googlesitekit-cta-link--link-button:focus{background-color:rgba(60,114,81,.08);outline:none}button.googlesitekit-cta-link--link-button.googlesitekit-cta-link--secondary:focus{background-color:rgba(16,128,128,.08)}.googlesitekit-plugin .googlesitekit-navigation{background-color:#fff;border-bottom:1px solid #ebeef0;justify-content:center;left:0;padding:12px 0;position:sticky;right:0;top:68px;z-index:10}.googlesitekit-plugin .googlesitekit-navigation::before{content:"";display:block;height:3px;left:0;opacity:1;position:absolute;top:-3px;transition:opacity 0s;width:100%}body.googlesitekit-showing-feature-tour .googlesitekit-plugin .googlesitekit-navigation,body.googlesitekit-showing-tooltip .googlesitekit-plugin .googlesitekit-navigation{position:static}@media(min-width: 601px){body.admin-bar .googlesitekit-plugin .googlesitekit-navigation{top:114px}}@media(min-width: 783px){body.admin-bar .googlesitekit-plugin .googlesitekit-navigation{top:100px}}@media(min-width: 961px){body.admin-bar .googlesitekit-plugin .googlesitekit-navigation{top:116px}}.googlesitekit-plugin .googlesitekit-navigation .mdc-chip{background-color:#fff;border:1px solid #ebeef0;border-radius:100px;color:#161b18;font-size:14px;letter-spacing:.2px;line-height:1;padding:11px 14px 11px 19px}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-navigation .mdc-chip{padding:5px 10px 5px 12px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-navigation .mdc-chip{margin:4px 12px}}.googlesitekit-plugin .googlesitekit-navigation .mdc-chip .mdc-chip__icon{border-radius:0;height:auto;margin-right:6px;width:auto}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-navigation .mdc-chip .mdc-chip__icon{display:none}}.googlesitekit-plugin .googlesitekit-navigation .mdc-chip--selected{color:#3c7251}.googlesitekit-plugin .googlesitekit-navigation--is-sticky{border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-navigation--is-sticky+.googlesitekit-entity-header{border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-navigation--entityDashboard{border-bottom:1px solid #ebeef0;border-radius:0}.googlesitekit-plugin--has-scrolled .googlesitekit-plugin .googlesitekit-header--has-subheader+.googlesitekit-subheader+.googlesitekit-navigation--is-sticky::before{opacity:0;transition:opacity .1s ease-out}.googlesitekit-data-block{--color-up: #46732b;--color-down: #ac4220;position:relative;text-align:left}.post-php .googlesitekit-data-block{min-width:150px}.googlesitekit-wp-dashboard .googlesitekit-data-block{padding-top:12px}.googlesitekit-data-block .googlesitekit-data-block__title{align-items:flex-start;color:#6c726e;display:flex;flex:1;flex-direction:column;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;justify-content:flex-start;line-height:1.14;margin:0 0 12px;row-gap:8px}.googlesitekit-data-block .googlesitekit-data-block__title .googlesitekit-new-badge{margin-left:0}.googlesitekit-data-block.googlesitekit-data-block--button .googlesitekit-data-block__title{align-items:center}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__title{font-size:16px;font-weight:700;letter-spacing:.5px;margin-bottom:5px}#dashboard-widgets .googlesitekit-wp-dashboard .googlesitekit-data-block .googlesitekit-data-block__title{font-size:12px;letter-spacing:.2px}.googlesitekit-data-block .googlesitekit-data-block__title-inner{align-items:center;display:flex;flex:1}.googlesitekit-data-block .googlesitekit-data-block__title-datapoint-wrapper{display:flex;flex:1;flex-flow:column}.googlesitekit-data-block .googlesitekit-data-block__datapoint{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:46px;font-weight:500;line-height:1.13;margin:0}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__datapoint{display:inline-block;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:38px;line-height:1.158;margin-right:5px}.googlesitekit-wp-dashboard .googlesitekit-data-block .googlesitekit-data-block__datapoint{font-size:32px}.googlesitekit-data-block .googlesitekit-data-block__change{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1;margin-top:16px;text-transform:none}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__change{display:inline-block;font-size:16px;letter-spacing:.5px;margin-top:0}.googlesitekit-wp-dashboard .googlesitekit-data-block .googlesitekit-data-block__change{margin-top:10px}.googlesitekit-data-block .googlesitekit-data-block__change--no-change{visibility:hidden}.googlesitekit-data-block .googlesitekit-data-block__sparkline{margin-top:8px;max-width:150px}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__sparkline{display:none}.googlesitekit-data-block .googlesitekit-data-block__arrow{display:inline-block;line-height:1;margin-right:2px;vertical-align:baseline}.googlesitekit-data-block .googlesitekit-data-block__arrow--reverse{transform:rotate(180deg)}#wpadminbar .googlesitekit-data-block .googlesitekit-data-block__arrow .svg{height:9px;width:9px}.googlesitekit-data-block .googlesitekit-data-block__suffix{margin-left:4px}.googlesitekit-data-block .googlesitekit-data-block__value,.googlesitekit-data-block .googlesitekit-data-block__suffix{color:#6c726e;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;text-transform:none}.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__value,.googlesitekit-adminbar .googlesitekit-data-block .googlesitekit-data-block__suffix{font-size:16px;font-weight:400;letter-spacing:.5px}.googlesitekit-data-block .googlesitekit-data-block__value--up,.googlesitekit-data-block .googlesitekit-data-block__suffix--up{color:var(--color-up)}.googlesitekit-data-block .googlesitekit-data-block__value--down,.googlesitekit-data-block .googlesitekit-data-block__suffix--down{color:var(--color-down)}.googlesitekit-data-block .googlesitekit-data-block__source{font-size:12px;letter-spacing:.2px;margin-top:8px}@media(min-width: 960px){.googlesitekit-data-block .googlesitekit-data-block__source{margin-top:12px}}.googlesitekit-data-block--button .googlesitekit-data-block__sparkline{margin:8px auto 0 auto}.googlesitekit-data-block--button{cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:flex-end;padding-bottom:16px;padding-top:20px;text-align:center;transition:background-color .2s ease-in-out}@media(min-width: 960px){.googlesitekit-data-block--button{padding-bottom:24px;padding-top:28px}}.googlesitekit-data-block--button::before{content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease-in-out}.googlesitekit-data-block--selected::before{opacity:1}.googlesitekit-data-block--button-1:not(.googlesitekit-data-block--is-gathering-data):hover,.googlesitekit-data-block--button-1:not(.googlesitekit-data-block--is-gathering-data):focus,.googlesitekit-data-block--button-1:not(.googlesitekit-data-block--is-gathering-data):active{background-color:rgba(99,128,184,.1)}.googlesitekit-data-block--button-1.googlesitekit-data-block--is-gathering-data::before{background-color:#999f9b}.googlesitekit-data-block--button-1.googlesitekit-data-block--is-gathering-data.googlesitekit-data-block--selected::before{opacity:.6}.googlesitekit-data-block--button-1::before{background-color:#6380b8}.googlesitekit-data-block--button-2:not(.googlesitekit-data-block--is-gathering-data):hover,.googlesitekit-data-block--button-2:not(.googlesitekit-data-block--is-gathering-data):focus,.googlesitekit-data-block--button-2:not(.googlesitekit-data-block--is-gathering-data):active{background-color:rgba(75,187,187,.1)}.googlesitekit-data-block--button-2.googlesitekit-data-block--is-gathering-data::before{background-color:#999f9b}.googlesitekit-data-block--button-2.googlesitekit-data-block--is-gathering-data.googlesitekit-data-block--selected::before{opacity:.6}.googlesitekit-data-block--button-2::before{background-color:#4bbbbb}.googlesitekit-data-block--button-3:not(.googlesitekit-data-block--is-gathering-data):hover,.googlesitekit-data-block--button-3:not(.googlesitekit-data-block--is-gathering-data):focus,.googlesitekit-data-block--button-3:not(.googlesitekit-data-block--is-gathering-data):active{background-color:rgba(92,146,113,.1)}.googlesitekit-data-block--button-3.googlesitekit-data-block--is-gathering-data::before{background-color:#999f9b}.googlesitekit-data-block--button-3.googlesitekit-data-block--is-gathering-data.googlesitekit-data-block--selected::before{opacity:.6}.googlesitekit-data-block--button-3::before{background-color:#5c9271}.googlesitekit-data-block--button-4:not(.googlesitekit-data-block--is-gathering-data):hover,.googlesitekit-data-block--button-4:not(.googlesitekit-data-block--is-gathering-data):focus,.googlesitekit-data-block--button-4:not(.googlesitekit-data-block--is-gathering-data):active{background-color:rgba(110,72,171,.1)}.googlesitekit-data-block--button-4.googlesitekit-data-block--is-gathering-data::before{background-color:#999f9b}.googlesitekit-data-block--button-4.googlesitekit-data-block--is-gathering-data.googlesitekit-data-block--selected::before{opacity:.6}.googlesitekit-data-block--button-4::before{background-color:#6e48ab}.googlesitekit-plugin .googlesitekit-data-block__loading{align-items:center;display:flex;flex-direction:row}.googlesitekit-plugin .googlesitekit-data-block--is-gathering-data{cursor:auto}.admin-bar .googlesitekit-plugin .googlesitekit-dialog{align-items:stretch}@media(min-width: 600px){.admin-bar .googlesitekit-plugin .googlesitekit-dialog{align-items:center}}.googlesitekit-plugin .googlesitekit-dialog .mdc-dialog__container{height:100%;max-width:908px;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .mdc-dialog__container{height:auto;max-height:calc(100vh - 120px);width:80%}}.googlesitekit-plugin .googlesitekit-dialog .mdc-dialog__surface{border-radius:0;box-shadow:none;max-height:100%;max-width:100%;padding:0;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .mdc-dialog__surface{border-radius:24px;height:auto}}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back-wrapper{padding:20px 16px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back-wrapper[aria-hidden=true]{display:none}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back{background-color:transparent;border-radius:0;box-shadow:none;min-height:auto;min-width:auto;padding:0;width:24px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back:focus{outline:1px dotted #6380b8;outline-offset:3px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__back .mdc-button__label{height:24px;line-height:1}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__content{overflow:auto;padding:24px 16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__content{padding:32px}}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__header{display:flex;flex-wrap:nowrap;gap:12px;margin:0 0 32px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__header-icon span{align-items:center;background-color:#46732b;border-radius:50%;color:#fff;display:flex;height:36px;justify-content:center;width:36px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__header-icon[aria-hidden=true]{display:none}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__title{color:#161b18;font-size:22px;font-weight:700;line-height:1.27;margin:0 0 12px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__title{margin:0 0 8px}}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__subtitle{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__subtitle--emphasis{font-size:14px}.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__footer{border-top:1px solid #ebeef0;justify-content:flex-end;margin:0;padding:16px;z-index:2}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dialog .googlesitekit-dialog__footer{padding:20px 32px}}.googlesitekit-device-size-tab-bar{border-radius:100px;overflow:hidden;width:auto}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab{background:#ebeef0;height:32px;width:56px}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab:first-child{border-radius:100px 0 0 100px}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab:last-child{border-radius:0 100px 100px 0}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab svg{color:#5f6561}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab.mdc-tab--active{background:#3c7251}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab.mdc-tab--active svg{color:#fff}.googlesitekit-device-size-tab-bar .mdc-tab-scroller__scroll-content button.mdc-tab .mdc-tab-indicator{display:none}.googlesitekit-device-size-tab-bar .mdc-tab--active[disabled]{background-color:#999f9b;opacity:.6}.googlesitekit-dropdown-menu .googlesitekit-header__dropdown:focus{outline:0}.googlesitekit-dropdown-menu .mdc-list-item .googlesitekit-cta-link:hover,.googlesitekit-dropdown-menu .googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item .googlesitekit-cta-link:hover,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-dropdown-menu .googlesitekit-view-only-menu__list-item .googlesitekit-cta-link:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-dropdown-menu.googlesitekit-dropdown-menu__icon-menu .mdc-button--dropdown{background-image:none;color:#6c726e;padding-right:8px}.googlesitekit-dropdown-menu .mdc-button--dropdown[aria-expanded=true]{background-color:#ebeef0;color:rgba(0,0,0,.87)}.googlesitekit-plugin .googlesitekit-entity-header{align-items:center;background-color:#fff;border-bottom:1px solid transparent;color:#6c726e;display:flex;justify-content:space-between;padding:16px;-webkit-position:sticky;position:sticky;top:120px;z-index:9}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-header{padding-left:36px;padding-right:36px}}.googlesitekit-navigation--is-sticky+.googlesitekit-plugin .googlesitekit-entity-header{border-bottom:1px solid #ebeef0}@media(min-width: 601px){body.admin-bar .googlesitekit-plugin .googlesitekit-entity-header{top:183px}}@media(min-width: 783px){body.admin-bar .googlesitekit-plugin .googlesitekit-entity-header{top:169px}}@media(min-width: 961px){body.admin-bar .googlesitekit-plugin .googlesitekit-entity-header{top:185px}}body.googlesitekit-showing-feature-tour .googlesitekit-plugin .googlesitekit-entity-header,body.googlesitekit-showing-tooltip .googlesitekit-plugin .googlesitekit-entity-header{position:static}.googlesitekit-plugin .googlesitekit-entity-header__back{height:auto;min-width:20%;padding-right:30px}.googlesitekit-plugin .googlesitekit-entity-header__back::before,.googlesitekit-plugin .googlesitekit-entity-header__back::after{display:none}.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button{height:100%;padding-left:0}.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button:not(:disabled){color:#6c726e}.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button:not(:disabled):hover{color:#161b18;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button__label{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;margin:0 0 0 8px;text-align:left;text-transform:none}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-header__back .mdc-button__label{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif}}.googlesitekit-plugin .googlesitekit-entity-header__details{font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;overflow:hidden;text-align:right;white-space:nowrap;width:100%}.googlesitekit-plugin .googlesitekit-entity-header__details p{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0;overflow:hidden;text-overflow:ellipsis}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-header__details p{margin:0}}.googlesitekit-plugin .googlesitekit-entity-header__details a{margin:4px;max-width:100%;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-entity-header__details a:hover,.googlesitekit-plugin .googlesitekit-entity-header__details a:focus{color:#2e5f41}.googlesitekit-plugin .googlesitekit-entity-search{background-color:#fff;position:relative}.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__actions{position:absolute;right:17px;top:50%;transform:translateY(-50%);z-index:3}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__actions{right:2px}}.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__actions svg{color:#5f6561}.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__close{height:30px;width:30px}@media(max-width: 960px){.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__close{border-radius:50%}}.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__loading{border-radius:0 0 16px 16px;bottom:-4px;position:absolute;right:4px;width:calc(100% - 8px);z-index:4}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-entity-search .googlesitekit-entity-search__loading{bottom:-4px;left:0;margin:0 auto;right:0;width:calc(100% - 25px)}}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__wrapper{margin:0}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__input{border:none;border-radius:100px;font-size:14px;height:34px;letter-spacing:.25px;margin:0;padding:0 32px 0 0}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__input{border:1px solid #b8bdb9;padding:0 32px 0 16px}}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__input:hover{border-color:#161b18}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__input:focus{border-color:#3c7251;border-width:2px}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__menu{box-shadow:0 1.25px 5px 0 rgba(0,0,0,.19),0 .33px 1.5px 0 rgba(0,0,0,.039);background-color:#fff;border-radius:16px;margin-left:-12px;overflow:hidden;padding:0;top:calc(100% + 14px);width:calc(100% + 24px)}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__menu{margin:0;top:calc(100% + 1px);width:100%}}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option{color:#161b18;font-size:14px;letter-spacing:.25px;line-height:1}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option:first-child{border-radius:16px 16px 0 0}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option:last-child{border-radius:0 0 16px 16px}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option--focused,.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option:hover,.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option[data-highlighted]{background-color:rgba(22,27,24,.16);cursor:pointer}.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option--no-results,.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option--no-results:hover,.googlesitekit-plugin .googlesitekit-entity-search .autocomplete__option--no-results[data-highlighted]{background:none;cursor:default}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-search .mdc-button__label{line-height:0}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-entity-search .mdc-button__label+svg{margin-left:8px}}.googlesitekit-plugin .googlesitekit-entity-search .mdc-button{color:#6c726e;font-weight:400;letter-spacing:.3px;min-width:auto;outline:none;text-transform:none}.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:hover,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:active,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:focus{background-color:#f8fafb;color:rgba(0,0,0,.87);-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:hover::before,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:hover::after,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:active::before,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:active::after,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:focus::before,.googlesitekit-plugin .googlesitekit-entity-search .mdc-button:focus::after{background-color:rgba(0,0,0,.87)}.googlesitekit-plugin .googlesitekit-entity-search--is-open{flex:1}@media(max-width: 783px){.googlesitekit-plugin .googlesitekit-entity-search--is-open{align-items:center;display:flex;left:0;margin:0;max-height:68px;padding:14px 16px;position:absolute;right:0;top:0;z-index:1}}.googlesitekit-plugin .googlesitekit-error-handler .googlesitekit-publisher-win__desc p{align-items:center;display:flex;flex-wrap:wrap;gap:16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-error-handler .googlesitekit-publisher-win__desc p{gap:24px}}.googlesitekit-error-text{color:#ac4220;font-weight:500}.googlesitekit-error-retry-text{color:#ac4220;margin-left:1rem}.googlesitekit-report-error-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.googlesitekit-plugin .googlesitekit-first-party-mode-toggle .googlesitekit-first-party-mode-toggle__progress{margin:11.5px 0}.googlesitekit-plugin .googlesitekit-first-party-mode-toggle .googlesitekit-subtle-notification{margin-top:10px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-first-party-mode-toggle .googlesitekit-subtle-notification{padding:14px 24px}}.googlesitekit-plugin .googlesitekit-first-party-mode-toggle .googlesitekit-badge{margin-left:6px}.googlesitekit-plugin .googlesitekit-gathering-data-notice{text-transform:lowercase}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small span{font-size:12px;letter-spacing:.2px;line-height:1.33;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-default{position:relative;text-align:inherit}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-default span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-overlay{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-overlay span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small-overlay{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small-overlay span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-small-overlay span{font-size:18px;line-height:1.33;max-width:80px;padding:0;text-align:center}.googlesitekit-plugin .googlesitekit-gathering-data-notice.googlesitekit-gathering-data-notice--has-style-large span{color:#6c726e;display:block;font-size:28px;line-height:1.286;padding:0}#wpadminbar .googlesitekit-plugin .googlesitekit-gathering-data-notice span{color:#999f9b;font-size:12px;letter-spacing:.2px;line-height:1.33;text-transform:lowercase}.googlesitekit-plugin .googlesitekit-generic-error-handler-actions{align-items:flex-start;display:flex;flex-direction:column;gap:16px;margin-block-start:16px}.googlesitekit-plugin .googlesitekit-subheader{background-color:#fff;position:relative;z-index:11}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-subheader{padding:0 10px}}.googlesitekit-plugin .googlesitekit-subheader:not(:empty){border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-header{background-color:#fff;left:0;position:sticky;right:0;top:0;transition:box-shadow .2s ease-in-out;z-index:9980}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-header{padding-left:10px;padding-right:10px}}.wp-responsive-open .googlesitekit-plugin .googlesitekit-header{margin-left:-18px;padding-left:28px}body.googlesitekit-showing-feature-tour .googlesitekit-plugin .googlesitekit-header,body.googlesitekit-showing-tooltip .googlesitekit-plugin .googlesitekit-header{position:static}@media(min-width: 601px){body.admin-bar .googlesitekit-plugin .googlesitekit-header{top:46px}}@media(min-width: 783px){body.admin-bar .googlesitekit-plugin .googlesitekit-header{top:32px}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__logo{min-width:150px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__logo{min-width:100px}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__logo-link{display:inline-block}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__button{align-items:center;background-color:transparent;cursor:pointer;display:flex;font-size:12px;letter-spacing:.2px;margin-right:-8px;padding:8px;transition:background-color .2s ease-in-out,color .2s ease-in-out}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__button:hover{background-color:#446199;color:#fff;-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__button svg{fill:currentColor;margin-left:8px}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu{display:inline-block}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__icon{margin-right:12px}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__account{margin-right:0}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__icon,.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__icon--image{height:28px;width:28px}.googlesitekit-plugin .googlesitekit-header .googlesitekit-dropdown-menu .mdc-button__label{font-weight:400}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector{background:none}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector svg{margin-right:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector svg{margin-right:8px}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector .mdc-button--dropdown{color:#6c726e;padding-right:24px}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector .mdc-button--dropdown{background:none;margin-right:0;padding-right:8px}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector .mdc-button--dropdown svg{margin-right:0}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-date-range-selector .mdc-menu-surface{right:0}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__children{align-items:center;display:flex;gap:16px;justify-content:flex-end}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__children{gap:24px}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__children div>button>.mdc-button__label{display:none}@media(min-width: 784px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-header__children div>button>.mdc-button__label{display:inline-block}}.googlesitekit-plugin .googlesitekit-help-menu-link{padding:0}.googlesitekit-plugin .googlesitekit-help-menu-link .googlesitekit-cta-link{align-items:center;color:#161b18;display:flex;height:100%;padding:0 16px;width:100%}.googlesitekit-plugin .googlesitekit-icon-wrapper{align-items:center;display:inline-flex}.googlesitekit-plugin .googlesitekit-image-radio-options{display:flex;flex-wrap:wrap;gap:24px}.googlesitekit-plugin .googlesitekit-image-radio{display:flex;flex-direction:column;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-image-radio{max-width:16.5rem}}.googlesitekit-plugin .googlesitekit-image-radio>label{color:#5f6561;font-size:.75rem;margin-top:.625rem;padding:0}.googlesitekit-plugin .googlesitekit-image-radio>label span{color:#161b18;display:block;font-size:.875rem;margin-bottom:.125rem}.googlesitekit-plugin .googlesitekit-image-radio .image-radio{--mdc-ripple-fg-size: 0 !important;height:unset;padding:0;width:100%}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background .mdc-image-radio__content{align-items:center;background-color:#fff;border:.375rem solid #fff;border-radius:.5625rem;color:#161b18;display:flex;justify-content:center;min-height:12.1875rem}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background .mdc-image-radio__content svg{object-fit:contain;width:100%}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background::after{border:.0625rem solid #999f9b;border-radius:.5625rem;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background .mdc-image-radio__content--no-image{background-color:#ebeef0;min-height:5.0625rem;text-align:center}.googlesitekit-plugin .googlesitekit-image-radio .image-radio .mdc-image-radio__background--checked::after{border:.1875rem solid #3c7251}.googlesitekit-plugin .googlesitekit-image-radio .image-radio:hover .mdc-image-radio__content{position:relative}.googlesitekit-plugin .googlesitekit-image-radio .image-radio:hover .mdc-image-radio__content::after{background-color:#cbd0d3;border-radius:.5625rem;content:"";height:calc(100% + 0.75rem);left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%, -50%);width:calc(100% + 0.75rem)}.googlesitekit-plugin .googlesitekit-image-radio .image-radio:hover .mdc-image-radio__content--no-image{background-color:#cbd0d3}.googlesitekit-plugin .googlesitekit-image-radio .image-radio:hover .mdc-image-radio__content--no-image::after{content:unset}.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--background-focused .mdc-image-radio__content,.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--foreground-activation .mdc-image-radio__content{position:relative}.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--background-focused .mdc-image-radio__content::after,.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--foreground-activation .mdc-image-radio__content::after{background-color:rgba(0,34,13,.32);border-radius:.5625rem;content:"";height:100%;opacity:1;position:absolute;width:100%}.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--foreground-activation .mdc-image-radio__content--no-image{background-color:rgba(0,34,13,.32)}.googlesitekit-plugin .googlesitekit-image-radio .image-radio.mdc-ripple-upgraded--foreground-activation .mdc-image-radio__content--no-image::after{content:unset}.googlesitekit-tooltip.MuiTooltip-tooltip.googlesitekit-info-tooltip__content{border-radius:8px;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;max-width:160px;padding:12px}.googlesitekit-tooltip.MuiTooltip-tooltip.googlesitekit-info-tooltip__content>button{background:none;border:none;color:#ebeef0;padding-right:0;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-layout{background:#fff}.googlesitekit-layout .googlesitekit-layout__header{border-bottom:1px solid #ebeef0;font-size:16px;letter-spacing:.5px}.googlesitekit-layout .googlesitekit-layout__header-title{align-items:center;display:flex;gap:16px;margin:0}.googlesitekit-layout .googlesitekit-layout__footer{border-top:1px solid #ebeef0;font-size:12px;letter-spacing:.2px}.googlesitekit-layout.googlesitekit-layout--transparent{background-color:transparent}.googlesitekit-layout.googlesitekit-layout--rounded{border-radius:24px}.googlesitekit-layout--fill{display:flex;flex-direction:column;height:100%}.googlesitekit-layout--fill>*{flex:1 1 auto;width:100%}.googlesitekit-layout--fill .googlesitekit-layout__header{flex:0 0 auto}.googlesitekit-layout--fill .googlesitekit-layout__footer{flex:0 0 auto}.googlesitekit-layout--relative{position:relative}.googlesitekit-logo{color:#5f6561;line-height:0}.googlesitekit-logo .googlesitekit-logo__logo-g,.googlesitekit-logo .googlesitekit-svg-logo-g{height:24px;vertical-align:middle;width:23px}@media(min-width: 600px){.googlesitekit-logo .googlesitekit-logo__logo-g,.googlesitekit-logo .googlesitekit-svg-logo-g{height:34px;width:32px}}.googlesitekit-logo .googlesitekit-logo__logo-sitekit,.googlesitekit-logo .googlesitekit-svg-logo-sitekit{fill:currentColor;height:16px;margin-left:8px;vertical-align:middle;width:61px}@media(min-width: 600px){.googlesitekit-logo .googlesitekit-logo__logo-sitekit,.googlesitekit-logo .googlesitekit-svg-logo-sitekit{height:26px;margin-left:16px;width:99px}}@media(max-width: 449px){.googlesitekit-logo .googlesitekit-logo__logo-sitekit,.googlesitekit-logo .googlesitekit-svg-logo-sitekit{display:none}}.googlesitekit-logo--mini .googlesitekit-logo__logo-g,.googlesitekit-logo--mini .googlesitekit-svg-logo-g{height:19px;width:19px}.googlesitekit-logo--mini .googlesitekit-logo__logo-sitekit,.googlesitekit-logo--mini .googlesitekit-svg-logo-sitekit{height:17px;margin-left:4px;width:78px}.googlesitekit-mini-chart{margin-left:16px;width:28px}.googlesitekit-module-outro{background-color:#fff;padding:45px 0;text-align:center}@media(min-width: 600px){.googlesitekit-module-outro{padding:45px}}.googlesitekit-module-outro .googlesitekit-module-outro__logo{align-items:center;display:inline-flex}.googlesitekit-module-outro .googlesitekit-module-outro__logo>svg{margin:0 8px}@media(min-width: 960px){.googlesitekit-module-outro .googlesitekit-module-outro__logo>svg{margin:0 12px}}.googlesitekit-module-outro .googlesitekit-module-outro__title{margin:20px auto 25px;max-width:600px}.googlesitekit-module-page{padding-bottom:10px;padding-top:10px}@media(min-width: 600px){.googlesitekit-module-page{padding-left:10px;padding-right:10px}}.googlesitekit-module-recovery-errors{color:#ac4220}.googlesitekit-module-recovery-errors ul{list-style:disc;list-style-position:inside}.googlesitekit-new-badge{background-color:#573195;color:#fff;margin-left:6px;text-transform:none}.googlesitekit-new-badge.googlesitekit-new-badge--has-no-spacing{margin-left:0}.googlesitekit-new-badge.googlesitekit-badge--has-left-spacing{margin-left:12px}.googlesitekit-tooltip.MuiTooltip-tooltip.googlesitekit-new-badge__tooltip{border-radius:8px;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;max-width:160px;padding:12px}.googlesitekit-tooltip.MuiTooltip-tooltip.googlesitekit-new-badge__tooltip>a{color:#ebeef0;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-noscript{background-color:#fff;margin:5px 20px 5px 0}@media(min-width: 600px){.googlesitekit-noscript{padding-left:10px;padding-right:10px}}.googlesitekit-noscript__title{margin:0}.no-js:not([amp-version]) [id^=js-googlesitekit-]{display:none}.googlesitekit-opt-in{position:relative}.googlesitekit-opt-in .mdc-form-field{position:relative}.googlesitekit-opt-in .mdc-form-field label{font-size:12px;letter-spacing:.2px;line-height:1.33}@media(min-width: 960px){.googlesitekit-opt-in span{display:block}}.googlesitekit-opt-in--border{border-top:1px solid #b8bdb9;padding-top:16px}@media(min-width: 960px){.googlesitekit-opt-in--border{padding-top:24px}}.googlesitekit-opt-in--align-top .mdc-form-field{align-items:flex-start}.googlesitekit-opt-in--align-top .mdc-checkbox{margin-top:-7px}.googlesitekit-overlay{align-items:center;background:rgba(235,238,240,.8);bottom:0;cursor:not-allowed;display:flex;height:100%;justify-content:center;left:0;position:absolute;right:0;top:0;width:100%;z-index:10}.googlesitekit-overlay .googlesitekit-overlay__icon{align-items:center;background:#ebeef0;border-radius:50%;display:flex;height:60px;justify-content:center;margin:0 auto;width:60px}.googlesitekit-overlay .googlesitekit-overlay__icon svg{color:#333935}.googlesitekit-overlay .googlesitekit-overlay__title{margin-bottom:0;padding:0 16px;text-align:center}.googlesitekit-overlay--compress .googlesitekit-overlay__wrapper{align-items:center;display:flex}.googlesitekit-overlay--compress .googlesitekit-overlay__icon{height:40px;width:40px}.googlesitekit-overlay--compress .googlesitekit-overlay__icon .svg{height:20px;width:auto}.googlesitekit-overlay--compress .googlesitekit-overlay__title{font-size:16px;font-weight:700;line-height:1.25;margin-top:0;padding-right:0}.googlesitekit-page{margin-left:-10px}@media(min-width: 783px){.googlesitekit-page{margin-left:-20px}}#wpbody-content>div:not(#screen-meta)+.googlesitekit-plugin>.googlesitekit-page,#wpbody-content>div:not(#screen-meta)+script+.googlesitekit-plugin>.googlesitekit-page{margin-top:25px}.googlesitekit-pagespeed-widget header{display:flex;justify-content:space-between}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__data-src-tabs{display:flex}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__refreshing-progress-bar-wrapper{margin-top:-4px}.googlesitekit-pagespeed-widget__refreshing{filter:grayscale(1);opacity:.5}.googlesitekit-page-footer{display:flex;justify-content:flex-end;margin:0}.googlesitekit-page-header{margin:0}.googlesitekit-page-header .googlesitekit-page-header__title{display:inline-block;font-weight:500;line-height:1;margin:0 0 -2px;padding:0;vertical-align:middle}.googlesitekit-page-header .googlesitekit-page-header__icon+.googlesitekit-page-header__title{margin-left:8px}.googlesitekit-page-header .googlesitekit-page-header__icon{vertical-align:middle}.googlesitekit-page-header .googlesitekit-page-header__details{align-items:center;display:flex;justify-content:space-between}@media(min-width: 600px){.googlesitekit-page-header .googlesitekit-page-header__details{justify-content:flex-end}}.googlesitekit-page-header .googlesitekit-page-header__status{align-items:center;display:flex;font-size:12px;letter-spacing:.2px;line-height:1;margin:0}.googlesitekit-page-header .googlesitekit-page-header__status .googlesitekit-icon-wrapper{align-items:center;border-radius:50%;display:flex;height:19px;justify-content:center;margin-left:8px;width:19px}.googlesitekit-page-header .googlesitekit-page-header__status--connected .googlesitekit-icon-wrapper{background-color:#46732b;color:#fff}.googlesitekit-page-header .googlesitekit-page-header__status--not-connected .googlesitekit-icon-wrapper{background-color:#895a00;color:#fff}.googlesitekit-page-header .googlesitekit-page-header__status+.googlesitekit-page-header__range{margin-left:16px;margin-top:-3px}@media(min-width: 960px){.googlesitekit-page-header .googlesitekit-page-header__status+.googlesitekit-page-header__range{margin-left:24px}}.googlesitekit-percentage-circle{background-color:#ebeef0;border-radius:50%;font-size:28px;height:1em;margin:0 auto;position:relative;width:1em}.googlesitekit-percentage-circle::after{background-color:#fff;border-radius:50%;box-sizing:content-box;content:"";display:block;height:.8em;left:.1em;position:absolute;top:.1em;width:.8em}.googlesitekit-percentage-circle .googlesitekit-percentage-circle__text{box-sizing:content-box;font-size:18px;font-weight:700;left:0;line-height:50px;position:absolute;text-align:center;top:0;width:50px;z-index:1}.googlesitekit-percentage-circle .googlesitekit-percentage-circle__slice{box-sizing:content-box;clip:rect(0, 1em, 1em, 0.5em);height:1em;position:absolute;width:1em}.googlesitekit-percentage-circle .googlesitekit-percentage-circle__bar{border:.1em solid transparent;border-radius:50%;box-sizing:content-box;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(0deg);width:.8em}.googlesitekit-percentage-circle .googlesitekit-percentage-circle__fill{box-sizing:content-box}.googlesitekit-percentage-circle--fast{color:#46732b}.googlesitekit-percentage-circle--average{color:#895a00}.googlesitekit-percentage-circle--slow{color:#ac4220}.googlesitekit-percentage-circle--percent-51 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-51 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-51 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-52 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-52 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-52 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-53 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-53 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-53 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-54 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-54 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-54 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-55 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-55 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-55 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-56 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-56 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-56 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-57 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-57 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-57 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-58 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-58 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-58 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-59 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-59 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-59 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-60 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-60 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-60 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-61 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-61 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-61 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-62 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-62 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-62 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-63 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-63 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-63 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-64 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-64 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-64 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-65 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-65 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-65 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-66 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-66 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-66 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-67 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-67 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-67 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-68 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-68 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-68 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-69 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-69 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-69 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-70 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-70 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-70 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-71 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-71 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-71 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-72 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-72 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-72 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-73 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-73 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-73 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-74 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-74 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-74 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-75 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-75 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-75 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-76 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-76 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-76 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-77 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-77 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-77 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-78 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-78 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-78 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-79 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-79 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-79 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-80 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-80 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-80 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-81 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-81 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-81 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-82 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-82 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-82 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-83 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-83 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-83 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-84 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-84 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-84 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-85 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-85 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-85 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-86 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-86 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-86 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-87 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-87 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-87 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-88 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-88 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-88 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-89 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-89 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-89 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-90 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-90 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-90 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-91 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-91 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-91 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-92 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-92 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-92 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-93 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-93 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-93 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-94 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-94 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-94 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-95 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-95 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-95 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-96 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-96 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-96 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-97 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-97 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-97 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-98 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-98 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-98 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-99 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-99 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-99 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-100 .googlesitekit-percentage-circle__slice{clip:rect(auto, auto, auto, auto)}.googlesitekit-percentage-circle--percent-100 .googlesitekit-percentage-circle__bar::after{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-100 .googlesitekit-percentage-circle__fill{border:.1em solid transparent;border-radius:50%;clip:rect(0, 0.5em, 1em, 0);height:.8em;position:absolute;transform:rotate(180deg);width:.8em}.googlesitekit-percentage-circle--percent-1 .googlesitekit-percentage-circle__bar{transform:rotate(3.6deg)}.googlesitekit-percentage-circle--percent-2 .googlesitekit-percentage-circle__bar{transform:rotate(7.2deg)}.googlesitekit-percentage-circle--percent-3 .googlesitekit-percentage-circle__bar{transform:rotate(10.8deg)}.googlesitekit-percentage-circle--percent-4 .googlesitekit-percentage-circle__bar{transform:rotate(14.4deg)}.googlesitekit-percentage-circle--percent-5 .googlesitekit-percentage-circle__bar{transform:rotate(18deg)}.googlesitekit-percentage-circle--percent-6 .googlesitekit-percentage-circle__bar{transform:rotate(21.6deg)}.googlesitekit-percentage-circle--percent-7 .googlesitekit-percentage-circle__bar{transform:rotate(25.2deg)}.googlesitekit-percentage-circle--percent-8 .googlesitekit-percentage-circle__bar{transform:rotate(28.8deg)}.googlesitekit-percentage-circle--percent-9 .googlesitekit-percentage-circle__bar{transform:rotate(32.4deg)}.googlesitekit-percentage-circle--percent-10 .googlesitekit-percentage-circle__bar{transform:rotate(36deg)}.googlesitekit-percentage-circle--percent-11 .googlesitekit-percentage-circle__bar{transform:rotate(39.6deg)}.googlesitekit-percentage-circle--percent-12 .googlesitekit-percentage-circle__bar{transform:rotate(43.2deg)}.googlesitekit-percentage-circle--percent-13 .googlesitekit-percentage-circle__bar{transform:rotate(46.8deg)}.googlesitekit-percentage-circle--percent-14 .googlesitekit-percentage-circle__bar{transform:rotate(50.4deg)}.googlesitekit-percentage-circle--percent-15 .googlesitekit-percentage-circle__bar{transform:rotate(54deg)}.googlesitekit-percentage-circle--percent-16 .googlesitekit-percentage-circle__bar{transform:rotate(57.6deg)}.googlesitekit-percentage-circle--percent-17 .googlesitekit-percentage-circle__bar{transform:rotate(61.2deg)}.googlesitekit-percentage-circle--percent-18 .googlesitekit-percentage-circle__bar{transform:rotate(64.8deg)}.googlesitekit-percentage-circle--percent-19 .googlesitekit-percentage-circle__bar{transform:rotate(68.4deg)}.googlesitekit-percentage-circle--percent-20 .googlesitekit-percentage-circle__bar{transform:rotate(72deg)}.googlesitekit-percentage-circle--percent-21 .googlesitekit-percentage-circle__bar{transform:rotate(75.6deg)}.googlesitekit-percentage-circle--percent-22 .googlesitekit-percentage-circle__bar{transform:rotate(79.2deg)}.googlesitekit-percentage-circle--percent-23 .googlesitekit-percentage-circle__bar{transform:rotate(82.8deg)}.googlesitekit-percentage-circle--percent-24 .googlesitekit-percentage-circle__bar{transform:rotate(86.4deg)}.googlesitekit-percentage-circle--percent-25 .googlesitekit-percentage-circle__bar{transform:rotate(90deg)}.googlesitekit-percentage-circle--percent-26 .googlesitekit-percentage-circle__bar{transform:rotate(93.6deg)}.googlesitekit-percentage-circle--percent-27 .googlesitekit-percentage-circle__bar{transform:rotate(97.2deg)}.googlesitekit-percentage-circle--percent-28 .googlesitekit-percentage-circle__bar{transform:rotate(100.8deg)}.googlesitekit-percentage-circle--percent-29 .googlesitekit-percentage-circle__bar{transform:rotate(104.4deg)}.googlesitekit-percentage-circle--percent-30 .googlesitekit-percentage-circle__bar{transform:rotate(108deg)}.googlesitekit-percentage-circle--percent-31 .googlesitekit-percentage-circle__bar{transform:rotate(111.6deg)}.googlesitekit-percentage-circle--percent-32 .googlesitekit-percentage-circle__bar{transform:rotate(115.2deg)}.googlesitekit-percentage-circle--percent-33 .googlesitekit-percentage-circle__bar{transform:rotate(118.8deg)}.googlesitekit-percentage-circle--percent-34 .googlesitekit-percentage-circle__bar{transform:rotate(122.4deg)}.googlesitekit-percentage-circle--percent-35 .googlesitekit-percentage-circle__bar{transform:rotate(126deg)}.googlesitekit-percentage-circle--percent-36 .googlesitekit-percentage-circle__bar{transform:rotate(129.6deg)}.googlesitekit-percentage-circle--percent-37 .googlesitekit-percentage-circle__bar{transform:rotate(133.2deg)}.googlesitekit-percentage-circle--percent-38 .googlesitekit-percentage-circle__bar{transform:rotate(136.8deg)}.googlesitekit-percentage-circle--percent-39 .googlesitekit-percentage-circle__bar{transform:rotate(140.4deg)}.googlesitekit-percentage-circle--percent-40 .googlesitekit-percentage-circle__bar{transform:rotate(144deg)}.googlesitekit-percentage-circle--percent-41 .googlesitekit-percentage-circle__bar{transform:rotate(147.6deg)}.googlesitekit-percentage-circle--percent-42 .googlesitekit-percentage-circle__bar{transform:rotate(151.2deg)}.googlesitekit-percentage-circle--percent-43 .googlesitekit-percentage-circle__bar{transform:rotate(154.8deg)}.googlesitekit-percentage-circle--percent-44 .googlesitekit-percentage-circle__bar{transform:rotate(158.4deg)}.googlesitekit-percentage-circle--percent-45 .googlesitekit-percentage-circle__bar{transform:rotate(162deg)}.googlesitekit-percentage-circle--percent-46 .googlesitekit-percentage-circle__bar{transform:rotate(165.6deg)}.googlesitekit-percentage-circle--percent-47 .googlesitekit-percentage-circle__bar{transform:rotate(169.2deg)}.googlesitekit-percentage-circle--percent-48 .googlesitekit-percentage-circle__bar{transform:rotate(172.8deg)}.googlesitekit-percentage-circle--percent-49 .googlesitekit-percentage-circle__bar{transform:rotate(176.4deg)}.googlesitekit-percentage-circle--percent-50 .googlesitekit-percentage-circle__bar{transform:rotate(180deg)}.googlesitekit-percentage-circle--percent-51 .googlesitekit-percentage-circle__bar{transform:rotate(183.6deg)}.googlesitekit-percentage-circle--percent-52 .googlesitekit-percentage-circle__bar{transform:rotate(187.2deg)}.googlesitekit-percentage-circle--percent-53 .googlesitekit-percentage-circle__bar{transform:rotate(190.8deg)}.googlesitekit-percentage-circle--percent-54 .googlesitekit-percentage-circle__bar{transform:rotate(194.4deg)}.googlesitekit-percentage-circle--percent-55 .googlesitekit-percentage-circle__bar{transform:rotate(198deg)}.googlesitekit-percentage-circle--percent-56 .googlesitekit-percentage-circle__bar{transform:rotate(201.6deg)}.googlesitekit-percentage-circle--percent-57 .googlesitekit-percentage-circle__bar{transform:rotate(205.2deg)}.googlesitekit-percentage-circle--percent-58 .googlesitekit-percentage-circle__bar{transform:rotate(208.8deg)}.googlesitekit-percentage-circle--percent-59 .googlesitekit-percentage-circle__bar{transform:rotate(212.4deg)}.googlesitekit-percentage-circle--percent-60 .googlesitekit-percentage-circle__bar{transform:rotate(216deg)}.googlesitekit-percentage-circle--percent-61 .googlesitekit-percentage-circle__bar{transform:rotate(219.6deg)}.googlesitekit-percentage-circle--percent-62 .googlesitekit-percentage-circle__bar{transform:rotate(223.2deg)}.googlesitekit-percentage-circle--percent-63 .googlesitekit-percentage-circle__bar{transform:rotate(226.8deg)}.googlesitekit-percentage-circle--percent-64 .googlesitekit-percentage-circle__bar{transform:rotate(230.4deg)}.googlesitekit-percentage-circle--percent-65 .googlesitekit-percentage-circle__bar{transform:rotate(234deg)}.googlesitekit-percentage-circle--percent-66 .googlesitekit-percentage-circle__bar{transform:rotate(237.6deg)}.googlesitekit-percentage-circle--percent-67 .googlesitekit-percentage-circle__bar{transform:rotate(241.2deg)}.googlesitekit-percentage-circle--percent-68 .googlesitekit-percentage-circle__bar{transform:rotate(244.8deg)}.googlesitekit-percentage-circle--percent-69 .googlesitekit-percentage-circle__bar{transform:rotate(248.4deg)}.googlesitekit-percentage-circle--percent-70 .googlesitekit-percentage-circle__bar{transform:rotate(252deg)}.googlesitekit-percentage-circle--percent-71 .googlesitekit-percentage-circle__bar{transform:rotate(255.6deg)}.googlesitekit-percentage-circle--percent-72 .googlesitekit-percentage-circle__bar{transform:rotate(259.2deg)}.googlesitekit-percentage-circle--percent-73 .googlesitekit-percentage-circle__bar{transform:rotate(262.8deg)}.googlesitekit-percentage-circle--percent-74 .googlesitekit-percentage-circle__bar{transform:rotate(266.4deg)}.googlesitekit-percentage-circle--percent-75 .googlesitekit-percentage-circle__bar{transform:rotate(270deg)}.googlesitekit-percentage-circle--percent-76 .googlesitekit-percentage-circle__bar{transform:rotate(273.6deg)}.googlesitekit-percentage-circle--percent-77 .googlesitekit-percentage-circle__bar{transform:rotate(277.2deg)}.googlesitekit-percentage-circle--percent-78 .googlesitekit-percentage-circle__bar{transform:rotate(280.8deg)}.googlesitekit-percentage-circle--percent-79 .googlesitekit-percentage-circle__bar{transform:rotate(284.4deg)}.googlesitekit-percentage-circle--percent-80 .googlesitekit-percentage-circle__bar{transform:rotate(288deg)}.googlesitekit-percentage-circle--percent-81 .googlesitekit-percentage-circle__bar{transform:rotate(291.6deg)}.googlesitekit-percentage-circle--percent-82 .googlesitekit-percentage-circle__bar{transform:rotate(295.2deg)}.googlesitekit-percentage-circle--percent-83 .googlesitekit-percentage-circle__bar{transform:rotate(298.8deg)}.googlesitekit-percentage-circle--percent-84 .googlesitekit-percentage-circle__bar{transform:rotate(302.4deg)}.googlesitekit-percentage-circle--percent-85 .googlesitekit-percentage-circle__bar{transform:rotate(306deg)}.googlesitekit-percentage-circle--percent-86 .googlesitekit-percentage-circle__bar{transform:rotate(309.6deg)}.googlesitekit-percentage-circle--percent-87 .googlesitekit-percentage-circle__bar{transform:rotate(313.2deg)}.googlesitekit-percentage-circle--percent-88 .googlesitekit-percentage-circle__bar{transform:rotate(316.8deg)}.googlesitekit-percentage-circle--percent-89 .googlesitekit-percentage-circle__bar{transform:rotate(320.4deg)}.googlesitekit-percentage-circle--percent-90 .googlesitekit-percentage-circle__bar{transform:rotate(324deg)}.googlesitekit-percentage-circle--percent-91 .googlesitekit-percentage-circle__bar{transform:rotate(327.6deg)}.googlesitekit-percentage-circle--percent-92 .googlesitekit-percentage-circle__bar{transform:rotate(331.2deg)}.googlesitekit-percentage-circle--percent-93 .googlesitekit-percentage-circle__bar{transform:rotate(334.8deg)}.googlesitekit-percentage-circle--percent-94 .googlesitekit-percentage-circle__bar{transform:rotate(338.4deg)}.googlesitekit-percentage-circle--percent-95 .googlesitekit-percentage-circle__bar{transform:rotate(342deg)}.googlesitekit-percentage-circle--percent-96 .googlesitekit-percentage-circle__bar{transform:rotate(345.6deg)}.googlesitekit-percentage-circle--percent-97 .googlesitekit-percentage-circle__bar{transform:rotate(349.2deg)}.googlesitekit-percentage-circle--percent-98 .googlesitekit-percentage-circle__bar{transform:rotate(352.8deg)}.googlesitekit-percentage-circle--percent-99 .googlesitekit-percentage-circle__bar{transform:rotate(356.4deg)}.googlesitekit-percentage-circle--percent-100 .googlesitekit-percentage-circle__bar{transform:rotate(360deg)}.googlesitekit-percentage-circle--fast .googlesitekit-percentage-circle__bar,.googlesitekit-percentage-circle--fast .googlesitekit-percentage-circle__fill{border-color:#46732b}.googlesitekit-percentage-circle--average .googlesitekit-percentage-circle__bar,.googlesitekit-percentage-circle--average .googlesitekit-percentage-circle__fill{border-color:#895a00}.googlesitekit-percentage-circle--slow .googlesitekit-percentage-circle__bar,.googlesitekit-percentage-circle--slow .googlesitekit-percentage-circle__fill{border-color:#ac4220}.googlesitekit-post-searcher{display:flex;flex-wrap:wrap;position:relative;width:100%}.googlesitekit-post-searcher .googlesitekit-post-searcher__label{background-color:#fff;color:#5f6561;font-size:12px;left:12px;letter-spacing:.2px;padding:0 4px;position:absolute;top:-8px;z-index:4}.googlesitekit-post-searcher .googlesitekit-post-searcher__button-wrapper{flex:0 0 auto}.googlesitekit-post-searcher .googlesitekit-post-searcher__button-wrapper .googlesitekit-post-searcher__button{min-height:100%}.googlesitekit-preview-block{display:flex;flex-direction:column}.googlesitekit-preview-block--padding{padding:16px}.googlesitekit-preview-block--padding+.googlesitekit-preview-block--padding{padding-top:0}@media(min-width: 960px){.googlesitekit-preview-block--padding{padding:24px}}.googlesitekit-preview-block__wrapper{animation:googlesitekit-pulse 1s infinite ease-in-out;animation-direction:alternate;flex:1 1 auto}@media(prefers-reduced-motion: reduce){.googlesitekit-preview-block__wrapper{animation:none;background-image:linear-gradient(150deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.15))}}.googlesitekit-preview-block__wrapper--circle{border-radius:50%}@keyframes googlesitekit-pulse{0%{background-color:#ebeef0}100%{background-color:#cbd0d3}}.googlesitekit-preview-table{width:100%}.googlesitekit-preview-table .googlesitekit-preview-table__row{margin:0 0 9px}.googlesitekit-preview-table .googlesitekit-preview-table__row:last-child{margin-bottom:0}.googlesitekit-preview-table--padding{padding:16px}.googlesitekit-preview-table--padding+.googlesitekit-preview-table--padding{padding-top:0}@media(min-width: 960px){.googlesitekit-preview-table--padding{padding:24px}}.googlesitekit-progress-segments{background-color:#fff;border-radius:4px;display:flex;gap:4px;height:8px;justify-content:space-between;overflow:hidden}.googlesitekit-progress-segments .googlesitekit-progress-segments__segment{background-color:#ebeef0;height:8px;width:100%}.googlesitekit-progress-segments .googlesitekit-progress-segments__segment--active:nth-child(3n-2){background-color:#b8e5ca}.googlesitekit-progress-segments .googlesitekit-progress-segments__segment--active:nth-child(3n-1){background-color:#77ad8c}.googlesitekit-progress-segments .googlesitekit-progress-segments__segment--active:nth-child(3n){background-color:#3c7251}.googlesitekit-publisher-win{background:#fff;display:flex;flex-direction:column;opacity:1;position:relative;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;visibility:visible}@media(min-width: 600px){.googlesitekit-publisher-win{padding-left:10px;padding-right:10px}}@media(min-width: 600px){.googlesitekit-publisher-win{flex-direction:row}.googlesitekit-publisher-win .googlesitekit-publisher-win__secondary-pane-divider{height:106px;margin:auto 30px}}.googlesitekit-publisher-win .mdc-layout-grid{flex:1 1 0}.googlesitekit-publisher-win+.googlesitekit-publisher-win{display:none}.googlesitekit-publisher-win .googlesitekit-publisher-win__image-smaller svg{max-height:105px;width:100%}.googlesitekit-publisher-win .googlesitekit-publisher-win__title{flex:1;margin:0}.googlesitekit-publisher-win .googlesitekit-publisher-win__title .googlesitekit-badge{margin-left:8px}.googlesitekit-publisher-win .googlesitekit-publisher-win__title .googlesitekit-publisher-win__image-smaller{flex-basis:75px}.googlesitekit-publisher-win .googlesitekit-publisher-win__desc{max-width:700px}.googlesitekit-publisher-win .googlesitekit-publisher-win__desc:first-child>*:first-child{margin-top:0}.googlesitekit-publisher-win .googlesitekit-publisher-win__small-image{max-width:100%}.googlesitekit-publisher-win .googlesitekit-publisher-win__icons{display:flex;height:100%;justify-content:right}@media(min-width: 960px){.googlesitekit-publisher-win .googlesitekit-publisher-win__icons{right:calc(24px * 2)}}.googlesitekit-publisher-win .googlesitekit-publisher-win__image{align-self:center}.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large{margin-bottom:24px;text-align:center}@media(min-width: 600px){.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large{text-align:left}}@media(min-width: 960px){.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large{text-align:center}}.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large img{display:inline-block;max-width:100%}@media(max-width: 599px),(min-width: 960px){.googlesitekit-publisher-win .googlesitekit-publisher-win__image-large svg{width:200px}}.googlesitekit-publisher-win .googlesitekit-publisher-win__link a{font-size:16px;letter-spacing:.5px}.googlesitekit-publisher-win .googlesitekit-publisher-win__stats{margin-bottom:24px}.googlesitekit-publisher-win .googlesitekit-button-icon--spinner+.googlesitekit-cta-link{text-align:center}.googlesitekit-publisher-win .googlesitekit-publisher-win__logo{display:inline-block;line-height:0;margin-right:5px;vertical-align:bottom}.googlesitekit-publisher-win .googlesitekit-publisher-win__module-name{display:inline-block;font-size:12px;letter-spacing:.2px;line-height:1;margin-bottom:-1px;vertical-align:bottom}.googlesitekit-publisher-win .googlesitekit-publisher-win__small-media svg{max-height:85px;max-width:85px}.googlesitekit-publisher-win .googlesitekit-publisher-win__actions{display:flex;gap:8px}.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper{display:flex;flex-wrap:nowrap;gap:16px}.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper+.googlesitekit-cta-link,.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper+.googlesitekit-publisher-win__actions{margin-top:16px}@media(min-width: 960px){.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper+.googlesitekit-cta-link,.googlesitekit-publisher-win .googlesitekit-publisher-win__title-image-wrapper+.googlesitekit-publisher-win__actions{margin-top:24px}}.googlesitekit-publisher-win .googlesitekit-publisher-win__image-larger svg{display:block}.googlesitekit-publisher-win.googlesitekit-publisher-win--rounded{border-radius:24px}.googlesitekit-publisher-win--win-warning{border-right:4px solid #895a00}.googlesitekit-publisher-win--win-warning .googlesitekit-publisher-win__icons{color:#895a00}.googlesitekit-publisher-win--win-error{border-right:4px solid #ac4220}.googlesitekit-publisher-win--win-error .googlesitekit-publisher-win__icons{color:#cc6240}.googlesitekit-publisher-win--is-closed{opacity:0;visibility:hidden}.googlesitekit-selection-box{border-bottom:2px solid #dee3e5;outline:1px solid #fff;outline-offset:-1px;padding:6px 10px 6px 7px}.googlesitekit-selection-box .mdc-form-field{align-items:flex-start}.googlesitekit-selection-box .mdc-checkbox__content{padding-top:9px}.googlesitekit-selection-box .mdc-checkbox__content:has(.googlesitekit-badge){padding-top:8px}.googlesitekit-selection-box label{cursor:pointer;font-size:14px;font-weight:500;line-height:1.43;position:relative}.googlesitekit-selection-box label:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-selection-box label:focus{outline-offset:0}.googlesitekit-selection-box .mdc-checkbox__description{color:#6c726e;font-size:12px;line-height:1.33;padding:7px 0 5px}.googlesitekit-selection-box+.googlesitekit-selection-box{margin-top:16px}.googlesitekit-selection-box.googlesitekit-selection-box--disabled label,.googlesitekit-selection-box.googlesitekit-selection-box--disabled .mdc-checkbox__description{color:rgba(3,14,7,.32);pointer-events:none}.googlesitekit-plugin .googlesitekit-selection-panel{display:flex;flex-direction:column}.googlesitekit-plugin .googlesitekit-selection-panel-header{padding:16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-header{padding:24px}}.googlesitekit-plugin .googlesitekit-selection-panel-header h3{margin:0}.googlesitekit-plugin .googlesitekit-selection-panel-header p{color:#161b18;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:8px 0 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-header p{font-size:14px}}.googlesitekit-plugin .googlesitekit-selection-panel-header .googlesitekit-cta-link__contents strong{font-weight:400}.googlesitekit-plugin .googlesitekit-selection-panel-header__row{align-items:center;display:flex;justify-content:space-between}.googlesitekit-plugin .googlesitekit-selection-panel-header__close{color:#6c726e;display:flex;padding:8px}.googlesitekit-plugin .googlesitekit-selection-panel__loading{border-bottom:2px solid #ebeef0;display:flex;justify-content:space-between;margin:8px 24px 10px;padding:6px 0}.googlesitekit-plugin .googlesitekit-selection-panel__loading:last-child{border:none}.googlesitekit-plugin .googlesitekit-selection-panel__loading-item{margin:0 0 10px}.googlesitekit-plugin .googlesitekit-selection-panel-items{overflow:auto}.googlesitekit-plugin .googlesitekit-selection-panel-items .googlesitekit-selection-panel-items__subheading{color:#6c726e;font-size:12px;font-weight:500;line-height:1.33;margin:16px 0 0 16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-items .googlesitekit-selection-panel-items__subheading{margin:24px 0 0 24px}}.googlesitekit-plugin .googlesitekit-selection-panel-items .googlesitekit-selection-panel-items__subheading:first-child{margin:0 0 0 16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-items .googlesitekit-selection-panel-items__subheading:first-child{margin:0 0 0 24px}}.googlesitekit-plugin .googlesitekit-selection-panel-item{border-bottom:2px solid #ebeef0;display:flex;margin:0 16px;outline:1px solid #fff;outline-offset:-1px;padding:0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-selection-panel-item{border-color:#cbd0d3;margin:0 24px}}.googlesitekit-plugin .googlesitekit-selection-panel-item:last-child{border:none}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-panel-item-error{color:#ac4220;padding-top:10px}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-box{border:none;flex:1;outline:none;padding:0 4px 10px}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-box .mdc-form-field{align-items:center;gap:5px}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-box .mdc-checkbox__description{padding:0}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-panel-item__subtitle{display:block;font-size:12px;letter-spacing:.2px;line-height:1.33;margin-bottom:6px}.googlesitekit-plugin .googlesitekit-selection-panel-item .googlesitekit-selection-panel-item__suffix{color:#161b18;font-size:14px;font-weight:500;line-height:1.43;padding:15px 10px}.googlesitekit-plugin .googlesitekit-selection-panel-item .mdc-checkbox{margin-top:6px}.googlesitekit-plugin .googlesitekit-selection-panel-notice,.googlesitekit-plugin .googlesitekit-selection-panel-error{background-color:#ffe4b1;padding:16px 24px}.googlesitekit-plugin .googlesitekit-selection-panel-notice p,.googlesitekit-plugin .googlesitekit-selection-panel-error p{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-selection-panel-error{align-items:center;background-color:#ffded3;display:flex;gap:10px;padding:14px 24px}.googlesitekit-plugin .googlesitekit-selection-panel-error svg{color:#7a1e00;display:block}.googlesitekit-plugin .googlesitekit-selection-panel-footer{background-color:#f3f5f7;margin-top:auto;padding:12px 24px 24px;width:100%}.googlesitekit-plugin .googlesitekit-selection-panel-footer p{font-size:12px;letter-spacing:.2px;line-height:1.33}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-footer p{font-size:14px}}.googlesitekit-plugin .googlesitekit-selection-panel-footer .googlesitekit-error-text p{font-size:14px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-selection-panel-footer__content{align-items:center;column-gap:24px;display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:12px}}.googlesitekit-plugin .googlesitekit-selection-panel-footer__item-count{font-size:14px;font-weight:500}.googlesitekit-plugin .googlesitekit-selection-panel-footer__item-count .googlesitekit-selection-panel-footer__item-count--max-count{color:#6c726e;font-weight:400}.googlesitekit-plugin .googlesitekit-selection-panel-footer__actions{align-items:center;column-gap:8px;display:flex;justify-content:flex-end}.googlesitekit-plugin .googlesitekit-selection-panel-footer__actions .googlesitekit-cta-link{color:#6c726e}.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button{background-color:transparent;box-shadow:none;color:#6c726e}.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:focus,.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:hover{background-color:#f8fafb;color:rgba(0,0,0,.87)}.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:focus::before,.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:focus::after,.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:hover::before,.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:hover::after{background-color:rgba(0,0,0,.87)}.googlesitekit-plugin .googlesitekit-sharing-settings__button.mdc-button:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-sharing-settings-dialog .googlesitekit-dialog__content{padding-bottom:0}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-sharing-settings-dialog .googlesitekit-dialog__footer{border-color:transparent;box-shadow:none;padding:0}}.googlesitekit-plugin .googlesitekit-user-role-select{align-items:center;column-gap:12px;display:flex;flex-wrap:wrap;position:relative;row-gap:4px}.googlesitekit-plugin .googlesitekit-user-role-select__button{border:1px solid #3c7251;border-radius:50%;box-shadow:none;color:#3c7251;display:flex;height:48px;min-height:auto;min-width:auto;padding:0;width:48px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-role-select__button{height:28px;width:28px}}.googlesitekit-plugin .googlesitekit-user-role-select__button:not(:disabled){background-color:#fff;color:#3c7251}.googlesitekit-plugin .googlesitekit-user-role-select__button svg{fill:#3c7251}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-role-select__button svg{height:14px;width:14px}}.googlesitekit-plugin .googlesitekit-user-role-select--open{align-items:flex-start;row-gap:8px}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings{color:#161b18;font-size:14px;line-height:1.14}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__header{align-items:flex-start;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.14}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--product{flex:0 0 50%}@media(max-width: 960px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--product svg{height:28px;width:28px}}.googlesitekit-plugin .googlesitekit-user-role-select__current-roles{color:#333935;display:block;font-size:14px;line-height:1.14}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-role-select__current-roles{flex:1}}.googlesitekit-plugin .googlesitekit-user-role-select__add-roles{display:block}.googlesitekit-plugin .googlesitekit-user-role-select__add-roles button{color:#999f9b;font-size:14px;font-weight:400;line-height:1.14}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--view{flex:1 1 30%;position:relative}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--view{align-items:center;display:flex;flex:1 1 45%}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--view .googlesitekit-warning-notice{margin-right:24px;padding:8px 16px}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--view .googlesitekit-warning-notice .googlesitekit-cta-link{font-weight:400;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row{display:flex;flex-wrap:nowrap;gap:16px;position:relative}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--disabled::after{background-color:rgba(255,255,255,.6);content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--editing{flex-direction:column}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--editing{align-items:flex-start;flex-direction:row}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--editing .googlesitekit-dashboard-sharing-settings__column--product{min-height:48px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__row--editing .googlesitekit-dashboard-sharing-settings__column--product{min-height:28px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module{border-bottom:1px solid #ebeef0;padding:16px 0}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module:last-child{border-bottom:0}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module .googlesitekit-dashboard-sharing-settings__column--product{align-items:center;display:flex;flex-flow:row nowrap;gap:12px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module .googlesitekit-dashboard-sharing-settings__column--product{align-items:center;flex-flow:row nowrap;gap:16px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__module-name{flex:1}.googlesitekit-plugin p.googlesitekit-dashboard-sharing-settings__note{color:#757575;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select{height:48px;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select{height:30px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__selected-text{min-width:100px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__selected-text{min-width:140px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__native-control{appearance:none;background:none;font-size:14px;height:48px !important;padding-bottom:0;padding-top:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__native-control{height:30px !important;min-height:30px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__select .mdc-select__dropdown-icon{bottom:auto;top:50%;transform:translateY(-50%)}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage{flex:1 1 45%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage{align-items:center;display:flex;flex:0 0 30%}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__note{align-items:flex-end;display:flex;flex-wrap:wrap;font-size:12px;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__note span:not(.googlesitekit-dashboard-sharing-settings__tooltip-icon){width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__note span:not(.googlesitekit-dashboard-sharing-settings__tooltip-icon){margin-right:4px;width:auto}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__note svg{fill:#757575}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__column--manage .googlesitekit-dashboard-sharing-settings__tooltip-icon{display:block;height:18px;line-height:1;margin:0 0 0 4px}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer{display:flex;flex-basis:100%;flex-direction:column;gap:24px;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer{align-items:center;display:flex;flex-direction:row;gap:32px;justify-content:flex-end;width:auto}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-notice{margin:-0.625rem 0}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-notice{padding:16px 16px 0}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-actions{align-items:center;display:flex;flex:1;flex-direction:row;gap:32px;justify-content:flex-end}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-actions{box-shadow:0 -1px 4px 2px rgba(60,64,67,.15);padding:16px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings__footer-actions-right{align-items:center;display:flex;flex:1;flex-direction:row;gap:32px;grid-gap:32px;justify-content:flex-end}.googlesitekit-plugin p.googlesitekit-dashboard-sharing-settings__notice{background-color:#cbd0d3;border-radius:8px;color:#161b18;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0;padding:12px 24px;width:100%}@media(min-width: 600px){.googlesitekit-plugin p.googlesitekit-dashboard-sharing-settings__notice{padding:8px}}.googlesitekit-plugin p.googlesitekit-dashboard-sharing-settings__notice:empty{display:none}.googlesitekit-plugin .googlesitekit-user-role-select__chipset{display:flex;flex-wrap:wrap;gap:8px;padding:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-role-select__chipset{flex:1;gap:10px}}.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings--has-multiple-admins .googlesitekit-dashboard-sharing-settings__column--product{align-items:flex-start;flex-basis:25%;flex-direction:column;max-width:25%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-dashboard-sharing-settings--has-multiple-admins .googlesitekit-dashboard-sharing-settings__column--product{align-items:center;flex-direction:row;max-width:none}}.googlesitekit-plugin .googlesitekit-side-sheet{background-color:#fff;bottom:0;overflow:hidden;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .5s;width:100%;z-index:10000}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-side-sheet{width:530px}}body.admin-bar .googlesitekit-plugin .googlesitekit-side-sheet{top:46px}@media(min-width: 783px){body.admin-bar .googlesitekit-plugin .googlesitekit-side-sheet{top:32px}}.googlesitekit-plugin .googlesitekit-side-sheet--open{transform:translateX(0)}.googlesitekit-plugin .googlesitekit-side-sheet-overlay{background-color:rgba(0,0,0,.6);height:100%;left:0;position:fixed;top:0;width:100%;z-index:9990}body.googlesitekit-side-sheet-scroll-lock{overflow:hidden}.googlesitekit-source-link{color:#6c726e;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1}.googlesitekit-plugin .googlesitekit-stepper{list-style:none;margin:0;padding:0}.googlesitekit-plugin .googlesitekit-stepper__step{gap:10px;margin:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-stepper__step{display:flex}}.googlesitekit-plugin .googlesitekit-stepper__step-progress{display:flex;flex-direction:column}.googlesitekit-plugin .googlesitekit-stepper__step-number{align-items:center;background-color:#161b18;border-radius:12px;color:#fff;display:flex;font-size:12px;height:24px;justify-content:center;width:24px}.googlesitekit-plugin .googlesitekit-stepper__step-progress-line{background-color:#cbd0d3;display:none;flex:1;height:100%;margin:5px auto;min-height:30px;width:1px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-stepper__step-progress-line{display:block}}.googlesitekit-plugin .googlesitekit-stepper__step-title{align-items:center;color:#161b18;display:flex;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;height:24px;line-height:1.25}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-stepper__step-title{margin:0}}.googlesitekit-plugin .googlesitekit-stepper__step-content-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease-in-out;visibility:hidden}.googlesitekit-plugin .googlesitekit-stepper__step-content{overflow:hidden}.googlesitekit-plugin .googlesitekit-stepper__step--upcoming .googlesitekit-stepper__step-number{background-color:#6c726e}.googlesitekit-plugin .googlesitekit-stepper__step--upcoming .googlesitekit-stepper__step-title{color:#6c726e}.googlesitekit-plugin .googlesitekit-stepper__step--active .googlesitekit-stepper__step-content-container{grid-template-rows:1fr;margin-bottom:24px;visibility:visible}.googlesitekit-plugin .googlesitekit-stepper__step--completed .googlesitekit-stepper__step-number{color:#fff}.googlesitekit-plugin .googlesitekit-stepper__step--completed .googlesitekit-stepper__step-number svg{height:10px;width:10px}.googlesitekit-plugin .googlesitekit-stepper__step:last-child .googlesitekit-stepper__step-content-container{margin-bottom:0}.googlesitekit-plugin .googlesitekit-tab-bar__settings{margin:0 -16px;width:calc(100% + (16px * 2))}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-tab-bar__settings{margin:0;width:100%}}.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab-scroller__scroll-content{gap:1px}.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab{background-color:#fff;color:#161b18;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab:first-child{border-radius:16px 0 0 16px;overflow:hidden}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab:last-child{border-radius:0 16px 16px 0;overflow:hidden}}.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-ripple-upgraded--background-focused::after{background-color:#fff}.googlesitekit-plugin .googlesitekit-tab-bar__settings .mdc-tab__text-label{color:#161b18;opacity:1}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast{border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast .mdc-tab-scroller__scroll-content .mdc-tab{flex:none;height:56px}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast .mdc-tab-scroller__scroll-content .mdc-tab .mdc-tab__content{color:#161b18;font-size:12px;font-weight:500;letter-spacing:-0.1px;line-height:1.33;padding-top:2px}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast .mdc-tab-scroller__scroll-content .mdc-tab.mdc-tab--active .mdc-tab__content{color:#3c7251}.googlesitekit-plugin .googlesitekit-tab-bar--start-aligned-high-contrast .mdc-tab-indicator>.mdc-tab-indicator__content--underline{height:3px}.googlesitekit-table{counter-reset:table;font-size:14px;letter-spacing:.25px;padding:16px;position:relative}@media(min-width: 960px){.googlesitekit-table{padding:24px}}.googlesitekit-alltraffic-widget .googlesitekit-table,.googlesitekit-wp-dashboard .googlesitekit-table{padding:0}.googlesitekit-table .googlesitekit-table__wrapper{border-collapse:collapse;table-layout:fixed;width:100%}@media(max-width: 599px){.googlesitekit-table .googlesitekit-table__wrapper.googlesitekit-table__wrapper--mobile-2-col .googlesitekit-table__head-item--primary{width:75%}}.googlesitekit-table .googlesitekit-table__wrapper--tabbed-layout{table-layout:auto}.googlesitekit-table .googlesitekit-table__head-row{border-bottom:1px solid #ebeef0}.googlesitekit-table .googlesitekit-table__head-item{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;hyphens:auto;line-height:1.25;outline:0;padding:0 4px 8px 4px;position:relative;text-align:right;-webkit-text-decoration:none;text-decoration:none;white-space:normal}@media(min-width: 600px){.googlesitekit-table .googlesitekit-table__head-item{padding:0 8px 8px 8px}}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__head-item{padding:0 12px 12px 12px}}.googlesitekit-table .googlesitekit-table__head-item:first-child{padding-left:0;text-align:left}.googlesitekit-table .googlesitekit-table__head-item:last-child{padding-right:0}.googlesitekit-widget--with-header .googlesitekit-table .googlesitekit-table__head-item{font-size:14px;line-height:1.14}.googlesitekit-table-overflow .googlesitekit-table .googlesitekit-table__head-item:last-child{padding-right:0}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__head-item[data-tooltip]::before{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;content:attr(data-tooltip);display:none;font-size:12px;letter-spacing:.2px;max-width:250px;opacity:0;padding:calc(16px / 2) 24px;pointer-events:none;position:absolute;right:0;text-align:center;top:100%;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;visibility:hidden}}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__head-item:first-child[data-tooltip]::before{left:0}}.googlesitekit-table .googlesitekit-table__head-item--primary{width:50%}.googlesitekit-table .googlesitekit-table__wrapper--2-col .googlesitekit-table__head-item--primary{width:75%}.googlesitekit-table .googlesitekit-table__body{color:#161b18;font-weight:400}.googlesitekit-table .googlesitekit-table__body-row{border-bottom:1px solid #ebeef0}.googlesitekit-table .googlesitekit-table__body-row--no-data td{white-space:normal}.googlesitekit-table .googlesitekit-table__body-item{padding:8px 4px;text-align:right}@media(min-width: 600px){.googlesitekit-table .googlesitekit-table__body-item{padding:8px}}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__body-item{padding:12px}}.googlesitekit-table .googlesitekit-table__body-item:first-child{padding-left:0;text-align:left}.googlesitekit-table .googlesitekit-table__body-item:last-child{padding-right:0}.googlesitekit-table .googlesitekit-table__body-item .googlesitekit-mini-chart{display:none}@media(min-width: 600px){.googlesitekit-table .googlesitekit-table__body-item .googlesitekit-mini-chart{display:block}}.googlesitekit-table-overflow .googlesitekit-table .googlesitekit-table__body-item:last-child{padding-right:0}@media(max-width: 600px){.googlesitekit-table .googlesitekit-table__body-item-content .googlesitekit-cta-link,.googlesitekit-table .googlesitekit-table__body-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis}}.googlesitekit-wp-dashboard .googlesitekit-table .googlesitekit-table__body-item-link{background-image:none}.googlesitekit-table .googlesitekit-table__body-item-url{background-image:none;display:block;font-size:12px;letter-spacing:.2px;word-break:break-word}.googlesitekit-table .googlesitekit-table__body-item-chart-wrap{align-items:center;display:flex;justify-content:flex-end}.googlesitekit-table .googlesitekit-table__source{margin-top:16px}@media(min-width: 960px){.googlesitekit-table .googlesitekit-table__source{margin-top:24px}}.googlesitekit-table--with-list .googlesitekit-table__body-row{transition:background-color .2s ease-in-out}.googlesitekit-table--with-list .googlesitekit-table__body-row:last-child{border-bottom:0}.googlesitekit-table--with-list .googlesitekit-table__body-row:hover{background-color:rgba(51,57,53,.05)}.googlesitekit-table--with-list .googlesitekit-table__body-row--no-data:hover{background-color:transparent}.googlesitekit-table--with-list .googlesitekit-table__body-item:first-child .googlesitekit-table__body-item-content{margin-left:24px;position:relative}.googlesitekit-table--with-list .googlesitekit-table__body-item:first-child .googlesitekit-table__body-item-content::before{content:counter(table) ".";counter-increment:table;left:-24px;position:absolute}.googlesitekit-table--gathering-data{padding-bottom:0}.googlesitekit-table-overflow{position:relative}@media(max-width: 600px){.googlesitekit-table-overflow::after{background:linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 85%, white 100%);bottom:0;content:"";display:block;pointer-events:none;position:absolute;right:0;top:0;transition:all .2s ease-in-out;width:0}}.googlesitekit-table-overflow .googlesitekit-table-overflow__container{overflow-x:auto;white-space:nowrap}@media(min-width: 600px){.googlesitekit-table-overflow .googlesitekit-table-overflow__container{overflow-x:visible;white-space:normal}}@media(max-width: 600px){.googlesitekit-table-overflow--gradient::after{width:15%}}.googlesitekit-plugin .googlesitekit-text-field-icon--warning,.googlesitekit-plugin .googlesitekit-text-field-icon--error{align-items:center;border-radius:50%;display:flex;height:22px;justify-content:center;width:22px}.googlesitekit-plugin .googlesitekit-text-field-icon--warning svg,.googlesitekit-plugin .googlesitekit-text-field-icon--error svg{color:#fff;margin-bottom:3px}.googlesitekit-plugin .googlesitekit-text-field-icon--warning{background-color:#895a00}.googlesitekit-plugin .googlesitekit-text-field-icon--error{background-color:#ac4220}.googlesitekit-tooltip-popper.MuiTooltip-popper{z-index:99999}.googlesitekit-tooltip.MuiTooltip-tooltip{background-color:#161b18;border-radius:32px;color:#ebeef0;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;padding:14.5px 19px}.googlesitekit-tooltip .MuiTooltip-arrow{color:#161b18}.googlesitekit--has-visible-tooltip #adminmenuwrap{z-index:10}.googlesitekit-plugin .googlesitekit-analytics-usesnippet p,.googlesitekit-plugin .googlesitekit-tagmanager-usesnippet p{font-size:12px;letter-spacing:.2px}.googlesitekit-plugin .googlesitekit-header .googlesitekit-user-selector{margin-right:-4px}@media(max-width: 783px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-user-selector .mdc-button__label{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}}@media(max-width: 783px){.googlesitekit-plugin .googlesitekit-header .googlesitekit-user-selector .mdc-button__icon{margin-right:0}}.googlesitekit-plugin .googlesitekit-header .googlesitekit-user-selector button{padding:4px}.googlesitekit-plugin .googlesitekit-user-menu{background-color:#f3f5f7;border-radius:24px;max-width:335px;width:calc(100vw - 32px)}.googlesitekit-plugin .googlesitekit-user-menu .mdc-list{padding-bottom:0}.googlesitekit-plugin .googlesitekit-user-menu li{margin:0;padding:0 8px}.googlesitekit-plugin .googlesitekit-user-menu .mdc-list-item,.googlesitekit-plugin .googlesitekit-user-menu .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-user-menu .googlesitekit-view-only-menu__list-item{padding:0 7.16% 0 14.33%}.googlesitekit-plugin .googlesitekit-user-menu__item{align-items:center;column-gap:30px;display:flex;width:100%}.googlesitekit-plugin .googlesitekit-user-menu__item-icon{display:flex}.googlesitekit-plugin .googlesitekit-user-menu__item-label{color:#161b18;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-user-menu__details{align-items:center;background-color:#fff;border-radius:24px;column-gap:14px;display:flex;padding:16px;width:100%}.googlesitekit-plugin .googlesitekit-user-menu__details-avatar{border:1px solid rgba(32,33,36,.13);border-radius:50%;height:64px;width:64px}.googlesitekit-plugin .googlesitekit-user-menu__details-info{overflow:hidden}.googlesitekit-plugin .googlesitekit-user-menu__details-info p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-user-menu__details-info__name{color:#161b18;font-weight:500;line-height:1.43}.googlesitekit-plugin .googlesitekit-user-menu__details-info__email{color:#6c726e;font-size:12px;line-height:1.33}.googlesitekit-plugin .googlesitekit-view-only-menu h4{font-size:16px;letter-spacing:.5px;margin:15px 0}.googlesitekit-plugin .googlesitekit-view-only-menu p{color:#161b18;font-size:14px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-button--dropdown .mdc-button__icon{margin-right:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-button--dropdown .mdc-button__icon{height:16px;margin-right:8px;width:16px}}.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-button--dropdown .mdc-button__icon--image{height:inherit;width:inherit}.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-menu{width:320px}.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-list-divider{margin:8px 32px 4px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item{display:block;height:auto;padding:0 32px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__list-item:last-child{margin-bottom:5px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__description p{margin-bottom:8px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__description .mdc-button{margin:6px 0 9px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service{display:flex;gap:8px;margin-bottom:10px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service svg{padding:2px;width:24px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service--icon{flex:0 0 24px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service--name{font-size:14px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-view-only-menu .googlesitekit-view-only-menu__service--owner{color:#161b18;flex:1;font-size:12px;letter-spacing:.2px;margin-left:auto;overflow:hidden;text-overflow:ellipsis}.googlesitekit-plugin .googlesitekit-view-only-menu--user-can-authenticate .googlesitekit-view-only-menu__service--name{flex:0 0 100px;margin-right:8px}.googlesitekit-warning-notice{background-color:#ffe4b1;border-radius:8px;color:#4e3300;font-size:12px;letter-spacing:.2px;line-height:1.33;padding:14px 24px}.googlesitekit-warning-notice .googlesitekit-cta-link{color:#4e3300;font-weight:500}.googlesitekit-warning-notice .googlesitekit-cta-link svg{fill:none}.googlesitekit-signin-box{background-color:#fff;border-color:#b8bdb9;display:block;margin:20px auto;padding:20px;text-align:center}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__chart-zero-data{align-items:center;display:flex;justify-content:center;min-height:368px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__chart-zero-data>svg{color:#cbd0d3;height:300px;width:300px}.googlesitekit-plugin .googlesitekit-adsense-site-stats .google-visualization-tooltip,.googlesitekit-plugin .googlesitekit-analytics-site-stats .google-visualization-tooltip,.googlesitekit-plugin .googlesitekit-search-console-site-stats .google-visualization-tooltip,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .google-visualization-tooltip,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .google-visualization-tooltip{border-color:#b8bdb9;border-radius:8px;box-shadow:none;height:auto !important;width:auto !important;z-index:8}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip{padding:0 1em}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip em,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip em,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip em,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip em,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip em{font-style:normal;font-weight:700}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip strong,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip strong,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip strong,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip strong,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip strong{color:#000;margin:0 .25em 0 1em}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip p,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip p,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip p,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip p,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip p{font-size:14px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip svg,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip svg,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip svg,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip svg,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip svg{margin-right:.25em}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip--up em,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip--up em,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip--up em,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip--up em,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip--up em{color:#46732b}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip--down em,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip--down em,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip--down em,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip--down em,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip--down em{color:#ac4220}.googlesitekit-plugin .googlesitekit-adsense-site-stats .googlesitekit-visualization-tooltip-others em,.googlesitekit-plugin .googlesitekit-analytics-site-stats .googlesitekit-visualization-tooltip-others em,.googlesitekit-plugin .googlesitekit-search-console-site-stats .googlesitekit-visualization-tooltip-others em,.googlesitekit-plugin .googlesitekit-unique-visitors-chart-widget .googlesitekit-visualization-tooltip-others em,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-visualization-tooltip-others em{display:none}.googlesitekit-dashboard-module-header{margin:0 0 -5px}@media(min-width: 960px){.googlesitekit-dashboard-module-header{margin-bottom:-10px}}.googlesitekit-dashboard-module-header .googlesitekit-dashboard-module-header__title{color:#5f6561;margin:0}.googlesitekit-dashboard-module-header .googlesitekit-dashboard-module-header__description{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-dashboard-module-header .googlesitekit-dashboard-module-header__time{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__heading{margin:10px 0 0}@media(min-width: 961px){.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__entity-header{margin-top:var(--mdc-layout-grid-gutter-desktop, 24px)}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__entity-header{margin-top:var(--mdc-layout-grid-gutter-tablet, 16px)}}@media(max-width: 600px){.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__entity-header{margin-top:var(--mdc-layout-grid-gutter-phone, 16px)}}.googlesitekit-entity-dashboard .googlesitekit-entity-dashboard__title{margin:0 0 10px}.googlesitekit-plugin .googlesitekit-lean-cta-banner{display:flex;flex-direction:column}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner{align-items:center;flex:1;flex-direction:row;padding-inline:36px}}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body{display:flex;flex-direction:column;padding-block:20px;padding-inline:16px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body{align-items:center;flex-direction:row;padding-inline:24px}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body{flex:0 1 auto;margin-right:24px;padding:0}}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-icon{display:flex;margin-bottom:6px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-icon{justify-content:right;margin-bottom:0}}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-content p{margin:0 0 4px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-content{margin-left:20px}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__body .googlesitekit-lean-cta-banner__body-content{margin-left:24px}}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic{display:flex;justify-content:center;padding-inline:24px}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic svg{max-height:128px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic{padding-inline:0}.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic svg{height:150px;max-height:unset}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner .googlesitekit-lean-cta-banner__graphic{flex:1 1 auto}}.googlesitekit-pagespeed-widget .googlesitekit-cta-link{font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;white-space:nowrap}.googlesitekit-pagespeed-widget .googlesitekit-table{border-spacing:0;padding:0;width:100%}.googlesitekit-pagespeed-widget .googlesitekit-table thead{display:none}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper{position:relative}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__header{align-items:flex-end;border-bottom:1px solid #ebeef0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between}@media(max-width: 599px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__header{align-items:center;flex-direction:column-reverse;justify-content:flex-end}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__data-src-tabs button.mdc-tab{margin:0 10px;text-transform:none}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__data-src-tabs button.mdc-tab .mdc-tab-indicator__content--underline{border-top-left-radius:3px;border-top-right-radius:3px;height:3px}@media(max-width: 449px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__data-src-tabs button.mdc-tab{margin:0 6px;padding:0 6px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__device-size-tab-bar-wrapper{padding:12px;width:auto}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics--field-data-unavailable{align-items:center;display:flex;height:auto;justify-content:center;padding:16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics--field-data-unavailable{min-height:285px;padding:24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content{display:flex;flex-direction:column;justify-content:flex-start;max-width:600px;width:75%}@media(max-width: 599px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content{width:100%}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content h3{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;line-height:1.33;margin:0 0 .25rem}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content p{font-size:14px;letter-spacing:.25px;line-height:1.43;margin:.25rem 0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-insights-web-vitals-metrics__field-data-unavailable-content a{margin:0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer{border-top:1px solid #ebeef0;gap:16px;justify-content:flex-end;padding-top:0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer p,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer .googlesitekit-cta-link{font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;text-align:right}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer button.googlesitekit-cta-link{color:#6c726e;font-size:14px;font-weight:500;line-height:1.43}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer--with-action{justify-content:space-between}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer{align-items:center;display:flex;padding:18px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer{padding:18px 24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row p,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__footer p{color:#6c726e;letter-spacing:.25px}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row{gap:24px;justify-content:space-between}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row .googlesitekit-error-text p{color:#ac4220}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--first{padding:12px 16px 8px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--first{padding:18px 24px 12px 24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--single-item{flex-direction:row-reverse}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--last{padding:8px 16px 12px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--last{padding:12px 24px 18px 24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--hidden{visibility:hidden}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--error{align-items:flex-start;flex-direction:column;padding:12px 16px 8px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-report__row--error{padding:18px 24px 12px 24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations{box-shadow:inset 0 1px 0 rgba(0,0,0,.1);display:flex;flex-direction:column;padding:16px 16px 0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-pagespeed-recommendations__title{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;letter-spacing:.1px;line-height:1.25}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion{border-top-left-radius:16px;border-top-right-radius:16px;color:#000}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion+.googlesitekit-accordion{border-radius:0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion:last-of-type{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-pagespeed-recommendations__title,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion:last-child{margin-bottom:16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations{padding:24px 24px 0}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-pagespeed-recommendations__title,.googlesitekit-pagespeed-widget .googlesitekit-pagespeed--recommendations .googlesitekit-accordion:last-child{margin-bottom:24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed__recommendations-cta--hidden{visibility:hidden}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed__zero-recommendations{display:flex;justify-content:center}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed__zero-recommendations svg{max-height:150px}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__data-src-tabs{display:flex;gap:12px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__data-src-tabs{gap:20px;padding-left:24px}}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__device-size-tab-bar-wrapper{display:flex;padding-right:24px}.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__values .googlesitekit-preview-block{padding:18px 16px}@media(min-width: 600px){.googlesitekit-pagespeed-widget .googlesitekit-pagespeed-widget__content-wrapper--loading .googlesitekit-pagespeed-widget__values .googlesitekit-preview-block{padding:18px 24px}}.googlesitekit-pagespeed-report-metric .googlesitekit-pagespeed-report-metric-value-container{align-items:flex-end;display:flex;flex-direction:column;font-size:14px;justify-content:center;letter-spacing:.25px;line-height:1.43;text-align:right}.googlesitekit-pagespeed-report-metric .googlesitekit-pagespeed-report-metric-value__display-value,.googlesitekit-pagespeed-report-metric .googlesitekit-pagespeed-report-metric-value__rating{width:auto}.googlesitekit-pagespeed-report-metric .googlesitekit-pagespeed-report-metric-value__display-value{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.25;white-space:nowrap}.googlesitekit-pagespeed-report-metric--fast{color:#46732b}.googlesitekit-pagespeed-report-metric--average{color:#895a00}.googlesitekit-pagespeed-report-metric--slow{color:#ac4220}.googlesitekit-pagespeed-report-metric__title{align-items:center;color:#161b18;column-gap:8px;display:flex;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;letter-spacing:.1px;line-height:1.25}.googlesitekit-pagespeed-report-metric__title .googlesitekit-info-tooltip{display:inline-flex}.googlesitekit-pagespeed-report-metric__badge{margin-left:6px;vertical-align:bottom}.googlesitekit-pagespeed-report-metric__hint-text{color:#6c726e;letter-spacing:.25px;line-height:1.5;margin-top:.5em}.googlesitekit-pagespeed-report__row--unavailable .googlesitekit-pagespeed-report-metric__title,.googlesitekit-pagespeed-report__row--unavailable .googlesitekit-pagespeed-report-metric__description,.googlesitekit-pagespeed-report__row--unavailable .googlesitekit-pagespeed-report-metric-value{color:#999f9b}.googlesitekit-subtle-notification{align-items:flex-start;background-color:#b8e5ca;border-radius:16px;color:#265c3b;display:flex;flex-direction:column;gap:10px;padding:14px 16px}@media(min-width: 600px){.googlesitekit-subtle-notification{align-items:center;flex-direction:row;gap:16px;padding:14px 24px}}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__icon{display:flex}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;line-height:1.33}@media(min-width: 600px){.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content{flex:1;font-size:18px}}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content p{margin:0 0 10px}@media(min-width: 600px){.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content p{margin:0}}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__content p>a{color:inherit;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-subtle-notification .mdc-button{font-weight:500;margin:0 auto;min-height:32px;padding:6px 16px}.googlesitekit-subtle-notification .mdc-button.mdc-button--tertiary:not(:disabled){color:#265c3b}@media(min-width: 600px){.googlesitekit-subtle-notification .mdc-button{margin:0}}.googlesitekit-subtle-notification .mdc-button.mdc-button--raised{font-weight:500;padding:6px 16px}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__action{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:end;width:100%}@media(min-width: 600px){.googlesitekit-subtle-notification .googlesitekit-subtle-notification__action{justify-content:initial;width:initial}}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__action .mdc-button{margin:0}.googlesitekit-subtle-notification p.googlesitekit-subtle-notification__secondary_description{font-weight:400}.googlesitekit-subtle-notification .googlesitekit-subtle-notification__cta svg{margin-inline-start:6px}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning{background-color:#ffe4b1}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .googlesitekit-subtle-notification__icon,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .googlesitekit-subtle-notification__content{color:#4e3300}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(:disabled){background-color:#4e3300}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(:disabled){color:#fff;color:var(--mdc-theme-text-primary-on-dark, white)}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta::after{background-color:#fff}@supports not (-ms-ime-align: auto){.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta::after{background-color:var(--mdc-theme-text-primary-on-dark, white)}}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:hover::before{opacity:.08}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button.googlesitekit-subtle-notification__cta.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:not(:disabled){color:#4e3300}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(:disabled){background-color:rgba(225,177,85,.6)}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:hover::before{opacity:.04}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:hover:not(:disabled){color:#4e3300}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(:disabled),.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(:disabled){background-color:#e1b155}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(:disabled),.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active::after,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active::after,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:hover::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:hover::before{opacity:.04}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active.mdc-ripple-upgraded,.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:active:not(:disabled),.googlesitekit-subtle-notification.googlesitekit-subtle-notification--warning .mdc-button--tertiary:focus:not(:disabled){color:#4e3300}.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__primary-cell{padding:16px 16px 0}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__primary-cell{padding:24px}}.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__title{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:.1px;line-height:1.25;margin:0 0 10px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__title{font-size:22px;font-weight:400;line-height:1.27}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__title{font-size:28px;font-weight:400;line-height:1.286}}.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__description p{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__description p{font-size:14px;letter-spacing:.25px;line-height:1.43}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__description p{font-size:16px;letter-spacing:.5px;line-height:1.5}}.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__actions-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin:20px 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner .googlesitekit-setup-cta-banner__actions-wrapper{gap:10px;margin-bottom:0}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--single-column .googlesitekit-setup-cta-banner__cells{display:grid;grid-template-columns:1fr}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--single-column .googlesitekit-setup-cta-banner__cells{gap:48px;grid-template-columns:1fr 1fr}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--single-column .googlesitekit-setup-cta-banner__primary-cell{padding:20px 16px 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--single-column .googlesitekit-setup-cta-banner__primary-cell{padding:24px}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--single-column .googlesitekit-setup-cta-banner__title{font-size:22px;font-weight:400;letter-spacing:0;line-height:1.27}}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--single-column .googlesitekit-setup-cta-banner__title{font-size:28px;font-weight:400;line-height:1.286}}.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative}.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper svg{max-height:136px;scale:1.26;transform-origin:center 2px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper svg{height:100%;max-height:346px;position:absolute;scale:1.31;top:18px;transform-origin:initial}}.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--consent-mode-setup-cta-widget{align-items:center;display:flex;height:100%;justify-content:center;min-height:136px;overflow:hidden;position:relative}@media(min-width: 451px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--consent-mode-setup-cta-widget{min-height:158px}}.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--consent-mode-setup-cta-widget svg{max-height:136px;scale:1.26;transform-origin:center 2px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--consent-mode-setup-cta-widget svg{height:100%;max-height:346px;position:absolute;scale:1;top:0;transform-origin:initial}}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--consent-mode-setup-cta-widget svg{scale:1.31;top:18px}}.googlesitekit-wizard{padding-top:10px}@media(min-width: 600px){.googlesitekit-wizard{padding-left:10px;padding-right:10px}}.googlesitekit-wizard .googlesitekit-opt-in{margin-bottom:8px;margin-top:8px}.googlesitekit-wizard .googlesitekit-wizard__asterisk{color:#ac4220}.googlesitekit-wizard .googlesitekit-wizard__asterisk--space{margin-left:3px}.googlesitekit-wizard .googlesitekit-wizard__error-text{color:#ac4220;font-weight:500}.googlesitekit-wizard-auth{border-bottom:1px solid #ebeef0;display:flex;padding-bottom:40px}.googlesitekit-wizard-auth .googlesitekit-wizard-auth__image{border-radius:50%;display:block;flex:0 0 auto;height:32px;margin-right:16px;width:32px}@media(min-width: 600px){.googlesitekit-wizard-auth .googlesitekit-wizard-auth__image{height:64px;width:64px}}@media(min-width: 960px){.googlesitekit-wizard-auth .googlesitekit-wizard-auth__image{margin-right:24px}}.googlesitekit-wizard-auth .googlesitekit-wizard-auth__title{margin:0 0 10px}.googlesitekit-wizard-auth .googlesitekit-wizard-auth__text{margin:0}.googlesitekit-wizard-component .googlesitekit-wizard-component__title{display:inline-block;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;margin:0 0 10px}.googlesitekit-wizard-component .googlesitekit-wizard-component__logo{display:inline-block;margin:0 16px 8px 0;vertical-align:bottom}.googlesitekit-wizard-component .googlesitekit-wizard-component__logo img{display:block}.googlesitekit-wizard-component .googlesitekit-wizard-component__description{margin:0 0 17px 0}@media(min-width: 960px){.googlesitekit-wizard-component .googlesitekit-wizard-component__description{margin:0 0 29px 0}}.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs{align-items:center;display:flex;flex-wrap:wrap;margin:0}.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs>div{margin:16px 16px 16px 0}@media(min-width: 960px){.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs>div{margin:24px 24px 24px 0}}.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs--multiline{display:block}.googlesitekit-wizard-component .googlesitekit-wizard-component__inputs--multiline>div{margin:0;width:100%}.googlesitekit-wizard-component .googlesitekit-wizard-component__action{margin:24px 0 0 0}@media(min-width: 600px){.googlesitekit-wizard-component .googlesitekit-wizard-component__action{align-items:center;display:flex;justify-content:space-between}}@media(min-width: 960px){.googlesitekit-wizard-component .googlesitekit-wizard-component__action{margin:36px 0 0 0}}.googlesitekit-wizard-component .googlesitekit-wizard-component__skip{display:flex;flex:1 1 auto;justify-content:space-between;margin-top:16px}@media(min-width: 600px){.googlesitekit-wizard-component .googlesitekit-wizard-component__skip{margin-left:16px;margin-top:0}}@media(min-width: 960px){.googlesitekit-wizard-component .googlesitekit-wizard-component__skip{margin-left:24px}}.googlesitekit-wizard-component .googlesitekit-wizard-component__steps{font-size:12px;letter-spacing:.2px}.googlesitekit-wizard-component-nav{align-items:center;display:flex}.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__button{cursor:pointer}.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon{display:inline-block;opacity:.6}.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon:focus,.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon:active,.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon:hover{opacity:1}.googlesitekit-wizard-component-nav .googlesitekit-wizard-component-nav__icon--reverse{transform:rotate(180deg)}.googlesitekit-wizard-module{border:1px solid #ebeef0;height:100%;padding:16px;width:100%}@media(min-width: 960px){.googlesitekit-wizard-module{padding:24px}}.googlesitekit-wizard-module .googlesitekit-wizard-module__logo{align-items:flex-end;display:flex;height:36px}.googlesitekit-wizard-module .googlesitekit-wizard-module__logo img{display:block}.googlesitekit-wizard-module .googlesitekit-wizard-module__title{margin:15px 0 10px}.googlesitekit-wizard-module .googlesitekit-wizard-module__text{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-wizard-module .googlesitekit-wizard-module__switch{float:right}.googlesitekit-wizard-module .googlesitekit-wizard-module__switch .spinner{margin-top:-5px}.googlesitekit-wizard-module .googlesitekit-wizard-module__cta{font-size:12px;letter-spacing:.2px}.googlesitekit-wizard-progress{background-color:#fff}@media(min-width: 600px){.googlesitekit-wizard-progress{padding-left:10px;padding-right:10px}}@media(min-width: 600px){.googlesitekit-wizard-progress{border-bottom:1px solid #ebeef0}}.googlesitekit-wizard-progress .googlesitekit-wizard-progress__subtitle{margin:10px 0 17px}.googlesitekit-wizard-progress .googlesitekit-wizard-progress__title{margin:0 0 10px}@media(min-width: 600px){.googlesitekit-wizard-progress .googlesitekit-wizard-progress__title{margin:0 0 30px}}.googlesitekit-wizard-progress .googlesitekit-wizard-progress__description{font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0 0 10px}@media(min-width: 600px){.googlesitekit-wizard-progress .googlesitekit-wizard-progress__description{margin:0 0 30px}}.googlesitekit-wizard-progress .googlesitekit-wizard-progress__steps{display:flex;padding:16px}@media(min-width: 960px){.googlesitekit-wizard-progress .googlesitekit-wizard-progress__steps{padding:24px 0 0 0}}.googlesitekit-plugin .googlesitekit-wizard-progress-step{display:none;flex:1;flex-wrap:nowrap;text-align:center}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-wizard-progress-step{display:block;margin-bottom:40px}}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-wrapper{position:relative}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-wrapper::before{position:absolute;top:50%;transform:translateY(-50%);background-color:#ebeef0;content:"";display:block;height:2px;left:-16px;right:-16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-wrapper::before{left:-24px;right:-24px}}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number{background-color:#ebeef0;border:15px solid #fff;border-radius:50%;color:#333935;font-size:14px;height:54px;letter-spacing:.25px;line-height:1.43;margin:0 auto;position:relative;width:54px;z-index:2}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--inprogress{background-color:#446199;color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--warning{background-color:#895a00;color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--warning svg{color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--error{background-color:#ac4220;color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--error svg{color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--completed{background-color:#46732b;color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number--completed svg{color:#fff}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-text--warning,.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-text--error,.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-text--completed{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__number-icon{align-items:center;display:flex;height:100%;justify-content:center}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__text{color:#5f6561;font-size:14px;font-weight:500;letter-spacing:.25px;margin:0}.googlesitekit-plugin .googlesitekit-wizard-progress-step .googlesitekit-wizard-progress-step__text span{color:#ac4220;display:inline-block;margin-left:5px}.googlesitekit-plugin .googlesitekit-wizard-progress-step--current{display:block}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--1 .googlesitekit-wizard-progress-step__number-wrapper::after,.googlesitekit-plugin .googlesitekit-wizard-progress-step--completeSetup .googlesitekit-wizard-progress-step__number-wrapper::after{position:absolute;top:50%;transform:translateY(-50%);background-color:#fff;content:"";display:block;height:4px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--1 .googlesitekit-wizard-progress-step__number-wrapper::after{left:-16px;right:50%}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--1 .googlesitekit-wizard-progress-step__number-wrapper::after{left:-24px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--completeSetup .googlesitekit-wizard-progress-step__number-wrapper::after{left:50%;right:-16px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-wizard-progress-step--completeSetup .googlesitekit-wizard-progress-step__number-wrapper::after{right:-24px}}.googlesitekit-wizard-step{background-color:#fff;overflow:hidden;padding-bottom:16px;padding-top:16px}@media(min-width: 600px){.googlesitekit-wizard-step{padding-left:10px;padding-right:10px}}@media(min-width: 960px){.googlesitekit-wizard-step{padding-bottom:24px;padding-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__title{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;margin:0 0 10px}.googlesitekit-wizard-step .googlesitekit-wizard-step__text{margin:0}.googlesitekit-wizard-step .googlesitekit-wizard-step__subtitle{margin:16px 0 0 0}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__subtitle{margin-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs{align-items:center;display:flex;flex-wrap:wrap;margin:0}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs>div{margin:16px 16px 16px 0}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs>div{margin:24px 24px 24px 0}}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs>.googlesitekit-setup-module__input{margin:1em 0}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs--multiline{display:block}.googlesitekit-wizard-step .googlesitekit-wizard-step__inputs--multiline>div{margin:0;width:100%}.googlesitekit-wizard-step .googlesitekit-wizard-step__action{margin-top:16px}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__action{margin-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:0}.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify>*:first-child{margin-right:16px;margin-top:16px}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify>*:first-child{margin-right:24px;margin-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify>*:last-child{flex:0 0 auto;margin-top:16px}@media(min-width: 960px){.googlesitekit-wizard-step .googlesitekit-wizard-step__action--justify>*:last-child{margin-top:24px}}.googlesitekit-wizard-step .googlesitekit-wizard-step__back{margin-left:8px}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .mdc-layout-grid{padding:0}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .mdc-layout-grid__inner{grid-template-columns:1fr;overflow:hidden;position:relative}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-content__wrapper{padding:24px 24px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-content__wrapper{max-width:56%;padding:35px 24px 31px}}@media(min-width: 1024px)and (max-width: 1279px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-content__wrapper{max-width:60%;padding:35px 24px 31px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-content__wrapper{max-width:54%;padding:34px 24px 43px}}@media(min-width: 800px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-preview-block{max-width:42%;min-height:100%;position:absolute;right:0;top:0}}@media(min-width: 1500px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-preview-block{max-width:30%}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper{overflow:hidden}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper.mdc-layout-grid__cell{grid-column:1;grid-row:auto;padding-top:20px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper.mdc-layout-grid__cell{grid-column:unset;grid-column-end:span 4;grid-row:1/-1;padding-top:0}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{display:block;margin:0 auto;max-height:140px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:310px;max-width:45%;position:absolute;right:0;top:0}}@media(min-width: 1181px)and (max-width: 1279px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:340px;top:-35px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:290px;top:0}}@media(min-width: 1440px1px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{top:-50px}}@media(min-width: 1700px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:340px;max-width:35%}}@media(min-width: 2200px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:370px;right:-15px;top:-65px}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-publisher-win__title{color:#161b18;display:grid;font-size:16px;font-weight:400;letter-spacing:.1px;line-height:1.25;margin:0;place-content:center}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-publisher-win__title{font-size:22px;letter-spacing:unset;line-height:1.27;place-content:start}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-publisher-win__title{font-size:28px;line-height:1.286}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta p{color:#161b18;display:grid;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:5px 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta p{font-size:14px;letter-spacing:.25px;line-height:1.14}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta p{font-size:16px;letter-spacing:.5px;line-height:1.25}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper{display:flex;flex-wrap:wrap;gap:4px;margin-top:20px}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper a,.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper button{place-content:center;text-align:center;width:auto}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper{gap:10px}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper{margin-top:24px}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper a,.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper button{width:auto}}.googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-actions__wrapper .googlesitekit-cta-link{color:#6c726e}.googlesitekit-plugin .googlesitekit-widget-key-metrics-footer{padding:0 8px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget-key-metrics-footer{padding:0}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary div.mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer div.googlesitekit-widget-key-metrics-footer__cta-wrapper{gap:6px;grid-template-columns:1fr 1fr}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary div.mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer div.googlesitekit-widget-key-metrics-footer__cta-wrapper span{display:block}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary div.mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer div.googlesitekit-widget-key-metrics-footer__cta-wrapper span{display:inline}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary div.mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer div.googlesitekit-widget-key-metrics-footer__cta-wrapper .googlesitekit-cta-link{color:#108080}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All .googlesitekit-widget-key-metrics-text__wrapper{text-align:center}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All .googlesitekit-widget-key-metrics-text__wrapper{text-align:initial}}@media(min-width: 800px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:228px;position:absolute;right:0;top:-25px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:265px;top:-25px}}@media(min-width: 1024px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:310px;right:0;top:-46px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:260px;right:0;top:-14px}}@media(min-width: 2200px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget--keyMetricsConnectGA4All div.googlesitekit-widget-key-metrics-svg__wrapper svg{max-height:370px;right:0;top:-67px}}.googlesitekit-plugin .googlesitekit-km-connect-ga4-cta .googlesitekit-publisher-win__title{color:#ac4220;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif}.googlesitekit-plugin .googlesitekit-km-connect-ga4-cta .googlesitekit-widget-key-metrics-actions__wrapper{justify-content:center}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-km-connect-ga4-cta .googlesitekit-widget-key-metrics-actions__wrapper{justify-content:flex-start}}@media(min-width: 800px){html[dir=rtl] .googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-preview-block{left:0;right:unset}}@media(min-width: 960px){html[dir=rtl] .googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-svg__wrapper svg{left:0;right:unset;transform:scaleX(-1)}}@media(min-width: 2200px){html[dir=rtl] .googlesitekit-plugin .googlesitekit-setup__wrapper--key-metrics-setup-cta .googlesitekit-widget-key-metrics-svg__wrapper svg{left:-15px}}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .mdc-layout-grid__cell--span-2-phone{width:calc(100% - 16px);width:calc(100% - var(--mdc-layout-grid-gutter-phone, 16px))}@supports(display: grid){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .mdc-layout-grid__cell--span-2-phone{width:auto;grid-column-end:span 4}}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-header__title{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-header__title .googlesitekit-new-badge{margin-left:12px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item,.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab{background-color:#ebeef0;color:#161b18;font-size:12px;font-weight:500;min-height:28px;padding:6px 14px;--mdc-ripple-fg-opacity: 0}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items{background:#fff;display:flex;flex-wrap:nowrap;gap:12px;left:0;margin:0 16px 15px;overflow:auto;position:sticky;top:0;white-space:nowrap;z-index:1}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items{flex-wrap:wrap;margin:0 25px 25px;overflow:hidden;white-space:unset}}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab-scroller__scroll-content{gap:10px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab{height:unset;line-height:unset}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab.mdc-tab--active{background-color:#b8e5ca}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab .mdc-tab-indicator>.mdc-tab-indicator__content{display:none}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items .mdc-tab .mdc-tab__content{position:initial}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item{overflow:visible}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item svg{margin-right:7px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item-new-dot{align-items:center;background-color:#fff;border-radius:50%;display:flex;height:10px;justify-content:center;position:absolute;right:0;top:0;width:10px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item-new-dot::after{background-color:#573195;border-radius:50%;content:"";display:block;height:6px;right:0;top:0;width:6px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items-row{display:flex;flex-wrap:nowrap;gap:10px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items-row{flex-wrap:wrap}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items-row:last-child .googlesitekit-chip-tab-group__chip-item:nth-last-child(2),.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-items-row:last-child .googlesitekit-chip-tab-group__chip-item:last-child{padding:6px 23px}}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item--active{background-color:#b8e5ca}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item-svg__suggested path{fill:#161b18}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__chip-item-count{margin-left:3px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-selection-panel-item{align-items:center}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-selection-panel-item .googlesitekit-badge{background-color:#573195;color:#fff;font-size:12px;line-height:1.33;margin-right:1px;padding:4px 8px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-selection-panel-item .googlesitekit-selection-box{padding:0 4px 10px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__graphic{align-items:center;display:flex;flex-direction:column;margin-top:10%}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__graphic svg{max-height:160px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__graphic svg{max-height:unset}}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-item-mobile-svg{margin-right:7px}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-item-mobile-svg svg{display:block}.googlesitekit-plugin .googlesitekit-chip-tab-group .googlesitekit-chip-tab-group__tab-item-mobile-svg.googlesitekit-chip-tab-group__tab-item-mobile-svg--suggested svg path{fill:#161b18}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-acr-km-selection-panel{width:578px}}.googlesitekit-plugin .googlesitekit-acr-km-selection-panel .googlesitekit-selection-panel-items{flex:1}.googlesitekit-plugin .googlesitekit-acr-km-selection-panel .googlesitekit-selection-panel-footer__actions{width:100%}.googlesitekit-plugin .googlesitekit-acr-km-selection-panel .googlesitekit-selection-panel-footer__actions .googlesitekit-selection-panel-footer__item-count{margin-right:auto;order:1}.googlesitekit-plugin .googlesitekit-acr-km-selection-panel .googlesitekit-selection-panel-footer__actions button{order:2}.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions{width:100%}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions{flex-wrap:wrap;justify-content:flex-end}}.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions .googlesitekit-selection-panel-footer__item-count{margin-right:auto;order:1}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions .googlesitekit-selection-panel-footer__item-count{order:1;text-align:left;width:100%}}.googlesitekit-plugin .googlesitekit-km-selection-panel .googlesitekit-selection-panel-footer__actions button{order:2}.googlesitekit-plugin .googlesitekit-acr-subtle-notification{background-color:#e3d1ff;color:#462083;padding:14px 24px}.googlesitekit-plugin .googlesitekit-acr-subtle-notification .mdc-button--raised:not(:disabled){background-color:#462083}.googlesitekit-plugin .googlesitekit-acr-subtle-notification .googlesitekit-subtle-notification__content,.googlesitekit-plugin .googlesitekit-acr-subtle-notification .mdc-button--tertiary:not(:disabled),.googlesitekit-plugin .googlesitekit-acr-subtle-notification p>a{color:inherit}.googlesitekit-plugin .googlesitekit-acr-subtle-notification .googlesitekit-subtle-notification__action{grid-gap:10px;justify-content:flex-end}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-acr-subtle-notification .googlesitekit-subtle-notification__action{grid-gap:16px}}.googlesitekit-plugin .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .mdc-layout-grid{padding:0}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification{background:transparent}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .mdc-layout-grid,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .mdc-layout-grid__inner{display:block}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-widget__body .mdc-layout-grid{margin:0}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-widget__body .mdc-layout-grid:nth-child(2){margin:15px 0 0}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-acr-subtle-notification{display:flex}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsEventDetectionCalloutNotification .googlesitekit-cta-link{-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events{background-color:#ffe4b1}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events{gap:10px}}.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events .mdc-button--raised:not(:disabled){background-color:#4e3300}.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events .googlesitekit-subtle-notification__content,.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events .mdc-button--tertiary:not(:disabled),.googlesitekit-plugin .googlesitekit-acr-subtle-notification__lost-events .googlesitekit-subtle-notification__icon svg{color:#4e3300}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change h2{font-size:28px}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__content{margin-top:15px}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__content h3{font-size:14px;font-weight:500;margin:0}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.mdc-list-item,.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined .googlesitekit-view-only-menu li.googlesitekit-view-only-menu__list-item,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.googlesitekit-view-only-menu__list-item{font-size:12px;min-height:auto;padding:4px 0}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.mdc-list-item::before,.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined .googlesitekit-view-only-menu li.googlesitekit-view-only-menu__list-item::before,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.googlesitekit-view-only-menu__list-item::before{display:none}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.mdc-list-item:last-child,.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined .googlesitekit-view-only-menu li.googlesitekit-view-only-menu__list-item:last-child,.googlesitekit-plugin .googlesitekit-view-only-menu .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change ul.mdc-list.mdc-list--underlined li.googlesitekit-view-only-menu__list-item:last-child{border:none}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__actions{border-top:none}@media(max-width: 600px){.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__actions button{width:100%}.googlesitekit-plugin .mdc-dialog.googlesitekit-dialog-confirm-site-purpose-change .mdc-dialog__actions button:last-child{margin-top:5px}}.googlesitekit-plugin .googlesitekit-setup{padding-top:10px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup{padding-left:10px;padding-right:10px}}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-opt-in{margin-bottom:8px;margin-top:8px}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__step{border-bottom:1px solid #ebeef0;margin-bottom:16px;padding-bottom:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__step{margin-bottom:24px;padding-bottom:24px}}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__title{display:inline-block;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;margin:.67em 0}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__notice{font-weight:500}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__description+.googlesitekit-setup__notice{margin-top:1em}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__notice-text{display:inline-block;margin-left:5px;vertical-align:middle}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__footer{border-top:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-setup .googlesitekit-setup__splash{border-bottom:1px solid #ebeef0;padding-left:10px;padding-right:10px}.googlesitekit-plugin .googlesitekit-setup-compat{max-width:60rem}.googlesitekit-plugin .googlesitekit-start-setup-wrap{display:flex}.googlesitekit-plugin .googlesitekit-start-setup{margin-right:8px}.googlesitekit-plugin .googlesitekit-start-setup+.googlesitekit-cta-link{margin-left:8px}.googlesitekit-plugin .googlesitekit-setup__wrapper{background-color:#fff;border-radius:16px}.googlesitekit-plugin .googlesitekit-setup__wrapper .googlesitekit-setup__intro-title{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.14;margin:0 0 17px}.googlesitekit-plugin .googlesitekit-setup__warning{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-setup__warning svg{color:#895a00;width:34px}.googlesitekit-plugin .googlesitekit-setup__warning div{flex:1;margin:0 0 0 24px}.googlesitekit-plugin .googlesitekit-setup__content{margin:0 auto;max-width:465px;padding:2rem 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__content{max-width:none;padding:0}}.googlesitekit-plugin .googlesitekit-setup__content .googlesitekit-setup__description{margin:0}.googlesitekit-plugin .googlesitekit-setup__content .googlesitekit-opt-in{margin:2rem 0}.googlesitekit-plugin .googlesitekit-setup__icon{text-align:center}.googlesitekit-plugin .googlesitekit-setup__icon svg{height:auto;max-width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup__icon{align-self:center;order:2}}.googlesitekit-plugin .googlesitekit-setup-analytics-notice{background-color:#f8fafb;border-radius:16px;display:flex;flex-direction:column-reverse;margin:24px 0 0;padding:16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-analytics-notice{padding:24px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-analytics-notice{align-items:center;flex-flow:row nowrap}}.googlesitekit-plugin .googlesitekit-setup-analytics-notice label{color:#333935;font-size:16px;letter-spacing:.5px;line-height:1.5;padding-top:8px}.googlesitekit-plugin .googlesitekit-setup-analytics-notice .mdc-form-field{align-items:flex-start}.googlesitekit-plugin .googlesitekit-setup-analytics-notice__icon{margin:0 0 24px}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-analytics-notice__icon{margin:0;padding-left:24px}}.googlesitekit-plugin .googlesitekit-setup-analytics-notice__icon svg{display:block;margin:0 auto;max-width:378px;width:100%}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-analytics-notice__icon svg{margin:0;width:378px}}.googlesitekit-plugin .googlesitekit-setup-module{flex:1 1 auto}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__step{margin-bottom:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__step{margin-bottom:24px}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__step:last-child{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__logo{display:inline-block;margin:0 16px 0 0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__logo img{display:block;height:auto;width:40px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__title{display:inline-block;margin:0 0 10px;vertical-align:bottom}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__text--no-margin{margin:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+p,.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+.googlesitekit-settings-notice{margin-top:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+.googlesitekit-settings-notice{margin-top:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__title+p{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__title+p~p{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__user{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__user-image{border-radius:50%;height:32px;margin-right:10px;width:32px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs{align-items:center;display:flex;flex-wrap:wrap;margin:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs>div{margin:16px 16px 16px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs>div{margin:24px 24px 24px 0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs>.googlesitekit-setup-module__input{margin:1em 0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+.googlesitekit-error-text{margin-top:-16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs+.googlesitekit-error-text{margin-top:-24px}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs--collapsed{align-items:flex-start}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs--collapsed>div{margin-top:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs--multiline{display:block}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__inputs--multiline>div{margin:0;width:100%}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__switch{margin:16px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__switch{margin:24px 0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action{margin:24px 0 0 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action{align-items:center;display:flex}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action{margin:36px 0 0 0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action .googlesitekit-cta-link{font-size:14px;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action .mdc-button+.googlesitekit-cta-link{margin-left:24px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__sub-action{display:flex;margin-top:16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__sub-action{margin-left:8px;margin-top:0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__list-wrapper{background:#ebeef0;border-radius:16px;margin:16px 0 0 0;padding:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__list-wrapper{margin-top:24px}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__cta{margin-top:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__cta{margin-top:24px}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__cta-link{display:inline-block;margin-right:50px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__cta-link:last-child{margin-right:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action+.googlesitekit-setup-module__footer-text{margin:24px 0 0 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__action+.googlesitekit-setup-module__footer-text{margin:36px 0 0 0}}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__header{align-items:center;display:flex;flex-wrap:wrap;grid-gap:10px 12px}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__header .googlesitekit-setup-module__logo,.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__header .googlesitekit-setup-module__title{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module .googlesitekit-setup-module__badges{align-items:center;display:flex;flex-wrap:wrap;gap:10px 12px}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect{--adsense-connect-cta-fade-in-duration: 7.5s;--adsense-connect-cta-fade-out-duration: 500ms}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption-container{display:grid;grid-template-columns:1fr;margin:0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption-container{display:block;padding:32px 0 0}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption{color:#999f9b;display:flex;grid-column-start:1;grid-row-start:1;margin:0;opacity:0;transition:color 500ms ease-in-out}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption{margin-bottom:24px;opacity:1}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption .googlesitekit-setup-module--adsense__stage-caption-indicator{align-self:stretch;background-color:rgba(0,0,0,.1);display:none;margin-right:20px;width:1px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption .googlesitekit-setup-module--adsense__stage-caption-indicator{display:block}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption h4{color:#7b807d;font-size:18px;font-weight:400;margin:0 0 4px}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption p{color:#7b807d;font-size:12px;margin:0}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption *{transition:inherit}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--static h4,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter h4,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave h4{color:#446199}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--static p,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter p,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave p{color:#333935}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--static{opacity:1}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--static .googlesitekit-setup-module--adsense__stage-caption-indicator{background-color:#446199}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter .googlesitekit-setup-module--adsense__stage-caption-indicator,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave .googlesitekit-setup-module--adsense__stage-caption-indicator{background-image:linear-gradient(0deg, #446199 0%, #446199 100%);background-repeat:no-repeat}@keyframes googlesitekit-fade-in{0%{opacity:0}6.67%{opacity:1}100%{opacity:1}}@keyframes googlesitekit-fade-out{0%{opacity:1}50%{opacity:0}100%{opacity:0}}@keyframes googlesitekit-caption-indicator-enter{from{background-size:100% 0%}to{background-size:100% 100%}}@keyframes googlesitekit-caption-indicator-leave{from{background-size:100% 100%}to{background-size:100% 0%}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter{animation:googlesitekit-fade-in var(--adsense-connect-cta-fade-in-duration) linear forwards}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter{animation:none}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--enter .googlesitekit-setup-module--adsense__stage-caption-indicator{animation:googlesitekit-caption-indicator-enter 500ms linear forwards;background-position:0% 0%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave{animation:googlesitekit-fade-out var(--adsense-connect-cta-fade-out-duration) linear forwards}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave{animation:none}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-caption--current--leave .googlesitekit-setup-module--adsense__stage-caption-indicator{animation:googlesitekit-caption-indicator-leave 500ms linear forwards;background-position:0% 100%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image-container{display:grid;grid-template-columns:1fr;height:100%;padding:16px 0;width:100%}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image-container{height:calc(100% + 70px);margin-bottom:12px;margin-top:-70px}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image{align-items:center;display:flex;grid-column-start:1;grid-row-start:1;height:100%;justify-content:center;opacity:0;width:100%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image svg{flex:1;max-height:312px;max-width:100%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image--current--static{opacity:1}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image--current--enter{animation:googlesitekit-fade-in var(--adsense-connect-cta-fade-in-duration) linear forwards}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-image--current--leave{animation:googlesitekit-fade-out var(--adsense-connect-cta-fade-out-duration) linear forwards}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator{display:grid;grid-auto-flow:column;grid-gap:6px;justify-content:flex-start;margin:12px 0 20px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator{display:none}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li{background-color:rgba(0,0,0,.1);border-radius:1px;height:2px;width:26px;--adsense-connect-cta-indicator-duration: 500ms}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--static{background-color:#446199}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--enter,.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--leave{background-image:linear-gradient(0deg, #446199 0%, #446199 100%);background-repeat:no-repeat}@keyframes googlesitekit-indicator-enter{from{background-size:0% 100%}to{background-size:100% 100%}}@keyframes googlesitekit-indicator-leave{from{background-size:100% 100%}to{background-size:0% 100%}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--enter{animation:googlesitekit-indicator-enter var(--adsense-connect-cta-indicator-duration) linear forwards;background-position:0% 0%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module--adsense__stage-indicator li.googlesitekit-setup-module--adsense__stage-indicator--current--leave{animation:googlesitekit-indicator-leave var(--adsense-connect-cta-indicator-duration) linear forwards;background-position:100% 0%}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__action{display:flex;flex-wrap:wrap;gap:4px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__action{gap:10px}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__footer-text{align-items:flex-end;display:flex;justify-content:flex-end}}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__footer-text a{-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-setup__wrapper--adsense-connect .googlesitekit-setup-module__footer-text p{font-size:12px;margin:0}.googlesitekit-plugin #js-googlesitekit-settings .googlesitekit-layout__header{border:none}.googlesitekit-plugin #js-googlesitekit-settings .googlesitekit-layout__header .mdc-layout-grid{padding-bottom:0}.googlesitekit-plugin #js-googlesitekit-settings .googlesitekit-layout__header .mdc-layout-grid h3.googlesitekit-layout__header-title{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;font-weight:500}.googlesitekit-plugin #js-googlesitekit-settings .googlesitekit-settings-module .googlesitekit-settings-module__footer .mdc-layout-grid{padding-top:0}.googlesitekit-plugin .googlesitekit-settings-connect-module{border:1px solid #ebeef0;border-radius:8px;height:100%;padding:16px;width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-connect-module{padding:24px}}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__logo{align-items:flex-end;display:flex;height:36px}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__logo img{display:block}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__heading{align-items:center;display:flex;flex-wrap:wrap;grid-gap:10px 12px;margin:15px 0 10px}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__title{margin:0}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__badges{display:flex;flex-wrap:wrap;grid-gap:10px 12px}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__text{font-size:14px;letter-spacing:.25px;line-height:1.43;margin:0}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__switch{float:right}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__switch .spinner{margin-top:-5px}.googlesitekit-plugin .googlesitekit-settings-connect-module .googlesitekit-settings-connect-module__cta{font-size:14px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-switch__enabled-notice,.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirements__description{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-switch-description--loading{margin:14px 0}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirements__grid{padding:0}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirement{border:1px solid #ebeef0;border-radius:8px;display:flex;flex-direction:column;height:100%;padding:16px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirement{padding:24px}}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirement h4{font-size:16px;font-weight:500;line-height:1.25;margin:0}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-consent-mode-requirement__description{flex:1;font-size:12px;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-notice{border-radius:8px;display:flex;flex-direction:column}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-notice{flex-direction:row}}.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-notice .googlesitekit-settings-notice__icon{align-self:start;margin-bottom:6px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode .googlesitekit-settings-notice .googlesitekit-settings-notice__icon{align-self:center;margin-bottom:0}}.googlesitekit-plugin .googlesitekit-settings-consent-mode__recommendation-notice{background-color:#dce8ff;color:#2d4a82;font-size:14px;line-height:1.43;margin-bottom:0;margin-top:8px}.googlesitekit-plugin .googlesitekit-settings-consent-mode__recommendation-notice svg{color:#6380b8}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__footer{align-items:flex-start;display:flex;flex:1;flex-direction:column;justify-content:center}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-wrapper{align-items:center;display:flex;flex-direction:column;gap:6px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-wrapper{flex-direction:row;gap:10px}}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-icon{align-items:center;align-self:start;background-color:#b8e5ca;border-radius:11px;color:#1f4c04;display:flex;height:22px;justify-content:center;margin-top:10px;min-width:22px;width:22px}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-icon svg{height:10px;width:10px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-api-detected-icon{align-self:center;margin-top:0}}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__install-button{padding:6px 16px}.googlesitekit-plugin .googlesitekit-settings-consent-mode-requirement__consent-management-plugin-notice{margin-bottom:0;padding:10px 16px}.googlesitekit-plugin .googlesitekit-module-settings-group{background-color:#f3f5f7;border-radius:8px;display:flex;flex-direction:column;gap:20px;padding:24px 16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-module-settings-group{padding:24px}}.googlesitekit-plugin .googlesitekit-module-settings-group h4{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;line-height:1.25;margin:0}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-module-settings-group__switch{display:flex}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-module-settings-group__switch .mdc-switch{top:3px}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-first-party-mode-toggle__switch-badge{position:relative;top:-2px}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-module-settings-group__helper-text{color:#6c726e;flex-basis:100%;font-size:12px;margin:6px 0 0 42px}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-analytics-enable-enhanced-measurement--loading{padding-top:11px}.googlesitekit-plugin .googlesitekit-module-settings-group .googlesitekit-analytics-enable-enhanced-measurement__progress--settings-edit{margin-bottom:12px}.googlesitekit-settings-meta .googlesitekit-settings-meta__profile{align-items:center;display:flex;margin:16px 0}@media(min-width: 960px){.googlesitekit-settings-meta .googlesitekit-settings-meta__profile{margin:24px 0}}.googlesitekit-settings-meta .googlesitekit-settings-meta__profile .googlesitekit-cta-link{font-style:italic}.googlesitekit-settings-meta .googlesitekit-settings-meta__avatar{border-radius:50%;height:64px;margin-right:16px;width:64px}@media(min-width: 960px){.googlesitekit-settings-meta .googlesitekit-settings-meta__avatar{margin-right:24px}}.googlesitekit-settings-meta .googlesitekit-settings-meta__user-details{font-size:12px;letter-spacing:.2px}.googlesitekit-settings-meta .googlesitekit-settings-meta__user{font-weight:700;margin:0}.googlesitekit-settings-meta .googlesitekit-settings-meta__unlink{font-size:12px;letter-spacing:.2px}.googlesitekit-plugin .googlesitekit-settings-module{border-bottom:1px solid #ebeef0;position:relative}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status{align-items:center;color:#161b18;display:flex;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;margin:0;text-align:right}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status--not-connected{color:#895a00}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status-icon{align-items:center;background-color:#46732b;border-radius:50%;color:#fff;display:flex;height:19px;justify-content:center;margin-left:16px;width:19px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status-icon--not-connected,.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__status-icon--warning{background-color:#fff;color:#fece72}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__content{border-top:1px solid #ebeef0;display:none}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__content .mdc-layout-grid__cell{font-size:14px;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__content--open{border:none;display:block;margin-top:-10px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__heading{align-items:center;display:flex;flex-wrap:wrap;row-gap:12px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__title{align-items:center;display:flex;font-size:16px;line-height:1.25;margin:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__heading-icon{height:auto;margin-right:16px;width:40px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__heading-badges{align-items:center;display:flex;flex-wrap:wrap;row-gap:12px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__footer-cancel{margin-left:8px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-header{margin:0 0 8px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group{border-bottom:1px solid #ebeef0;margin-bottom:1em}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group:last-child,.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group:has(+.googlesitekit-module-settings-group){border-bottom:none;margin-bottom:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group--read-only{border:none}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group--read-only>span{font-size:14px;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group--read-only .mdc-text-field-helper-text{color:#6c726e}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group--no-border{border:none}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__fields-group-title{font-size:14px;font-weight:500}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-items{align-items:stretch;display:flex;flex-wrap:wrap;margin:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-error-notice__icon{height:32px;width:32px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-error-notice__retry-button+.googlesitekit-settings-module__meta-items{margin-top:14px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-select{margin:0 16px 16px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-select{margin:0 24px 24px 0}}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item{margin:0 32px 16px 0;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item{width:auto}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item{margin:0 48px 24px 0}}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item p{font-size:12px;letter-spacing:.2px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-type{color:#161b18;font-size:14px;font-weight:700;letter-spacing:.25px;line-height:1.33;margin:0 0 8px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-data{color:#161b18;font-size:14px;letter-spacing:.25px;line-height:1.43;margin:0;overflow:hidden;text-overflow:ellipsis}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-data .mdc-linear-progress{margin:8px 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-data--wrap{word-break:break-all}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-data--tiny{font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item .googlesitekit-settings-module__meta-item-info{color:#5f6561;font-size:.75rem}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item--data-only{align-items:flex-end;display:flex}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__meta-item--nomargin{margin:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-setup-module--analytics .googlesitekit-settings-module__meta-item--data-only{margin-top:-16px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-setup-module--analytics .googlesitekit-settings-module__meta-item--data-only{margin-top:0}}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__inline-items{display:flex;flex-wrap:wrap}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__inline-item{margin:0 1rem 0 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__edit-button-icon svg{color:#6380b8}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__remove-button-icon{color:#cc6240}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__remove-button{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__error{background-color:#ac4220;color:#fff;font-weight:700}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__apikey-cancel{font-size:12px;letter-spacing:.2px;margin-left:24px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header{cursor:pointer;display:block;padding:0 32px 0 0;position:relative;width:100%}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header:focus{outline-offset:0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-icon-wrapper{height:20px;justify-content:center;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:20px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-icon-wrapper svg{color:#5b5b61;height:8px;width:12px}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .mdc-button{color:#ebeef0;font-weight:500}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .mdc-button:disabled{background-color:rgba(8,42,65,.08);color:rgba(3,14,7,.32)}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-settings-module__status p{margin:8px 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-settings-module__status--not-connected .mdc-button{margin:-1.5px 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header .googlesitekit-settings-module__status--loading{align-items:center;display:flex;min-width:150px;padding:.5px 0}.googlesitekit-plugin .googlesitekit-settings-module .googlesitekit-settings-module__header--open .googlesitekit-icon-wrapper{transform:translateY(-50%) rotate(180deg)}.googlesitekit-plugin .googlesitekit-settings-module--active .googlesitekit-overlay{background:rgba(203,208,211,.75)}.googlesitekit-plugin .googlesitekit-settings-module--error{border:3px solid #ac4220}.googlesitekit-settings-notice{background-color:#ffe4b1;border-radius:16px;color:rgba(0,0,0,.7);display:flex;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:1.5em 0;padding:16px}@media(min-width: 960px){.googlesitekit-settings-notice{padding-left:24px}}.googlesitekit-settings-notice .googlesitekit-settings-notice__body{flex-grow:1;min-width:0}@media(min-width: 600px){.googlesitekit-settings-notice .googlesitekit-settings-notice__body{display:flex}}.googlesitekit-settings-notice .googlesitekit-settings-notice__children-container{flex-grow:1}.googlesitekit-settings-notice .googlesitekit-settings-notice__icon{line-height:0;margin-right:10px}.googlesitekit-settings-notice .googlesitekit-settings-notice__text{flex-grow:1;line-height:20px;max-width:1098px}.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__leading,.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__notch,.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-notched-outline__trailing,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#b8bdb9}.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-floating-label,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label{color:#161b18}.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#161b18}.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-settings-notice .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#7f9cd4}.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{color:#161b18}.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__leading,.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__notch,.googlesitekit-settings-notice .mdc-select:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover~.mdc-notched-outline .mdc-notched-outline__trailing{border-color:#161b18}.googlesitekit-settings-notice--single-row .googlesitekit-settings-notice__learn-more{flex-shrink:0;line-height:20px;text-align:right}@media(min-width: 600px){.googlesitekit-settings-notice--single-row .googlesitekit-settings-notice__learn-more{padding-left:24px;text-align:inherit}}.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__body{flex-direction:column}.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__inner-row{max-width:1098px;padding-top:16px}@media(min-width: 600px){.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__inner-row{display:flex;padding-top:24px}}@media(min-width: 960px){.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__inner-row{padding-top:24px}}.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__learn-more{flex-shrink:0;text-align:right}@media(min-width: 600px){.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__learn-more{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:4px;padding-right:12px;text-align:left}}@media(min-width: 960px){.googlesitekit-settings-notice--multi-row .googlesitekit-settings-notice__learn-more{margin-left:24px}}.googlesitekit-settings-notice--warning{background-color:#ffe4b1;color:rgba(0,0,0,.7)}.googlesitekit-settings-notice--info{background-color:#ebeef0;color:#161b18}.googlesitekit-settings-notice--info .googlesitekit-cta-link{color:#108080}.googlesitekit-settings-notice--suggestion{background-color:#f8faff;color:#7f9cd4}.googlesitekit-setup-module .googlesitekit-settings-notice,.googlesitekit-setup .googlesitekit-settings-notice{max-width:1098px}.googlesitekit-settings-notice-ua-cutoff-warning,.googlesitekit-settings-notice-adsense-status-migration{max-width:none}.googlesitekit-settings-notice-ua-cutoff-warning .googlesitekit-settings-notice__icon,.googlesitekit-settings-notice-adsense-status-migration .googlesitekit-settings-notice__icon{padding-top:10px}.googlesitekit-settings-notice-ua-cutoff-warning .googlesitekit-settings-notice__body,.googlesitekit-settings-notice-adsense-status-migration .googlesitekit-settings-notice__body{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.googlesitekit-settings-notice-ua-cutoff-warning .googlesitekit-settings-notice__text,.googlesitekit-settings-notice-adsense-status-migration .googlesitekit-settings-notice__text{flex:1 1 50%}.googlesitekit-settings-notice-offline-notice{align-items:center;bottom:0;gap:16px;position:fixed;right:0;z-index:9}@media(max-width: 600px){.googlesitekit-settings-notice-offline-notice{flex-direction:column;gap:10px;text-align:center;width:100%}}.googlesitekit-settings-notice-offline-notice .googlesitekit-settings-notice__text{font-size:14px}.googlesitekit-settings-notice-offline-notice .mdc-button{min-height:35px}.googlesitekit-settings-notice-ua-cutoff-warning__notice{margin:0 14px 0 0}.googlesitekit-settings-notice-adsense-top-earning-pages-widget{align-items:normal;flex-flow:column wrap;gap:15px;padding-bottom:24px;padding-top:24px}@media(min-width: 960px){.googlesitekit-settings-notice-adsense-top-earning-pages-widget{align-items:center;flex-direction:row}}.googlesitekit-settings-notice-adsense-top-earning-pages-widget .googlesitekit-settings-notice__icon{margin-right:5px}.googlesitekit-settings-notice-adsense-top-earning-pages-widget .googlesitekit-settings-notice__text{font-size:14px;font-weight:500;line-height:1.14}.googlesitekit-settings-notice-adsense-top-earning-pages-widget .googlesitekit-settings-notice__inner-row{font-size:14px;line-height:1.43;padding-top:3px}.googlesitekit-plugin .googlesitekit-settings-user-input .googlesitekit-settings-user-input__heading-container{border-bottom:1px solid #ebeef0;margin:12px 0;padding-bottom:12px}.googlesitekit-plugin .googlesitekit-settings-user-input .googlesitekit-settings-user-input__heading{color:#161b18;font-size:12px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-settings-user-input .googlesitekit-user-input__preview-contents{overflow:hidden;padding:0}.googlesitekit-plugin .googlesitekit-user-input__notification-text-loading{margin:14px 0}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup p{font-size:14px;line-height:1.43;margin-top:0}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup .googlesitekit-cta-link{margin-top:6px}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup-progress{margin-top:16px}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup-progress p{margin-bottom:10px}.googlesitekit-plugin .googlesitekit-settings-visitor-groups__setup-success{margin-bottom:30px}.googlesitekit-plugin .googlesitekit-user-input{margin-bottom:30px}.googlesitekit-plugin .googlesitekit-user-input__header{padding-bottom:30px;padding-top:30px}.googlesitekit-plugin .googlesitekit-user-input__header .mdc-layout-grid__inner{align-items:center}.googlesitekit-plugin .googlesitekit-user-input__heading{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:28px;font-weight:400;line-height:1.286}.googlesitekit-plugin .googlesitekit-user-input__subtitle{color:#6c726e;font-size:14px;line-height:1.14}.googlesitekit-plugin .googlesitekit-user-input__content{padding:0}.googlesitekit-plugin .googlesitekit-user-input__content .mdc-linear-progress__buffer{background-color:#f8faff}.googlesitekit-plugin .googlesitekit-user-input__congrats{background-color:#fff;margin:-10px;padding:35px}.googlesitekit-plugin .googlesitekit-user-input__congrats h1{margin-bottom:0}.googlesitekit-plugin .googlesitekit-user-input__note{color:#5f6561;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-user-input__error{background-color:#ffded3;bottom:77px;color:#7a1e00;display:flex;gap:7px;left:0;margin:42px 0 0;padding:1px 30px;position:fixed;right:0}.googlesitekit-plugin .googlesitekit-user-input__error .googlesitekit-error-notice__icon{height:24px;margin:12px 0}.googlesitekit-plugin .googlesitekit-user-input__error .googlesitekit-error-text{color:#7a1e00;font-weight:500}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-user-input__error{left:160px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__error{bottom:97px;left:160px;padding:1px 40px}}.googlesitekit-plugin .googlesitekit-user-input__footer{align-items:center;background-color:#fff;border-top:1px solid #ebeef0;bottom:0;display:flex;flex-direction:column;flex-direction:row-reverse;justify-content:space-between;left:0;margin:42px 0 0;padding:18px 14px;position:fixed;right:0;z-index:1}@media(min-width: 783px){.googlesitekit-plugin .googlesitekit-user-input__footer{left:160px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__footer{left:160px;padding:28px 24px}}.googlesitekit-plugin .googlesitekit-user-input__footer-nav{column-gap:4px;display:flex}.googlesitekit-plugin .googlesitekit-user-input__footer-cancel{border:none;padding:0}.googlesitekit-plugin .googlesitekit-user-input__select-options-wrapper{grid-row:span 2}.googlesitekit-plugin p.googlesitekit-user-input__select-instruction{border-bottom:1px solid #ebeef0;color:#161b18;font-size:12px;line-height:1.33;margin:0;padding-bottom:15px}@media(min-width: 600px){.googlesitekit-plugin p.googlesitekit-user-input__select-instruction{color:#6c726e;font-size:18px;font-weight:500}}.googlesitekit-plugin .googlesitekit-user-input__author p{color:#6c726e;font-size:12px;letter-spacing:.25px;line-height:1.33;margin:0 0 3px}.googlesitekit-plugin .googlesitekit-user-input__author .googlesitekit-user-input__author-info{align-items:center;color:#5f6561;display:flex;font-size:12px;letter-spacing:.2px;margin-top:4px}.googlesitekit-plugin .googlesitekit-user-input__author .googlesitekit-user-input__author-info img{border-radius:50%;height:24px;margin-right:8px;width:24px}.sb-show-main .googlesitekit-plugin .googlesitekit-user-input__footer,.sb-show-main .googlesitekit-plugin .googlesitekit-user-input__error{left:0}@media(min-width: 783px){.auto-fold .googlesitekit-plugin .googlesitekit-user-input__footer{left:36px}}@media(min-width: 960px){.auto-fold .googlesitekit-plugin .googlesitekit-user-input__footer{left:160px;padding:28px 24px}}.folded .googlesitekit-plugin .googlesitekit-user-input__question .googlesitekit-user-input__footer,.folded .googlesitekit-plugin .googlesitekit-user-input__preview .googlesitekit-user-input__footer{left:36px}@media(min-width: 783px){.auto-fold .googlesitekit-plugin .googlesitekit-user-input__error{left:36px}}@media(min-width: 960px){.auto-fold .googlesitekit-plugin .googlesitekit-user-input__error{left:160px}}.folded .googlesitekit-plugin .googlesitekit-user-input__question .googlesitekit-user-input__error,.folded .googlesitekit-plugin .googlesitekit-user-input__preview .googlesitekit-user-input__error{left:36px}.googlesitekit-plugin .googlesitekit-user-input__question,.googlesitekit-plugin .googlesitekit-user-input__preview{background-color:#fff;border-radius:0 0 24px 24px}.googlesitekit-plugin .googlesitekit-user-input__question-progress{padding:0 17px 5px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__question-progress{padding:0 24px 10px}}.googlesitekit-plugin .googlesitekit-user-input__question-contents{padding:17px;position:relative}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__question-contents{padding:28px 24px}}.googlesitekit-plugin .googlesitekit-user-input__question-number,.googlesitekit-plugin p.googlesitekit-user-input__preview-subheader{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.14;margin-bottom:10px}.googlesitekit-plugin .googlesitekit-user-input__question-instructions{display:flex;flex-direction:column}.googlesitekit-plugin .googlesitekit-user-input__question-instructions h1{color:#161b18;font-size:14px;font-weight:500;line-height:1.33;margin:0 0 14px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__question-instructions h1{font-size:32px;font-weight:400;line-height:1.25;margin:0 0 16px}}.googlesitekit-plugin .googlesitekit-user-input__question-instructions .googlesitekit-user-input__question-instructions--description{color:#161b18;font-size:12px;font-weight:400;letter-spacing:.25px;line-height:1.158;margin:0 0 1em}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__question-instructions .googlesitekit-user-input__question-instructions--description{font-size:14px;line-height:1.43;margin:0 0 25px}}.googlesitekit-plugin .googlesitekit-user-input__question-info p{color:#6c726e;font-size:12px;letter-spacing:.25px;line-height:1.33;margin:0 0 3px}.googlesitekit-plugin p.googlesitekit-user-input__question-notice{color:#6c726e;font-size:12px;font-weight:400;letter-spacing:.25px;line-height:1.33;margin:0 0 1em}@media(min-width: 960px){.googlesitekit-plugin p.googlesitekit-user-input__question-notice{margin:0 0 16px}}.googlesitekit-plugin .googlesitekit-user-input__question--progress{margin:0 auto}.googlesitekit-plugin .googlesitekit-user-input__preview .googlesitekit-user-input__question-instructions--notice{background-color:#cbd0d3;color:#161b18;display:block;font-size:14px;letter-spacing:.25px;line-height:1.43;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__preview .googlesitekit-user-input__question-instructions--notice{display:inline-block;margin:0;width:auto}}.googlesitekit-plugin .googlesitekit-user-input__preview-loading{padding:50px 23px}.googlesitekit-plugin .googlesitekit-user-input__preview-contents{padding:17px 17px 26px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview-contents{padding:28px 24px 18px}}.googlesitekit-plugin p.googlesitekit-user-input__preview-subheader{margin-bottom:14px}@media(min-width: 960px){.googlesitekit-plugin p.googlesitekit-user-input__preview-subheader{margin-bottom:37px}}.googlesitekit-plugin .googlesitekit-user-input__preview-notice{padding:0 17px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview-notice{padding:0 24px}}.googlesitekit-plugin .googlesitekit-user-input__preview-answers{display:flex;flex-wrap:wrap;gap:18px 12px;padding-bottom:8px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview-answers{padding-bottom:11px}}.googlesitekit-plugin .googlesitekit-user-input__preview-answer{align-items:center;background-color:#b8e5ca;border-radius:24px;color:#161b18;display:flex;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;padding:8px 13px;word-break:break-word}.googlesitekit-plugin .googlesitekit-user-input__preview-group .googlesitekit-user-input__author{margin:24px 0 28px}.googlesitekit-plugin .googlesitekit-user-input__preview-group .googlesitekit-user-input__select-option:not(:last-child){border-bottom:none}.googlesitekit-plugin .googlesitekit-user-input__preview-group+.googlesitekit-user-input__preview-group{border-top:1px solid #ebeef0;margin-top:12px;padding-top:12px}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title{display:flex;flex-direction:column-reverse;justify-content:space-between;margin-bottom:14px}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title.googlesitekit-user-input__preview-group-title-with-subtitle{margin-bottom:0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview-group-title{flex-direction:row}}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title p{color:#202124;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;margin:0}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button{align-items:center;display:flex;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;gap:4px;margin-left:auto;padding:3px 7px 3px 12px}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button[disabled]{color:#b8bdb9}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button svg{fill:none;transition:transform .2s ease-out}.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button:hover svg,.googlesitekit-plugin .googlesitekit-user-input__preview-group-title button:focus svg{fill:none}.googlesitekit-plugin .googlesitekit-user-input__preview-group-subtitle p{margin-top:0}.googlesitekit-plugin .googlesitekit-user-input__preview-group-subtitle .mdc-layout-grid{padding:0 0 25px}.googlesitekit-plugin .googlesitekit-user-input__preview-group-subtitle .googlesitekit-user-input__preview-group-subtitle-component{margin-top:14px}.googlesitekit-plugin .googlesitekit-user-input__preview-group--editing .googlesitekit-user-input__preview-group-title button svg{transform:rotate(180deg)}.googlesitekit-plugin .googlesitekit-user-input__preview-actions{align-items:center;column-gap:4px;display:flex}.googlesitekit-plugin .googlesitekit-user-input__preview-actions .googlesitekit-cta-link{color:#6c726e}.googlesitekit-plugin .googlesitekit-user-input__preview-group--individual-cta{position:relative}.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing){pointer-events:none}.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing)::after{background-color:#cbd0d3;content:"";height:calc(100% + 13px);opacity:.75;position:absolute;top:0;z-index:1}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing)::after{margin-left:-24px;margin-left:calc(var(--mdc-layout-grid-margin-desktop, 24px) * -1);width:calc(100% + 24px * 2);width:calc(100% + var(--mdc-layout-grid-margin-desktop, 24px) * 2)}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing)::after{margin-left:-16px;margin-left:calc(var(--mdc-layout-grid-margin-tablet, 16px) * -1);width:calc(100% + 16px * 2);width:calc(100% + var(--mdc-layout-grid-margin-tablet, 16px) * 2)}}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing)::after{margin-left:-16px;margin-left:calc(var(--mdc-layout-grid-margin-phone, 16px) * -1);width:calc(100% + 16px * 2);width:calc(100% + var(--mdc-layout-grid-margin-phone, 16px) * 2)}}.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):first-child::after{height:calc(100% + 26px);top:-13px}.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):last-child::after{border-radius:0 0 24px 24px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):last-child::after{height:calc(100% + 24px);height:calc(100% + var(--mdc-layout-grid-margin-desktop, 24px))}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):last-child::after{height:calc(100% + 16px);height:calc(100% + var(--mdc-layout-grid-margin-tablet, 16px))}}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__preview--editing .googlesitekit-user-input__preview-group--individual-cta:not(.googlesitekit-user-input__preview-group--editing):last-child::after{height:calc(100% + 16px);height:calc(100% + var(--mdc-layout-grid-margin-phone, 16px))}}.googlesitekit-plugin .googlesitekit-user-input__select-options{margin:0 0 20px}.googlesitekit-plugin .googlesitekit-user-input__select-option{align-items:center;display:flex;padding:20px 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__select-option{padding:10px 0}}.googlesitekit-plugin .googlesitekit-user-input__select-option .mdc-radio{margin-right:8px}.googlesitekit-plugin .googlesitekit-user-input__select-option label{color:#161b18;font-size:14px;letter-spacing:.25px;line-height:1.43}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__select-option label{padding:10px 0}}.googlesitekit-plugin .googlesitekit-user-input__select-option:not(:last-child){border-bottom:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-user-input__text-options{border:2px solid #999f9b;border-radius:4px;margin:13px 0 8px;padding:0 12px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-user-input__text-options{margin-top:0}}.googlesitekit-plugin .googlesitekit-user-input__text-options>div{margin:12px;margin-left:0}.googlesitekit-plugin .googlesitekit-user-input__text-options svg{color:#fff}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field,.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field__input{background-color:transparent}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field{height:32px;width:100%}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field__input{border:none;margin:0;padding:0 6px}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-text-field__input::placeholder{color:#b8bdb9}.googlesitekit-plugin .googlesitekit-user-input__text-options .mdc-line-ripple{display:none}.googlesitekit-plugin .googlesitekit-user-input__text-option{align-items:center;background-color:#b8e5ca;border-radius:8px;color:#265c3b;display:inline-flex;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:1.43;padding:3px 3px 3px 12px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-user-input__text-option button{border-radius:100px;margin:0;min-width:35px;padding:0 12px}.googlesitekit-plugin .googlesitekit-user-input__text-option button svg path{fill:#265c3b}.googlesitekit-plugin .googlesitekit-user-input__text-option .mdc-text-field{width:auto}.googlesitekit-plugin .googlesitekit-user-input__text-option .mdc-text-field .mdc-text-field__input{color:#265c3b;font-weight:500}.googlesitekit-plugin .googlesitekit-user-input__text-option+div{margin-top:0}.googlesitekit-plugin .googlesitekit-user-input__text-options>div:last-child{margin-right:0}.googlesitekit-plugin .googlesitekit-user-input__buttons button{letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-user-input__buttons button.mdc-button{border:none;padding:10px 16px}.googlesitekit-plugin .googlesitekit-user-input__buttons button.googlesitekit-cta-link{color:#6c726e}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-user-input__buttons button span.googlesitekit-user-input__responsive-text{display:none}}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{bottom:0;position:fixed;width:100vw;z-index:99}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer{background:#fff;border-top:1px solid #ebeef0;bottom:0;padding:24px 36px;position:static}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__content{margin-top:0}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__item-count{order:1;text-align:left;width:100%}}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__actions{justify-content:space-between;width:100%}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-footer .googlesitekit-selection-panel-footer__actions button{order:2}}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen .googlesitekit-selection-panel-error{padding:14px 48px}.googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-module-page .googlesitekit-user-input__content{margin-bottom:30px;padding-bottom:30px}.sb-show-main .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{left:0}.auto-fold .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{left:0;width:100vw}@media(min-width: 783px){.auto-fold .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{left:36px;width:calc(100vw - 36px)}}@media(min-width: 960px){.auto-fold .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__footer-container--fullscreen{left:160px;width:calc(100vw - 160px)}}.folded .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__question .googlesitekit-user-input__footer-container--fullscreen,.folded .googlesitekit-plugin .googlesitekit-metric-selection .googlesitekit-user-input__preview .googlesitekit-user-input__footer-container--fullscreen{left:36px;width:calc(100vw - 36px)}.googlesitekit-showing-feature-tour .react-joyride__overlay{mix-blend-mode:multiply !important}.googlesitekit-showing-feature-tour .react-joyride__spotlight{border-radius:16px !important}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card{--mdc-theme-surface: #3c7251;border-radius:8px;box-shadow:none;color:#fff;position:relative}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a{-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a:active,.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a:hover,.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a:visited{color:#fff}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card a:focus{box-shadow:none;outline:1px dotted #fff;outline-offset:3px}.googlesitekit-tour-tooltip .googlesitekit-tooltip-card svg{color:#fff}.googlesitekit-tooltip-title{color:#fff;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:.5px;line-height:1.5;margin-bottom:4px;margin-top:0}.googlesitekit-tooltip-body{box-sizing:border-box;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:300;letter-spacing:.25px;line-height:1.43;max-width:352px;padding:24px 56px 2px 24px}.googlesitekit-tooltip-buttons{line-height:1em}.googlesitekit-tooltip-button,.googlesitekit-tooltip-button:not(:disabled){color:#fff;height:auto;letter-spacing:normal;line-height:1em;min-width:initial;padding:0;text-transform:none}.googlesitekit-tooltip-button:focus{outline:1px dotted #fff;outline-offset:6px}.googlesitekit-tooltip-button:not(:first-of-type){margin-left:28px}.googlesitekit-tooltip-close{height:auto;min-width:auto;padding:0;position:absolute;right:29px;top:29px}.googlesitekit-tooltip-close:focus{outline:1px dotted #fff;outline-offset:6px}.googlesitekit-tooltip-close .mdc-button__label{display:none}.mdc-card__actions.googlesitekit-tooltip-actions{align-items:center;display:flex;justify-content:space-between;padding:12px 24px 18px;text-align:right}.googlesitekit-tooltip-indicators{display:flex;margin:0;margin-right:16px;padding:0}.googlesitekit-tooltip-indicator{background:#fff;border-radius:50%;height:8px;list-style:none;margin-bottom:0;margin-right:8px;opacity:.5;width:8px}.googlesitekit-tooltip-indicator.active{opacity:1}body.googlesitekit-showing-feature-tour--dashboardSharing .googlesitekit-sharing-settings-dialog .mdc-dialog__container,body.googlesitekit-showing-feature-tour--dashboardSharing .googlesitekit-sharing-settings-dialog .mdc-dialog__scrim{opacity:1;transform:none}body.googlesitekit-showing-feature-tour--dashboardSharing .googlesitekit-sharing-settings-dialog:not(.mdc-dialog--open):not(.mdc-dialog--opening){display:flex !important;opacity:0;z-index:-99}.googlesitekit-plugin .googlesitekit-text-field-conversion-tracking-id .googlesitekit-text-field-conversion-tracking-id-prefix.mdc-text-field__icon{color:#161b18;left:20px;top:17.5px}.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-settings-module__fields-group-title{font-size:14px;font-weight:500}.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-setup-module__inputs>.googlesitekit-settings-module__fields-group{margin:0}.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-setup-module__create-account{margin:16px 0 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-setup-module__create-account{margin:24px 0 0}}.googlesitekit-plugin .googlesitekit-setup-module--ads .googlesitekit-setup-module__action{margin-bottom:32px}.googlesitekit-plugin .googlesitekit-ads-settings-fields .googlesitekit-settings-module__fields-group-title{margin-bottom:0}.googlesitekit-plugin .googlesitekit-ads-settings-fields p.googlesitekit-settings-module__fields-group-helper-text{color:#6c726e;font-size:14px;font-weight:400;margin-bottom:20px;margin-top:6px}.googlesitekit-plugin .googlesitekit-ads-settings-fields p.mdc-dialog__lead{font-size:14px}.googlesitekit-plugin .googlesitekit-ads-settings-fields .googlesitekit-setup-module__inputs{margin-bottom:34px}.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__primary-cell{padding:20px 16px 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__primary-cell{padding:24px}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__title{font-size:22px;font-weight:500;line-height:1.27}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__title{font-size:28px;line-height:1.286}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__description{font-size:14px;line-height:1.43}}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__description{font-size:16px;line-height:1.5}}.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__actions-wrapper{gap:4px;margin-bottom:27px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__actions-wrapper{gap:10px;margin-bottom:0;padding:10px 0}}.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper svg{max-height:143px;scale:1}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper svg{max-height:272px;right:70px;scale:1.6;top:10px;width:65%}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-ads-setup-cta-widget .googlesitekit-setup-cta-banner__svg-wrapper svg{right:50px;scale:1.1;width:unset}}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-pax-embedded-app .card-content{padding:0}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-pax-embedded-app .mdc-card.card{border-radius:16px;box-shadow:none;margin-top:0;max-width:unset;padding:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget .googlesitekit-pax-embedded-app .mdc-card.card{padding:24px}}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-pax-embedded-app .mdc-card.card .notification{margin-top:0}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery .googlesitekit-publisher-win,.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery .mdc-layout-grid{padding:0}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__content{margin-bottom:30px}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__content p{margin:10px 0 0}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__graphics{text-align:center}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__graphics p{color:#6c726e;font-size:12px;margin:0 34px}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__graphics{text-align:left}.googlesitekit-plugin .googlesitekit-widget--adBlockingRecovery__graphics p{margin:0}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__complete-content{padding-left:35px}}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__complete-content p{color:#6c726e;font-size:16px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__hero-graphic{margin:0 2rem;text-align:center}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__hero-graphic svg{max-width:400px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer{border-top:1px solid #ebeef0;display:flex;flex-direction:column;justify-content:space-between;margin:42px 0 0;padding:14px 24px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer{align-items:center;flex-direction:row}}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__complete-actions .mdc-button{margin-right:10px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer-nav{align-items:center;column-gap:20px;display:flex;padding:17px 17px 33px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer-nav{flex-direction:reverse;padding:0}}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__footer-cancel button{color:#6c726e}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery-notification .googlesitekit-publisher-win__image-small{text-align:center}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery-notification .googlesitekit-publisher-win__image-small svg{max-width:233px}.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta{align-items:center;flex-wrap:wrap;margin-top:24px;padding:24px;row-gap:15px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta{flex-wrap:nowrap}}.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta .googlesitekit-settings-notice__icon{margin-right:20px}.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta .googlesitekit-settings-notice__text{font-size:14px;font-weight:500;line-height:1.14}.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta .googlesitekit-settings-notice__inner-row{flex-wrap:wrap;font-size:14px;line-height:1.43;padding-top:3px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-settings-notice-ad-blocking-recovery-cta .googlesitekit-settings-notice__button{margin-left:25px;white-space:nowrap}}.googlesitekit-plugin .googlesitekit-settings-module__ad-blocking-recovery-toggles{margin-top:20px}.googlesitekit-plugin .googlesitekit-settings-module__ad-blocking-recovery-toggles .googlesitekit-settings-module__meta-item{margin-bottom:0}.googlesitekit-plugin .googlesitekit-settings-module__ad-blocking-recovery-toggles .googlesitekit-settings-module__meta-item p{left:42px;margin-top:10px;position:relative}.googlesitekit-plugin .googlesitekit-settings-module__ad-blocking-recovery-toggles .googlesitekit-settings-notice{margin-bottom:0}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step .googlesitekit-stepper__step-content>p{color:#6c726e;font-size:16px;letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step .googlesitekit-stepper__step-content>p:first-child{margin-top:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step .googlesitekit-stepper__step-content>p:first-child{margin-top:8px}}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-place-tags p.googlesitekit-ad-blocking-recovery__error-protection-tag-info{font-size:14px;line-height:1.43;margin:0 0 20px 34px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-create-message .googlesitekit-ad-blocking-recovery__create-message-footer-actions{align-items:center;display:flex;flex-wrap:wrap;gap:26px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-create-message .googlesitekit-ad-blocking-recovery__create-message-footer-actions .googlesitekit-cta-link{color:#6c726e;font-weight:500}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-create-message .googlesitekit-ad-blocking-recovery__create-message-footer{display:inline-block;margin-top:12px}.googlesitekit-plugin .googlesitekit-ad-blocking-recovery__step-create-message p.googlesitekit-ad-blocking-recovery__create-message-footer-note{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33;margin-top:24px}.googlesitekit-plugin .googlesitekit-adsense-alert.googlesitekit-publisher-win .googlesitekit-publisher-win__module-name{font-size:16px}.googlesitekit-plugin .googlesitekit-adsense-alert .googlesitekit-publisher-win__image-small svg{width:68px}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__desc{align-items:center;display:inline-flex}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__desc .googlesitekit-ga4-reminder-banner__description-icon{margin-right:10px;vertical-align:middle}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__desc .googlesitekit-ga4-reminder-banner__description-icon--info path{fill:#3c7251}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__desc .googlesitekit-ga4-reminder-banner__description-icon--error path{fill:#ac4220}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__icon{min-height:22px}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__secondary-pane{margin:0}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__secondary-pane .googlesitekit-publisher-win__secondary-pane-title{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin:8px 0 0}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__secondary-pane .googlesitekit-publisher-win__secondary-pane-list li{color:#757575;display:flex;max-width:22rem}.googlesitekit-plugin .googlesitekit-ga4-reminder-banner .googlesitekit-publisher-win__secondary-pane .googlesitekit-publisher-win__secondary-pane-list li svg{fill:currentColor;flex:none;margin-right:8px}.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__title{font-size:18px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__title{max-width:66.67%}}.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__footer p,.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__footer ul{color:#757575}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__footer p,.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-publisher-win__footer ul{max-width:66.67%}}.googlesitekit-plugin .googlesitekit-ga4-setup-banner .googlesitekit-ga4-setup-banner__field-group{align-items:center;column-gap:30px;display:flex;flex-wrap:wrap;margin:25px 0 10px;row-gap:24px}.googlesitekit-plugin .googlesitekit-ga4-setup-banner__footer-text-list{list-style-type:none;margin:0}.googlesitekit-plugin .googlesitekit-ga4-setup-banner__footer-text-list li{font-size:14px;letter-spacing:.25px;line-height:1.5;margin:.5em 0}.googlesitekit-plugin .googlesitekit-ga4-setup-banner__footer-text-list li:first-child{margin-top:1em}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-module__fields-group-title+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-account,.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-module__fields-group-title+.googlesitekit-setup-module__inputs .googlesitekit-analytics-4__select-property,.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-module__fields-group-title+.googlesitekit-setup-module__inputs .googlesitekit-analytics-4__select-webdatastream{margin-top:8px}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-analytics-enable+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-property,.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-analytics-enable+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-profile{margin-top:8px}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-analytics-ads-conversion-id-notice{align-items:center;display:flex;margin:16px 0 0;padding:14px 24px}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-analytics-ads-conversion-id-notice .googlesitekit-settings-notice__icon{margin-right:16px}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-analytics-ads-conversion-id-notice .googlesitekit-settings-notice__text{font-size:14px;font-weight:500}.googlesitekit-plugin .googlesitekit-settings-module--analytics-4 .googlesitekit-settings-analytics-ads-conversion-id-notice .googlesitekit-settings-notice__button button{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif}.googlesitekit-plugin .googlesitekit-setup-module--analytics .googlesitekit-analytics-enable+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-property,.googlesitekit-plugin .googlesitekit-setup-module--analytics .googlesitekit-analytics-enable+.googlesitekit-setup-module__inputs .googlesitekit-analytics__select-profile{margin-top:8px}.googlesitekit-plugin .googlesitekit-setup-module--analytics .googlesitekit-setup-module__inputs--multiline .googlesitekit-analytics-webdatastreamname{margin-bottom:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--analytics .googlesitekit-setup-module__inputs--multiline .googlesitekit-analytics-webdatastreamname{margin-bottom:24px}}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__already-enabled-label{display:flex;gap:6px;margin-top:1px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__already-enabled-tick{align-items:center;background-color:#3c7251;border-radius:11px;color:#fff;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-left:16px;width:20px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__already-enabled-tick svg{height:10px;width:10px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement--loading{padding-top:10px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__progress--settings-edit{margin:0 0 21px}.googlesitekit-plugin .googlesitekit-analytics-enable-enhanced-measurement__progress--settings-view{margin:0 0 13px}.googlesitekit-plugin .googlesitekit-enhanced-measurement-setup-banner svg,.googlesitekit-plugin .googlesitekit-enhanced-measurement-success-banner svg{max-height:175px}.googlesitekit-plugin .googlesitekit-enhanced-measurement-setup-banner__footer-notice{color:#757575;font-size:14px;letter-spacing:.25px;line-height:1.5;margin:1em 0 .5em}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__primary-cell{padding-left:24px;padding-right:24px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__primary-cell{padding:24px}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__primary-cell{padding-bottom:0}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__primary-cell .googlesitekit-setup-cta-banner__title{font-size:16px;font-weight:500;margin-bottom:10px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__primary-cell .googlesitekit-setup-cta-banner__title{margin-bottom:8px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__primary-cell .googlesitekit-setup-cta-banner__title{font-size:22px;font-weight:400;line-height:1.27;margin-bottom:25px}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__primary-cell p{margin-top:0}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__primary-cell p{font-size:12px;margin-top:0}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__actions-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin:25px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__actions-wrapper{margin:25px 0 0}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__actions-wrapper{gap:10px}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__actions-wrapper a,.googlesitekit-plugin .googlesitekit-setup-cta-banner--audience_segmentation_setup_cta-notification .googlesitekit-setup-cta-banner__actions-wrapper button{font-weight:500}}.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--audience_segmentation_setup_cta-notification{bottom:-5px;position:relative}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile{margin-bottom:16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__header{align-items:center;border-bottom:1px solid #ebeef0;color:#161b18;display:flex;font-size:14px;justify-content:space-between;line-height:16px;padding:25px;width:100%}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__header .googlesitekit-info-tooltip{color:#108080}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__header .googlesitekit-audience-segmentation-tile__header-title{display:flex}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__header .googlesitekit-audience-segmentation-tile__header-title .googlesitekit-info-tooltip{display:inline-block;height:16px;margin-left:5px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__metrics>.googlesitekit-audience-segmentation-partial-data-notice{margin:16px 16px 10px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric{border-bottom:1px solid #ebeef0;display:flex;margin:0 16px;padding:12px 0}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric{margin:0 24px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric:last-child{border-bottom:none}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__icon{align-items:center;color:#6c726e;display:flex;margin-right:4px;min-width:36px;width:36px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__icon svg{height:20px;width:20px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__icon{justify-content:center;min-width:52px;width:52px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__container{flex-grow:1}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__container .googlesitekit-audience-segmentation-tile-metric__value{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:28px;font-weight:400;line-height:32px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__container .googlesitekit-audience-segmentation-tile-metric__title{color:#6c726e;font-size:14px;font-weight:400;letter-spacing:.25px;line-height:20px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__badge-container{align-items:center;display:flex;flex-direction:row}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric .googlesitekit-audience-segmentation-tile-metric__badge-container .googlesitekit-change-badge{margin-top:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__container{min-width:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__content{display:grid;gap:16px;grid-auto-columns:minmax(0, 1fr);grid-auto-flow:column;margin-top:12px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__content{gap:10px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-tile-metric__cities-metric .googlesitekit-audience-segmentation-tile-metric__cities-metric-name{color:#161b18;font-size:14px;font-weight:500;line-height:1.14;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--cities .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-tile-metric__cities-metric .googlesitekit-audience-segmentation-tile-metric__cities-metric-value{color:#161b18;font-size:14px;font-weight:400;line-height:1.43}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__title{height:20px;line-height:20px;margin-bottom:10px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__title:has(.googlesitekit-audience-segmentation-partial-data-badge){align-items:center;display:flex;height:auto;justify-content:space-between;margin:4px 0 14px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-cta-link,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile__top-content-metric-name{margin-right:30px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__container,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-cta-link{min-width:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__container .googlesitekit-cta-link__contents,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__container .googlesitekit-audience-segmentation-tile__top-content-metric-name,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-cta-link .googlesitekit-cta-link__contents,.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-cta-link .googlesitekit-audience-segmentation-tile__top-content-metric-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__page-metric-container{display:flex;font-size:12px;justify-content:space-between;line-height:1.33;margin:6px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-partial-data-notice{margin-top:10px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-tile-metric__no-data p{color:#161b18;font-size:12px;font-weight:400;line-height:16px;margin:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile-metric.googlesitekit-audience-segmentation-tile-metric--top-content .googlesitekit-audience-segmentation-tile-metric__content .googlesitekit-audience-segmentation-tile-metric__no-data .mdc-button{font-weight:500;margin-top:8px;min-height:32px;padding:6px 16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile.googlesitekit-audience-segmentation-tile--partial-data .googlesitekit-audience-segmentation-tile__header{padding:19px 25px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container{align-items:center;display:flex;flex-direction:column;text-align:center}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile__header{border-bottom:none}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile__zero-data-content{padding:155px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile__zero-data-image{margin-bottom:20px;width:106px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile__zero-data-description{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.14;margin:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile .googlesitekit-audience-segmentation-tile__zero-data-container .googlesitekit-audience-segmentation-tile-hide-cta{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;margin:6px 0;padding:6px 12px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading{margin:16px 16px 20px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading{margin:24px 24px 28px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block{margin:22px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block:first-of-type{display:none}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block:last-of-type{margin-bottom:31px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block{margin:24px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-loading .googlesitekit-preview-block:first-of-type{display:flex;margin-bottom:35px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error{background-color:#fff;border:2px solid #ac4220;border-radius:16px;padding:155px 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container{align-items:center;display:flex;flex-direction:column;gap:24px;margin:16px auto;text-align:center}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container .googlesitekit-audience-segmentation-tile-error__image{width:190px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container .googlesitekit-audience-segmentation-tile-error__body .googlesitekit-audience-segmentation-tile-error__title{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.14;margin-top:0}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container .googlesitekit-audience-segmentation-tile-error__body .googlesitekit-audience-segmentation-tile-error__actions .googlesitekit-report-error-actions{color:#6c726e;flex-direction:column-reverse;font-size:12px;font-weight:400;line-height:1.33;margin:0 16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-error .googlesitekit-audience-segmentation-tile-error__container .googlesitekit-audience-segmentation-tile-error__body .googlesitekit-audience-segmentation-tile-error__actions .googlesitekit-report-error-actions .mdc-button{font-weight:500;min-height:32px;padding:6px 16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder{min-height:542px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder .googlesitekit-widget__body{align-items:center;display:flex;justify-content:center}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__container{align-items:center;display:flex;flex-direction:column;gap:24px;max-width:340px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__image{max-width:245px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__body{text-align:center}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__body--without-selectable-audiences{margin-top:10px}.googlesitekit-plugin .googlesitekit-audience-segmentation-tile-placeholder__title{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.14;margin:0 0 6px}.googlesitekit-plugin p.googlesitekit-audience-segmentation-tile-placeholder__description{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;line-height:1.33;margin:0}.googlesitekit-plugin p.googlesitekit-audience-segmentation-tile-placeholder__description .googlesitekit-cta-link{font-weight:500}.googlesitekit-audience-segmentation-info-notice{align-items:center;background-color:#fff;border-radius:16px;display:flex;gap:20px;justify-content:space-between;padding:16px}@media(min-width: 960px){.googlesitekit-audience-segmentation-info-notice{padding:16px 40px}}.googlesitekit-audience-segmentation-info-notice svg{flex-shrink:0}.googlesitekit-widget--InfoNoticeWidget svg{color:#fece72}.googlesitekit-audience-segmentation-info-notice__body{align-items:center;display:flex;flex-grow:1;flex-wrap:wrap;gap:0 60px;min-width:0}.googlesitekit-audience-segmentation-info-notice__body p{flex-basis:400px;flex-grow:1}.googlesitekit-audience-segmentation-info-notice__dismiss{flex-shrink:0;margin-left:auto}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget{border:2px solid #ac4220}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-audience-segmentation-error__widget-primary-cell{padding:20px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-audience-segmentation-error__widget-primary-cell{padding:20px 36px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-publisher-win__title{display:grid;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;font-weight:500;line-height:1.33;margin:0 0 14px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-publisher-win__title{place-content:start}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-publisher-win__title{margin:14px 0}}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-report-error-actions{align-items:flex-start;display:flex;flex-direction:column-reverse}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-report-error-actions{padding-bottom:10px}}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-report-error-actions .mdc-button{font-weight:500;padding:6px 16px}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-report-error-actions .googlesitekit-error-retry-text{color:#161b18;flex:1;letter-spacing:.25px;margin:-14px 0 0}.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-widget-audience-segmentation-error__svg-wrapper{display:flex;justify-content:flex-start;margin:16px 8px 0}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-audience-segmentation-error-widget .googlesitekit-widget-audience-segmentation-error__svg-wrapper{justify-content:space-evenly;margin:0}}.googlesitekit-info-tooltip__content.googlesitekit-info-tooltip__content--audience{color:#ebeef0}.googlesitekit-info-tooltip__content.googlesitekit-info-tooltip__content--audience a{color:#ebeef0;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles{border-radius:16px}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller{border-top-left-radius:16px;border-top-right-radius:16px}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller .mdc-tab-scroller__scroll-content .mdc-tab{pointer-events:none}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller .mdc-tab-scroller__scroll-content .mdc-tab .googlesitekit-info-tooltip{color:#108080}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller .mdc-tab-scroller__scroll-content .mdc-tab .mdc-tab__content{pointer-events:all}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles .googlesitekit-widget-audience-tiles__tabs .mdc-tab-scroller .mdc-tab-scroller__scroll-content .mdc-tab .mdc-tab__content .googlesitekit-info-tooltip{height:18px;margin-left:5px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles{background-color:transparent}}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles>.googlesitekit-widget__body .googlesitekit-widget-audience-tiles__body{display:grid;gap:16px;grid-auto-columns:1fr;grid-template-columns:1fr}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles>.googlesitekit-widget__body .googlesitekit-widget-audience-tiles__body>.googlesitekit-widget{overflow:hidden}@media(max-width: 960px){.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles>.googlesitekit-widget__body .googlesitekit-widget-audience-tiles__body>:not(.googlesitekit-audience-segmentation-error-widget){border-top-left-radius:0;border-top-right-radius:0}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget-audience-tiles>.googlesitekit-widget__body .googlesitekit-widget-audience-tiles__body{gap:24px;grid-auto-columns:minmax(400px, 1fr);grid-auto-flow:column;grid-template-columns:repeat(auto-fit, minmax(400px, 1fr));overflow-x:auto}}.googlesitekit-plugin .googlesitekit-audience-widget__source{float:right;margin:14px 0;padding:4px 0}.googlesitekit-plugin .googlesitekit-lean-cta-banner.googlesitekit-no-audience-banner .googlesitekit-lean-cta-banner__graphic{padding-bottom:26px}.googlesitekit-plugin .googlesitekit-lean-cta-banner.googlesitekit-no-audience-banner .googlesitekit-lean-cta-banner__graphic svg{max-height:110px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-lean-cta-banner.googlesitekit-no-audience-banner .googlesitekit-lean-cta-banner__graphic{padding-bottom:20px;padding-inline:85px;padding-top:20px}}.googlesitekit-plugin .mdc-layout-grid.googlesitekit-widget-area--mainDashboardTrafficAudienceSegmentation{padding-top:3px}@media(min-width: 961px){.googlesitekit-plugin .mdc-layout-grid.googlesitekit-widget-area--mainDashboardTrafficAudienceSegmentation{padding-top:8px}}.googlesitekit-audience-segmentation-partial-data-notice{background-color:#ffe4b1;border-radius:8px;color:#4e3300;display:flex;font-size:12px;letter-spacing:.2px;line-height:1.33;padding:16px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-selection-box .googlesitekit-badge-with-tooltip{padding:4px 10px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__learn-more{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33;margin-top:auto;padding:20px 24px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-selection-panel-footer{margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice{align-items:center;background-color:#ffded3;display:flex;justify-content:space-between;padding:10px 24px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice p{color:#7a1e00;flex-basis:65%;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice p a{color:#7a1e00;-webkit-text-decoration:underline;text-decoration:underline}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action{border-radius:100px;min-height:32px;padding:6px 16px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:not(:disabled){color:#7a1e00}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(:disabled){background-color:rgba(255,194,174,.6)}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:hover:not(:disabled){color:#7a1e00}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(:disabled){background-color:#ffc2ae}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active.mdc-ripple-upgraded,.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__error-notice .googlesitekit-audience-selection-panel__error-notice-actions .googlesitekit-audience-selection-panel__error-notice-action:focus:not(:disabled){color:#7a1e00}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice{background-color:#f3f5f7;margin:5px 24px;padding:16px 20px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice{padding:16px}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice .googlesitekit-audience-segmentation-info-notice__body{flex-wrap:nowrap;grid-gap:0 30px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice .googlesitekit-audience-segmentation-info-notice__body{flex-wrap:wrap}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice .googlesitekit-audience-segmentation-info-notice__body p{margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice svg{height:22px;width:22px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__add-group-notice .googlesitekit-audience-segmentation-info-notice__dismiss{color:#161b18}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice{background-color:#f3f5f7;border-radius:8px;margin:5px 24px;padding:20px 20px 6px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-header{display:flex;justify-content:space-between}.googlesitekit-plugin .googlesitekit-audience-selection-panel p.googlesitekit-audience-selection-panel__audience-creation-notice-title{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-close svg{color:#6c726e;height:12px;width:12px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-body{display:flex;flex-direction:column;justify-content:space-between}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience{display:flex;justify-content:space-between;margin-bottom:12px;padding-top:5px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience+.googlesitekit-audience-selection-panel__audience-creation-notice-audience{border-top:1px solid #cbd0d3;padding-top:12px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience-details h3{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.43;margin-bottom:1px;margin-top:7px}.googlesitekit-plugin .googlesitekit-audience-selection-panel p.googlesitekit-audience-selection-panel__audience-creation-notice-audience-description{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience-button{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-audience-button .mdc-button{background-color:#161b18;min-height:32px;padding:6px 16px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-info .googlesitekit-subtle-notification{align-items:center;border-radius:8px;flex-direction:row;gap:16px;margin:18px 0;padding:8px 16px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-info .googlesitekit-subtle-notification__content{flex:1}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-info .googlesitekit-subtle-notification__content p{font-size:12px;font-weight:400}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-selection-panel__audience-creation-notice-info .googlesitekit-subtle-notification__action{justify-content:initial;width:initial}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice{align-items:center;background-color:#fff;border:2px solid #ac4220;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:14px 16px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice{align-items:flex-start;flex-direction:column;gap:6px}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice .googlesitekit-audience-creation-error-notice__content{display:flex;flex-direction:column;gap:4px}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice svg{color:#ac4220;flex-shrink:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice p.googlesitekit-audience-creation-error-notice__title{color:#161b18;font-size:14px;font-weight:500;line-height:1.43;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice p.googlesitekit-audience-creation-error-notice__description{color:#161b18;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;margin:0}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice .googlesitekit-audience-creation-error-notice__actions{align-self:flex-end;margin-top:10px}}.googlesitekit-plugin .googlesitekit-audience-selection-panel .googlesitekit-audience-creation-error-notice .googlesitekit-audience-creation-error-notice__actions .mdc-button{font-weight:500;min-height:32px;padding:6px 16px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice{align-items:center;background-color:#b8e5ca;color:#265c3b;display:flex;gap:10px;justify-content:flex-start;padding:10px 24px}.googlesitekit-plugin p.googlesitekit-audience-selection-panel__success-notice-message{color:inherit;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-icon{height:24px;width:24px}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions{margin-left:auto}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary{font-weight:500;margin:0 auto;min-height:32px;padding:6px 16px;white-space:nowrap}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:not(:disabled){color:#265c3b}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(:disabled){background-color:rgba(147,201,168,.6)}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:hover:not(:disabled){color:#265c3b}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(:disabled){background-color:#93c9a8}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(:disabled){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus::after{background-color:rgba(0,0,0,.87)}@supports not (-ms-ime-align: auto){.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus::after{background-color:var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87))}}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:hover::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:hover::before{opacity:.04}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active.mdc-ripple-upgraded--background-focused::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):focus::before,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(.mdc-ripple-upgraded)::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(.mdc-ripple-upgraded):active::after,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active.mdc-ripple-upgraded,.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:active:not(:disabled),.googlesitekit-plugin .googlesitekit-audience-selection-panel__success-notice-actions .mdc-button--tertiary:focus:not(:disabled){color:#265c3b}.googlesitekit-plugin .googlesitekit-reader-revenue-manager-publication-approved-notification .mdc-button--raised{font-weight:500;gap:0 6px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-reader-revenue-manager-publication-approved-notification{max-width:348px}}.googlesitekit-plugin .googlesitekit-settings-module--reader-revenue-manager .googlesitekit-settings-module__meta-items:last-child .googlesitekit-settings-module__meta-item:last-child{margin-bottom:0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-settings-module--reader-revenue-manager .googlesitekit-settings-module__meta-items:last-child .googlesitekit-settings-module__meta-item{margin-bottom:0}}.googlesitekit-plugin .googlesitekit-settings-module--reader-revenue-manager .googlesitekit-publication-onboarding-state-notice+.googlesitekit-settings-module__meta-items{margin-top:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-module--reader-revenue-manager .googlesitekit-publication-onboarding-state-notice+.googlesitekit-settings-module__meta-items{margin-top:24px}}.googlesitekit-plugin .googlesitekit-setup-module--reader-revenue-manager form>.googlesitekit-cta-link{font-weight:500}.googlesitekit-plugin .googlesitekit-setup-module--reader-revenue-manager .googlesitekit-setup-module__step .googlesitekit-publication-onboarding-state-notice{margin-bottom:40px}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__title,.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__description{font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__title{margin-bottom:0}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__description{margin-top:3px}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__action{margin-top:40px}.googlesitekit-plugin .googlesitekit-setup-module__publication-create-screen .googlesitekit-setup-module__action svg{margin-left:6px}.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__primary-cell{padding:20px 16px 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__primary-cell{padding:24px}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__title{font-size:22px;line-height:1.27}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__title{font-size:28px;line-height:1.286}}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__description{font-size:14px;line-height:1.43}}@media(min-width: 1281px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__description{font-size:16px;line-height:1.5}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__actions-wrapper{gap:4px;margin-bottom:27px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__actions-wrapper{gap:10px;margin-bottom:0;padding:10px 0}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__svg-wrapper--rrm-setup-notification{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative}.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__svg-wrapper--rrm-setup-notification svg{flex:1;max-height:143px;scale:1;transform-origin:center 2px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__svg-wrapper--rrm-setup-notification svg{height:100%;max-height:272px;position:absolute;right:70px;scale:1.6;top:10px;transform-origin:initial;width:65%}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--rrm-setup-notification .googlesitekit-setup-cta-banner__svg-wrapper--rrm-setup-notification svg{right:50px;scale:1.1;width:unset}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__actions-wrapper{gap:0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__actions-wrapper{gap:16px}}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__actions-wrapper{gap:24px}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__svg-wrapper--setup-cta-siwg{align-items:flex-end;display:flex;justify-content:center}.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__svg-wrapper--setup-cta-siwg svg{flex:1;max-height:136px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--setup-cta-siwg .googlesitekit-setup-cta-banner__svg-wrapper--setup-cta-siwg svg{max-height:265px}}@media(min-width: 1500px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta{height:100%;position:relative}}.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta svg{display:block;justify-self:center;max-height:180px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta svg{max-height:210px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta svg{justify-self:flex-end;max-height:274px}}@media(min-width: 1500px){.googlesitekit-plugin .googlesitekit-setup-cta-banner__svg-wrapper--sign-in-with-google-setup-cta svg{max-height:300px;position:absolute;right:0;top:50%;transform:translateY(-50%)}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-badge{margin:0 0 2px 13px;padding:4px 8px}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .mdc-text-field{height:48px}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .mdc-text-field .mdc-floating-label{top:15px}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-setup-module__step-description{margin:0 0 1.7em}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-client-id-cta{font-weight:500;min-height:32px;padding:3px 18px}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-client-id-cta svg{margin-left:6px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form{display:flex;justify-content:space-between}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item{flex:2}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item{max-width:510px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item{max-width:670px}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg{flex:1;margin-bottom:-16px;overflow:hidden;position:relative;text-align:center}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg{bottom:unset;margin-bottom:-25px;min-width:40%;top:-30px}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg svg{display:none;height:100%;position:relative;width:100%}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg svg{bottom:-60px;display:inline-block;max-height:260px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg svg{bottom:unset;max-height:248px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-sign-in-with-google-setup__form .googlesitekit-setup-module__panel-item--with-svg svg{max-height:300px}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-settings-module__fields-group,.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-text-field-client-id{width:100%}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-setup-module__step p{max-width:610px}}.googlesitekit-plugin .googlesitekit-setup-module--sign-in-with-google .googlesitekit-settings-notice__button{align-items:center;display:flex;text-wrap:nowrap}.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google{margin-top:32px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google{margin-top:0}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid{padding:24px 48px}}.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:first-child{order:2}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:first-child{order:1}}.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:last-child{order:1}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:last-child{justify-self:start;margin-left:0}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-setup__footer--sign-in-with-google .mdc-layout-grid .mdc-layout-grid__cell:last-child{order:2}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-settings-notice__icon{align-items:center;display:flex}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-settings-module__footer{margin-top:30px}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google>.mdc-layout-grid{margin-bottom:0}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-text-field-client-id,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select__selected-text{height:52px}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select{width:100%}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select .mdc-select__selected-text{min-width:100%;padding-top:12px}@media(min-width: 960px)and (max-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select .mdc-select__selected-text{padding-right:28px}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select .mdc-select__dropdown-icon{bottom:14px}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-select.mdc-select--focused .mdc-select__dropdown-icon{transform:rotate(180deg)}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap-on-all-pages{border-bottom:none}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap-on-all-pages{margin-top:10px}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap .mdc-switch,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap-on-all-pages .mdc-switch{margin-left:3px}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap p,.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-settings-module__one-tap-on-all-pages p{color:#6c726e;letter-spacing:.2px;margin:4px 0 0}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-sign-in-with-google-settings-fields__button-preview{margin-left:30px}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .googlesitekit-sign-in-with-google-settings-fields__button-preview .mdc-layout-grid__inner{display:block}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid{padding:0}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid .mdc-layout-grid .mdc-layout-grid__inner{margin-bottom:24px}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid.googlesitekit-sign-in-with-google-settings-fields__stretch-form{display:flex;flex-direction:column;height:100%;justify-content:space-between;margin-right:52px;width:100%}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid.googlesitekit-sign-in-with-google-settings-fields__stretch-form>.mdc-layout-grid__inner:last-child{margin-bottom:0}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid.googlesitekit-sign-in-with-google-settings-fields__stretch-form>.mdc-layout-grid__inner:last-child .mdc-layout-grid__cell{margin-right:14px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google-settings-fields .mdc-layout-grid.googlesitekit-sign-in-with-google-settings-fields__stretch-form>.mdc-layout-grid__inner:last-child .mdc-layout-grid__cell:last-child{margin:0}}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google__preview{background-color:#cbd0d3;border-radius:4px;display:flex;flex-direction:column;height:145px;justify-content:center;padding:0 10%;position:relative;width:100%}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google__preview--label{margin:0 0 1rem;text-align:center}.googlesitekit-plugin .googlesitekit-settings-module--sign-in-with-google .googlesitekit-sign-in-with-google__preview--protector{height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}.googlesitekit-plugin .googlesitekit-registration-disabled-notice.googlesitekit-anyone-can-register-disabled-notice{padding:12px 24px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-registration-disabled-notice.googlesitekit-anyone-can-register-disabled-notice{padding-bottom:14px;padding-top:14px}}.googlesitekit-plugin .googlesitekit-registration-disabled-notice .googlesitekit-settings-notice__icon{margin-right:16px}.googlesitekit-plugin .googlesitekit-registration-disabled-notice .googlesitekit-settings-notice__icon svg{height:24px;width:24px}.googlesitekit-plugin .googlesitekit-registration-disabled-notice .googlesitekit-settings-notice__text{font-size:12px;font-weight:400;line-height:1.43}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-registration-disabled-notice .googlesitekit-settings-notice__text{font-size:14px}}.googlesitekit-plugin .googlesitekit-registration-disabled-notice.googlesitekit-registration-disabled-notice--with-outer-cta{flex-direction:column}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-registration-disabled-notice.googlesitekit-registration-disabled-notice--with-outer-cta{flex-direction:initial}}.googlesitekit-plugin .googlesitekit-registration-disabled-notice.googlesitekit-registration-disabled-notice--with-outer-cta .googlesitekit-settings-notice__text{margin:6px 0 16px 0}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-registration-disabled-notice.googlesitekit-registration-disabled-notice--with-outer-cta .googlesitekit-settings-notice__text{margin:0 24px 0 0;max-width:718px}}.googlesitekit-plugin .googlesitekit-registration-disabled-notice.googlesitekit-registration-disabled-notice--with-outer-cta .mdc-button{background-color:#4e3300;border-radius:100px;color:#fff;font-weight:500;min-height:32px;padding:6px 16px}.googlesitekit-plugin .googlesitekit-registration-disabled-notice.googlesitekit-registration-disabled-notice--with-outer-cta .mdc-button svg{margin-left:6px}.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__actions-wrapper{gap:4px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__actions-wrapper{gap:10px}}.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__svg-wrapper--fpm-setup-cta{align-items:flex-end;display:flex;justify-content:center}.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__svg-wrapper--fpm-setup-cta svg{flex:1;max-height:136px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-setup-cta-banner--fpm-setup-cta .googlesitekit-setup-cta-banner__svg-wrapper--fpm-setup-cta svg{max-height:265px}}.googlesitekit-plugin .googlesitekit-km-widget-tile{display:flex;flex-direction:column;justify-content:space-between;padding:12px 16px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile{min-height:150px;padding:18px 24px}}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-info-tooltip{color:#108080}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__title-container{display:flex;flex-basis:50%;flex-grow:1}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__title{color:#6c726e;flex:1;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:16px;margin:0 8px 4px 0}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__body{display:flex;flex-basis:50%;flex-grow:1}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__body{flex-direction:column}}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__metric-container{flex-basis:100%}.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__metric-change-container{align-self:flex-end;display:flex}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile .googlesitekit-km-widget-tile__metric-change-container{align-self:auto}}.googlesitekit-plugin .googlesitekit-km-widget-tile--numeric .googlesitekit-km-widget-tile__metric{font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:32px;line-height:1.25;margin-top:4px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--numeric .googlesitekit-km-widget-tile__metric{margin:0}}.googlesitekit-plugin .googlesitekit-km-widget-tile--numeric .googlesitekit-km-widget-tile__subtext{font-size:12px;font-weight:500;line-height:1.33;margin:-1px 0 1px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--numeric .googlesitekit-km-widget-tile__subtext{font-size:14px;font-weight:400;line-height:1.43;margin:-4px 0 1px}}.googlesitekit-plugin .googlesitekit-km-widget-tile--text .googlesitekit-km-widget-tile__metric{font-size:18px;font-weight:500;margin-top:4px;text-transform:capitalize}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--text .googlesitekit-km-widget-tile__metric{margin:5px 0 0}}.googlesitekit-plugin .googlesitekit-km-widget-tile--text .googlesitekit-km-widget-tile__subtext{font-size:12px;font-weight:500;line-height:1.33;margin:2px 0 0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--text .googlesitekit-km-widget-tile__subtext{font-size:14px;font-weight:400;line-height:1.43;margin:0}}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-km-widget-tile__table{display:flex;flex-direction:column;font-size:12px;margin-top:12px;width:100%}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-row{display:flex;flex-direction:row;justify-content:space-between;padding:2px 0}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-item{margin-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-item:last-child{margin-right:0;overflow:visible;text-overflow:unset}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-item strong{font-weight:500}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-item .googlesitekit-cta-link{display:inline}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-km-widget-tile__table-plain-text{color:#161b18;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:0;overflow:hidden;text-overflow:ellipsis}.googlesitekit-plugin .googlesitekit-km-widget-tile--table .googlesitekit-table__body-zero-data{font-size:14px;line-height:1.43}.googlesitekit-plugin .googlesitekit-km-widget-tile__loading{width:100%}.googlesitekit-plugin .googlesitekit-km-widget-tile__loading .googlesitekit-km-widget-tile__loading-body{margin-top:10px}.googlesitekit-plugin .googlesitekit-km-widget-tile--error{height:100%}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error{background:#fff;border:2px solid #7a1e00;padding:14px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error{min-height:150px;padding:16px 22px}}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-cta__header{column-gap:8px;display:flex;flex-basis:50%}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-cta__header svg{color:#108080}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-cta__header_text{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;margin:0 0 10px}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-cta__title{color:#161b18;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;font-weight:400}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions{align-items:flex-start;display:flex;flex-direction:row-reverse;gap:0}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions{flex-direction:column-reverse}}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions .googlesitekit-error-retry-text{color:#161b18;flex:1;margin:0;margin-right:14px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions .googlesitekit-error-retry-text{margin-right:0}}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions button:not(.googlesitekit-cta-link),.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions a.mdc-button{align-self:flex-end;font-weight:500;min-height:32px;padding:6px 16px}@media(min-width: 601px){.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions button:not(.googlesitekit-cta-link),.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions a.mdc-button{align-self:flex-start;margin-top:10px}}.googlesitekit-plugin .googlesitekit-km-widget-tile--error .googlesitekit-cta--error .googlesitekit-report-error-actions .googlesitekit-cta-link{color:#108080}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .mdc-layout-grid__inner{grid-template-rows:auto 1fr}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .mdc-layout-grid__cell{display:grid;grid-row:span 3;grid-template-columns:subgrid;grid-template-rows:subgrid}}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .mdc-layout-grid__cell{grid-row:span 2}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget{display:grid;grid-column:1/-1;grid-row:1/-1;grid-template-columns:subgrid;grid-template-rows:subgrid}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-cta--error,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-km-widget-tile--error{display:grid;grid-column:1/-1;grid-row:1/-1;grid-template-rows:subgrid}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-km-widget-tile{display:grid;gap:0;grid-column:1/-1;grid-row:1/-1;grid-template-columns:subgrid;grid-template-rows:subgrid}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--connectModuleCTATile,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile{grid-column:1/-1;grid-row:1/-1}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-km-widget-tile>div{grid-column:1/-1}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-cta--error>div,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-cta--error>h3{grid-column:1/-1}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsConnectGA4All,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsSetupCTA{grid-template-columns:auto;grid-template-rows:auto}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsConnectGA4All .mdc-layout-grid__inner,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsSetupCTA .mdc-layout-grid__inner{grid-template-rows:auto}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsConnectGA4All .mdc-layout-grid__cell,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsSetupCTA .mdc-layout-grid__cell{grid-template-columns:auto;grid-template-rows:auto}}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsConnectGA4All .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .googlesitekit-widget--keyMetricsSetupCTA .googlesitekit-widget__body{display:block}}.googlesitekit-plugin .googlesitekit-widget-area--mainDashboardKeyMetricsPrimary .googlesitekit-widget-area-widgets .mdc-layout-grid__inner.googlesitekit-widget-key-metrics-footer{display:inline-block}.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile{align-items:center;container:cta-tile/inline-size;display:flex}.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile .googlesitekit-km-connect-module-cta-tile__ghost-card{display:none;height:90px;margin-right:12px;max-height:90px}@container cta-tile (inline-size > 400px){.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile .googlesitekit-km-connect-module-cta-tile__ghost-card:nth-child(2){display:flex;margin-left:12px}}@container cta-tile (inline-size > 600px){.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile .googlesitekit-km-connect-module-cta-tile__ghost-card:nth-child(4){display:flex}}@container cta-tile (inline-size > 900px){.googlesitekit-plugin .googlesitekit-widget--connectModuleCTATile .googlesitekit-km-connect-module-cta-tile__ghost-card:nth-child(3){display:flex}}.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile{align-items:center;display:flex;flex:1;padding:16px 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile{padding:24px 0}}.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile__icon{display:flex;justify-content:right}.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile__content{flex:1;margin-left:8px}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile__content{margin-left:12px}}.googlesitekit-plugin .googlesitekit-km-connect-module-cta-tile__content .googlesitekit-km-connect-module-cta-tile__text{margin:0 0 4px}.googlesitekit-plugin .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile{align-items:center;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;padding:16px}.googlesitekit-plugin .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile:focus{border-radius:16px;outline:1px dotted #000}.googlesitekit-plugin .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile__icon{background-color:#ebeef0;border-radius:50%;color:#6c726e;height:48px;margin:0 auto;padding:16px;width:48px}.googlesitekit-plugin .googlesitekit-widget--addMetricCTATile .googlesitekit-km-add-metric-cta-tile__text{color:#6c726e;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.33;margin:7px 0 0}.googlesitekit-portal-survey{bottom:24px;position:fixed;right:24px;z-index:99999}@media(max-width: 449px){.googlesitekit-portal-survey{bottom:0;right:0}}@media(min-width: 1280px){.googlesitekit-portal-survey{bottom:34px;right:34px}}.googlesitekit-plugin .googlesitekit-survey__header-logo{margin:0 16px 0 0;width:24px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__header-logo{margin-right:24px}}.googlesitekit-plugin .googlesitekit-survey__header-logo svg{display:block}.googlesitekit-plugin .googlesitekit-survey__header-close{position:absolute;right:-12px;top:-12px}.googlesitekit-plugin .googlesitekit-survey__header-close svg{fill:#5f6561}.googlesitekit-plugin .googlesitekit-survey__header{align-items:center;display:flex;flex-wrap:nowrap;padding:16px 16px 8px;position:relative}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__header{padding:24px 24px 8px}}.googlesitekit-plugin .googlesitekit-survey__header .mdc-button:not(:disabled){background-color:transparent;border-radius:50%;box-shadow:none;height:40px;min-width:40px;padding:0;transition:background .2s ease-in-out;width:40px}.googlesitekit-plugin .googlesitekit-survey__header .mdc-button:not(:disabled):hover,.googlesitekit-plugin .googlesitekit-survey__header .mdc-button:not(:disabled):focus{background-color:#ebeef0}.googlesitekit-plugin .googlesitekit-survey__header h3{color:#161b18;font-family:"Google Sans Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:.5px;line-height:1.5;margin:0}.googlesitekit-plugin .googlesitekit-survey__header-details{flex:1 0;padding:0 32px 0 0;position:relative}.googlesitekit-plugin .googlesitekit-survey{background-color:#fff;border-radius:8px;box-shadow:rgba(0,0,0,.14) 0 16px 24px 2px,rgba(0,0,0,.12) 0 6px 30px 5px,rgba(0,0,0,.2) 0 8px 10px -5px;max-width:400px}@media(max-width: 449px){.googlesitekit-plugin .googlesitekit-survey{max-width:none}}.googlesitekit-plugin .googlesitekit-survey__body{padding:0 0 16px;position:relative}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__body{padding-bottom:24px}}.googlesitekit-plugin .googlesitekit-survey__choices{display:flex;flex-wrap:nowrap;justify-content:space-between;margin-top:8px}.googlesitekit-plugin .googlesitekit-survey__choices>div{min-width:50px;overflow:visible}.googlesitekit-plugin .googlesitekit-survey__footer{padding:0 16px 16px;position:relative;text-align:right}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__footer{padding:0 24px 24px}}.googlesitekit-plugin .googlesitekit-survey__footer p{border-top:1px solid #ebeef0;color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.2px;margin:12px 0 0;padding-top:12px;text-align:left}.googlesitekit-plugin .googlesitekit-survey__footer .googlesitekit-survey__terms{margin:0;padding-top:12px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__footer .googlesitekit-survey__terms{margin:0 0 -12px}}.googlesitekit-plugin .googlesitekit-survey__footer .mdc-button{letter-spacing:.25px}.googlesitekit-plugin .googlesitekit-survey__choice p{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:6px 0 0}.googlesitekit-plugin .googlesitekit-survey__choice:first-child{margin-left:8px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__choice:first-child{margin-left:15px}}.googlesitekit-plugin .googlesitekit-survey__choice:first-child p{transform:translateX(9px)}.googlesitekit-plugin .googlesitekit-survey__choice:last-child{margin-right:7px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__choice:last-child{margin-right:17px}}.googlesitekit-plugin .googlesitekit-survey__choice:last-child p{transform:translateX(-9px)}.googlesitekit-plugin .googlesitekit-survey__choice:not(:first-child):not(:last-child) p{display:none}.googlesitekit-plugin .googlesitekit-survey__choice .mdc-button:not(:disabled){background-color:transparent;border-radius:50%;box-shadow:none;color:#5f6561;height:50px;min-width:50px;padding:0;transition:background .2s ease-in-out;width:50px}.googlesitekit-plugin .googlesitekit-survey__choice .mdc-button:not(:disabled):hover,.googlesitekit-plugin .googlesitekit-survey__choice .mdc-button:not(:disabled):focus{background-color:#ebeef0}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__body{padding:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__body{padding:16px 24px}}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice{align-items:center;display:flex;flex-wrap:wrap}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice .mdc-text-field{flex-grow:1;height:35px;margin-left:10px;width:auto}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice .mdc-text-field .mdc-text-field__input{background:transparent;font-size:12px;letter-spacing:.2px}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice--disabled{opacity:.25}.googlesitekit-plugin .googlesitekit-survey__multi-select .googlesitekit-survey__multi-select__choice--disabled :hover{cursor:default}.googlesitekit-plugin .googlesitekit-survey__completion .googlesitekit-survey__body{color:#5f6561;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;padding:0 16px 16px 56px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-survey__completion .googlesitekit-survey__body{padding-left:70px;padding-right:24px}}.googlesitekit-survey__open-text .mdc-text-field{margin-bottom:16px}.googlesitekit-survey__open-text .mdc-text-field-helper-line{padding-left:0}.googlesitekit-survey__open-text .googlesitekit-survey__body{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:16px}@media(min-width: 960px){.googlesitekit-survey__open-text .googlesitekit-survey__body{padding:24px}}.googlesitekit-single-select .googlesitekit-survey__body{padding:16px}@media(min-width: 960px){.googlesitekit-single-select .googlesitekit-survey__body{padding:16px 24px}}.googlesitekit-single-select .googlesitekit-single-select__choice{align-items:center;display:flex;flex-wrap:wrap}.googlesitekit-single-select .mdc-text-field{flex-grow:1;height:35px;margin-left:10px;width:auto}.googlesitekit-single-select .mdc-text-field .mdc-text-field__input{background:transparent;font-size:12px;letter-spacing:.2px}.googlesitekit-overlay-notification{background-color:#fff;border-radius:16px;display:flex;flex-direction:column;margin:16px}@media(min-width: 600px){.googlesitekit-overlay-notification{bottom:32px;box-shadow:0 8px 24px 0 rgba(0,0,0,.25);inset-inline-end:32px;margin:0;max-width:296px;position:fixed;z-index:9970}}@media(min-width: 960px){.googlesitekit-overlay-notification{bottom:22px;inset-inline-end:42px;right:42px}html[dir=rtl] .googlesitekit-overlay-notification{right:unset}}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body{color:#161b18;padding:16px}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body h3{font-size:16px;font-weight:500;letter-spacing:.1px;line-height:1.25;margin:0 0 10px}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body p{font-size:12px;font-weight:400;letter-spacing:.2px;line-height:1.33;margin:0}@media(min-width: 600px){.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body{padding:24px}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body h3{font-size:22px;font-weight:400;letter-spacing:unset;line-height:1.27;margin:0 0 5px}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__body p{font-size:14px;font-weight:400;letter-spacing:.25px;line-height:1.43}}.googlesitekit-overlay-notification .googlesitekit-overlay-notification__actions{align-items:center;display:flex;flex-direction:row-reverse;gap:8px;justify-content:flex-end;padding:16px;padding-top:0}@media(min-width: 600px){.googlesitekit-overlay-notification .googlesitekit-overlay-notification__actions{flex-direction:row;padding:24px;padding-top:0}}.googlesitekit-widget-area--composite .googlesitekit-widget-area-widgets{background:#fff}@media(min-width: 961px){.googlesitekit-widget-area-header{margin-bottom:24px;margin-bottom:var(--mdc-layout-grid-margin-desktop, 24px)}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-widget-area-header{margin-bottom:16px;margin-bottom:var(--mdc-layout-grid-margin-tablet, 16px)}}@media(max-width: 600px){.googlesitekit-widget-area-header{margin-bottom:16px;margin-bottom:var(--mdc-layout-grid-margin-phone, 16px)}}.googlesitekit-widget-area-header .googlesitekit-widget-area-header__title{color:#161b18;font-weight:500;margin:0 0 .125rem}.googlesitekit-widget-area-header .googlesitekit-widget-area-header__subtitle{color:#161b18;display:flex;flex-grow:1;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;justify-content:space-between;letter-spacing:.25px;line-height:1.43;margin:0}@media(min-width: 600px){.googlesitekit-widget-area-header .googlesitekit-widget-area-header__subtitle{display:block}}.googlesitekit-widget-area-header .googlesitekit-widget-area-header__subtitle .googlesitekit-new-badge{height:24px;margin-left:14px}.googlesitekit-widget-area-header .googlesitekit-widget-area-header__details{align-items:flex-start;display:flex;justify-content:space-between}.googlesitekit-widget-area-header .googlesitekit-widget-area__cta-link{align-items:center;display:flex;font-size:14px;font-weight:500;line-height:1.43;padding-left:6px;white-space:nowrap}.googlesitekit-widget-area-footer__cta{font-size:14px;font-weight:500;margin:12px 0}.googlesitekit-widget-context{padding-bottom:10px;padding-top:10px}@media(min-width: 600px){.googlesitekit-widget-context{padding-left:10px;padding-right:10px}}.googlesitekit-widget-context--last{min-height:80vh}@media screen and (min-height: 1200px){.googlesitekit-widget-context--last{min-height:100vh}}.googlesitekit-plugin .googlesitekit-widget{background:#fff;border-radius:16px;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-widget__header--cta{margin:16px 0 0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget .googlesitekit-widget__header--cta{margin:0}}.googlesitekit-plugin .googlesitekit-widget .googlesitekit-widget__header--cta .googlesitekit-cta-link{font-size:16px;font-weight:400;letter-spacing:.5px}@media(min-width: 961px){.googlesitekit-plugin .googlesitekit-widget__header,.googlesitekit-plugin .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget__footer{padding:24px;padding:var(--mdc-layout-grid-margin-desktop, 24px)}}@media(min-width: 601px)and (max-width: 960px){.googlesitekit-plugin .googlesitekit-widget__header,.googlesitekit-plugin .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget__footer{padding:16px;padding:var(--mdc-layout-grid-margin-tablet, 16px)}}@media(max-width: 600px){.googlesitekit-plugin .googlesitekit-widget__header,.googlesitekit-plugin .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget__footer{padding:16px;padding:var(--mdc-layout-grid-margin-phone, 16px)}}.googlesitekit-plugin .googlesitekit-widget__header{border-bottom:1px solid #ebeef0}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget__header{display:flex;justify-content:space-between}}.googlesitekit-plugin .googlesitekit-widget__header .googlesitekit-widget__header-title{font-size:16px;line-height:1.25;margin:0}.googlesitekit-plugin .googlesitekit-widget__body{flex:1}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--no-padding .googlesitekit-widget__body{padding:0}.googlesitekit-plugin .googlesitekit-widget__footer{border-top:1px solid #ebeef0}.googlesitekit-plugin .googlesitekit-widget--hidden-footer .googlesitekit-widget__footer{visibility:hidden}.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--footer-v2 .googlesitekit-widget__footer{border-top:0;display:flex;justify-content:flex-end}.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget{background:transparent;box-shadow:none}.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__header,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__body,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__footer{padding-left:0;padding-right:0}.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__header:first-child,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__body:first-child,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__footer:first-child{padding-top:0}.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__header:last-child,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__body:last-child,.googlesitekit-plugin .googlesitekit-widget-area--composite .googlesitekit-widget .googlesitekit-widget__footer:last-child{padding-bottom:0}.googlesitekit-plugin .googlesitekit-adsense-performance-overview{display:flex;flex-wrap:wrap;justify-content:space-evenly;padding:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-adsense-performance-overview{padding:24px}}.googlesitekit-plugin .googlesitekit-adsense-performance-overview .googlesitekit-data-block--button{min-width:25%;padding-left:20px;padding-right:20px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount .googlesitekit-data-block__title{display:block;text-transform:capitalize}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount svg{vertical-align:bottom}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount .googlesitekit-cta-link{font-size:16px;letter-spacing:.5px}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab__text-label,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab__text-label{color:#6c726e}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab-scroller__scroll-content,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab-scroller__scroll-content{justify-content:center}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab-indicator__content--underline,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab-indicator__content--underline{border-radius:4px 4px 0 0;height:4px}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab__text-label,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab__text-label{letter-spacing:normal;opacity:1;text-transform:none}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab{height:40px;margin:0 10px;padding:0 20px}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab.mdc-tab--active .mdc-tab__text-label,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#3c7251}@media(min-width: 600px)and (max-width: 1280px){.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab{margin:0;padding:0 10px}}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .mdc-tab--active[disabled] .mdc-tab-indicator__content--underline,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .mdc-tab--active[disabled] .mdc-tab-indicator__content--underline{background-color:#999f9b;opacity:.6}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-widget__footer,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-widget__footer{padding-top:0}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-data-block__title,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-data-block__title{font-size:14px;letter-spacing:.25px;line-height:1.43}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-data-block__datapoint,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-data-block__datapoint{font-size:58px;line-height:1.1}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-data-block__arrow,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-data-block__arrow{vertical-align:top}.googlesitekit-plugin .googlesitekit-widget__analytics--all-traffic .googlesitekit-data-block__suffix,.googlesitekit-plugin .googlesitekit-widget.googlesitekit-widget--legacy-all-traffic-widget .googlesitekit-data-block__suffix{font-weight:400}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__user-count-chart{position:relative;top:16px}}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__user-count-chart{top:0}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions{min-height:450px;padding-top:30px;position:relative}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions .googlesitekit-preview-block.googlesitekit-widget--analyticsAllTraffic__dimensions--not-loading{display:none}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions .googlesitekit-preview-block.googlesitekit-widget--analyticsAllTraffic__dimensions--loading{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%)}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions .googlesitekit-widget--analyticsAllTraffic__dimensions-container{position:relative}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount--loading{margin:0 0 10px}@media(min-width: 1280px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totalcount--loading{min-height:106px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart{height:100%;position:relative;width:100%}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart .googlesitekit-chart-loading{padding-bottom:32px;padding-top:32px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart{padding:16px;text-align:center}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart{padding:24px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart .mdc-layout-grid__inner{align-items:center;min-height:120px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart .mdc-layout-grid__inner{min-height:270px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart svg{max-width:140px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart h4{color:#6c726e;font-family:"Google Sans Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;letter-spacing:.5px;line-height:1.5;margin:0}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__empty-dimensions-chart p{color:#6c726e;font-size:12px;letter-spacing:.2px;line-height:1.33;margin:4px 0 0}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__selectable .googlesitekit-chart__inner>div>div>div>svg>g>path,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__selectable .googlesitekit-chart__inner>div>div>div>svg>g>g{cursor:pointer}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__slice-selected .googlesitekit-chart--PieChart div.google-visualization-tooltip{pointer-events:auto;z-index:8}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart-title{color:#6c726e;font-size:12px;font-weight:500;left:50%;letter-spacing:.2px;max-width:80px;position:absolute;text-align:center;text-transform:capitalize;top:50%;transform:translate(-50%, -50%)}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart-title span{display:block;font-weight:400}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dimensions-chart-gathering-data{color:#cbd0d3;font-size:18px;left:50%;line-height:1.33;max-width:80px;position:absolute;text-align:center;top:50%;transform:translate(-50%, -50%)}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__tabs--small{text-align:center}@media(min-width: 600px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__tabs--small{display:none}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__tabs--loading{display:flex;flex-direction:row;justify-content:center}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__tabs--loading .googlesitekit-preview-block{margin:0 10px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totals{margin-bottom:-24px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totals .googlesitekit-cta--error{height:auto;margin-top:16px}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__totals .googlesitekit-cta--error{margin-top:24px}}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__chart{min-height:368px;position:relative}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend{margin-top:-6px;text-align:center}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend .googlesitekit-cta-link__contents{align-items:center;display:inline-flex}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-slice{align-items:center;border-radius:4px;color:#333935;display:inline-flex;font-size:12px;font-weight:400;letter-spacing:.2px;margin:0 4px 0 0;padding:7px 4px;position:relative;text-transform:capitalize}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-slice:hover{-webkit-text-decoration:none;text-decoration:none}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-slice:focus{outline:none}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__label{display:inline-flex;flex-direction:column}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__label::after{content:attr(data-label);display:inline-flex;font-weight:500;height:0;visibility:hidden}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__dot{border-radius:50%;display:inline-block;height:12px;margin:0 4px 0 0;width:12px}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__underlay{display:block;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease-in-out;width:100%;z-index:1}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-active{font-weight:500}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-active .googlesitekit-widget--analyticsAllTraffic__underlay,.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-slice:hover .googlesitekit-widget--analyticsAllTraffic__underlay{opacity:.16}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-others{cursor:text}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend-others:hover .googlesitekit-widget--analyticsAllTraffic__underlay{opacity:0}.googlesitekit-plugin .googlesitekit-widget--analyticsAllTraffic__legend--single .googlesitekit-widget--analyticsAllTraffic__legend-slice:not(:first-child){display:none}.googlesitekit-plugin .googlesitekit-widget--adBlockerWarning{background-color:transparent;box-shadow:none}.googlesitekit-plugin .googlesitekit-analytics-popular-pages-widget__report-table--tabbed-layout .googlesitekit-table__body-item:last-child{white-space:nowrap}.googlesitekit-plugin .googlesitekit-analytics-popular-pages-widget__report-table--tabbed-layout .googlesitekit-table__body-item:last-child .googlesitekit-table__body-item-content{padding-left:1em}.googlesitekit-plugin .googlesitekit-ua-cutoff-warning--overall-page-metrics{padding-left:0;padding-right:0;padding-top:0}.googlesitekit-plugin .googlesitekit-widget-error-handler{display:grid;grid-column:1/-1;grid-row:1/-1;grid-template-columns:subgrid}.googlesitekit-plugin .googlesitekit-align-self-center{align-self:center}.googlesitekit-plugin .googlesitekit-border-radius-round{border-radius:50%}@media(min-width: 600px)and (max-width: 783px){.googlesitekit-plugin .googlesitekit-border-radius-round--tablet{border-radius:50%}}@media(max-width: 599px){.googlesitekit-plugin .googlesitekit-border-radius-round--phone{border-radius:50%}}.googlesitekit-plugin .googlesitekit-color--surfaces-on-background-variant{color:#6c726e}.googlesitekit-plugin .googlesitekit-display-block{display:block}@media(min-width: 960px){.googlesitekit-plugin .googlesitekit-desktop-display-none{display:none}}@media(max-width: 960px){.googlesitekit-plugin .googlesitekit-non-desktop-display-none{display:none}}.googlesitekit-plugin .googlesitekit-font-weight-medium{font-weight:500}.googlesitekit-plugin .googlesitekit-font-weight-bold{font-weight:700 !important}.googlesitekit-plugin .googlesitekit-margin-top-0{margin-top:0 !important}.googlesitekit-plugin .googlesitekit-margin-top-1{margin-top:1rem !important}.googlesitekit-plugin .googlesitekit-margin-bottom-0{margin-bottom:0 !important}.googlesitekit-plugin .googlesitekit-margin-left-1rem{margin-left:1rem}.googlesitekit-plugin .googlesitekit-margin-left-auto{margin-left:auto}.googlesitekit-plugin .googlesitekit-margin-right-0{margin-right:0}.googlesitekit-plugin .googlesitekit-overflow-auto{overflow:auto}.googlesitekit-plugin .googlesitekit-overflow-hidden{overflow:hidden}.googlesitekit-plugin .googlesitekit-overflow-wrap-break-word{overflow-wrap:break-word}.googlesitekit-plugin .googlesitekit-padding-top-0{padding-top:0}.googlesitekit-plugin .googlesitekit-padding-bottom-0{padding-bottom:0}.googlesitekit-plugin .googlesitekit-text-align-center{text-align:center}.googlesitekit-plugin .googlesitekit-width-auto{width:auto} diff --git a/plugins/google-site-kit/dist/assets/js/33-cb81424f70352173937d.js b/plugins/google-site-kit/dist/assets/js/33-aea26aaf32eda28b5b03.js similarity index 98% rename from plugins/google-site-kit/dist/assets/js/33-cb81424f70352173937d.js rename to plugins/google-site-kit/dist/assets/js/33-aea26aaf32eda28b5b03.js index 56c02f954..dddc1ba29 100644 --- a/plugins/google-site-kit/dist/assets/js/33-cb81424f70352173937d.js +++ b/plugins/google-site-kit/dist/assets/js/33-aea26aaf32eda28b5b03.js @@ -1 +1 @@ -(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[33],{1188:function(e,t,l){"use strict";l.r(t);var r=l(0);function c(){return(c=Object.assign||function(e){for(var t=1;t0}});else{var t=function(t){for(var e=window.document,n=r(e);n;)n=r(e=n.ownerDocument);return e}(),e=[],n=null,o=null;IntersectionObserver.prototype.THROTTLE_TIMEOUT=100,IntersectionObserver.prototype.POLL_INTERVAL=null,IntersectionObserver.prototype.USE_MUTATION_OBSERVER=!0,IntersectionObserver._setupCrossOriginUpdater=function(){return n||(n=function(t,n){o=t&&n?u(t,n):{top:0,bottom:0,left:0,right:0,width:0,height:0},e.forEach((function(t){t._checkForIntersections()}))}),n},IntersectionObserver._resetCrossOriginUpdater=function(){n=null,o=null},IntersectionObserver.prototype.observe=function(t){if(!this._observationTargets.some((function(e){return e.element==t}))){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},IntersectionObserver.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},IntersectionObserver.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},IntersectionObserver.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},IntersectionObserver.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]}))},IntersectionObserver.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},IntersectionObserver.prototype._monitorIntersections=function(e){var n=e.defaultView;if(n&&-1==this._monitoringDocuments.indexOf(e)){var o=this._checkForIntersections,h=null,c=null;this.POLL_INTERVAL?h=n.setInterval(o,this.POLL_INTERVAL):(i(n,"resize",o,!0),i(e,"scroll",o,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in n&&(c=new n.MutationObserver(o)).observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push((function(){var t=e.defaultView;t&&(h&&t.clearInterval(h),s(t,"resize",o,!0)),s(e,"scroll",o,!0),c&&c.disconnect()}));var u=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=u){var a=r(e);a&&this._monitorIntersections(a.ownerDocument)}}},IntersectionObserver.prototype._unmonitorIntersections=function(e){var n=this._monitoringDocuments.indexOf(e);if(-1!=n){var o=this.root&&(this.root.ownerDocument||this.root)||t;if(!this._observationTargets.some((function(t){var n=t.element.ownerDocument;if(n==e)return!0;for(;n&&n!=o;){var i=r(n);if((n=i&&i.ownerDocument)==e)return!0}return!1}))){var i=this._monitoringUnsubscribes[n];if(this._monitoringDocuments.splice(n,1),this._monitoringUnsubscribes.splice(n,1),i(),e!=o){var s=r(e);s&&this._unmonitorIntersections(s.ownerDocument)}}}},IntersectionObserver.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e=0&&v>=0&&{top:a,bottom:f,left:p,right:d,width:g,height:v}||null),!b)break;m=m&&l(m)}return b}},IntersectionObserver.prototype._getRootRect=function(){var e;if(this.root&&!f(this.root))e=h(this.root);else{var n=f(this.root)?this.root:t,o=n.documentElement,r=n.body;e={top:0,left:0,right:o.clientWidth||r.clientWidth,width:o.clientWidth||r.clientWidth,bottom:o.clientHeight||r.clientHeight,height:o.clientHeight||r.clientHeight}}return this._expandRectByRootMargin(e)},IntersectionObserver.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100})),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},IntersectionObserver.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,o=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==o)for(var r=0;r0}});else{var t=function(t){for(var e=window.document,n=r(e);n;)n=r(e=n.ownerDocument);return e}(),e=[],n=null,o=null;IntersectionObserver.prototype.THROTTLE_TIMEOUT=100,IntersectionObserver.prototype.POLL_INTERVAL=null,IntersectionObserver.prototype.USE_MUTATION_OBSERVER=!0,IntersectionObserver._setupCrossOriginUpdater=function(){return n||(n=function(t,n){o=t&&n?u(t,n):{top:0,bottom:0,left:0,right:0,width:0,height:0},e.forEach((function(t){t._checkForIntersections()}))}),n},IntersectionObserver._resetCrossOriginUpdater=function(){n=null,o=null},IntersectionObserver.prototype.observe=function(t){if(!this._observationTargets.some((function(e){return e.element==t}))){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},IntersectionObserver.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},IntersectionObserver.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},IntersectionObserver.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},IntersectionObserver.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]}))},IntersectionObserver.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},IntersectionObserver.prototype._monitorIntersections=function(e){var n=e.defaultView;if(n&&-1==this._monitoringDocuments.indexOf(e)){var o=this._checkForIntersections,h=null,c=null;this.POLL_INTERVAL?h=n.setInterval(o,this.POLL_INTERVAL):(i(n,"resize",o,!0),i(e,"scroll",o,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in n&&(c=new n.MutationObserver(o)).observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push((function(){var t=e.defaultView;t&&(h&&t.clearInterval(h),s(t,"resize",o,!0)),s(e,"scroll",o,!0),c&&c.disconnect()}));var u=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=u){var a=r(e);a&&this._monitorIntersections(a.ownerDocument)}}},IntersectionObserver.prototype._unmonitorIntersections=function(e){var n=this._monitoringDocuments.indexOf(e);if(-1!=n){var o=this.root&&(this.root.ownerDocument||this.root)||t;if(!this._observationTargets.some((function(t){var n=t.element.ownerDocument;if(n==e)return!0;for(;n&&n!=o;){var i=r(n);if((n=i&&i.ownerDocument)==e)return!0}return!1}))){var i=this._monitoringUnsubscribes[n];if(this._monitoringDocuments.splice(n,1),this._monitoringUnsubscribes.splice(n,1),i(),e!=o){var s=r(e);s&&this._unmonitorIntersections(s.ownerDocument)}}}},IntersectionObserver.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e=0&&v>=0&&{top:a,bottom:f,left:p,right:d,width:g,height:v}||null),!b)break;m=m&&l(m)}return b}},IntersectionObserver.prototype._getRootRect=function(){var e;if(this.root&&!f(this.root))e=h(this.root);else{var n=f(this.root)?this.root:t,o=n.documentElement,r=n.body;e={top:0,left:0,right:o.clientWidth||r.clientWidth,width:o.clientWidth||r.clientWidth,bottom:o.clientHeight||r.clientHeight,height:o.clientHeight||r.clientHeight}}return this._expandRectByRootMargin(e)},IntersectionObserver.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100})),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},IntersectionObserver.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,o=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==o)for(var r=0;rNote: %s","google-site-kit"),j),{strong:e.createElement("strong",null)}))),e.createElement(l.DialogFooter,null,e.createElement(l.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:g,disabled:x},Object(u.__)("Cancel","google-site-kit")),P?e.createElement(l.Button,{href:P,onClick:O,target:"_blank",danger:N},w):e.createElement(l.SpinnerButton,{onClick:O,danger:N,disabled:x,isSaving:x},w||Object(u.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:a.a.string,dialogActive:a.a.bool,handleDialog:a.a.func,handleConfirm:a.a.func.isRequired,onOpen:a.a.func,onClose:a.a.func,title:a.a.string,confirmButton:a.a.string,danger:a.a.bool,small:a.a.bool,medium:a.a.bool,buttonLink:a.a.string},t.a=ModalDialog}).call(this,n(4))},117:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(21),a=n.n(r),i=n(155),o=n.n(i),c=n(11),s=n.n(c),u=n(1),l=n.n(u),d=n(2),f=n(10),g=n(156),m=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,u=t.primaryProps,l=t.size,p=t.step,v=t.tooltipProps,b=l>1?Object(g.a)(l):[],h=function(e){return s()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",a()({className:s()("googlesitekit-tour-tooltip",p.className)},v),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(i.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},b.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:h(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(f.Button,a()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,u.title&&e.createElement(f.Button,a()({className:"googlesitekit-tooltip-button",text:!0},u),u.title))),e.createElement(f.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:l.a.object.isRequired,closeProps:l.a.object.isRequired,index:l.a.number.isRequired,isLastStep:l.a.bool.isRequired,primaryProps:l.a.object.isRequired,size:l.a.number.isRequired,step:l.a.shape({content:l.a.node,title:l.a.node.isRequired,cta:l.a.oneOfType([l.a.element,l.a.bool]),className:l.a.string}).isRequired,tooltipProps:l.a.object.isRequired}}).call(this,n(4))},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(13),a=function(e){return Object(r.isFinite)(e)?e:0}},119:function(e,t,n){"use strict";var r=n(0),a=n(40),i=Object(r.createContext)(a.a);t.a=i},123:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(21),a=n.n(r),i=n(7),o=n.n(i),c=n(24),s=n.n(c),u=n(1),l=n.n(u),d=n(11),f=n.n(d);function Cell(t){var n,r=t.className,i=t.alignTop,c=t.alignMiddle,u=t.alignBottom,l=t.alignRight,d=t.alignLeft,g=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,v=t.smSize,b=t.smStart,h=t.smOrder,y=t.mdSize,k=t.mdStart,O=t.mdOrder,E=t.lgSize,_=t.lgStart,w=t.lgOrder,j=t.size,S=t.children,N=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",a()({},N,{className:f()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":i,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":u,"mdc-layout-grid__cell--align-right":l,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":g,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},o()(n,"mdc-layout-grid__cell--span-".concat(j),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(E,"-desktop"),12>=E&&E>0),o()(n,"mdc-layout-grid__cell--start-".concat(_,"-desktop"),12>=_&&_>0),o()(n,"mdc-layout-grid__cell--order-".concat(w,"-desktop"),12>=w&&w>0),o()(n,"mdc-layout-grid__cell--span-".concat(y,"-tablet"),8>=y&&y>0),o()(n,"mdc-layout-grid__cell--start-".concat(k,"-tablet"),8>=k&&k>0),o()(n,"mdc-layout-grid__cell--order-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--span-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--start-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),S)}Cell.propTypes={smSize:l.a.number,smStart:l.a.number,smOrder:l.a.number,mdSize:l.a.number,mdStart:l.a.number,mdOrder:l.a.number,lgSize:l.a.number,lgStart:l.a.number,lgOrder:l.a.number,size:l.a.number,alignTop:l.a.bool,alignMiddle:l.a.bool,alignBottom:l.a.bool,alignRight:l.a.bool,alignLeft:l.a.bool,smAlignRight:l.a.bool,mdAlignRight:l.a.bool,lgAlignRight:l.a.bool,className:l.a.string,children:l.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},124:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(1),s=n.n(c),u=n(11),l=n.n(u),d=n(0),f=Object(d.forwardRef)((function(t,n){var r=t.className,i=t.children,c=o()(t,["className","children"]);return e.createElement("div",a()({ref:n,className:l()("mdc-layout-grid__inner",r)},c),i)}));f.displayName="Row",f.propTypes={className:s.a.string,children:s.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(1),s=n.n(c),u=n(11),l=n.n(u),d=n(0),f=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,i=t.fill,c=t.className,s=t.children,u=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",a()({className:l()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":u,"mdc-layout-grid--fill":i})},d,{ref:n}),s)}));f.displayName="Grid",f.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},1254:function(e,t,n){"use strict";n.r(t),function(e){var t=n(326),r=n(141),a=n(1075),i=n(22),o=n(216);Object(t.a)((function(){var t=document.getElementById("js-googlesitekit-activation");t&&(Object(r.render)(e.createElement(o.a,{viewContext:i.h},e.createElement(a.a,null)),t),t.classList.remove("googlesitekit-activation--loading"))}))}.call(this,n(4))},126:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=e.sent,i=a.cacheHit,o=a.value,!i){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e)})),createSnapshot:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},i=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(g.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(g.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(g.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:i,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,i=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return e}}}},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(v(e).map((function(e){return e.getActions().createSnapshot()})))},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(v(e).map((function(e){return e.getActions().restoreSnapshot()})))}},135:function(e,t,n){"use strict";var r=n(0),a=Object(r.createContext)(!1);t.a=a},137:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1280?a:e>960?i:e>600?o:c}},29:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/forms"},3:function(e,t){e.exports=googlesitekit.data},32:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/location"},34:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d})),n.d(t,"d",(function(){return h})),n.d(t,"f",(function(){return y})),n.d(t,"c",(function(){return k})),n.d(t,"e",(function(){return O})),n.d(t,"b",(function(){return E}));var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=(n(27),n(9));function s(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},o=i.ttl,s=void 0===o?c.b:o,u=i.timestamp,l=void 0===u?Math.round(Date.now()/1e3):u,d=i.isError,g=void 0!==d&&d,t.next=3,v();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(f).concat(n),JSON.stringify({timestamp:l,ttl:s,value:r,isError:g})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),k=function(){var t=o()(a.a.mark((function t(n){var r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,i=n.startsWith(d)?n:"".concat(f).concat(n),r.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),O=function(){var t=o()(a.a.mark((function t(){var n,r,i,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,n(28))},57:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(39);function a(e){return function(){e[r.a]=e[r.a]||[],e[r.a].push(arguments)}}},58:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),a=Object(r.createContext)(""),i=(a.Consumer,a.Provider);t.b=a},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"e",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return s})),n.d(t,"M",(function(){return u})),n.d(t,"O",(function(){return l})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return f})),n.d(t,"J",(function(){return g})),n.d(t,"I",(function(){return m})),n.d(t,"N",(function(){return p})),n.d(t,"f",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"h",(function(){return h})),n.d(t,"j",(function(){return y})),n.d(t,"l",(function(){return k})),n.d(t,"m",(function(){return O})),n.d(t,"n",(function(){return E})),n.d(t,"o",(function(){return _})),n.d(t,"q",(function(){return w})),n.d(t,"s",(function(){return j})),n.d(t,"r",(function(){return S})),n.d(t,"t",(function(){return N})),n.d(t,"w",(function(){return T})),n.d(t,"u",(function(){return x})),n.d(t,"v",(function(){return L})),n.d(t,"x",(function(){return D})),n.d(t,"y",(function(){return A})),n.d(t,"A",(function(){return C})),n.d(t,"B",(function(){return R})),n.d(t,"C",(function(){return P})),n.d(t,"D",(function(){return I})),n.d(t,"k",(function(){return M})),n.d(t,"F",(function(){return B})),n.d(t,"z",(function(){return z})),n.d(t,"G",(function(){return V})),n.d(t,"E",(function(){return H})),n.d(t,"i",(function(){return F})),n.d(t,"p",(function(){return W})),n.d(t,"Q",(function(){return G})),n.d(t,"P",(function(){return U}));var r="core/user",a="connected_url_mismatch",i="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",d="googlesitekit_manage_options",f="googlesitekit_read_shared_module_data",g="googlesitekit_manage_module_sharing_options",m="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",v="kmAnalyticsAdSenseTopEarningContent",b="kmAnalyticsEngagedTrafficSource",h="kmAnalyticsLeastEngagingPages",y="kmAnalyticsNewVisitors",k="kmAnalyticsPopularAuthors",O="kmAnalyticsPopularContent",E="kmAnalyticsPopularProducts",_="kmAnalyticsReturningVisitors",w="kmAnalyticsTopCities",j="kmAnalyticsTopCitiesDrivingLeads",S="kmAnalyticsTopCitiesDrivingAddToCart",N="kmAnalyticsTopCitiesDrivingPurchases",T="kmAnalyticsTopDeviceDrivingPurchases",x="kmAnalyticsTopConvertingTrafficSource",L="kmAnalyticsTopCountries",D="kmAnalyticsTopPagesDrivingLeads",A="kmAnalyticsTopRecentTrendingPages",C="kmAnalyticsTopTrafficSource",R="kmAnalyticsTopTrafficSourceDrivingAddToCart",P="kmAnalyticsTopTrafficSourceDrivingLeads",I="kmAnalyticsTopTrafficSourceDrivingPurchases",M="kmAnalyticsPagesPerVisit",B="kmAnalyticsVisitLength",z="kmAnalyticsTopReturningVisitorPages",V="kmSearchConsolePopularKeywords",H="kmAnalyticsVisitsPerVisitor",F="kmAnalyticsMostEngagingPages",W="kmAnalyticsTopCategories",G=[v,b,h,y,k,O,E,_,W,w,j,S,N,T,x,L,A,C,R,M,B,z,H,F,W],U=[].concat(G,[V])},66:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,n="object"===a()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},73:function(e,t,n){"use strict";var r=n(16),a=n.n(r),i=n(254),o=n(1),c=n.n(o),s=n(0),u=n(141);function Portal(e){var t=e.children,n=e.slug,r=Object(s.useState)(document.createElement("div")),o=a()(r,1)[0];return Object(i.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(u.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},75:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(11),s=n.n(c),u=n(1),l=n.n(u),d=n(0),f=Object(d.forwardRef)((function(t,n){var r=t.label,i=t.className,c=t.hasLeftSpacing,u=void 0!==c&&c,l=o()(t,["label","className","hasLeftSpacing"]);return e.createElement("span",a()({ref:n},l,{className:s()("googlesitekit-badge",i,{"googlesitekit-badge--has-left-spacing":u})}),r)}));f.displayName="Badge",f.propTypes={label:l.a.string.isRequired,hasLeftSpacing:l.a.bool},t.a=f}).call(this,n(4))},76:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(1),a=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,a=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:a}},n)}IconWrapper.propTypes={children:a.a.node.isRequired,marginLeft:a.a.number,marginRight:a.a.number}}).call(this,n(4))},77:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=k(e,t),r=n.formatUnit,a=n.formatDecimal;try{return r()}catch(e){return a()}},h=function(e){var t=y(e),n=t.hours,r=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(a):"".concat(n,":").concat(r,":").concat(a)},y=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=y(e),r=n.hours,a=n.minutes,i=n.seconds;return{hours:r,minutes:a,seconds:i,formatUnit:function(){var n=t.unitDisplay,o=v(v({unitDisplay:void 0===n?"short":n},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?S(i,v(v({},o),{},{unit:"second"})):Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?S(i,v(v({},o),{},{unit:"second"})):"",a?S(a,v(v({},o),{},{unit:"minute"})):"",r?S(r,v(v({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. -Object(m.__)("%ds","google-site-kit"),i);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. -Object(m.__)("%dm","google-site-kit"),a),o=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. -Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",a?n:"",r?o:"").trim()}}},O=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},E=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. -Object(m.__)("%sM","google-site-kit"),S(O(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),S(O(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),S(O(e),e%10==0?{}:t)):S(e,{signDisplay:"never",maximumFractionDigits:1})};function _(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=v({},e)),t}function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=_(t),r=n.style,a=void 0===r?"metric":r;return"metric"===a?E(e):"duration"===a?b(e,n):"durationISO"===a?h(e):S(e,n)}var j=g()(console.warn),S=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?T():n,i=l()(t,["locale"]);try{return new Intl.NumberFormat(r,i).format(e)}catch(t){j("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],u={},d=0,f=Object.entries(i);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?T():n,a=t.style,i=void 0===a?"long":a,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:i,type:c});return s.format(e)} -/* translators: used between list items, there is a space after the comma. */var u=Object(m.__)(", ","google-site-kit");return e.join(u)},T=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},82:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a}));var r=n(145),a=n.n(r)()(e)}).call(this,n(28))},85:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(11),o=n.n(i);function ChangeArrow(t){var n=t.direction,r=t.invertColor,a=t.width,i=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},86:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(26),a=n(118);function i(t,n){var r=document.querySelector(t);if(!r)return 0;var a=r.getBoundingClientRect().top,i=o(n);return a+e.scrollY-i}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,i=document.querySelector(".googlesitekit-header");return n=!!i&&"sticky"===e.getComputedStyle(i).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(a.a)(n))<0?0:n}}).call(this,n(28))},88:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(12),a=n.n(r),i=function(e,t){var n=t.dateRangeLength;a()(Array.isArray(e),"report must be an array to partition."),a()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return a.b})),n.d(t,"K",(function(){return a.c})),n.d(t,"G",(function(){return i.a})),n.d(t,"L",(function(){return i.b})),n.d(t,"I",(function(){return l})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return p})),n.d(t,"k",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"d",(function(){return _})),n.d(t,"c",(function(){return w})),n.d(t,"e",(function(){return j})),n.d(t,"b",(function(){return S})),n.d(t,"a",(function(){return N})),n.d(t,"g",(function(){return T})),n.d(t,"f",(function(){return x})),n.d(t,"o",(function(){return L})),n.d(t,"x",(function(){return D})),n.d(t,"q",(function(){return A})),n.d(t,"H",(function(){return C})),n.d(t,"t",(function(){return R})),n.d(t,"w",(function(){return P})),n.d(t,"l",(function(){return I})),n.d(t,"p",(function(){return M.b})),n.d(t,"i",(function(){return M.a})),n.d(t,"u",(function(){return B.b})),n.d(t,"r",(function(){return B.a})),n.d(t,"B",(function(){return B.c})),n.d(t,"y",(function(){return z})),n.d(t,"v",(function(){return V})),n.d(t,"F",(function(){return W})),n.d(t,"E",(function(){return G.a})),n.d(t,"h",(function(){return U})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(13),a=n(37),i=n(72),o=n(33),c=n.n(o),s=n(92),u=n.n(s),l=function(e){return u()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var a=t[r];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=e(a)),n[r]=a})),n}(e)))};n(96);var d=n(81);function f(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function g(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[f,g,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function A(e){O()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function C(e){O()(D(e),_);var t=e.split("-"),n=y()(t,3),r=n[0],a=n[1],i=n[2];return new Date(r,a-1,i)}function R(e,t){return A(I(e,t*N))}function P(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function I(e,t){O()(D(e)||Object(r.isDate)(e)&&!isNaN(e),_);var n=D(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var M=n(97),B=n(80);function z(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function V(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var H=n(27),F=n.n(H),W=function(e){return Array.isArray(e)?F()(e).sort():e},G=n(88);function U(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},90:function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return BannerNotification}));var r=n(21),a=n.n(r),i=n(7),o=n.n(i),c=n(5),s=n.n(c),u=n(15),l=n.n(u),d=n(16),f=n.n(d),g=n(1),m=n.n(g),p=n(11),v=n.n(p),b=n(204),h=n(206),y=n(84),k=n(93),O=n(0),E=n(107),_=n(3),w=n(17),j=n(86),S=n(34),N=n(26),T=n(191),x=n(192),L=n(193),D=n(199),A=n(200),C=n(71),R=n(108),P=n(118),I=n(32),M=n(201);function BannerNotification(t){var n,r=t.badgeLabel,i=t.children,c=t.className,u=void 0===c?"":c,d=t.ctaLabel,g=t.ctaLink,m=t.ctaTarget,p=t.description,B=t.dismiss,z=t.dismissExpires,V=void 0===z?0:z,H=t.format,F=void 0===H?"":H,W=t.id,G=t.isDismissible,U=void 0===G||G,q=t.learnMoreDescription,K=t.learnMoreLabel,J=t.learnMoreURL,$=t.learnMoreTarget,X=void 0===$?C.a.EXTERNAL:$,Q=t.logo,Y=t.module,Z=t.moduleName,ee=t.onCTAClick,te=t.onView,ne=t.onDismiss,re=t.onLearnMoreClick,ae=t.showOnce,ie=void 0!==ae&&ae,oe=t.SmallImageSVG,ce=t.title,se=t.type,ue=t.WinImageSVG,le=t.showSmallWinImage,de=void 0===le||le,fe=t.smallWinImageSVGWidth,ge=void 0===fe?75:fe,me=t.smallWinImageSVGHeight,pe=void 0===me?75:me,ve=t.mediumWinImageSVGWidth,be=void 0===ve?105:ve,he=t.mediumWinImageSVGHeight,ye=void 0===he?105:he,ke=t.rounded,Oe=void 0!==ke&&ke,Ee=t.footer,_e=t.secondaryPane,we=t.ctaComponent,je=Object(O.useState)(!1),Se=f()(je,2),Ne=Se[0],Te=Se[1],xe=Object(O.useState)(!1),Le=f()(xe,2),De=Le[0],Ae=Le[1],Ce="notification::dismissed::".concat(W),Re=function(){return Object(S.f)(Ce,new Date,{ttl:null})},Pe=Object(k.a)(),Ie=Object(N.e)(),Me=Object(b.a)(),Be=Object(O.useState)(!1),ze=f()(Be,2),Ve=ze[0],He=ze[1],Fe=Object(O.useRef)(),We=Object(h.a)(Fe,{rootMargin:"".concat(-Object(P.a)(Object(j.c)(Ie)),"px 0px 0px 0px"),threshold:0});Object(O.useEffect)((function(){!Ve&&(null==We?void 0:We.isIntersecting)&&("function"==typeof te&&te(),He(!0))}),[W,te,Ve,We]);var Ge=Pe>=600;Object(y.a)(l()(s.a.mark((function e(){var t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(V>0)){e.next=3;break}return e.next=3,Qe();case 3:if(!U){e.next=9;break}return e.next=6,Object(S.d)(Ce);case 6:t=e.sent,n=t.cacheHit,Ae(n);case 9:if(!ie){e.next=12;break}return e.next=12,Re();case 12:case"end":return e.stop()}}),e)}))));var Ue=function(){var e=l()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(E.a)(g)&&"_blank"!==m,Ke=function(){return qe||Te(!0),new Promise((function(e){setTimeout(l()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Re();case 2:Me()&&Ae(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Je=Object(_.useSelect)((function(e){return!!g&&e(I.a).isNavigatingTo(g)})),$e=Object(_.useDispatch)(I.a).navigateTo,Xe=function(){var e=l()(s.a.mark((function e(t){var n,r,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,a=r.dismissOnCTAClick,n=void 0===a||a;case 12:if(!U||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&$e(g);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Qe=function(){var e=l()(s.a.mark((function e(){var t,n,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.d)(Ce);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(V,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=n.invertColor,o=void 0!==i&&i;return Object(r.a)(e.createElement(a.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),a=n.n(r),i=n(13),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=u(u({},l),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(a,n),d=Object(c.a)(a,n,s,r),f={},g=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),j),{strong:e.createElement("strong",null)}))),e.createElement(l.DialogFooter,null,e.createElement(l.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:g,disabled:x},Object(u.__)("Cancel","google-site-kit")),P?e.createElement(l.Button,{href:P,onClick:k,target:"_blank",danger:N},w):e.createElement(l.SpinnerButton,{onClick:k,danger:N,disabled:x,isSaving:x},w||Object(u.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:a.a.string,dialogActive:a.a.bool,handleDialog:a.a.func,handleConfirm:a.a.func.isRequired,onOpen:a.a.func,onClose:a.a.func,title:a.a.string,confirmButton:a.a.string,danger:a.a.bool,small:a.a.bool,medium:a.a.bool,buttonLink:a.a.string},t.a=ModalDialog}).call(this,n(4))},115:function(e,t,n){"use strict";var r=n(1),a=n(38),i=Object(r.createContext)(a.a);t.a=i},120:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(20),a=n.n(r),i=n(157),o=n.n(i),c=n(11),s=n.n(c),u=n(0),l=n.n(u),d=n(2),f=n(10),g=n(158),m=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,u=t.primaryProps,l=t.size,p=t.step,v=t.tooltipProps,b=l>1?Object(g.a)(l):[],h=function(e){return s()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",a()({className:s()("googlesitekit-tour-tooltip",p.className)},v),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(i.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},b.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:h(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(f.Button,a()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,u.title&&e.createElement(f.Button,a()({className:"googlesitekit-tooltip-button",text:!0},u),u.title))),e.createElement(f.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:l.a.object.isRequired,closeProps:l.a.object.isRequired,index:l.a.number.isRequired,isLastStep:l.a.bool.isRequired,primaryProps:l.a.object.isRequired,size:l.a.number.isRequired,step:l.a.shape({content:l.a.node,title:l.a.node.isRequired,cta:l.a.oneOfType([l.a.element,l.a.bool]),className:l.a.string}).isRequired,tooltipProps:l.a.object.isRequired}}).call(this,n(4))},121:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(14),a=function(e){return Object(r.isFinite)(e)?e:0}},124:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(20),a=n.n(r),i=n(7),o=n.n(i),c=n(25),s=n.n(c),u=n(0),l=n.n(u),d=n(11),f=n.n(d);function Cell(t){var n,r=t.className,i=t.alignTop,c=t.alignMiddle,u=t.alignBottom,l=t.alignRight,d=t.alignLeft,g=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,v=t.smSize,b=t.smStart,h=t.smOrder,y=t.mdSize,O=t.mdStart,k=t.mdOrder,E=t.lgSize,_=t.lgStart,w=t.lgOrder,j=t.size,S=t.children,N=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",a()({},N,{className:f()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":i,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":u,"mdc-layout-grid__cell--align-right":l,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":g,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},o()(n,"mdc-layout-grid__cell--span-".concat(j),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(E,"-desktop"),12>=E&&E>0),o()(n,"mdc-layout-grid__cell--start-".concat(_,"-desktop"),12>=_&&_>0),o()(n,"mdc-layout-grid__cell--order-".concat(w,"-desktop"),12>=w&&w>0),o()(n,"mdc-layout-grid__cell--span-".concat(y,"-tablet"),8>=y&&y>0),o()(n,"mdc-layout-grid__cell--start-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--order-".concat(k,"-tablet"),8>=k&&k>0),o()(n,"mdc-layout-grid__cell--span-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--start-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),S)}Cell.propTypes={smSize:l.a.number,smStart:l.a.number,smOrder:l.a.number,mdSize:l.a.number,mdStart:l.a.number,mdOrder:l.a.number,lgSize:l.a.number,lgStart:l.a.number,lgOrder:l.a.number,size:l.a.number,alignTop:l.a.bool,alignMiddle:l.a.bool,alignBottom:l.a.bool,alignRight:l.a.bool,alignLeft:l.a.bool,smAlignRight:l.a.bool,mdAlignRight:l.a.bool,lgAlignRight:l.a.bool,className:l.a.string,children:l.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(20),a=n.n(r),i=n(25),o=n.n(i),c=n(0),s=n.n(c),u=n(11),l=n.n(u),d=n(1),f=Object(d.forwardRef)((function(t,n){var r=t.className,i=t.children,c=o()(t,["className","children"]);return e.createElement("div",a()({ref:n,className:l()("mdc-layout-grid__inner",r)},c),i)}));f.displayName="Row",f.propTypes={className:s.a.string,children:s.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},126:function(e,t,n){"use strict";(function(e){var r=n(20),a=n.n(r),i=n(25),o=n.n(i),c=n(0),s=n.n(c),u=n(11),l=n.n(u),d=n(1),f=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,i=t.fill,c=t.className,s=t.children,u=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",a()({className:l()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":u,"mdc-layout-grid--fill":i})},d,{ref:n}),s)}));f.displayName="Grid",f.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},1262:function(e,t,n){"use strict";n.r(t),function(e){var t=n(332),r=n(144),a=n(1084),i=n(22),o=n(219);Object(t.a)((function(){var t=document.getElementById("js-googlesitekit-activation");t&&(Object(r.render)(e.createElement(o.a,{viewContext:i.h},e.createElement(a.a,null)),t),t.classList.remove("googlesitekit-activation--loading"))}))}.call(this,n(4))},127:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=e.sent,i=a.cacheHit,o=a.value,!i){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e)})),createSnapshot:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},i=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(g.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(g.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(g.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:i,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,i=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return e}}}},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(v(e).map((function(e){return e.getActions().createSnapshot()})))},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(v(e).map((function(e){return e.getActions().restoreSnapshot()})))}},136:function(e,t,n){"use strict";var r=n(1),a=Object(r.createContext)(!1);t.a=a},139:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t1280?a:e>960?i:e>600?o:c}},249:function(e,t,n){"use strict";(function(e){var r=n(2),a=n(139),i=n(250),o=n(103);t.a=function Logo(){return e.createElement("div",{className:"googlesitekit-logo","aria-hidden":"true"},e.createElement(a.a,{className:"googlesitekit-logo__logo-g",height:"34",width:"32"}),e.createElement(i.a,{className:"googlesitekit-logo__logo-sitekit",height:"26",width:"99"}),e.createElement(o.a,null,Object(r.__)("Site Kit by Google Logo","google-site-kit")))}}).call(this,n(4))},250:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},o=i.ttl,s=void 0===o?c.b:o,u=i.timestamp,l=void 0===u?Math.round(Date.now()/1e3):u,d=i.isError,g=void 0!==d&&d,t.next=3,v();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(f).concat(n),JSON.stringify({timestamp:l,ttl:s,value:r,isError:g})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),O=function(){var t=o()(a.a.mark((function t(n){var r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,i=n.startsWith(d)?n:"".concat(f).concat(n),r.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),k=function(){var t=o()(a.a.mark((function t(){var n,r,i,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,n(28))},40:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a}));var r="_googlesitekitDataLayer",a="data-googlesitekit-gtag"},58:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(40);function a(e){return function(){e[r.a]=e[r.a]||[],e[r.a].push(arguments)}}},59:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(1),a=Object(r.createContext)(""),i=(a.Consumer,a.Provider);t.b=a},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"e",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return s})),n.d(t,"M",(function(){return u})),n.d(t,"O",(function(){return l})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return f})),n.d(t,"J",(function(){return g})),n.d(t,"I",(function(){return m})),n.d(t,"N",(function(){return p})),n.d(t,"f",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"h",(function(){return h})),n.d(t,"j",(function(){return y})),n.d(t,"l",(function(){return O})),n.d(t,"m",(function(){return k})),n.d(t,"n",(function(){return E})),n.d(t,"o",(function(){return _})),n.d(t,"q",(function(){return w})),n.d(t,"s",(function(){return j})),n.d(t,"r",(function(){return S})),n.d(t,"t",(function(){return N})),n.d(t,"w",(function(){return T})),n.d(t,"u",(function(){return x})),n.d(t,"v",(function(){return L})),n.d(t,"x",(function(){return D})),n.d(t,"y",(function(){return A})),n.d(t,"A",(function(){return C})),n.d(t,"B",(function(){return R})),n.d(t,"C",(function(){return P})),n.d(t,"D",(function(){return I})),n.d(t,"k",(function(){return M})),n.d(t,"F",(function(){return B})),n.d(t,"z",(function(){return z})),n.d(t,"G",(function(){return V})),n.d(t,"E",(function(){return H})),n.d(t,"i",(function(){return F})),n.d(t,"p",(function(){return W})),n.d(t,"Q",(function(){return G})),n.d(t,"P",(function(){return U}));var r="core/user",a="connected_url_mismatch",i="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",d="googlesitekit_manage_options",f="googlesitekit_read_shared_module_data",g="googlesitekit_manage_module_sharing_options",m="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",v="kmAnalyticsAdSenseTopEarningContent",b="kmAnalyticsEngagedTrafficSource",h="kmAnalyticsLeastEngagingPages",y="kmAnalyticsNewVisitors",O="kmAnalyticsPopularAuthors",k="kmAnalyticsPopularContent",E="kmAnalyticsPopularProducts",_="kmAnalyticsReturningVisitors",w="kmAnalyticsTopCities",j="kmAnalyticsTopCitiesDrivingLeads",S="kmAnalyticsTopCitiesDrivingAddToCart",N="kmAnalyticsTopCitiesDrivingPurchases",T="kmAnalyticsTopDeviceDrivingPurchases",x="kmAnalyticsTopConvertingTrafficSource",L="kmAnalyticsTopCountries",D="kmAnalyticsTopPagesDrivingLeads",A="kmAnalyticsTopRecentTrendingPages",C="kmAnalyticsTopTrafficSource",R="kmAnalyticsTopTrafficSourceDrivingAddToCart",P="kmAnalyticsTopTrafficSourceDrivingLeads",I="kmAnalyticsTopTrafficSourceDrivingPurchases",M="kmAnalyticsPagesPerVisit",B="kmAnalyticsVisitLength",z="kmAnalyticsTopReturningVisitorPages",V="kmSearchConsolePopularKeywords",H="kmAnalyticsVisitsPerVisitor",F="kmAnalyticsMostEngagingPages",W="kmAnalyticsTopCategories",G=[v,b,h,y,O,k,E,_,W,w,j,S,N,T,x,L,A,C,R,M,B,z,H,F,W],U=[].concat(G,[V])},66:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,n="object"===a()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},73:function(e,t,n){"use strict";var r=n(15),a=n.n(r),i=n(259),o=n(0),c=n.n(o),s=n(1),u=n(144);function Portal(e){var t=e.children,n=e.slug,r=Object(s.useState)(document.createElement("div")),o=a()(r,1)[0];return Object(i.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(u.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},75:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:c,t=e.fps,n=e.leading,r=e.initialWidth,l=void 0===r?0:r,d=e.initialHeight,f=void 0===d?0:d,g=Object(i.a)("undefined"==typeof document?[l,f]:u,t,n),m=a()(g,2),p=m[0],v=m[1],b=function(){return v(u)};return Object(o.a)(s,"resize",b),Object(o.a)(s,"orientationchange",b),p},d=function(e){return l(e)[0]}}).call(this,n(28))},78:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(0),a=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,a=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:a}},n)}IconWrapper.propTypes={children:a.a.node.isRequired,marginLeft:a.a.number,marginRight:a.a.number}}).call(this,n(4))},81:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(107);function a(e){try{return new URL(e).pathname}catch(e){}return null}function i(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function o(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(e,t){if(!Object(r.a)(e))return e;if(e.length<=t)return e;var n=new URL(e),a=e.replace(n.origin,"");if(a.length1&&void 0!==arguments[1]?arguments[1]:{},n=O(e,t),r=n.formatUnit,a=n.formatDecimal;try{return r()}catch(e){return a()}},h=function(e){var t=y(e),n=t.hours,r=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(a):"".concat(n,":").concat(r,":").concat(a)},y=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},O=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=y(e),r=n.hours,a=n.minutes,i=n.seconds;return{hours:r,minutes:a,seconds:i,formatUnit:function(){var n=t.unitDisplay,o=v(v({unitDisplay:void 0===n?"short":n},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?S(i,v(v({},o),{},{unit:"second"})):Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?S(i,v(v({},o),{},{unit:"second"})):"",a?S(a,v(v({},o),{},{unit:"minute"})):"",r?S(r,v(v({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. +Object(m.__)("%ds","google-site-kit"),i);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. +Object(m.__)("%dm","google-site-kit"),a),o=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. +Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",a?n:"",r?o:"").trim()}}},k=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},E=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. +Object(m.__)("%sM","google-site-kit"),S(k(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),S(k(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),S(k(e),e%10==0?{}:t)):S(e,{signDisplay:"never",maximumFractionDigits:1})};function _(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=v({},e)),t}function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=_(t),r=n.style,a=void 0===r?"metric":r;return"metric"===a?E(e):"duration"===a?b(e,n):"durationISO"===a?h(e):S(e,n)}var j=g()(console.warn),S=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?T():n,i=l()(t,["locale"]);try{return new Intl.NumberFormat(r,i).format(e)}catch(t){j("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],u={},d=0,f=Object.entries(i);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?T():n,a=t.style,i=void 0===a?"long":a,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:i,type:c});return s.format(e)} +/* translators: used between list items, there is a space after the comma. */var u=Object(m.__)(", ","google-site-kit");return e.join(u)},T=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},83:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a}));var r=n(147),a=n.n(r)()(e)}).call(this,n(28))},86:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i);function ChangeArrow(t){var n=t.direction,r=t.invertColor,a=t.width,i=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},87:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(24),a=n(121);function i(t,n){var r=document.querySelector(t);if(!r)return 0;var a=r.getBoundingClientRect().top,i=o(n);return a+e.scrollY-i}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,i=document.querySelector(".googlesitekit-header");return n=!!i&&"sticky"===e.getComputedStyle(i).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(a.a)(n))<0?0:n}}).call(this,n(28))},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(12),a=n.n(r),i=function(e,t){var n=t.dateRangeLength;a()(Array.isArray(e),"report must be an array to partition."),a()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return a.b})),n.d(t,"K",(function(){return a.c})),n.d(t,"G",(function(){return i.a})),n.d(t,"L",(function(){return i.b})),n.d(t,"I",(function(){return l})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return p})),n.d(t,"k",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"d",(function(){return _})),n.d(t,"c",(function(){return w})),n.d(t,"e",(function(){return j})),n.d(t,"b",(function(){return S})),n.d(t,"a",(function(){return N})),n.d(t,"g",(function(){return T})),n.d(t,"f",(function(){return x})),n.d(t,"o",(function(){return L})),n.d(t,"x",(function(){return D})),n.d(t,"q",(function(){return A})),n.d(t,"H",(function(){return C})),n.d(t,"t",(function(){return R})),n.d(t,"w",(function(){return P})),n.d(t,"l",(function(){return I})),n.d(t,"p",(function(){return M.b})),n.d(t,"i",(function(){return M.a})),n.d(t,"u",(function(){return B.b})),n.d(t,"r",(function(){return B.a})),n.d(t,"B",(function(){return B.c})),n.d(t,"y",(function(){return z})),n.d(t,"v",(function(){return V})),n.d(t,"F",(function(){return W})),n.d(t,"E",(function(){return G.a})),n.d(t,"h",(function(){return U})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(14),a=n(37),i=n(72),o=n(33),c=n.n(o),s=n(93),u=n.n(s),l=function(e){return u()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var a=t[r];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=e(a)),n[r]=a})),n}(e)))};n(96);var d=n(82);function f(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function g(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[f,g,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function A(e){k()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function C(e){k()(D(e),_);var t=e.split("-"),n=y()(t,3),r=n[0],a=n[1],i=n[2];return new Date(r,a-1,i)}function R(e,t){return A(I(e,t*N))}function P(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function I(e,t){k()(D(e)||Object(r.isDate)(e)&&!isNaN(e),_);var n=D(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var M=n(97),B=n(81);function z(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function V(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var H=n(27),F=n.n(H),W=function(e){return Array.isArray(e)?F()(e).sort():e},G=n(89);function U(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},94:function(e,t,n){"use strict";(function(e,r){n.d(t,"c",(function(){return h})),n.d(t,"b",(function(){return O})),n.d(t,"a",(function(){return TourTooltips}));var a=n(7),i=n.n(a),o=n(85),c=n(30),s=n(0),u=n.n(s),l=n(2),d=n(3),f=n(23),g=n(6),m=n(37),p=n(120),v=n(18);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var h={options:{arrowColor:"#3c7251",backgroundColor:"#3c7251",overlayColor:"rgba(0, 0, 0, 0.6)",textColor:"#fff",zIndex:2e4},spotlight:{border:"2px solid #3c7251",backgroundColor:"#fff"}},y={back:Object(l.__)("Back","google-site-kit"),close:Object(l.__)("Close","google-site-kit"),last:Object(l.__)("Got it","google-site-kit"),next:Object(l.__)("Next","google-site-kit")},O={disableAnimation:!0,styles:{arrow:{length:8,margin:56,spread:16},floater:{filter:"drop-shadow(rgba(60, 64, 67, 0.3) 0px 1px 2px) drop-shadow(rgba(60, 64, 67, 0.15) 0px 2px 6px)"}}},k="feature_tooltip_view",E="feature_tooltip_advance",_="feature_tooltip_return",w="feature_tooltip_dismiss",j="feature_tooltip_complete";function TourTooltips(t){var n=t.steps,a=t.tourID,s=t.gaEventCategory,u=t.callback,l="".concat(a,"-step"),S="".concat(a,"-run"),N=Object(d.useDispatch)(f.b).setValue,T=Object(d.useDispatch)(g.a).dismissTour,x=Object(d.useRegistry)(),L=Object(v.a)(),D=Object(d.useSelect)((function(e){return e(f.b).getValue(l)})),A=Object(d.useSelect)((function(e){return e(f.b).getValue(S)&&!1===e(g.a).isTourDismissed(a)}));Object(o.a)((function(){e.document.body.classList.add("googlesitekit-showing-feature-tour","googlesitekit-showing-feature-tour--".concat(a)),N(S,!0)}));var C=n.map((function(e){return function(e){for(var t=1;t=600;Object(y.a)(l()(s.a.mark((function e(){var t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(V>0)){e.next=3;break}return e.next=3,Qe();case 3:if(!U){e.next=9;break}return e.next=6,Object(j.d)(Ce);case 6:t=e.sent,n=t.cacheHit,Ae(n);case 9:if(!ie){e.next=12;break}return e.next=12,Re();case 12:case"end":return e.stop()}}),e)}))));var Ue=function(){var e=l()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(k.a)(g)&&"_blank"!==m,Ke=function(){return qe||Te(!0),new Promise((function(e){setTimeout(l()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Re();case 2:Me()&&Ae(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Je=Object(E.useSelect)((function(e){return!!g&&e(P.a).isNavigatingTo(g)})),$e=Object(E.useDispatch)(P.a).navigateTo,Xe=function(){var e=l()(s.a.mark((function e(t){var n,r,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,a=r.dismissOnCTAClick,n=void 0===a||a;case 12:if(!U||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&$e(g);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Qe=function(){var e=l()(s.a.mark((function e(){var t,n,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(j.d)(Ce);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(V,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=n.invertColor,o=void 0!==i&&i;return Object(r.a)(e.createElement(a.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),a=n.n(r),i=n(14),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=u(u({},l),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(a,n),d=Object(c.a)(a,n,s,r),f={},g=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),j),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:f,disabled:C},Object(l.__)("Cancel","google-site-kit")),M?e.createElement(u.Button,{href:M,onClick:E,target:"_blank",danger:N},S):e.createElement(u.SpinnerButton,{onClick:E,danger:N,disabled:C,isSaving:C},S||Object(l.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:a.a.string,dialogActive:a.a.bool,handleDialog:a.a.func,handleConfirm:a.a.func.isRequired,onOpen:a.a.func,onClose:a.a.func,title:a.a.string,confirmButton:a.a.string,danger:a.a.bool,small:a.a.bool,medium:a.a.bool,buttonLink:a.a.string},t.a=ModalDialog}).call(this,n(4))},115:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(380),a=function(e,t,n){Object(r.a)((function(n){return e.includes(n.keyCode)&&t.current.contains(n.target)}),n)}},117:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(21),a=n.n(r),i=n(155),o=n.n(i),c=n(11),s=n.n(c),l=n(1),u=n.n(l),d=n(2),g=n(10),f=n(156),m=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,l=t.primaryProps,u=t.size,p=t.step,b=t.tooltipProps,v=u>1?Object(f.a)(u):[],h=function(e){return s()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",a()({className:s()("googlesitekit-tour-tooltip",p.className)},b),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(i.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},v.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:h(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(g.Button,a()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,l.title&&e.createElement(g.Button,a()({className:"googlesitekit-tooltip-button",text:!0},l),l.title))),e.createElement(g.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(13),a=function(e){return Object(r.isFinite)(e)?e:0}},119:function(e,t,n){"use strict";var r=n(0),a=n(40),i=Object(r.createContext)(a.a);t.a=i},123:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(21),a=n.n(r),i=n(7),o=n.n(i),c=n(24),s=n.n(c),l=n(1),u=n.n(l),d=n(11),g=n.n(d);function Cell(t){var n,r=t.className,i=t.alignTop,c=t.alignMiddle,l=t.alignBottom,u=t.alignRight,d=t.alignLeft,f=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,b=t.smSize,v=t.smStart,h=t.smOrder,_=t.mdSize,O=t.mdStart,E=t.mdOrder,k=t.lgSize,y=t.lgStart,S=t.lgOrder,j=t.size,w=t.children,N=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",a()({},N,{className:g()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":i,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":l,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":f,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},o()(n,"mdc-layout-grid__cell--span-".concat(j),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--start-".concat(y,"-desktop"),12>=y&&y>0),o()(n,"mdc-layout-grid__cell--order-".concat(S,"-desktop"),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(_,"-tablet"),8>=_&&_>0),o()(n,"mdc-layout-grid__cell--start-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--order-".concat(E,"-tablet"),8>=E&&E>0),o()(n,"mdc-layout-grid__cell--span-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--start-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},124:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(1),s=n.n(c),l=n(11),u=n.n(l),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.className,i=t.children,c=o()(t,["className","children"]);return e.createElement("div",a()({ref:n,className:u()("mdc-layout-grid__inner",r)},c),i)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},1243:function(e,t,n){"use strict";n.r(t),function(e){var t=n(326),r=n(141),a=n(22),i=n(652),o=n(216);Object(t.a)((function(){var t=document.getElementById("js-googlesitekit-ad-blocking-recovery");t&&Object(r.render)(e.createElement(o.a,{viewContext:a.k},e.createElement(i.a,null)),t)}))}.call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(1),s=n.n(c),l=n(11),u=n.n(l),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,i=t.fill,c=t.className,s=t.children,l=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",a()({className:u()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":l,"mdc-layout-grid--fill":i})},d,{ref:n}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},126:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=e.sent,i=a.cacheHit,o=a.value,!i){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e)})),createSnapshot:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},i=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(f.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(f.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(f.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:i,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,i=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return e}}}},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(b(e).map((function(e){return e.getActions().createSnapshot()})))},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(b(e).map((function(e){return e.getActions().restoreSnapshot()})))}},132:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(11),o=n.n(i),c=n(38),s=n(2),l=n(20),u=n(35);function SourceLink(t){var n=t.name,r=t.href,a=t.className,i=t.external;return Object(u.a)()?null:e.createElement("div",{className:o()("googlesitekit-source-link",a)},Object(c.a)(Object(s.sprintf)( -/* translators: %s: source link */ -Object(s.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(l.a,{key:"link",href:r,external:i})}))}SourceLink.propTypes={name:a.a.string,href:a.a.string,className:a.a.string,external:a.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},135:function(e,t,n){"use strict";var r=n(0),a=Object(r.createContext)(!1);t.a=a},136:function(e,t,n){"use strict";n.d(t,"d",(function(){return r})),n.d(t,"e",(function(){return a})),n.d(t,"j",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"g",(function(){return c})),n.d(t,"k",(function(){return s})),n.d(t,"c",(function(){return l})),n.d(t,"b",(function(){return u})),n.d(t,"h",(function(){return d})),n.d(t,"f",(function(){return g})),n.d(t,"i",(function(){return f})),n.d(t,"l",(function(){return m})),n.d(t,"n",(function(){return p})),n.d(t,"r",(function(){return b})),n.d(t,"m",(function(){return v})),n.d(t,"p",(function(){return h})),n.d(t,"q",(function(){return _})),n.d(t,"o",(function(){return O})),n.d(t,"t",(function(){return E})),n.d(t,"s",(function(){return k}));var r="disapproved",a="graylisted",i="pending",o="approved",c="needs-attention",s="ready",l="client-requires-review",u="client-getting-ready",d="none",g="multiple",f="no-client",m="added",p="needs-attention",b="requires-review",v="getting-ready",h="ready",_="ready-no-auto-ads",O="none",E=[r,a,i,o],k=function(e){return e===a||e===i}},137:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},a=n.slug,i=void 0===a?"":a,o=n.name,c=void 0===o?"":o,s=n.owner,l=void 0===s?{}:s;if(!i||!c)return e;var u="",d="";return"analytics-4"===i?e.match(/account/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===i&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),u||(u=Object(r.sprintf)( -/* translators: %s: module name */ -Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),c)),l&&l.login&&(d=Object(r.sprintf)( -/* translators: %s: owner name */ -Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),l.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(u," ").concat(d)}},17:function(e,t,n){"use strict";var r=n(243);n.d(t,"i",(function(){return r.a}));var a=n(312);n.d(t,"f",(function(){return a.a}));var i=n(313);n.d(t,"h",(function(){return i.a}));var o=n(314);n.d(t,"j",(function(){return o.a}));var c=n(311);n.d(t,"g",(function(){return c.a}));var s=n(89),l=n.n(s);n.d(t,"b",(function(){return l.a})),n.d(t,"c",(function(){return s.DialogContent})),n.d(t,"d",(function(){return s.DialogFooter}));var u=n(102);n.d(t,"a",(function(){return u.a})),n.d(t,"e",(function(){return u.b})),n.d(t,"k",(function(){return u.c}))},170:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GenericErrorHandlerActions}));var r=n(1),a=n.n(r),i=n(2),o=n(20),c=n(189);function GenericErrorHandlerActions(t){var n=t.message,r=t.componentStack;return e.createElement("div",{className:"googlesitekit-generic-error-handler-actions"},e.createElement(c.a,{message:n,componentStack:r}),e.createElement(o.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0},Object(i.__)("Report this problem","google-site-kit")))}GenericErrorHandlerActions.propTypes={message:a.a.string,componentStack:a.a.string}}).call(this,n(4))},171:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(22),a=function(e){return r.f.includes(e)}},173:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LoadingWrapper}));var r=n(7),a=n.n(r),i=n(24),o=n.n(i),c=n(1),s=n.n(c),l=n(42);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function LoadingWrapper(t){var n=t.loading,r=t.children,a=o()(t,["loading","children"]);return n?e.createElement(l.a,a):r}LoadingWrapper.propTypes=function(e){for(var t=1;tHelp us improve Site Kit by sharing anonymous usage data. All collected data is treated in accordance with the Google Privacy Policy.","google-site-kit"),{a:e.createElement(h.a,{key:"link",href:"https://policies.google.com/privacy",external:!0}),span:e.createElement("span",null)})),(null==S?void 0:S.message)&&e.createElement("div",{className:"googlesitekit-error-text"},null==S?void 0:S.message))}OptIn.propTypes={id:s.a.string,name:s.a.string,className:s.a.string,trackEventCategory:s.a.string,alignLeftCheckbox:s.a.bool}}).call(this,n(4))},213:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Item}));var r=n(1),a=n.n(r);function Item(t){var n=t.icon,r=t.label;return e.createElement("div",{className:"googlesitekit-user-menu__item"},e.createElement("div",{className:"googlesitekit-user-menu__item-icon"},n),e.createElement("span",{className:"googlesitekit-user-menu__item-label"},r))}Item.propTypes={icon:a.a.node,label:a.a.string}}).call(this,n(4))},216:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Root}));var r=n(16),a=n.n(r),i=n(1),o=n.n(i),c=n(420),s=n(527),l=n(0),u=n(3),d=n.n(u),g=n(217),f=n(218),m=n(40),p=n(219),b=n(221),v=n(222),h=n(58),_=n(157),O=n(171);function Root(t){var n=t.children,r=t.registry,i=t.viewContext,o=void 0===i?null:i,d=c.a,E=Object(l.useState)({key:"Root",value:!0}),k=a()(E,1)[0];return e.createElement(l.StrictMode,null,e.createElement(_.a,{value:k},e.createElement(u.RegistryProvider,{value:r},e.createElement(f.a,{value:m.a},e.createElement(h.a,{value:o},e.createElement(s.a,{theme:d()},e.createElement(g.a,null,e.createElement(b.a,null,n,o&&e.createElement(v.a,null)),Object(O.a)(o)&&e.createElement(p.a,null))))))))}Root.propTypes={children:o.a.node,registry:o.a.object,viewContext:o.a.string.isRequired},Root.defaultProps={registry:d.a}}).call(this,n(4))},217:function(e,t,n){"use strict";(function(e,r){var a=n(51),i=n.n(a),o=n(53),c=n.n(o),s=n(68),l=n.n(s),u=n(69),d=n.n(u),g=n(49),f=n.n(g),m=n(1),p=n.n(m),b=n(0),v=n(2),h=n(170),_=n(58),O=n(90),E=n(9);function k(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f()(e);if(t){var a=f()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return d()(this,n)}}var y=function(t){l()(ErrorHandler,t);var n=k(ErrorHandler);function ErrorHandler(e){var t;return i()(this,ErrorHandler),(t=n.call(this,e)).state={error:null,info:null,copied:!1},t}return c()(ErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Caught an error:",t,n),this.setState({error:t,info:n}),Object(E.J)("react_error","handle_".concat(this.context||"unknown","_error"),"".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,a=t.info;return n?r.createElement(O.b,{id:"googlesitekit-error",className:"googlesitekit-error-handler",title:Object(v.__)("Site Kit encountered an error","google-site-kit"),description:r.createElement(h.a,{message:n.message,componentStack:a.componentStack}),isDismissible:!1,format:"small",type:"win-error"},r.createElement("pre",{className:"googlesitekit-overflow-auto"},n.message,a.componentStack)):e}}]),ErrorHandler}(b.Component);y.contextType=_.b,y.propTypes={children:p.a.node.isRequired},t.a=y}).call(this,n(28),n(4))},218:function(e,t,n){"use strict";var r=n(119),a=(r.a.Consumer,r.a.Provider);t.a=a},219:function(e,t,n){"use strict";(function(e){var r=n(3),a=n(220),i=n(6);t.a=function PermissionsModal(){return Object(r.useSelect)((function(e){return e(i.a).isAuthenticated()}))?e.createElement(a.a,null):null}}).call(this,n(4))},22:function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return a})),n.d(t,"o",(function(){return i})),n.d(t,"m",(function(){return o})),n.d(t,"t",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"s",(function(){return l})),n.d(t,"i",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"u",(function(){return m})),n.d(t,"v",(function(){return p})),n.d(t,"q",(function(){return b})),n.d(t,"p",(function(){return v})),n.d(t,"b",(function(){return h})),n.d(t,"e",(function(){return _})),n.d(t,"a",(function(){return O})),n.d(t,"d",(function(){return E})),n.d(t,"c",(function(){return k})),n.d(t,"f",(function(){return y})),n.d(t,"g",(function(){return S}));var r="mainDashboard",a="entityDashboard",i="mainDashboardViewOnly",o="entityDashboardViewOnly",c="userInput",s="activation",l="splash",u="adminBar",d="adminBarViewOnly",g="settings",f="adBlockingRecovery",m="wpDashboard",p="wpDashboardViewOnly",b="moduleSetup",v="metricSelection",h="key-metrics",_="traffic",O="content",E="speed",k="monetization",y=[r,a,i,o,c,l,g,b,v],S=[i,o,d,p]},220:function(e,t,n){"use strict";(function(e,r){var a=n(5),i=n.n(a),o=n(15),c=n.n(o),s=n(2),l=n(0),u=n(3),d=n(112),g=n(29),f=n(32),m=n(6),p=n(130),b=n(73);t.a=function AuthenticatedPermissionsModal(){var t,n,a,o,v=Object(u.useRegistry)(),h=Object(u.useSelect)((function(e){return e(m.a).getPermissionScopeError()})),_=Object(u.useSelect)((function(e){return e(m.a).getUnsatisfiedScopes()})),O=Object(u.useSelect)((function(t){var n,r,a;return t(m.a).getConnectURL({additionalScopes:null==h||null===(n=h.data)||void 0===n?void 0:n.scopes,redirectURL:(null==h||null===(r=h.data)||void 0===r?void 0:r.redirectURL)||e.location.href,errorRedirectURL:null==h||null===(a=h.data)||void 0===a?void 0:a.errorRedirectURL})})),E=Object(u.useDispatch)(m.a).clearPermissionScopeError,k=Object(u.useDispatch)(f.a).navigateTo,y=Object(u.useDispatch)(g.a).setValues,S=Object(l.useCallback)((function(){E()}),[E]),j=Object(l.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return y(m.d,{permissionsError:h}),e.next=3,Object(p.c)(v);case 3:k(O);case 4:case"end":return e.stop()}}),e)}))),[v,O,k,h,y]);return Object(l.useEffect)((function(){(function(){var e=c()(i.a.mark((function e(){var t,n,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(null==h||null===(t=h.data)||void 0===t?void 0:t.skipModal)||!(null==h||null===(n=h.data)||void 0===n||null===(r=n.scopes)||void 0===r?void 0:r.length)){e.next=3;break}return e.next=3,j();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}),[j,h]),h?(null==h||null===(t=h.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.length)?(null==h||null===(a=h.data)||void 0===a?void 0:a.skipModal)||_&&(null==h||null===(o=h.data)||void 0===o?void 0:o.scopes.every((function(e){return _.includes(e)})))?null:r.createElement(b.a,null,r.createElement(d.a,{title:Object(s.__)("Additional Permissions Required","google-site-kit"),subtitle:h.message,confirmButton:Object(s.__)("Proceed","google-site-kit"),dialogActive:!0,handleConfirm:j,handleDialog:S,medium:!0})):(e.console.warn("permissionsError lacks scopes array to use for redirect, so not showing the PermissionsModal. permissionsError was:",h),null):null}}).call(this,n(28),n(4))},221:function(e,t,n){"use strict";var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(16),s=n.n(c),l=n(0),u=n(3),d=n(130);t.a=function RestoreSnapshots(e){var t=e.children,n=Object(u.useRegistry)(),r=Object(l.useState)(!1),i=s()(r,2),c=i[0],g=i[1];return Object(l.useEffect)((function(){c||o()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(n);case 2:g(!0);case 3:case"end":return e.stop()}}),e)})))()}),[n,c]),c?t:null}},222:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return FeatureTours}));var a=n(84),i=n(0),o=n(3),c=n(6),s=n(18),l=n(94);function FeatureTours(){var t=Object(s.a)(),n=Object(o.useDispatch)(c.a).triggerTourForView;Object(a.a)((function(){n(t)}));var u=Object(o.useSelect)((function(e){return e(c.a).getCurrentTour()}));return Object(i.useEffect)((function(){if(u){var t=document.getElementById("js-googlesitekit-main-dashboard");if(t){var n=new ResizeObserver((function(){e.dispatchEvent(new Event("resize"))}));return n.observe(t),function(){n.disconnect()}}}}),[u]),u?r.createElement(l.a,{tourID:u.slug,steps:u.steps,gaEventCategory:u.gaEventCategory,callback:u.callback}):null}}).call(this,n(28),n(4))},223:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WarningNotice}));var r=n(11),a=n.n(r),i=n(1),o=n.n(i);function WarningNotice(t){var n=t.children,r=t.className;return e.createElement("div",{className:a()("googlesitekit-warning-notice",r)},n)}WarningNotice.propTypes={children:o.a.node.isRequired,className:o.a.string}}).call(this,n(4))},224:function(e,t,n){"use strict";(function(e){var r=n(16),a=n.n(r),i=n(1),o=n.n(i),c=n(11),s=n.n(c),l=n(581),u=n(2),d=n(0),g=n(3),f=n(244),m=n(265),p=n(269),b=n(6),v=n(17),h=n(274),_=n(281),O=n(283),E=n(35),k=n(54),y=n(20),S=n(289),j=n(14),w=n(290);function Header(t){var n,r=t.children,i=t.subHeader,o=t.showNavigation,c=!!Object(k.c)(),N=Object(E.a)();Object(w.a)();var A=Object(g.useSelect)((function(e){return e(j.c).getAdminURL("googlesitekit-dashboard")})),C=Object(g.useSelect)((function(e){return e(b.a).isAuthenticated()})),T=Object(l.a)({childList:!0}),x=a()(T,2),R=x[0],L=!!(null===(n=x[1].target)||void 0===n?void 0:n.childElementCount);return e.createElement(d.Fragment,null,e.createElement("header",{className:s()("googlesitekit-header",{"googlesitekit-header--has-subheader":L,"googlesitekit-header--has-navigation":o})},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{smSize:1,mdSize:2,lgSize:4,className:"googlesitekit-header__logo",alignMiddle:!0},e.createElement(y.a,{"aria-label":Object(u.__)("Go to dashboard","google-site-kit"),className:"googlesitekit-header__logo-link",href:A},e.createElement(f.a,null))),e.createElement(v.a,{smSize:3,mdSize:6,lgSize:8,className:"googlesitekit-header__children",alignMiddle:!0},r,!C&&c&&N&&e.createElement(O.a,null),C&&!N&&e.createElement(m.a,null))))),e.createElement("div",{className:"googlesitekit-subheader",ref:R},e.createElement(p.a,null),i),o&&e.createElement(h.a,null),c&&e.createElement(S.a,null),e.createElement(_.a,null))}Header.displayName="Header",Header.propTypes={children:o.a.node,subHeader:o.a.element,showNavigation:o.a.bool},Header.defaultProps={children:null,subHeader:null},t.a=Header}).call(this,n(4))},225:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return HelpMenu}));var r=n(16),a=n.n(r),i=n(1),o=n.n(i),c=n(207),s=n(0),l=n(56),u=n(2),d=n(3),g=n(10),f=n(291),m=n(115),p=n(9),b=n(162),v=n(19),h=n(18),_=n(14);function HelpMenu(t){var n=t.children,r=Object(s.useState)(!1),i=a()(r,2),o=i[0],O=i[1],E=Object(s.useRef)(),k=Object(h.a)();Object(c.a)(E,(function(){return O(!1)})),Object(m.a)([l.c,l.f],E,(function(){return O(!1)}));var y=Object(d.useSelect)((function(e){return e(v.a).isModuleActive("adsense")})),S=Object(s.useCallback)((function(){o||Object(p.J)("".concat(k,"_headerbar"),"open_helpmenu"),O(!o)}),[o,k]),j=Object(s.useCallback)((function(){O(!1)}),[]),w=Object(d.useSelect)((function(e){return e(_.c).getDocumentationLinkURL("fix-common-issues")}));return e.createElement("div",{ref:E,className:"googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},e.createElement(g.Button,{"aria-controls":"googlesitekit-help-menu","aria-expanded":o,"aria-label":Object(u.__)("Help","google-site-kit"),"aria-haspopup":"menu",className:"googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon googlesitekit-help-menu__button mdc-button--dropdown",icon:e.createElement(f.a,{width:"20",height:"20"}),onClick:S,text:!0,tooltipEnterDelayInMS:500}),e.createElement(g.Menu,{className:"googlesitekit-width-auto",menuOpen:o,id:"googlesitekit-help-menu",onSelected:j},n,e.createElement(b.a,{gaEventLabel:"fix_common_issues",href:w},Object(u.__)("Fix common issues","google-site-kit")),e.createElement(b.a,{gaEventLabel:"documentation",href:"https://sitekit.withgoogle.com/documentation/"},Object(u.__)("Read help docs","google-site-kit")),e.createElement(b.a,{gaEventLabel:"support_forum",href:"https://wordpress.org/support/plugin/google-site-kit/"},Object(u.__)("Get support","google-site-kit")),y&&e.createElement(b.a,{gaEventLabel:"adsense_help",href:"https://support.google.com/adsense/"},Object(u.__)("Get help with AdSense","google-site-kit"))))}HelpMenu.propTypes={children:o.a.node}}).call(this,n(4))},23:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}));var r="core/ui",a="activeContextID"},235:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockerWarning}));var r=n(1),a=n.n(r),i=n(3),o=n(14),c=n(19),s=n(383);function AdBlockerWarning(t){var n=t.moduleSlug,r=t.className,a=Object(i.useSelect)((function(e){return e(c.a).getModuleStoreName(n)})),l=Object(i.useSelect)((function(e){var t;return null===(t=e(a))||void 0===t?void 0:t.getAdBlockerWarningMessage()})),u=Object(i.useSelect)((function(e){return e(o.c).getDocumentationLinkURL("".concat(n,"-ad-blocker-detected"))}));return e.createElement(s.a,{className:r,getHelpLink:u,warningMessage:l})}AdBlockerWarning.propTypes={className:a.a.string,moduleSlug:a.a.string.isRequired}}).call(this,n(4))},239:function(e,t,n){"use strict";(function(e){var r=n(16),a=n.n(r),i=n(0);t.a=function(t,n){var r=Object(i.useState)(null),o=a()(r,2),c=o[0],s=o[1];return Object(i.useEffect)((function(){if(t.current&&"function"==typeof e.IntersectionObserver){var r=new e.IntersectionObserver((function(e){s(e[e.length-1])}),n);return r.observe(t.current),function(){s(null),r.disconnect()}}return function(){}}),[t.current,n.threshold,n.root,n.rootMargin]),c}}).call(this,n(28))},244:function(e,t,n){"use strict";(function(e){var r=n(2),a=n(137),i=n(245),o=n(103);t.a=function Logo(){return e.createElement("div",{className:"googlesitekit-logo","aria-hidden":"true"},e.createElement(a.a,{className:"googlesitekit-logo__logo-g",height:"34",width:"32"}),e.createElement(i.a,{className:"googlesitekit-logo__logo-sitekit",height:"26",width:"99"}),e.createElement(o.a,null,Object(r.__)("Site Kit by Google Logo","google-site-kit")))}}).call(this,n(4))},245:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1280?a:e>960?i:e>600?o:c}},265:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return UserMenu}));var a=n(5),i=n.n(a),o=n(15),c=n.n(o),s=n(16),l=n.n(s),u=n(207),d=n(0),g=n(2),f=n(56),m=n(3),p=n(10),b=n(112),v=n(9),h=n(34),_=n(73),O=n(266),E=n(213),k=n(267),y=n(268),S=n(29),j=n(14),w=n(6),N=n(32),A=n(8),C=n(115),T=n(18);function UserMenu(){var t=Object(m.useSelect)((function(e){return e(j.c).getProxyPermissionsURL()})),n=Object(m.useSelect)((function(e){return e(w.a).getEmail()})),a=Object(m.useSelect)((function(e){return e(w.a).getPicture()})),o=Object(m.useSelect)((function(e){return e(w.a).getFullName()})),s=Object(m.useSelect)((function(e){return e(j.c).getAdminURL("googlesitekit-splash",{googlesitekit_context:"revoked"})})),x=Object(m.useSelect)((function(e){return e(S.a).getValue(A.d,"isAutoCreatingCustomDimensionsForAudience")})),R=Object(d.useState)(!1),L=l()(R,2),D=L[0],M=L[1],I=Object(d.useState)(!1),P=l()(I,2),B=P[0],z=P[1],H=Object(d.useRef)(),F=Object(d.useRef)(),V=Object(T.a)(),U=Object(m.useDispatch)(N.a).navigateTo;Object(u.a)(H,(function(){return z(!1)})),Object(C.a)([f.c,f.f],H,(function(){var e;z(!1),null===(e=F.current)||void 0===e||e.focus()})),Object(d.useEffect)((function(){var t=function(e){f.c===e.keyCode&&(M(!1),z(!1))};return e.addEventListener("keyup",t),function(){e.removeEventListener("keyup",t)}}),[]);var W,G=Object(d.useCallback)((function(){B||Object(v.J)("".concat(V,"_headerbar"),"open_usermenu"),z(!B)}),[B,V]),q=Object(d.useCallback)((function(){M(!D),z(!1)}),[D]),K=Object(d.useCallback)(function(){var e=c()(i.a.mark((function e(n,r){var a;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=r.detail.item,e.t0=null==a?void 0:a.id,e.next="manage-sites"===e.t0?4:"disconnect"===e.t0?9:11;break;case 4:if(!t){e.next=8;break}return e.next=7,Object(v.J)("".concat(V,"_headerbar_usermenu"),"manage_sites");case 7:U(t);case 8:return e.abrupt("break",12);case 9:return q(),e.abrupt("break",12);case 11:G();case 12:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),[t,G,q,U,V]),J=Object(d.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return M(!1),e.next=3,Object(h.b)();case 3:return e.next=5,Object(v.J)("".concat(V,"_headerbar_usermenu"),"disconnect_user");case 5:U(s);case 6:case"end":return e.stop()}}),e)}))),[s,U,V]);return n?(o&&n&&(W=Object(g.sprintf)( -/* translators: Account info text. 1: User's (full) name 2: User's email address. */ -Object(g.__)("Google Account for %1$s (Email: %2$s)","google-site-kit"),o,n)),o&&!n&&(W=Object(g.sprintf)( -/* translators: Account info text. 1: User's (full) name. */ -Object(g.__)("Google Account for %1$s","google-site-kit"),o)),!o&&n&&(W=Object(g.sprintf)( -/* translators: Account info text. 1: User's email address. */ -Object(g.__)("Google Account (Email: %1$s)","google-site-kit"),n)),r.createElement(d.Fragment,null,r.createElement("div",{ref:H,className:"googlesitekit-user-selector googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},r.createElement(p.Button,{disabled:x,ref:F,className:"googlesitekit-header__dropdown mdc-button--dropdown googlesitekit-border-radius-round--tablet googlesitekit-border-radius-round--phone googlesitekit-border-radius-round googlesitekit-button-icon",text:!0,onClick:G,icon:!!a&&r.createElement("i",{className:"mdc-button__icon mdc-button__account","aria-hidden":"true"},r.createElement("img",{className:"mdc-button__icon--image",src:a,alt:Object(g.__)("User Avatar","google-site-kit")})),"aria-haspopup":"menu","aria-expanded":B,"aria-controls":"user-menu","aria-label":x?void 0:Object(g.__)("Account","google-site-kit"),tooltip:!0,tooltipEnterDelayInMS:500,customizedTooltip:x?null:r.createElement("span",{"aria-label":W},r.createElement("strong",null,Object(g.__)("Google Account","google-site-kit")),r.createElement("br",null),r.createElement("br",null),o,o&&r.createElement("br",null),n)}),r.createElement(p.Menu,{className:"googlesitekit-user-menu",menuOpen:B,onSelected:K,id:"user-menu"},r.createElement("li",null,r.createElement(O.a,null)),!!t&&r.createElement("li",{id:"manage-sites",className:"mdc-list-item",role:"menuitem"},r.createElement(E.a,{icon:r.createElement(y.a,{width:"22"}),label:Object(g.__)("Manage Sites","google-site-kit")})),r.createElement("li",{id:"disconnect",className:"mdc-list-item",role:"menuitem"},r.createElement(E.a,{icon:r.createElement(k.a,{width:"22"}),label:Object(g.__)("Disconnect","google-site-kit")})))),r.createElement(_.a,null,r.createElement(b.a,{dialogActive:D,handleConfirm:J,handleDialog:q,title:Object(g.__)("Disconnect","google-site-kit"),subtitle:Object(g.__)("Disconnecting Site Kit by Google will remove your access to all services. After disconnecting, you will need to re-authorize to restore service.","google-site-kit"),confirmButton:Object(g.__)("Disconnect","google-site-kit"),danger:!0,small:!0})))):null}}).call(this,n(28),n(4))},266:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Details}));var r=n(2),a=n(3),i=n(6);function Details(){var t=Object(a.useSelect)((function(e){return e(i.a).getPicture()})),n=Object(a.useSelect)((function(e){return e(i.a).getFullName()})),o=Object(a.useSelect)((function(e){return e(i.a).getEmail()}));return e.createElement("div",{className:"googlesitekit-user-menu__details","aria-label":Object(r.__)("Google account","google-site-kit")},!!t&&e.createElement("img",{className:"googlesitekit-user-menu__details-avatar",src:t,alt:""}),e.createElement("div",{className:"googlesitekit-user-menu__details-info"},e.createElement("p",{className:"googlesitekit-user-menu__details-info__name"},n),e.createElement("p",{className:"googlesitekit-user-menu__details-info__email","aria-label":Object(r.__)("Email","google-site-kit")},o)))}}).call(this,n(4))},267:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nSign in to connect more services and control sharing access.","google-site-kit"),{strong:e.createElement("strong",null)}):Object(s.a)(Object(l.__)("You can see stats from all shared Google services, but you can't make any changes. Learn more","google-site-kit"),{a:e.createElement(b.a,{href:i,external:!0,onClick:E,"aria-label":Object(l.__)("Learn more about dashboard sharing","google-site-kit")})});return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item googlesitekit-view-only-menu__description"},e.createElement("p",null,k),n&&e.createElement(d.Button,{onClick:O},Object(l._x)("Sign in with Google","Service name","google-site-kit")))}}).call(this,n(4))},286:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SharedServices}));var r=n(2),a=n(3),i=n(6),o=n(287);function SharedServices(){var t=Object(a.useSelect)((function(e){return e(i.a).getViewableModules()}));return void 0===t?null:e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("h4",null,Object(r.__)("Shared services","google-site-kit")),e.createElement("ul",null,t.map((function(t){return e.createElement(o.a,{key:t,module:t})}))))}}).call(this,n(4))},287:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Service}));var r=n(1),a=n.n(r),i=n(38),o=n(2),c=n(3),s=n(19),l=n(6);function Service(t){var n=t.module,r=Object(c.useSelect)((function(e){return e(l.a).hasCapability(l.H)})),a=Object(c.useSelect)((function(e){return e(s.a).getModule(n)||{}})),u=a.name,d=a.owner,g=Object(c.useSelect)((function(e){return e(s.a).getModuleIcon(n)}));return e.createElement("li",{className:"googlesitekit-view-only-menu__service"},e.createElement("span",{className:"googlesitekit-view-only-menu__service--icon"},e.createElement(g,{height:26})),e.createElement("span",{className:"googlesitekit-view-only-menu__service--name"},u),r&&(null==d?void 0:d.login)&&e.createElement("span",{className:"googlesitekit-view-only-menu__service--owner"},Object(i.a)(Object(o.sprintf)( -/* translators: %s: module owner Google Account email address */ -Object(o.__)("Shared by %s","google-site-kit"),d.login),{strong:e.createElement("strong",{title:d.login})})))}Service.propTypes={module:a.a.string.isRequired}}).call(this,n(4))},288:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Tracking}));var r=n(38),a=n(2),i=n(212),o=n(18);function Tracking(){var t=Object(o.a)();return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("p",null,Object(r.a)(Object(a.__)("Thanks for using Site Kit!
Help us make it even better","google-site-kit"),{br:e.createElement("br",null)})),e.createElement(i.a,{trackEventCategory:"".concat(t,"_headerbar_viewonly"),alignCheckboxLeft:!0}))}}).call(this,n(4))},289:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SubtleNotifications}));var r=n(166),a=n(47);function SubtleNotifications(){return e.createElement(r.a,{areaSlug:a.b.BANNERS_BELOW_NAV})}}).call(this,n(4))},29:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/forms"},290:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(0),s=n(3),l=n(14),u=n(18),d=n(34),g=n(9),f=function(){var e=Object(u.a)(),t=Object(s.useSelect)((function(e){return e(l.c).isUsingProxy()})),n=Object(s.useSelect)((function(e){return e(l.c).getSetupErrorMessage()}));Object(c.useEffect)((function(){n||void 0===t||function(){var n=o()(a.a.mark((function n(){var r,i;return a.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Object(d.d)("start_user_setup");case 2:return r=n.sent,n.next=5,Object(d.d)("start_site_setup");case 5:if(i=n.sent,!r.cacheHit){n.next=10;break}return n.next=9,Object(d.c)("start_user_setup");case 9:Object(g.J)("".concat(e,"_setup"),"complete_user_setup",t?"proxy":"custom-oauth");case 10:if(!i.cacheHit){n.next=14;break}return n.next=13,Object(d.c)("start_site_setup");case 13:Object(g.J)("".concat(e,"_setup"),"complete_site_setup",t?"proxy":"custom-oauth");case 14:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()}),[e,t,n])}},291:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},o=i.ttl,s=void 0===o?c.b:o,l=i.timestamp,u=void 0===l?Math.round(Date.now()/1e3):l,d=i.isError,f=void 0!==d&&d,t.next=3,b();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(g).concat(n),JSON.stringify({timestamp:u,ttl:s,value:r,isError:f})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),O=function(){var t=o()(a.a.mark((function t(n){var r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,i=n.startsWith(d)?n:"".concat(g).concat(n),r.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=o()(a.a.mark((function t(){var n,r,i,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:0;Object(r.useEffect)((function(){var r,a=!1,i=function(){r=e.setTimeout((function(){a=!0}),n)},o=function(){e.clearTimeout(r),a&&(a=!1,t())};return e.addEventListener("focus",o),e.addEventListener("blur",i),function(){e.removeEventListener("focus",o),e.removeEventListener("blur",i),e.clearTimeout(r)}}),[n,t])}}).call(this,n(28))},35:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(22),a=n(18);function i(){var e=Object(a.a)();return r.g.includes(e)}},356:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PageHeader}));var r=n(11),a=n.n(r),i=n(1),o=n.n(i),c=n(17),s=n(304),l=n(305),u=n(76);function PageHeader(t){var n=t.title,r=t.icon,i=t.className,o=t.status,d=t.statusText,g=t.fullWidth,f=t.children,m=g?{size:12}:{smSize:4,mdSize:4,lgSize:6},p=""!==o||Boolean(f);return e.createElement("header",{className:"googlesitekit-page-header"},e.createElement(c.k,null,n&&e.createElement(c.a,m,r,e.createElement("h1",{className:a()("googlesitekit-page-header__title",i)},n)),p&&e.createElement(c.a,{alignBottom:!0,mdAlignRight:!0,smSize:4,mdSize:4,lgSize:6},e.createElement("div",{className:"googlesitekit-page-header__details"},o&&e.createElement("span",{className:a()("googlesitekit-page-header__status","googlesitekit-page-header__status--".concat(o))},d,e.createElement(u.a,null,"connected"===o?e.createElement(s.a,{width:10,height:8}):e.createElement(l.a,{width:2,height:12}))),f))))}PageHeader.propTypes={title:o.a.string,icon:o.a.node,className:o.a.string,status:o.a.string,statusText:o.a.string,fullWidth:o.a.bool},PageHeader.defaultProps={title:"",icon:null,className:"googlesitekit-heading-3",status:"",statusText:"",fullWidth:!1}}).call(this,n(4))},358:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupAccountSiteUI}));var r=n(1),a=n.n(r),i=n(0),o=n(3),c=n(10),s=n(32),l=n(160),u=n(399),d=n(31);function SetupAccountSiteUI(t){var n=t.heading,r=t.description,a=t.primaryButton,g=t.secondaryButton,f=Object(o.useSelect)((function(e){return e(d.m).isDoingSubmitChanges()||e(s.a).isNavigating()}));return e.createElement(i.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},n),e.createElement(l.d,null),e.createElement("p",null,r),e.createElement(u.a,null),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(c.SpinnerButton,{onClick:a.onClick,href:a.href,disabled:f,isSaving:f},a.label),g&&e.createElement("div",{className:"googlesitekit-setup-module__sub-action"},e.createElement(c.Button,{tertiary:!0,onClick:g.onClick},g.label))))}SetupAccountSiteUI.propTypes={heading:a.a.string.isRequired,description:a.a.string.isRequired,primaryButton:a.a.shape({label:a.a.string,href:a.a.string,onClick:a.a.func}).isRequired,secondaryButton:a.a.shape({label:a.a.string,onClick:a.a.func})}}).call(this,n(4))},36:function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"f",(function(){return c})),n.d(t,"e",(function(){return s})),n.d(t,"c",(function(){return l})),n.d(t,"d",(function(){return u})),n.d(t,"b",(function(){return d}));n(13);var r=n(2),a="missing_required_scopes",i="insufficientPermissions",o="forbidden";function c(e){return(null==e?void 0:e.code)===a}function s(e){var t;return[i,o].includes(null==e||null===(t=e.data)||void 0===t?void 0:t.reason)}function l(e){var t;return!!(null==e||null===(t=e.data)||void 0===t?void 0:t.reconnectURL)}function u(e,t){return!(!(null==t?void 0:t.storeName)||s(e)||c(e)||l(e))}function d(e){return"internal_server_error"===(null==e?void 0:e.code)?Object(r.__)("There was a critical error on this website while fetching data","google-site-kit"):"invalid_json"===(null==e?void 0:e.code)?Object(r.__)("The server provided an invalid response","google-site-kit"):null==e?void 0:e.message}},363:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t%2$s","google-site-kit"),g,Object(i.__)("Get help","google-site-kit")),{Link:e.createElement(c.a,{href:u,external:!0,hideExternalIndicator:!0,trailingIcon:e.createElement(l.a,{width:15,height:15})})})):null}AdBlockerWarningMessage.propTypes={className:a.a.string,getHelpLink:a.a.string,warningMessage:a.a.string}}).call(this,n(4))},384:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,n(28))},42:function(e,t,n){"use strict";(function(e){var r=n(7),a=n.n(r),i=n(1),o=n.n(i),c=n(11),s=n.n(c),l=n(26);function PreviewBlock(t){var n,r,i=t.className,o=t.width,c=t.height,u=t.shape,d=t.padding,g=t.smallWidth,f=t.smallHeight,m=t.tabletWidth,p=t.tabletHeight,b=t.desktopWidth,v=t.desktopHeight,h=Object(l.e)(),_={width:(n={},a()(n,l.b,g),a()(n,l.c,m),a()(n,l.a,b),a()(n,l.d,b),n),height:(r={},a()(r,l.b,f),a()(r,l.c,p),a()(r,l.a,v),a()(r,l.d,b),r)};return e.createElement("div",{className:s()("googlesitekit-preview-block",i,{"googlesitekit-preview-block--padding":d}),style:{width:_.width[h]||o,height:_.height[h]||c}},e.createElement("div",{className:s()("googlesitekit-preview-block__wrapper",{"googlesitekit-preview-block__wrapper--circle":"circular"===u})}))}PreviewBlock.propTypes={className:o.a.string,width:o.a.string,height:o.a.string,shape:o.a.string,padding:o.a.bool,smallWidth:o.a.string,smallHeight:o.a.string,tabletWidth:o.a.string,tabletHeight:o.a.string,desktopWidth:o.a.string,desktopHeight:o.a.string},PreviewBlock.defaultProps={className:void 0,width:"100px",height:"100px",shape:"square",padding:!1,smallWidth:void 0,smallHeight:void 0,tabletWidth:void 0,tabletHeight:void 0,desktopWidth:void 0,desktopHeight:void 0},t.a=PreviewBlock}).call(this,n(4))},46:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return a})),n.d(t,"a",(function(){return i}));var r={BOXES:"boxes",COMPOSITE:"composite"},a={QUARTER:"quarter",HALF:"half",FULL:"full"},i="core/widgets"},47:function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(22),a="core/notifications",i={ERRORS:"notification-area-errors",BANNERS_ABOVE_NAV:"notification-area-banners-above-nav",BANNERS_BELOW_NAV:"notification-area-banners-below-nav"},o={DEFAULT:"default",SETUP_CTAS:"setup-ctas"},c=[r.s,r.n,r.l,r.o,r.m]},503:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"),{a:e.createElement(c.a,{path:"/adsense/answer/6023158",external:!0,"aria-label":Object(i.__)("Learn more about updating your AdSense account","google-site-kit")})})),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(o.Button,{href:"https://www.google.com/adsense",target:"_blank","aria-label":Object(i.__)("Learn more about updating your AdSense account","google-site-kit"),onClick:n},Object(i.__)("Apply now","google-site-kit"))))}}).call(this,n(4))},533:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SetupAccountCreateSite}));var a=n(0),i=n(2),o=n(3),c=n(10),s=n(31),l=n(160),u=n(9),d=n(18);function SetupAccountCreateSite(){var t=Object(d.a)(),n=Object(o.useSelect)((function(e){return e(s.m).getServiceAccountManageSiteURL()})),g=Object(a.useCallback)((function(r){r.preventDefault(),Object(u.J)("".concat(t,"_adsense"),"create_site"),e.open(n,"_blank")}),[n,t]);return r.createElement(a.Fragment,null,r.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(i.__)("Add this site to your AdSense account","google-site-kit")),r.createElement(l.d,null),r.createElement("p",null,Object(i.__)("We’ve detected that you haven’t added this site to your AdSense account yet","google-site-kit")),r.createElement("div",{className:"googlesitekit-setup-module__action"},r.createElement(c.Button,{onClick:g,href:n},Object(i.__)("Add site to AdSense","google-site-kit"))))}}).call(this,n(28),n(4))},534:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupAccountPendingTasks}));var r=n(0),a=n(2),i=n(3),o=n(10),c=n(399),s=n(31),l=n(160),u=n(9),d=n(18);function SetupAccountPendingTasks(){var t=Object(d.a)(),n=Object(r.useCallback)((function(){Object(u.J)("".concat(t,"_adsense"),"review_tasks")}),[t]),g=Object(i.useSelect)((function(e){return e(s.m).getServiceAccountURL()}));return e.createElement(r.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(a.__)("Your account isn’t ready to show ads yet","google-site-kit")),e.createElement(l.d,null),e.createElement("p",null,Object(a.__)("You need to fix some things before we can connect Site Kit to your AdSense account","google-site-kit")),e.createElement(c.a,null),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(o.Button,{onClick:n,href:g},Object(a.__)("Review AdSense account","google-site-kit"))))}}).call(this,n(4))},535:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SetupCreateAccount}));var a=n(5),i=n.n(a),o=n(15),c=n.n(o),s=n(0),l=n(38),u=n(2),d=n(3),g=n(10),f=n(183),m=n(9),p=n(373),b=n(31),v=n(6),h=n(160),_=n(18);function SetupCreateAccount(){var t=Object(_.a)(),n="".concat(t,"_adsense"),a=Object(d.useSelect)((function(e){return e(v.a).getEmail()})),o=Object(d.useSelect)((function(e){return e(b.m).getExistingTag()})),O=Object(d.useSelect)((function(e){return e(b.m).getServiceCreateAccountURL()})),E=Object(s.useCallback)(function(){var t=c()(i.a.mark((function t(r){return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r.preventDefault(),t.next=3,Object(m.J)(n,"create_account");case 3:e.open(O,"_blank");case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),[O,n]);return r.createElement(s.Fragment,null,r.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(u.__)("Create your AdSense account","google-site-kit")),r.createElement(h.d,null),r.createElement("p",null,Object(u.__)("Once you create your account, Site Kit will place AdSense code on every page across your site. This means your site will be automatically optimized to help you earn money from your content.","google-site-kit")),r.createElement(h.f,null),r.createElement("div",{className:"googlesitekit-setup-module__action"},r.createElement(g.Button,{onClick:E,href:O},Object(u.__)("Create AdSense account","google-site-kit"))),r.createElement("p",{className:"googlesitekit-setup-module__footer-text"},o&&Object(u.sprintf)( -/* translators: 1: client ID, 2: user email address, 3: account ID */ -Object(u.__)("Site Kit detected AdSense code %1$s on your page. We recommend you remove that code or add %2$s as a user to the AdSense account %3$s.","google-site-kit"),o,a,Object(p.a)(o)),!o&&Object(l.a)(Object(u.sprintf)( -/* translators: %s: user email address */ -Object(u.__)("Already use AdSense? Add %s as a user to an existing AdSense account. Learn more","google-site-kit"),a),{a:r.createElement(f.a,{path:"/adsense/answer/2659101",external:!0,"aria-label":Object(u.__)("Learn more about adding a user to an existing AdSense account","google-site-kit")})})))}}).call(this,n(28),n(4))},536:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupSelectAccount}));var r=n(0),a=n(2),i=n(160);function SetupSelectAccount(){return e.createElement(r.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(a.__)("Select your AdSense account","google-site-kit")),e.createElement(i.d,null),e.createElement("p",null,Object(a.__)("Looks like you have multiple AdSense accounts associated with your Google account. Select the account to use with Site Kit below.","google-site-kit")),e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(i.a,null)))}}).call(this,n(4))},539:function(e,t,n){"use strict";function r(e){return"string"==typeof e&&/^pub-\d+$/.test(e)}function a(e){return"string"==typeof e&&/^ca-pub-\d+$/.test(e)}n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a}))},54:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(22),a=n(18),i=r.n,o=r.l;function c(){var e=Object(a.a)();return e===r.n||e===r.o?i:e===r.l||e===r.m?o:null}},57:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(39);function a(e){return function(){e[r.a]=e[r.a]||[],e[r.a].push(arguments)}}},58:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),a=Object(r.createContext)(""),i=(a.Consumer,a.Provider);t.b=a},586:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WebStoriesAdUnitSelect}));var r=n(0),a=n(2),i=n(10),o=n(3),c=n(31);function WebStoriesAdUnitSelect(){var t=Object(o.useSelect)((function(e){return e(c.m).getAccountID()})),n=Object(o.useSelect)((function(e){return e(c.m).getClientID()})),s=Object(o.useSelect)((function(e){return e(c.m).getWebStoriesAdUnit()})),l=Object(o.useSelect)((function(e){return e(c.m).getAdUnits(t,n)})),u=Object(o.useSelect)((function(e){return e(c.m).hasFinishedResolution("getAdUnits",[t,n])})),d=Object(o.useDispatch)(c.m).setWebStoriesAdUnit,g=Object(r.useCallback)((function(e,t){var n=t.dataset.value;s!==n&&d(n)}),[s,d]);return u?e.createElement(i.Select,{className:"googlesitekit-adsense__select-field",label:Object(a.__)("Web Stories Ad Unit","google-site-kit"),value:s,onEnhancedChange:g,enhanced:!0,outlined:!0},e.createElement(i.Option,{value:""},Object(a.__)("Select ad unit","google-site-kit")),(l||[]).map((function(t){var n=t._id,r=t.displayName;return e.createElement(i.Option,{key:n,value:n},r)}))):e.createElement(i.ProgressBar,{small:!0})}}).call(this,n(4))},587:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdSenseConnectCTA}));var r=n(21),a=n.n(r),i=n(5),o=n.n(i),c=n(15),s=n.n(c),l=n(16),u=n.n(l),d=n(206),g=n(1),f=n.n(g),m=n(2),p=n(0),b=n(38),v=n(3),h=n(10),_=n(31),O=n(17),E=n(14),k=n(19),y=n(32),S=n(34),j=n(9),w=n(659),N=n(183),A=n(18);function AdSenseConnectCTA(t){var n=t.onDismissModule,r=Object(v.useDispatch)(y.a).navigateTo,i=Object(v.useDispatch)(k.a).activateModule,c=Object(v.useDispatch)(E.c).setInternalServerError,l=Object(A.a)(),g=Object(p.useRef)(),f=Object(p.useState)(!1),C=u()(f,2),T=C[0],x=C[1],R=Object(d.a)(g,{threshold:.25}),L=!!(null==R?void 0:R.intersectionRatio);Object(p.useEffect)((function(){L&&!T&&(Object(j.J)("".concat(l,"_adsense-cta-widget"),"widget_view"),x(!0))}),[L,l,T]);var D=Object(v.useSelect)((function(e){return e(_.m).getAdminReauthURL()})),M=Object(v.useSelect)((function(e){return e(k.a).isModuleActive("adsense")})),I=Object(v.useSelect)((function(e){return e(k.a).isModuleConnected("adsense")})),P=Object(v.useSelect)((function(e){return!!e(k.a).isFetchingSetModuleActivation("adsense",!0)||!!D&&e(y.a).isNavigatingTo(D)})),B=Object(p.useCallback)(s()(o.a.mark((function e(){var t,n,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i("adsense");case 2:if(t=e.sent,n=t.response,!(a=t.error)){e.next=8;break}return c({id:"setup-module-error",description:a.message}),e.abrupt("return",null);case 8:return e.next=10,Object(j.J)("".concat(l,"_adsense-cta-widget"),"activate_module","adsense");case 10:return e.next=12,Object(S.f)("module_setup","adsense",{ttl:300});case 12:r(n.moduleReauthURL);case 13:case"end":return e.stop()}}),e)}))),[i,r,c,l]),z=Object(p.useCallback)((function(){return r(D)}),[D,r]),H=Object(p.useCallback)((function(){Object(j.J)("".concat(l,"_adsense-cta-widget"),"dismiss_widget"),n()}),[n,l]),F={smSize:4,mdSize:4,lgSize:6};return e.createElement("section",{ref:g,className:"googlesitekit-setup__wrapper googlesitekit-setup__wrapper--adsense-connect"},e.createElement(O.e,null,e.createElement(w.a,{hasBeenInView:T}),e.createElement(O.k,null,e.createElement(O.a,F,e.createElement("div",{className:"googlesitekit-setup-module__action"},!M&&e.createElement(h.SpinnerButton,{onClick:B,isSaving:P},Object(m.__)("Connect now","google-site-kit")),M&&!I&&e.createElement(h.SpinnerButton,{onClick:z,isSaving:P},Object(m.__)("Complete setup","google-site-kit")),e.createElement(h.Button,{tertiary:!0,onClick:H},Object(m.__)("Maybe later","google-site-kit")))),e.createElement(O.a,a()({},F,{className:"googlesitekit-setup-module__footer-text"}),e.createElement("p",null,Object(b.a)(Object(m.__)("AdSense accounts are subject to review and approval by the Google AdSense team","google-site-kit"),{a:e.createElement(N.a,{path:"/adsense/answer/9724",external:!0,hideExternalIndicator:!0})}))))))}AdSenseConnectCTA.propTypes={onDismissModule:f.a.func.isRequired}}).call(this,n(4))},59:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(107),o=n(2),c=n(9);function ErrorText(t){var n=t.message,r=t.reconnectURL,a=t.noPrefix;if(!n)return null;var s=n;void 0!==a&&a||(s=Object(o.sprintf)( -/* translators: %s: Error message */ -Object(o.__)("Error: %s","google-site-kit"),n)),r&&Object(i.a)(r)&&(s=s+" "+Object(o.sprintf)( -/* translators: %s: Reconnect URL */ -Object(o.__)('To fix this, redo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(s,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:a.a.string.isRequired,reconnectURL:a.a.string,noPrefix:a.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},590:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Step}));var r=n(1),a=n.n(r),i=n(298);function Step(t){var n=t.children,r=t.title,a=t.stepStatus;return e.createElement("div",{className:"googlesitekit-stepper__step-info"},e.createElement("h2",{className:"googlesitekit-stepper__step-title"},r),e.createElement("div",{className:"googlesitekit-stepper__step-content-container"},a===i.a.ACTIVE&&e.createElement("div",{className:"googlesitekit-stepper__step-content"},n)))}Step.propTypes={children:a.a.node.isRequired,title:a.a.string.isRequired,stepStatus:a.a.oneOf(Object.values(i.a))}}).call(this,n(4))},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"e",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return s})),n.d(t,"M",(function(){return l})),n.d(t,"O",(function(){return u})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return g})),n.d(t,"J",(function(){return f})),n.d(t,"I",(function(){return m})),n.d(t,"N",(function(){return p})),n.d(t,"f",(function(){return b})),n.d(t,"g",(function(){return v})),n.d(t,"h",(function(){return h})),n.d(t,"j",(function(){return _})),n.d(t,"l",(function(){return O})),n.d(t,"m",(function(){return E})),n.d(t,"n",(function(){return k})),n.d(t,"o",(function(){return y})),n.d(t,"q",(function(){return S})),n.d(t,"s",(function(){return j})),n.d(t,"r",(function(){return w})),n.d(t,"t",(function(){return N})),n.d(t,"w",(function(){return A})),n.d(t,"u",(function(){return C})),n.d(t,"v",(function(){return T})),n.d(t,"x",(function(){return x})),n.d(t,"y",(function(){return R})),n.d(t,"A",(function(){return L})),n.d(t,"B",(function(){return D})),n.d(t,"C",(function(){return M})),n.d(t,"D",(function(){return I})),n.d(t,"k",(function(){return P})),n.d(t,"F",(function(){return B})),n.d(t,"z",(function(){return z})),n.d(t,"G",(function(){return H})),n.d(t,"E",(function(){return F})),n.d(t,"i",(function(){return V})),n.d(t,"p",(function(){return U})),n.d(t,"Q",(function(){return W})),n.d(t,"P",(function(){return G}));var r="core/user",a="connected_url_mismatch",i="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",l="googlesitekit_setup",u="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",m="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",v="kmAnalyticsEngagedTrafficSource",h="kmAnalyticsLeastEngagingPages",_="kmAnalyticsNewVisitors",O="kmAnalyticsPopularAuthors",E="kmAnalyticsPopularContent",k="kmAnalyticsPopularProducts",y="kmAnalyticsReturningVisitors",S="kmAnalyticsTopCities",j="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",N="kmAnalyticsTopCitiesDrivingPurchases",A="kmAnalyticsTopDeviceDrivingPurchases",C="kmAnalyticsTopConvertingTrafficSource",T="kmAnalyticsTopCountries",x="kmAnalyticsTopPagesDrivingLeads",R="kmAnalyticsTopRecentTrendingPages",L="kmAnalyticsTopTrafficSource",D="kmAnalyticsTopTrafficSourceDrivingAddToCart",M="kmAnalyticsTopTrafficSourceDrivingLeads",I="kmAnalyticsTopTrafficSourceDrivingPurchases",P="kmAnalyticsPagesPerVisit",B="kmAnalyticsVisitLength",z="kmAnalyticsTopReturningVisitorPages",H="kmSearchConsolePopularKeywords",F="kmAnalyticsVisitsPerVisitor",V="kmAnalyticsMostEngagingPages",U="kmAnalyticsTopCategories",W=[b,v,h,_,O,E,k,y,U,S,j,w,N,A,C,T,R,L,D,P,B,z,F,V,U],G=[].concat(W,[H])},63:function(e,t,n){"use strict";n.d(t,"c",(function(){return p})),n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return v})),n.d(t,"d",(function(){return _}));var r=n(7),a=n.n(r),i=n(0);function o(){return(o=Object.assign||function(e){for(var t=1;t1&&!G&&R(w.f)}),[R,G,W]),Object(f.useEffect)((function(){I&&!H&&J&&!V&&(P(!1),o()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return F(!0),e.next=3,L();case 3:F(!1);case 4:case"end":return e.stop()}}),e)})))())}),[I,H,J,L,V]);var oe,ce=Object(f.useCallback)((function(){void 0!==Y&&w.k!==Y&&(u(),d(),T())}),[Y,u,d,T]);return Object(A.a)(ce,15e3),Object(f.useEffect)((function(){void 0!==Y&&Object(O.J)(i,"receive_account_state",Y)}),[i,Y]),Object(f.useEffect)((function(){void 0!==Z&&Object(O.J)(i,"receive_site_state",Z)}),[i,Z]),oe=te&&void 0!==G&&void 0!==ne&&void 0!==re&&void 0!==ae?ee?e.createElement(E.d,{hasButton:!0}):(null==W?void 0:W.length)?G?e.createElement(v.a,{account:ie,finishSetup:n}):e.createElement(_.a,null):e.createElement(h.a,null):e.createElement(p.ProgressBar,null),e.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--adsense"},e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement("div",{className:"googlesitekit-setup-module__logo"},e.createElement(b.a,{width:"40",height:"40"})),e.createElement("h2",{className:"googlesitekit-heading-3 googlesitekit-setup-module__title"},Object(g._x)("AdSense","Service name","google-site-kit"))),e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement(k.a,{moduleSlug:"adsense"}),!U&&oe))}SetupMain.propTypes={finishSetup:d.a.func}}).call(this,n(4))},652:function(e,t,n){"use strict";var r=n(636);n.d(t,"a",(function(){return r.a}));n(399);var a=n(642);n.d(t,"b",(function(){return a.a}));n(530),n(535),n(536),n(532),n(533),n(534),n(531)},653:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupMain}));var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(16),s=n.n(c),l=n(7),u=n.n(l),d=n(164),g=n(0),f=n(2),m=n(3),p=n(10),b=n(20),v=n(356),h=n(654),_=n(590),O=n(185),E=n(32),k=n(14),y=n(23),S=n(18),j=n(17),w=n(9),N=n(31),A=n(655),C=n(657),T=n(658);function SetupMain(){var t=Object(S.a)(),n=Object(m.useSelect)((function(e){return e(k.c).getAdminURL("googlesitekit-settings")})),r="".concat(n,"#/connected-services/adsense"),i=Object(m.useSelect)((function(e){return!!e(y.b).getValue(N.c)})),c=Object(m.useSelect)((function(e){return e(k.c).getAdminURL("googlesitekit-dashboard")})),l=Object(m.useSelect)((function(e){var t,n=(t={},u()(t,N.k.TAG_PLACED,N.l.CREATE_MESSAGE),u()(t,N.k.SETUP_CONFIRMED,N.l.COMPLETE),t),r=e(N.m).getAdBlockingRecoverySetupStatus();if(void 0!==r)return n[r]||N.l.PLACE_TAGS})),x=Object(d.a)(c,{notification:"ad_blocking_recovery_setup_success"}),R=Object(m.useSelect)((function(e){return e(N.m).getAccountID()})),L=Object(m.useSelect)((function(e){return e(N.m).getServiceURL({path:"/".concat(R,"/privacymessaging/ad_blocking")})})),D=Object(m.useDispatch)(N.m),M=D.saveSettings,I=D.setAdBlockingRecoverySetupStatus,P=D.setUseAdBlockingRecoverySnippet,B=D.setUseAdBlockingRecoveryErrorSnippet,z=Object(m.useDispatch)(E.a).navigateTo,H=Object(g.useState)(l),F=s()(H,2),V=F[0],U=F[1],W=Object(g.useCallback)(o()(a.a.mark((function e(){var o,s;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==V){e.next=6;break}return e.next=3,Object(w.J)("".concat(t,"_adsense-abr"),"cancel_setup","on_place_tag_step");case 3:if(!document.referrer.includes(n)){e.next=5;break}return e.abrupt("return",z(r));case 5:return e.abrupt("return",z(c));case 6:if(!i){e.next=10;break}return e.next=9,Object(w.J)("".concat(t,"_adsense-abr"),"cancel_setup","on_final_step");case 9:return e.abrupt("return",z(r));case 10:return I(""),P(!1),B(!1),e.next=15,M();case 15:return o=e.sent,s=o.error,e.next=19,Object(w.J)("".concat(t,"_adsense-abr"),"cancel_setup","on_create_message_step");case 19:s||(document.referrer.includes(n)?z(r):z(c));case 20:case"end":return e.stop()}}),e)}))),[V,r,i,c,z,M,I,B,P,n,t]);return Object(g.useEffect)((function(){void 0===V&&void 0!==l&&U(l)}),[V,l]),e.createElement(O.a,{rounded:!0},e.createElement(j.e,null,e.createElement(j.k,null,e.createElement(j.a,{lgSize:6,mdSize:8,smSize:4},e.createElement(v.a,{className:"googlesitekit-heading-3 googlesitekit-ad-blocking-recovery__heading",title:Object(f.__)("Ad Blocking Recovery","google-site-kit"),fullWidth:!0})))),e.createElement(A.a,null,e.createElement(h.a,{activeStep:V,className:"googlesitekit-ad-blocking-recovery__steps"},e.createElement(_.a,{title:Object(f.__)("Enable ad blocking recovery message (required)","google-site-kit"),className:"googlesitekit-ad-blocking-recovery__step googlesitekit-ad-blocking-recovery__step-place-tags"},e.createElement(T.a,{setActiveStep:U})),e.createElement(_.a,{title:Object(f.__)("Create your site’s ad blocking recovery message (required)","google-site-kit"),className:"googlesitekit-ad-blocking-recovery__step googlesitekit-ad-blocking-recovery__step-create-message"},e.createElement(C.a,null))),N.l.COMPLETE===V&&e.createElement("div",{className:"googlesitekit-ad-blocking-recovery__complete-content"},e.createElement("p",null,Object(f.__)("Create and publish an ad blocking recovery message in AdSense","google-site-kit")),e.createElement("p",null,Object(f.__)("Site visitors will be given the option to allow ads on your site. You can also present them with other options to fund your site (optional)","google-site-kit")))),e.createElement("div",{className:"googlesitekit-ad-blocking-recovery__footer googlesitekit-ad-blocking-recovery__buttons"},e.createElement("div",{className:"googlesitekit-ad-blocking-recovery__footer-cancel"},N.l.COMPLETE===V?e.createElement("div",{className:"googlesitekit-ad-blocking-recovery__complete-actions"},e.createElement(p.SpinnerButton,{href:x},Object(f.__)("My message is ready","google-site-kit")),e.createElement(b.a,{href:L,external:!0,hideExternalIndicator:!0},Object(f.__)("Create message","google-site-kit"))):e.createElement(b.a,{onClick:W},Object(f.__)("Cancel","google-site-kit")))))}}).call(this,n(4))},654:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Stepper}));var r=n(1),a=n.n(r),i=n(11),o=n.n(i),c=n(0),s=n(2),l=n(363),u=n(298);function Stepper(t){var n=t.children,r=t.activeStep,a=t.className,i=c.Children.count(n);function d(e,t){switch(t){case u.a.UPCOMING:return Object(s.sprintf)( -/* translators: 1: The number of the current step. 2: The total number of steps. */ -Object(s.__)("Step %1$s of %2$s (upcoming).","google-site-kit"),e,i);case u.a.ACTIVE:return Object(s.sprintf)( -/* translators: 1: The number of the current step. 2: The total number of steps. */ -Object(s.__)("Step %1$s of %2$s (active).","google-site-kit"),e,i);case u.a.COMPLETED:return Object(s.sprintf)( -/* translators: 1: The number of the current step. 2: The total number of steps. */ -Object(s.__)("Step %1$s of %2$s (completed).","google-site-kit"),e,i)}}return e.createElement("ol",{className:o()("googlesitekit-stepper",a)},c.Children.map(n,(function(t,n){var a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;return eLearn more","google-site-kit"),{a:e.createElement(b.a,{href:E,external:!0})})),s&&e.createElement(p.a,{error:s}),e.createElement(f.SpinnerButton,{onClick:C,isSaving:c,disabled:c},Object(g.__)("Enable message","google-site-kit")))}PlaceTagsStep.propTypes={setActiveStep:s.a.func}}).call(this,n(4))},659:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ContentAutoUpdate}));var r=n(16),a=n.n(r),i=n(1),o=n.n(i),c=n(0),s=n(660);function ContentAutoUpdate(t){var n=t.hasBeenInView,r=Object(c.useState)({stage:0,mode:"static"}),i=a()(r,2),o=i[0],l=o.stage,u=o.mode,d=i[1];return Object(c.useEffect)((function(){if(n){var e=setTimeout((function(){d({stage:0,mode:"leave"})}),7e3);return function(){clearTimeout(e)}}}),[n]),e.createElement(s.a,{stage:l,mode:u,onAnimationEnd:function(){"enter"===u?d({stage:l,mode:"leave"}):"leave"===u&&d({stage:2===l?0:l+1,mode:"enter"})}})}ContentAutoUpdate.propTypes={hasBeenInView:o.a.bool.isRequired}}).call(this,n(4))},66:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,n="object"===a()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},73:function(e,t,n){"use strict";var r=n(16),a=n.n(r),i=n(254),o=n(1),c=n.n(o),s=n(0),l=n(141);function Portal(e){var t=e.children,n=e.slug,r=Object(s.useState)(document.createElement("div")),o=a()(r,1)[0];return Object(i.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(l.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},74:function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},75:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(11),s=n.n(c),l=n(1),u=n.n(l),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.label,i=t.className,c=t.hasLeftSpacing,l=void 0!==c&&c,u=o()(t,["label","className","hasLeftSpacing"]);return e.createElement("span",a()({ref:n},u,{className:s()("googlesitekit-badge",i,{"googlesitekit-badge--has-left-spacing":l})}),r)}));g.displayName="Badge",g.propTypes={label:u.a.string.isRequired,hasLeftSpacing:u.a.bool},t.a=g}).call(this,n(4))},76:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(1),a=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,a=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:a}},n)}IconWrapper.propTypes={children:a.a.node.isRequired,marginLeft:a.a.number,marginRight:a.a.number}}).call(this,n(4))},77:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=O(e,t),r=n.formatUnit,a=n.formatDecimal;try{return r()}catch(e){return a()}},h=function(e){var t=_(e),n=t.hours,r=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(a):"".concat(n,":").concat(r,":").concat(a)},_=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},O=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=_(e),r=n.hours,a=n.minutes,i=n.seconds;return{hours:r,minutes:a,seconds:i,formatUnit:function(){var n=t.unitDisplay,o=b(b({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(i,b(b({},o),{},{unit:"second"})):Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?w(i,b(b({},o),{},{unit:"second"})):"",a?w(a,b(b({},o),{},{unit:"minute"})):"",r?w(r,b(b({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. -Object(m.__)("%ds","google-site-kit"),i);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. -Object(m.__)("%dm","google-site-kit"),a),o=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. -Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",a?n:"",r?o:"").trim()}}},E=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},k=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. -Object(m.__)("%sM","google-site-kit"),w(E(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),w(E(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),w(E(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function y(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=b({},e)),t}function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=y(t),r=n.style,a=void 0===r?"metric":r;return"metric"===a?k(e):"duration"===a?v(e,n):"durationISO"===a?h(e):w(e,n)}var j=f()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?A():n,i=u()(t,["locale"]);try{return new Intl.NumberFormat(r,i).format(e)}catch(t){j("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],l={},d=0,g=Object.entries(i);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?A():n,a=t.style,i=void 0===a?"long":a,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:i,type:c});return s.format(e)} -/* translators: used between list items, there is a space after the comma. */var l=Object(m.__)(", ","google-site-kit");return e.join(l)},A=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},82:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a}));var r=n(145),a=n.n(r)()(e)}).call(this,n(28))},85:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(11),o=n.n(i);function ChangeArrow(t){var n=t.direction,r=t.invertColor,a=t.width,i=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},86:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(26),a=n(118);function i(t,n){var r=document.querySelector(t);if(!r)return 0;var a=r.getBoundingClientRect().top,i=o(n);return a+e.scrollY-i}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,i=document.querySelector(".googlesitekit-header");return n=!!i&&"sticky"===e.getComputedStyle(i).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(a.a)(n))<0?0:n}}).call(this,n(28))},88:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(12),a=n.n(r),i=function(e,t){var n=t.dateRangeLength;a()(Array.isArray(e),"report must be an array to partition."),a()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return a.b})),n.d(t,"K",(function(){return a.c})),n.d(t,"G",(function(){return i.a})),n.d(t,"L",(function(){return i.b})),n.d(t,"I",(function(){return u})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return p})),n.d(t,"k",(function(){return b})),n.d(t,"j",(function(){return v})),n.d(t,"d",(function(){return y})),n.d(t,"c",(function(){return S})),n.d(t,"e",(function(){return j})),n.d(t,"b",(function(){return w})),n.d(t,"a",(function(){return N})),n.d(t,"g",(function(){return A})),n.d(t,"f",(function(){return C})),n.d(t,"o",(function(){return T})),n.d(t,"x",(function(){return x})),n.d(t,"q",(function(){return R})),n.d(t,"H",(function(){return L})),n.d(t,"t",(function(){return D})),n.d(t,"w",(function(){return M})),n.d(t,"l",(function(){return I})),n.d(t,"p",(function(){return P.b})),n.d(t,"i",(function(){return P.a})),n.d(t,"u",(function(){return B.b})),n.d(t,"r",(function(){return B.a})),n.d(t,"B",(function(){return B.c})),n.d(t,"y",(function(){return z})),n.d(t,"v",(function(){return H})),n.d(t,"F",(function(){return U})),n.d(t,"E",(function(){return W.a})),n.d(t,"h",(function(){return G})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(13),a=n(37),i=n(72),o=n(33),c=n.n(o),s=n(92),l=n.n(s),u=function(e){return l()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var a=t[r];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=e(a)),n[r]=a})),n}(e)))};n(96);var d=n(81);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[g,f,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function R(e){E()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function L(e){E()(x(e),y);var t=e.split("-"),n=_()(t,3),r=n[0],a=n[1],i=n[2];return new Date(r,a-1,i)}function D(e,t){return R(I(e,t*N))}function M(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function I(e,t){E()(x(e)||Object(r.isDate)(e)&&!isNaN(e),y);var n=x(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var P=n(97),B=n(80);function z(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function H(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var F=n(27),V=n.n(F),U=function(e){return Array.isArray(e)?V()(e).sort():e},W=n(88);function G(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},90:function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return BannerNotification}));var r=n(21),a=n.n(r),i=n(7),o=n.n(i),c=n(5),s=n.n(c),l=n(15),u=n.n(l),d=n(16),g=n.n(d),f=n(1),m=n.n(f),p=n(11),b=n.n(p),v=n(204),h=n(206),_=n(84),O=n(93),E=n(0),k=n(107),y=n(3),S=n(17),j=n(86),w=n(34),N=n(26),A=n(191),C=n(192),T=n(193),x=n(199),R=n(200),L=n(71),D=n(108),M=n(118),I=n(32),P=n(201);function BannerNotification(t){var n,r=t.badgeLabel,i=t.children,c=t.className,l=void 0===c?"":c,d=t.ctaLabel,f=t.ctaLink,m=t.ctaTarget,p=t.description,B=t.dismiss,z=t.dismissExpires,H=void 0===z?0:z,F=t.format,V=void 0===F?"":F,U=t.id,W=t.isDismissible,G=void 0===W||W,q=t.learnMoreDescription,K=t.learnMoreLabel,J=t.learnMoreURL,X=t.learnMoreTarget,Y=void 0===X?L.a.EXTERNAL:X,$=t.logo,Z=t.module,Q=t.moduleName,ee=t.onCTAClick,te=t.onView,ne=t.onDismiss,re=t.onLearnMoreClick,ae=t.showOnce,ie=void 0!==ae&&ae,oe=t.SmallImageSVG,ce=t.title,se=t.type,le=t.WinImageSVG,ue=t.showSmallWinImage,de=void 0===ue||ue,ge=t.smallWinImageSVGWidth,fe=void 0===ge?75:ge,me=t.smallWinImageSVGHeight,pe=void 0===me?75:me,be=t.mediumWinImageSVGWidth,ve=void 0===be?105:be,he=t.mediumWinImageSVGHeight,_e=void 0===he?105:he,Oe=t.rounded,Ee=void 0!==Oe&&Oe,ke=t.footer,ye=t.secondaryPane,Se=t.ctaComponent,je=Object(E.useState)(!1),we=g()(je,2),Ne=we[0],Ae=we[1],Ce=Object(E.useState)(!1),Te=g()(Ce,2),xe=Te[0],Re=Te[1],Le="notification::dismissed::".concat(U),De=function(){return Object(w.f)(Le,new Date,{ttl:null})},Me=Object(O.a)(),Ie=Object(N.e)(),Pe=Object(v.a)(),Be=Object(E.useState)(!1),ze=g()(Be,2),He=ze[0],Fe=ze[1],Ve=Object(E.useRef)(),Ue=Object(h.a)(Ve,{rootMargin:"".concat(-Object(M.a)(Object(j.c)(Ie)),"px 0px 0px 0px"),threshold:0});Object(E.useEffect)((function(){!He&&(null==Ue?void 0:Ue.isIntersecting)&&("function"==typeof te&&te(),Fe(!0))}),[U,te,He,Ue]);var We=Me>=600;Object(_.a)(u()(s.a.mark((function e(){var t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(H>0)){e.next=3;break}return e.next=3,$e();case 3:if(!G){e.next=9;break}return e.next=6,Object(w.d)(Le);case 6:t=e.sent,n=t.cacheHit,Re(n);case 9:if(!ie){e.next=12;break}return e.next=12,De();case 12:case"end":return e.stop()}}),e)}))));var Ge=function(){var e=u()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(k.a)(f)&&"_blank"!==m,Ke=function(){return qe||Ae(!0),new Promise((function(e){setTimeout(u()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,De();case 2:Pe()&&Re(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Je=Object(y.useSelect)((function(e){return!!f&&e(I.a).isNavigatingTo(f)})),Xe=Object(y.useDispatch)(I.a).navigateTo,Ye=function(){var e=u()(s.a.mark((function e(t){var n,r,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,a=r.dismissOnCTAClick,n=void 0===a||a;case 12:if(!G||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Xe(f);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),$e=function(){var e=u()(s.a.mark((function e(){var t,n,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(w.d)(Le);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(H,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=n.invertColor,o=void 0!==i&&i;return Object(r.a)(e.createElement(a.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),a=n.n(r),i=n(13),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=l(l({},u),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(a,n),d=Object(c.a)(a,n,s,r),g={},f=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),j),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:f,disabled:C},Object(l.__)("Cancel","google-site-kit")),M?e.createElement(u.Button,{href:M,onClick:E,target:"_blank",danger:N},S):e.createElement(u.SpinnerButton,{onClick:E,danger:N,disabled:C,isSaving:C},S||Object(l.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:a.a.string,dialogActive:a.a.bool,handleDialog:a.a.func,handleConfirm:a.a.func.isRequired,onOpen:a.a.func,onClose:a.a.func,title:a.a.string,confirmButton:a.a.string,danger:a.a.bool,small:a.a.bool,medium:a.a.bool,buttonLink:a.a.string},t.a=ModalDialog}).call(this,n(4))},115:function(e,t,n){"use strict";var r=n(1),a=n(38),i=Object(r.createContext)(a.a);t.a=i},117:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(386),a=function(e,t,n){Object(r.a)((function(n){return e.includes(n.keyCode)&&t.current.contains(n.target)}),n)}},120:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(20),a=n.n(r),i=n(157),o=n.n(i),c=n(11),s=n.n(c),l=n(0),u=n.n(l),d=n(2),g=n(10),f=n(158),m=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,l=t.primaryProps,u=t.size,p=t.step,b=t.tooltipProps,v=u>1?Object(f.a)(u):[],h=function(e){return s()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",a()({className:s()("googlesitekit-tour-tooltip",p.className)},b),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(i.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},v.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:h(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(g.Button,a()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,l.title&&e.createElement(g.Button,a()({className:"googlesitekit-tooltip-button",text:!0},l),l.title))),e.createElement(g.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},121:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(14),a=function(e){return Object(r.isFinite)(e)?e:0}},124:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(20),a=n.n(r),i=n(7),o=n.n(i),c=n(25),s=n.n(c),l=n(0),u=n.n(l),d=n(11),g=n.n(d);function Cell(t){var n,r=t.className,i=t.alignTop,c=t.alignMiddle,l=t.alignBottom,u=t.alignRight,d=t.alignLeft,f=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,b=t.smSize,v=t.smStart,h=t.smOrder,_=t.mdSize,O=t.mdStart,E=t.mdOrder,k=t.lgSize,y=t.lgStart,S=t.lgOrder,j=t.size,w=t.children,N=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",a()({},N,{className:g()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":i,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":l,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":f,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},o()(n,"mdc-layout-grid__cell--span-".concat(j),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--start-".concat(y,"-desktop"),12>=y&&y>0),o()(n,"mdc-layout-grid__cell--order-".concat(S,"-desktop"),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(_,"-tablet"),8>=_&&_>0),o()(n,"mdc-layout-grid__cell--start-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--order-".concat(E,"-tablet"),8>=E&&E>0),o()(n,"mdc-layout-grid__cell--span-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--start-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(20),a=n.n(r),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.className,i=t.children,c=o()(t,["className","children"]);return e.createElement("div",a()({ref:n,className:u()("mdc-layout-grid__inner",r)},c),i)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},1251:function(e,t,n){"use strict";n.r(t),function(e){var t=n(332),r=n(144),a=n(22),i=n(660),o=n(219);Object(t.a)((function(){var t=document.getElementById("js-googlesitekit-ad-blocking-recovery");t&&Object(r.render)(e.createElement(o.a,{viewContext:a.k},e.createElement(i.a,null)),t)}))}.call(this,n(4))},126:function(e,t,n){"use strict";(function(e){var r=n(20),a=n.n(r),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,i=t.fill,c=t.className,s=t.children,l=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",a()({className:u()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":l,"mdc-layout-grid--fill":i})},d,{ref:n}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},127:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=e.sent,i=a.cacheHit,o=a.value,!i){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e)})),createSnapshot:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},i=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(f.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(f.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(f.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:i,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,i=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return e}}}},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(b(e).map((function(e){return e.getActions().createSnapshot()})))},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(b(e).map((function(e){return e.getActions().restoreSnapshot()})))}},133:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i),c=n(39),s=n(2),l=n(21),u=n(36);function SourceLink(t){var n=t.name,r=t.href,a=t.className,i=t.external;return Object(u.a)()?null:e.createElement("div",{className:o()("googlesitekit-source-link",a)},Object(c.a)(Object(s.sprintf)( +/* translators: %s: source link */ +Object(s.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(l.a,{key:"link",href:r,external:i})}))}SourceLink.propTypes={name:a.a.string,href:a.a.string,className:a.a.string,external:a.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},136:function(e,t,n){"use strict";var r=n(1),a=Object(r.createContext)(!1);t.a=a},137:function(e,t,n){"use strict";n.d(t,"d",(function(){return r})),n.d(t,"e",(function(){return a})),n.d(t,"j",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"g",(function(){return c})),n.d(t,"k",(function(){return s})),n.d(t,"c",(function(){return l})),n.d(t,"b",(function(){return u})),n.d(t,"h",(function(){return d})),n.d(t,"f",(function(){return g})),n.d(t,"i",(function(){return f})),n.d(t,"l",(function(){return m})),n.d(t,"n",(function(){return p})),n.d(t,"r",(function(){return b})),n.d(t,"m",(function(){return v})),n.d(t,"p",(function(){return h})),n.d(t,"q",(function(){return _})),n.d(t,"o",(function(){return O})),n.d(t,"t",(function(){return E})),n.d(t,"s",(function(){return k}));var r="disapproved",a="graylisted",i="pending",o="approved",c="needs-attention",s="ready",l="client-requires-review",u="client-getting-ready",d="none",g="multiple",f="no-client",m="added",p="needs-attention",b="requires-review",v="getting-ready",h="ready",_="ready-no-auto-ads",O="none",E=[r,a,i,o],k=function(e){return e===a||e===i}},138:function(e,t,n){"use strict";var r=n(166);n.d(t,"c",(function(){return r.a}));var a=n(63);n.d(t,"b",(function(){return a.c})),n.d(t,"a",(function(){return a.a}))},139:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},a=n.slug,i=void 0===a?"":a,o=n.name,c=void 0===o?"":o,s=n.owner,l=void 0===s?{}:s;if(!i||!c)return e;var u="",d="";return"analytics-4"===i?e.match(/account/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===i&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),u||(u=Object(r.sprintf)( +/* translators: %s: module name */ +Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),c)),l&&l.login&&(d=Object(r.sprintf)( +/* translators: %s: owner name */ +Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),l.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(u," ").concat(d)}},17:function(e,t,n){"use strict";var r=n(248);n.d(t,"i",(function(){return r.a}));var a=n(318);n.d(t,"f",(function(){return a.a}));var i=n(319);n.d(t,"h",(function(){return i.a}));var o=n(320);n.d(t,"j",(function(){return o.a}));var c=n(317);n.d(t,"g",(function(){return c.a}));var s=n(91),l=n.n(s);n.d(t,"b",(function(){return l.a})),n.d(t,"c",(function(){return s.DialogContent})),n.d(t,"d",(function(){return s.DialogFooter}));var u=n(102);n.d(t,"a",(function(){return u.a})),n.d(t,"e",(function(){return u.b})),n.d(t,"k",(function(){return u.c}))},171:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GenericErrorHandlerActions}));var r=n(0),a=n.n(r),i=n(2),o=n(21),c=n(191);function GenericErrorHandlerActions(t){var n=t.message,r=t.componentStack;return e.createElement("div",{className:"googlesitekit-generic-error-handler-actions"},e.createElement(c.a,{message:n,componentStack:r}),e.createElement(o.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0},Object(i.__)("Report this problem","google-site-kit")))}GenericErrorHandlerActions.propTypes={message:a.a.string,componentStack:a.a.string}}).call(this,n(4))},172:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(22),a=function(e){return r.f.includes(e)}},174:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LoadingWrapper}));var r=n(7),a=n.n(r),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(42);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function LoadingWrapper(t){var n=t.loading,r=t.children,a=o()(t,["loading","children"]);return n?e.createElement(l.a,a):r}LoadingWrapper.propTypes=function(e){for(var t=1;tHelp us improve Site Kit by sharing anonymous usage data. All collected data is treated in accordance with the Google Privacy Policy.","google-site-kit"),{a:e.createElement(h.a,{key:"link",href:"https://policies.google.com/privacy",external:!0}),span:e.createElement("span",null)})),(null==S?void 0:S.message)&&e.createElement("div",{className:"googlesitekit-error-text"},null==S?void 0:S.message))}OptIn.propTypes={id:s.a.string,name:s.a.string,className:s.a.string,trackEventCategory:s.a.string,alignLeftCheckbox:s.a.bool}}).call(this,n(4))},215:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Item}));var r=n(0),a=n.n(r);function Item(t){var n=t.icon,r=t.label;return e.createElement("div",{className:"googlesitekit-user-menu__item"},e.createElement("div",{className:"googlesitekit-user-menu__item-icon"},n),e.createElement("span",{className:"googlesitekit-user-menu__item-label"},r))}Item.propTypes={icon:a.a.node,label:a.a.string}}).call(this,n(4))},219:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Root}));var r=n(15),a=n.n(r),i=n(0),o=n.n(i),c=n(425),s=n(529),l=n(1),u=n(3),d=n.n(u),g=n(220),f=n(221),m=n(38),p=n(222),b=n(224),v=n(225),h=n(59),_=n(159),O=n(172);function Root(t){var n=t.children,r=t.registry,i=t.viewContext,o=void 0===i?null:i,d=c.a,E=Object(l.useState)({key:"Root",value:!0}),k=a()(E,1)[0];return e.createElement(l.StrictMode,null,e.createElement(_.a,{value:k},e.createElement(u.RegistryProvider,{value:r},e.createElement(f.a,{value:m.a},e.createElement(h.a,{value:o},e.createElement(s.a,{theme:d()},e.createElement(g.a,null,e.createElement(b.a,null,n,o&&e.createElement(v.a,null)),Object(O.a)(o)&&e.createElement(p.a,null))))))))}Root.propTypes={children:o.a.node,registry:o.a.object,viewContext:o.a.string.isRequired},Root.defaultProps={registry:d.a}}).call(this,n(4))},22:function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return a})),n.d(t,"o",(function(){return i})),n.d(t,"m",(function(){return o})),n.d(t,"t",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"s",(function(){return l})),n.d(t,"i",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"u",(function(){return m})),n.d(t,"v",(function(){return p})),n.d(t,"q",(function(){return b})),n.d(t,"p",(function(){return v})),n.d(t,"b",(function(){return h})),n.d(t,"e",(function(){return _})),n.d(t,"a",(function(){return O})),n.d(t,"d",(function(){return E})),n.d(t,"c",(function(){return k})),n.d(t,"f",(function(){return y})),n.d(t,"g",(function(){return S}));var r="mainDashboard",a="entityDashboard",i="mainDashboardViewOnly",o="entityDashboardViewOnly",c="userInput",s="activation",l="splash",u="adminBar",d="adminBarViewOnly",g="settings",f="adBlockingRecovery",m="wpDashboard",p="wpDashboardViewOnly",b="moduleSetup",v="metricSelection",h="key-metrics",_="traffic",O="content",E="speed",k="monetization",y=[r,a,i,o,c,l,g,b,v],S=[i,o,d,p]},220:function(e,t,n){"use strict";(function(e,r){var a=n(52),i=n.n(a),o=n(53),c=n.n(o),s=n(68),l=n.n(s),u=n(69),d=n.n(u),g=n(49),f=n.n(g),m=n(0),p=n.n(m),b=n(1),v=n(2),h=n(171),_=n(59),O=n(95),E=n(9);function k(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f()(e);if(t){var a=f()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return d()(this,n)}}var y=function(t){l()(ErrorHandler,t);var n=k(ErrorHandler);function ErrorHandler(e){var t;return i()(this,ErrorHandler),(t=n.call(this,e)).state={error:null,info:null,copied:!1},t}return c()(ErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Caught an error:",t,n),this.setState({error:t,info:n}),Object(E.J)("react_error","handle_".concat(this.context||"unknown","_error"),"".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,a=t.info;return n?r.createElement(O.b,{id:"googlesitekit-error",className:"googlesitekit-error-handler",title:Object(v.__)("Site Kit encountered an error","google-site-kit"),description:r.createElement(h.a,{message:n.message,componentStack:a.componentStack}),isDismissible:!1,format:"small",type:"win-error"},r.createElement("pre",{className:"googlesitekit-overflow-auto"},n.message,a.componentStack)):e}}]),ErrorHandler}(b.Component);y.contextType=_.b,y.propTypes={children:p.a.node.isRequired},t.a=y}).call(this,n(28),n(4))},221:function(e,t,n){"use strict";var r=n(115),a=(r.a.Consumer,r.a.Provider);t.a=a},222:function(e,t,n){"use strict";(function(e){var r=n(3),a=n(223),i=n(6);t.a=function PermissionsModal(){return Object(r.useSelect)((function(e){return e(i.a).isAuthenticated()}))?e.createElement(a.a,null):null}}).call(this,n(4))},223:function(e,t,n){"use strict";(function(e,r){var a=n(5),i=n.n(a),o=n(16),c=n.n(o),s=n(2),l=n(1),u=n(3),d=n(112),g=n(29),f=n(32),m=n(6),p=n(130),b=n(73);t.a=function AuthenticatedPermissionsModal(){var t,n,a,o,v=Object(u.useRegistry)(),h=Object(u.useSelect)((function(e){return e(m.a).getPermissionScopeError()})),_=Object(u.useSelect)((function(e){return e(m.a).getUnsatisfiedScopes()})),O=Object(u.useSelect)((function(t){var n,r,a;return t(m.a).getConnectURL({additionalScopes:null==h||null===(n=h.data)||void 0===n?void 0:n.scopes,redirectURL:(null==h||null===(r=h.data)||void 0===r?void 0:r.redirectURL)||e.location.href,errorRedirectURL:null==h||null===(a=h.data)||void 0===a?void 0:a.errorRedirectURL})})),E=Object(u.useDispatch)(m.a).clearPermissionScopeError,k=Object(u.useDispatch)(f.a).navigateTo,y=Object(u.useDispatch)(g.a).setValues,S=Object(l.useCallback)((function(){E()}),[E]),j=Object(l.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return y(m.d,{permissionsError:h}),e.next=3,Object(p.c)(v);case 3:k(O);case 4:case"end":return e.stop()}}),e)}))),[v,O,k,h,y]);return Object(l.useEffect)((function(){(function(){var e=c()(i.a.mark((function e(){var t,n,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(null==h||null===(t=h.data)||void 0===t?void 0:t.skipModal)||!(null==h||null===(n=h.data)||void 0===n||null===(r=n.scopes)||void 0===r?void 0:r.length)){e.next=3;break}return e.next=3,j();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}),[j,h]),h?(null==h||null===(t=h.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.length)?(null==h||null===(a=h.data)||void 0===a?void 0:a.skipModal)||_&&(null==h||null===(o=h.data)||void 0===o?void 0:o.scopes.every((function(e){return _.includes(e)})))?null:r.createElement(b.a,null,r.createElement(d.a,{title:Object(s.__)("Additional Permissions Required","google-site-kit"),subtitle:h.message,confirmButton:Object(s.__)("Proceed","google-site-kit"),dialogActive:!0,handleConfirm:j,handleDialog:S,medium:!0})):(e.console.warn("permissionsError lacks scopes array to use for redirect, so not showing the PermissionsModal. permissionsError was:",h),null):null}}).call(this,n(28),n(4))},224:function(e,t,n){"use strict";var r=n(5),a=n.n(r),i=n(16),o=n.n(i),c=n(15),s=n.n(c),l=n(1),u=n(3),d=n(130);t.a=function RestoreSnapshots(e){var t=e.children,n=Object(u.useRegistry)(),r=Object(l.useState)(!1),i=s()(r,2),c=i[0],g=i[1];return Object(l.useEffect)((function(){c||o()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(n);case 2:g(!0);case 3:case"end":return e.stop()}}),e)})))()}),[n,c]),c?t:null}},225:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return FeatureTours}));var a=n(85),i=n(1),o=n(3),c=n(6),s=n(18),l=n(94);function FeatureTours(){var t=Object(s.a)(),n=Object(o.useDispatch)(c.a).triggerTourForView;Object(a.a)((function(){n(t)}));var u=Object(o.useSelect)((function(e){return e(c.a).getCurrentTour()}));return Object(i.useEffect)((function(){if(u){var t=document.getElementById("js-googlesitekit-main-dashboard");if(t){var n=new ResizeObserver((function(){e.dispatchEvent(new Event("resize"))}));return n.observe(t),function(){n.disconnect()}}}}),[u]),u?r.createElement(l.a,{tourID:u.slug,steps:u.steps,gaEventCategory:u.gaEventCategory,callback:u.callback}):null}}).call(this,n(28),n(4))},226:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WarningNotice}));var r=n(11),a=n.n(r),i=n(0),o=n.n(i);function WarningNotice(t){var n=t.children,r=t.className;return e.createElement("div",{className:a()("googlesitekit-warning-notice",r)},n)}WarningNotice.propTypes={children:o.a.node.isRequired,className:o.a.string}}).call(this,n(4))},227:function(e,t,n){"use strict";(function(e){var r=n(15),a=n.n(r),i=n(0),o=n.n(i),c=n(11),s=n.n(c),l=n(583),u=n(2),d=n(1),g=n(3),f=n(249),m=n(271),p=n(275),b=n(6),v=n(17),h=n(280),_=n(287),O=n(289),E=n(36),k=n(54),y=n(21),S=n(295),j=n(13),w=n(296);function Header(t){var n,r=t.children,i=t.subHeader,o=t.showNavigation,c=!!Object(k.c)(),N=Object(E.a)();Object(w.a)();var A=Object(g.useSelect)((function(e){return e(j.c).getAdminURL("googlesitekit-dashboard")})),C=Object(g.useSelect)((function(e){return e(b.a).isAuthenticated()})),T=Object(l.a)({childList:!0}),x=a()(T,2),R=x[0],L=!!(null===(n=x[1].target)||void 0===n?void 0:n.childElementCount);return e.createElement(d.Fragment,null,e.createElement("header",{className:s()("googlesitekit-header",{"googlesitekit-header--has-subheader":L,"googlesitekit-header--has-navigation":o})},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{smSize:1,mdSize:2,lgSize:4,className:"googlesitekit-header__logo",alignMiddle:!0},e.createElement(y.a,{"aria-label":Object(u.__)("Go to dashboard","google-site-kit"),className:"googlesitekit-header__logo-link",href:A},e.createElement(f.a,null))),e.createElement(v.a,{smSize:3,mdSize:6,lgSize:8,className:"googlesitekit-header__children",alignMiddle:!0},r,!C&&c&&N&&e.createElement(O.a,null),C&&!N&&e.createElement(m.a,null))))),e.createElement("div",{className:"googlesitekit-subheader",ref:R},e.createElement(p.a,null),i),o&&e.createElement(h.a,null),c&&e.createElement(S.a,null),e.createElement(_.a,null))}Header.displayName="Header",Header.propTypes={children:o.a.node,subHeader:o.a.element,showNavigation:o.a.bool},Header.defaultProps={children:null,subHeader:null},t.a=Header}).call(this,n(4))},228:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return HelpMenu}));var r=n(15),a=n.n(r),i=n(0),o=n.n(i),c=n(210),s=n(1),l=n(56),u=n(2),d=n(3),g=n(10),f=n(297),m=n(117),p=n(9),b=n(163),v=n(19),h=n(18),_=n(13);function HelpMenu(t){var n=t.children,r=Object(s.useState)(!1),i=a()(r,2),o=i[0],O=i[1],E=Object(s.useRef)(),k=Object(h.a)();Object(c.a)(E,(function(){return O(!1)})),Object(m.a)([l.c,l.f],E,(function(){return O(!1)}));var y=Object(d.useSelect)((function(e){return e(v.a).isModuleActive("adsense")})),S=Object(s.useCallback)((function(){o||Object(p.J)("".concat(k,"_headerbar"),"open_helpmenu"),O(!o)}),[o,k]),j=Object(s.useCallback)((function(){O(!1)}),[]),w=Object(d.useSelect)((function(e){return e(_.c).getDocumentationLinkURL("fix-common-issues")}));return e.createElement("div",{ref:E,className:"googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},e.createElement(g.Button,{"aria-controls":"googlesitekit-help-menu","aria-expanded":o,"aria-label":Object(u.__)("Help","google-site-kit"),"aria-haspopup":"menu",className:"googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon googlesitekit-help-menu__button mdc-button--dropdown",icon:e.createElement(f.a,{width:"20",height:"20"}),onClick:S,text:!0,tooltipEnterDelayInMS:500}),e.createElement(g.Menu,{className:"googlesitekit-width-auto",menuOpen:o,id:"googlesitekit-help-menu",onSelected:j},n,e.createElement(b.a,{gaEventLabel:"fix_common_issues",href:w},Object(u.__)("Fix common issues","google-site-kit")),e.createElement(b.a,{gaEventLabel:"documentation",href:"https://sitekit.withgoogle.com/documentation/"},Object(u.__)("Read help docs","google-site-kit")),e.createElement(b.a,{gaEventLabel:"support_forum",href:"https://wordpress.org/support/plugin/google-site-kit/"},Object(u.__)("Get support","google-site-kit")),y&&e.createElement(b.a,{gaEventLabel:"adsense_help",href:"https://support.google.com/adsense/"},Object(u.__)("Get help with AdSense","google-site-kit"))))}HelpMenu.propTypes={children:o.a.node}}).call(this,n(4))},23:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}));var r="core/ui",a="activeContextID"},238:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockerWarning}));var r=n(0),a=n.n(r),i=n(3),o=n(13),c=n(19),s=n(389);function AdBlockerWarning(t){var n=t.moduleSlug,r=t.className,a=Object(i.useSelect)((function(e){return e(c.a).getModuleStoreName(n)})),l=Object(i.useSelect)((function(e){var t;return null===(t=e(a))||void 0===t?void 0:t.getAdBlockerWarningMessage()})),u=Object(i.useSelect)((function(e){return e(o.c).getDocumentationLinkURL("".concat(n,"-ad-blocker-detected"))}));return e.createElement(s.a,{className:r,getHelpLink:u,warningMessage:l})}AdBlockerWarning.propTypes={className:a.a.string,moduleSlug:a.a.string.isRequired}}).call(this,n(4))},24:function(e,t,n){"use strict";n.d(t,"d",(function(){return a})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"b",(function(){return c})),n.d(t,"e",(function(){return s}));var r=n(77),a="xlarge",i="desktop",o="tablet",c="small";function s(){var e=Object(r.a)();return e>1280?a:e>960?i:e>600?o:c}},243:function(e,t,n){"use strict";(function(e){var r=n(15),a=n.n(r),i=n(1);t.a=function(t,n){var r=Object(i.useState)(null),o=a()(r,2),c=o[0],s=o[1];return Object(i.useEffect)((function(){if(t.current&&"function"==typeof e.IntersectionObserver){var r=new e.IntersectionObserver((function(e){s(e[e.length-1])}),n);return r.observe(t.current),function(){s(null),r.disconnect()}}return function(){}}),[t.current,n.threshold,n.root,n.rootMargin]),c}}).call(this,n(28))},249:function(e,t,n){"use strict";(function(e){var r=n(2),a=n(139),i=n(250),o=n(103);t.a=function Logo(){return e.createElement("div",{className:"googlesitekit-logo","aria-hidden":"true"},e.createElement(a.a,{className:"googlesitekit-logo__logo-g",height:"34",width:"32"}),e.createElement(i.a,{className:"googlesitekit-logo__logo-sitekit",height:"26",width:"99"}),e.createElement(o.a,null,Object(r.__)("Site Kit by Google Logo","google-site-kit")))}}).call(this,n(4))},250:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nSign in to connect more services and control sharing access.","google-site-kit"),{strong:e.createElement("strong",null)}):Object(s.a)(Object(l.__)("You can see stats from all shared Google services, but you can't make any changes. Learn more","google-site-kit"),{a:e.createElement(b.a,{href:i,external:!0,onClick:E,"aria-label":Object(l.__)("Learn more about dashboard sharing","google-site-kit")})});return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item googlesitekit-view-only-menu__description"},e.createElement("p",null,k),n&&e.createElement(d.Button,{onClick:O},Object(l._x)("Sign in with Google","Service name","google-site-kit")))}}).call(this,n(4))},292:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SharedServices}));var r=n(2),a=n(3),i=n(6),o=n(293);function SharedServices(){var t=Object(a.useSelect)((function(e){return e(i.a).getViewableModules()}));return void 0===t?null:e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("h4",null,Object(r.__)("Shared services","google-site-kit")),e.createElement("ul",null,t.map((function(t){return e.createElement(o.a,{key:t,module:t})}))))}}).call(this,n(4))},293:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Service}));var r=n(0),a=n.n(r),i=n(39),o=n(2),c=n(3),s=n(19),l=n(6);function Service(t){var n=t.module,r=Object(c.useSelect)((function(e){return e(l.a).hasCapability(l.H)})),a=Object(c.useSelect)((function(e){return e(s.a).getModule(n)||{}})),u=a.name,d=a.owner,g=Object(c.useSelect)((function(e){return e(s.a).getModuleIcon(n)}));return e.createElement("li",{className:"googlesitekit-view-only-menu__service"},e.createElement("span",{className:"googlesitekit-view-only-menu__service--icon"},e.createElement(g,{height:26})),e.createElement("span",{className:"googlesitekit-view-only-menu__service--name"},u),r&&(null==d?void 0:d.login)&&e.createElement("span",{className:"googlesitekit-view-only-menu__service--owner"},Object(i.a)(Object(o.sprintf)( +/* translators: %s: module owner Google Account email address */ +Object(o.__)("Shared by %s","google-site-kit"),d.login),{strong:e.createElement("strong",{title:d.login})})))}Service.propTypes={module:a.a.string.isRequired}}).call(this,n(4))},294:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Tracking}));var r=n(39),a=n(2),i=n(214),o=n(18);function Tracking(){var t=Object(o.a)();return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("p",null,Object(r.a)(Object(a.__)("Thanks for using Site Kit!
Help us make it even better","google-site-kit"),{br:e.createElement("br",null)})),e.createElement(i.a,{trackEventCategory:"".concat(t,"_headerbar_viewonly"),alignCheckboxLeft:!0}))}}).call(this,n(4))},295:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SubtleNotifications}));var r=n(167),a=n(45);function SubtleNotifications(){return e.createElement(r.a,{areaSlug:a.b.BANNERS_BELOW_NAV})}}).call(this,n(4))},296:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(5),a=n.n(r),i=n(16),o=n.n(i),c=n(1),s=n(3),l=n(13),u=n(18),d=n(34),g=n(9),f=function(){var e=Object(u.a)(),t=Object(s.useSelect)((function(e){return e(l.c).isUsingProxy()})),n=Object(s.useSelect)((function(e){return e(l.c).getSetupErrorMessage()}));Object(c.useEffect)((function(){n||void 0===t||function(){var n=o()(a.a.mark((function n(){var r,i;return a.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Object(d.d)("start_user_setup");case 2:return r=n.sent,n.next=5,Object(d.d)("start_site_setup");case 5:if(i=n.sent,!r.cacheHit){n.next=10;break}return n.next=9,Object(d.c)("start_user_setup");case 9:Object(g.J)("".concat(e,"_setup"),"complete_user_setup",t?"proxy":"custom-oauth");case 10:if(!i.cacheHit){n.next=14;break}return n.next=13,Object(d.c)("start_site_setup");case 13:Object(g.J)("".concat(e,"_setup"),"complete_site_setup",t?"proxy":"custom-oauth");case 14:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()}),[e,t,n])}},297:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},o=i.ttl,s=void 0===o?c.b:o,l=i.timestamp,u=void 0===l?Math.round(Date.now()/1e3):l,d=i.isError,f=void 0!==d&&d,t.next=3,b();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(g).concat(n),JSON.stringify({timestamp:u,ttl:s,value:r,isError:f})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),O=function(){var t=o()(a.a.mark((function t(n){var r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,i=n.startsWith(d)?n:"".concat(g).concat(n),r.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=o()(a.a.mark((function t(){var n,r,i,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:0;Object(r.useEffect)((function(){var r,a=!1,i=function(){r=e.setTimeout((function(){a=!0}),n)},o=function(){e.clearTimeout(r),a&&(a=!1,t())};return e.addEventListener("focus",o),e.addEventListener("blur",i),function(){e.removeEventListener("focus",o),e.removeEventListener("blur",i),e.clearTimeout(r)}}),[n,t])}}).call(this,n(28))},36:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(22),a=n(18);function i(){var e=Object(a.a)();return r.g.includes(e)}},360:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PageHeader}));var r=n(11),a=n.n(r),i=n(0),o=n.n(i),c=n(17),s=n(310),l=n(311),u=n(78);function PageHeader(t){var n=t.title,r=t.icon,i=t.className,o=t.status,d=t.statusText,g=t.fullWidth,f=t.children,m=g?{size:12}:{smSize:4,mdSize:4,lgSize:6},p=""!==o||Boolean(f);return e.createElement("header",{className:"googlesitekit-page-header"},e.createElement(c.k,null,n&&e.createElement(c.a,m,r,e.createElement("h1",{className:a()("googlesitekit-page-header__title",i)},n)),p&&e.createElement(c.a,{alignBottom:!0,mdAlignRight:!0,smSize:4,mdSize:4,lgSize:6},e.createElement("div",{className:"googlesitekit-page-header__details"},o&&e.createElement("span",{className:a()("googlesitekit-page-header__status","googlesitekit-page-header__status--".concat(o))},d,e.createElement(u.a,null,"connected"===o?e.createElement(s.a,{width:10,height:8}):e.createElement(l.a,{width:2,height:12}))),f))))}PageHeader.propTypes={title:o.a.string,icon:o.a.node,className:o.a.string,status:o.a.string,statusText:o.a.string,fullWidth:o.a.bool},PageHeader.defaultProps={title:"",icon:null,className:"googlesitekit-heading-3",status:"",statusText:"",fullWidth:!1}}).call(this,n(4))},362:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupAccountSiteUI}));var r=n(0),a=n.n(r),i=n(1),o=n(3),c=n(10),s=n(32),l=n(161),u=n(403),d=n(31);function SetupAccountSiteUI(t){var n=t.heading,r=t.description,a=t.primaryButton,g=t.secondaryButton,f=Object(o.useSelect)((function(e){return e(d.m).isDoingSubmitChanges()||e(s.a).isNavigating()}));return e.createElement(i.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},n),e.createElement(l.d,null),e.createElement("p",null,r),e.createElement(u.a,null),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(c.SpinnerButton,{onClick:a.onClick,href:a.href,disabled:f,isSaving:f},a.label),g&&e.createElement("div",{className:"googlesitekit-setup-module__sub-action"},e.createElement(c.Button,{tertiary:!0,onClick:g.onClick},g.label))))}SetupAccountSiteUI.propTypes={heading:a.a.string.isRequired,description:a.a.string.isRequired,primaryButton:a.a.shape({label:a.a.string,href:a.a.string,onClick:a.a.func}).isRequired,secondaryButton:a.a.shape({label:a.a.string,onClick:a.a.func})}}).call(this,n(4))},366:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,n(28))},389:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockerWarningMessage}));var r=n(0),a=n.n(r),i=n(2),o=n(39),c=n(21),s=n(226),l=n(390);function AdBlockerWarningMessage(t){var n=t.className,r=void 0===n?"":n,a=t.getHelpLink,u=void 0===a?"":a,d=t.warningMessage,g=void 0===d?null:d;return g?e.createElement(s.a,{className:r},Object(o.a)(Object(i.sprintf)( +/* translators: 1: The warning message. 2: "Get help" text. */ +Object(i.__)("%1$s. %2$s","google-site-kit"),g,Object(i.__)("Get help","google-site-kit")),{Link:e.createElement(c.a,{href:u,external:!0,hideExternalIndicator:!0,trailingIcon:e.createElement(l.a,{width:15,height:15})})})):null}AdBlockerWarningMessage.propTypes={className:a.a.string,getHelpLink:a.a.string,warningMessage:a.a.string}}).call(this,n(4))},390:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"),{a:e.createElement(c.a,{path:"/adsense/answer/6023158",external:!0,"aria-label":Object(i.__)("Learn more about updating your AdSense account","google-site-kit")})})),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(o.Button,{href:"https://www.google.com/adsense",target:"_blank","aria-label":Object(i.__)("Learn more about updating your AdSense account","google-site-kit"),onClick:n},Object(i.__)("Apply now","google-site-kit"))))}}).call(this,n(4))},535:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SetupAccountCreateSite}));var a=n(1),i=n(2),o=n(3),c=n(10),s=n(31),l=n(161),u=n(9),d=n(18);function SetupAccountCreateSite(){var t=Object(d.a)(),n=Object(o.useSelect)((function(e){return e(s.m).getServiceAccountManageSiteURL()})),g=Object(a.useCallback)((function(r){r.preventDefault(),Object(u.J)("".concat(t,"_adsense"),"create_site"),e.open(n,"_blank")}),[n,t]);return r.createElement(a.Fragment,null,r.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(i.__)("Add this site to your AdSense account","google-site-kit")),r.createElement(l.d,null),r.createElement("p",null,Object(i.__)("We’ve detected that you haven’t added this site to your AdSense account yet","google-site-kit")),r.createElement("div",{className:"googlesitekit-setup-module__action"},r.createElement(c.Button,{onClick:g,href:n},Object(i.__)("Add site to AdSense","google-site-kit"))))}}).call(this,n(28),n(4))},536:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupAccountPendingTasks}));var r=n(1),a=n(2),i=n(3),o=n(10),c=n(403),s=n(31),l=n(161),u=n(9),d=n(18);function SetupAccountPendingTasks(){var t=Object(d.a)(),n=Object(r.useCallback)((function(){Object(u.J)("".concat(t,"_adsense"),"review_tasks")}),[t]),g=Object(i.useSelect)((function(e){return e(s.m).getServiceAccountURL()}));return e.createElement(r.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(a.__)("Your account isn’t ready to show ads yet","google-site-kit")),e.createElement(l.d,null),e.createElement("p",null,Object(a.__)("You need to fix some things before we can connect Site Kit to your AdSense account","google-site-kit")),e.createElement(c.a,null),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(o.Button,{onClick:n,href:g},Object(a.__)("Review AdSense account","google-site-kit"))))}}).call(this,n(4))},537:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SetupCreateAccount}));var a=n(5),i=n.n(a),o=n(16),c=n.n(o),s=n(1),l=n(39),u=n(2),d=n(3),g=n(10),f=n(185),m=n(9),p=n(377),b=n(31),v=n(6),h=n(161),_=n(18);function SetupCreateAccount(){var t=Object(_.a)(),n="".concat(t,"_adsense"),a=Object(d.useSelect)((function(e){return e(v.a).getEmail()})),o=Object(d.useSelect)((function(e){return e(b.m).getExistingTag()})),O=Object(d.useSelect)((function(e){return e(b.m).getServiceCreateAccountURL()})),E=Object(s.useCallback)(function(){var t=c()(i.a.mark((function t(r){return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r.preventDefault(),t.next=3,Object(m.J)(n,"create_account");case 3:e.open(O,"_blank");case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),[O,n]);return r.createElement(s.Fragment,null,r.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(u.__)("Create your AdSense account","google-site-kit")),r.createElement(h.d,null),r.createElement("p",null,Object(u.__)("Once you create your account, Site Kit will place AdSense code on every page across your site. This means your site will be automatically optimized to help you earn money from your content.","google-site-kit")),r.createElement(h.f,null),r.createElement("div",{className:"googlesitekit-setup-module__action"},r.createElement(g.Button,{onClick:E,href:O},Object(u.__)("Create AdSense account","google-site-kit"))),r.createElement("p",{className:"googlesitekit-setup-module__footer-text"},o&&Object(u.sprintf)( +/* translators: 1: client ID, 2: user email address, 3: account ID */ +Object(u.__)("Site Kit detected AdSense code %1$s on your page. We recommend you remove that code or add %2$s as a user to the AdSense account %3$s.","google-site-kit"),o,a,Object(p.a)(o)),!o&&Object(l.a)(Object(u.sprintf)( +/* translators: %s: user email address */ +Object(u.__)("Already use AdSense? Add %s as a user to an existing AdSense account. Learn more","google-site-kit"),a),{a:r.createElement(f.a,{path:"/adsense/answer/2659101",external:!0,"aria-label":Object(u.__)("Learn more about adding a user to an existing AdSense account","google-site-kit")})})))}}).call(this,n(28),n(4))},538:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupSelectAccount}));var r=n(1),a=n(2),i=n(161);function SetupSelectAccount(){return e.createElement(r.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(a.__)("Select your AdSense account","google-site-kit")),e.createElement(i.d,null),e.createElement("p",null,Object(a.__)("Looks like you have multiple AdSense accounts associated with your Google account. Select the account to use with Site Kit below.","google-site-kit")),e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(i.a,null)))}}).call(this,n(4))},54:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(22),a=n(18),i=r.n,o=r.l;function c(){var e=Object(a.a)();return e===r.n||e===r.o?i:e===r.l||e===r.m?o:null}},541:function(e,t,n){"use strict";function r(e){return"string"==typeof e&&/^pub-\d+$/.test(e)}function a(e){return"string"==typeof e&&/^ca-pub-\d+$/.test(e)}n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a}))},57:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(107),o=n(2),c=n(9);function ErrorText(t){var n=t.message,r=t.reconnectURL,a=t.noPrefix;if(!n)return null;var s=n;void 0!==a&&a||(s=Object(o.sprintf)( +/* translators: %s: Error message */ +Object(o.__)("Error: %s","google-site-kit"),n)),r&&Object(i.a)(r)&&(s=s+" "+Object(o.sprintf)( +/* translators: %s: Reconnect URL */ +Object(o.__)('To fix this, redo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(s,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:a.a.string.isRequired,reconnectURL:a.a.string,noPrefix:a.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},58:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(40);function a(e){return function(){e[r.a]=e[r.a]||[],e[r.a].push(arguments)}}},588:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WebStoriesAdUnitSelect}));var r=n(1),a=n(2),i=n(10),o=n(3),c=n(31);function WebStoriesAdUnitSelect(){var t=Object(o.useSelect)((function(e){return e(c.m).getAccountID()})),n=Object(o.useSelect)((function(e){return e(c.m).getClientID()})),s=Object(o.useSelect)((function(e){return e(c.m).getWebStoriesAdUnit()})),l=Object(o.useSelect)((function(e){return e(c.m).getAdUnits(t,n)})),u=Object(o.useSelect)((function(e){return e(c.m).hasFinishedResolution("getAdUnits",[t,n])})),d=Object(o.useDispatch)(c.m).setWebStoriesAdUnit,g=Object(r.useCallback)((function(e,t){var n=t.dataset.value;s!==n&&d(n)}),[s,d]);return u?e.createElement(i.Select,{className:"googlesitekit-adsense__select-field",label:Object(a.__)("Web Stories Ad Unit","google-site-kit"),value:s,onEnhancedChange:g,enhanced:!0,outlined:!0},e.createElement(i.Option,{value:""},Object(a.__)("Select ad unit","google-site-kit")),(l||[]).map((function(t){var n=t._id,r=t.displayName;return e.createElement(i.Option,{key:n,value:n},r)}))):e.createElement(i.ProgressBar,{small:!0})}}).call(this,n(4))},589:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdSenseConnectCTA}));var r=n(20),a=n.n(r),i=n(5),o=n.n(i),c=n(16),s=n.n(c),l=n(15),u=n.n(l),d=n(216),g=n(0),f=n.n(g),m=n(2),p=n(1),b=n(39),v=n(3),h=n(10),_=n(31),O=n(17),E=n(13),k=n(19),y=n(32),S=n(34),j=n(9),w=n(667),N=n(185),A=n(18);function AdSenseConnectCTA(t){var n=t.onDismissModule,r=Object(v.useDispatch)(y.a).navigateTo,i=Object(v.useDispatch)(k.a).activateModule,c=Object(v.useDispatch)(E.c).setInternalServerError,l=Object(A.a)(),g=Object(p.useRef)(),f=Object(p.useState)(!1),C=u()(f,2),T=C[0],x=C[1],R=Object(d.a)(g,{threshold:.25}),L=!!(null==R?void 0:R.intersectionRatio);Object(p.useEffect)((function(){L&&!T&&(Object(j.J)("".concat(l,"_adsense-cta-widget"),"widget_view"),x(!0))}),[L,l,T]);var D=Object(v.useSelect)((function(e){return e(_.m).getAdminReauthURL()})),M=Object(v.useSelect)((function(e){return e(k.a).isModuleActive("adsense")})),I=Object(v.useSelect)((function(e){return e(k.a).isModuleConnected("adsense")})),P=Object(v.useSelect)((function(e){return!!e(k.a).isFetchingSetModuleActivation("adsense",!0)||!!D&&e(y.a).isNavigatingTo(D)})),B=Object(p.useCallback)(s()(o.a.mark((function e(){var t,n,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i("adsense");case 2:if(t=e.sent,n=t.response,!(a=t.error)){e.next=8;break}return c({id:"setup-module-error",description:a.message}),e.abrupt("return",null);case 8:return e.next=10,Object(j.J)("".concat(l,"_adsense-cta-widget"),"activate_module","adsense");case 10:return e.next=12,Object(S.f)("module_setup","adsense",{ttl:300});case 12:r(n.moduleReauthURL);case 13:case"end":return e.stop()}}),e)}))),[i,r,c,l]),H=Object(p.useCallback)((function(){return r(D)}),[D,r]),z=Object(p.useCallback)((function(){Object(j.J)("".concat(l,"_adsense-cta-widget"),"dismiss_widget"),n()}),[n,l]),F={smSize:4,mdSize:4,lgSize:6};return e.createElement("section",{ref:g,className:"googlesitekit-setup__wrapper googlesitekit-setup__wrapper--adsense-connect"},e.createElement(O.e,null,e.createElement(w.a,{hasBeenInView:T}),e.createElement(O.k,null,e.createElement(O.a,F,e.createElement("div",{className:"googlesitekit-setup-module__action"},!M&&e.createElement(h.SpinnerButton,{onClick:B,isSaving:P},Object(m.__)("Connect now","google-site-kit")),M&&!I&&e.createElement(h.SpinnerButton,{onClick:H,isSaving:P},Object(m.__)("Complete setup","google-site-kit")),e.createElement(h.Button,{tertiary:!0,onClick:z},Object(m.__)("Maybe later","google-site-kit")))),e.createElement(O.a,a()({},F,{className:"googlesitekit-setup-module__footer-text"}),e.createElement("p",null,Object(b.a)(Object(m.__)("AdSense accounts are subject to review and approval by the Google AdSense team","google-site-kit"),{a:e.createElement(N.a,{path:"/adsense/answer/9724",external:!0,hideExternalIndicator:!0})}))))))}AdSenseConnectCTA.propTypes={onDismissModule:f.a.func.isRequired}}).call(this,n(4))},59:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(1),a=Object(r.createContext)(""),i=(a.Consumer,a.Provider);t.b=a},593:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Step}));var r=n(0),a=n.n(r),i=n(304);function Step(t){var n=t.children,r=t.title,a=t.stepStatus;return e.createElement("div",{className:"googlesitekit-stepper__step-info"},e.createElement("h2",{className:"googlesitekit-stepper__step-title"},r),e.createElement("div",{className:"googlesitekit-stepper__step-content-container"},a===i.a.ACTIVE&&e.createElement("div",{className:"googlesitekit-stepper__step-content"},n)))}Step.propTypes={children:a.a.node.isRequired,title:a.a.string.isRequired,stepStatus:a.a.oneOf(Object.values(i.a))}}).call(this,n(4))},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"e",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return s})),n.d(t,"M",(function(){return l})),n.d(t,"O",(function(){return u})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return g})),n.d(t,"J",(function(){return f})),n.d(t,"I",(function(){return m})),n.d(t,"N",(function(){return p})),n.d(t,"f",(function(){return b})),n.d(t,"g",(function(){return v})),n.d(t,"h",(function(){return h})),n.d(t,"j",(function(){return _})),n.d(t,"l",(function(){return O})),n.d(t,"m",(function(){return E})),n.d(t,"n",(function(){return k})),n.d(t,"o",(function(){return y})),n.d(t,"q",(function(){return S})),n.d(t,"s",(function(){return j})),n.d(t,"r",(function(){return w})),n.d(t,"t",(function(){return N})),n.d(t,"w",(function(){return A})),n.d(t,"u",(function(){return C})),n.d(t,"v",(function(){return T})),n.d(t,"x",(function(){return x})),n.d(t,"y",(function(){return R})),n.d(t,"A",(function(){return L})),n.d(t,"B",(function(){return D})),n.d(t,"C",(function(){return M})),n.d(t,"D",(function(){return I})),n.d(t,"k",(function(){return P})),n.d(t,"F",(function(){return B})),n.d(t,"z",(function(){return H})),n.d(t,"G",(function(){return z})),n.d(t,"E",(function(){return F})),n.d(t,"i",(function(){return V})),n.d(t,"p",(function(){return U})),n.d(t,"Q",(function(){return W})),n.d(t,"P",(function(){return G}));var r="core/user",a="connected_url_mismatch",i="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",l="googlesitekit_setup",u="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",m="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",v="kmAnalyticsEngagedTrafficSource",h="kmAnalyticsLeastEngagingPages",_="kmAnalyticsNewVisitors",O="kmAnalyticsPopularAuthors",E="kmAnalyticsPopularContent",k="kmAnalyticsPopularProducts",y="kmAnalyticsReturningVisitors",S="kmAnalyticsTopCities",j="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",N="kmAnalyticsTopCitiesDrivingPurchases",A="kmAnalyticsTopDeviceDrivingPurchases",C="kmAnalyticsTopConvertingTrafficSource",T="kmAnalyticsTopCountries",x="kmAnalyticsTopPagesDrivingLeads",R="kmAnalyticsTopRecentTrendingPages",L="kmAnalyticsTopTrafficSource",D="kmAnalyticsTopTrafficSourceDrivingAddToCart",M="kmAnalyticsTopTrafficSourceDrivingLeads",I="kmAnalyticsTopTrafficSourceDrivingPurchases",P="kmAnalyticsPagesPerVisit",B="kmAnalyticsVisitLength",H="kmAnalyticsTopReturningVisitorPages",z="kmSearchConsolePopularKeywords",F="kmAnalyticsVisitsPerVisitor",V="kmAnalyticsMostEngagingPages",U="kmAnalyticsTopCategories",W=[b,v,h,_,O,E,k,y,U,S,j,w,N,A,C,T,R,L,D,P,B,H,F,V,U],G=[].concat(W,[z])},63:function(e,t,n){"use strict";n.d(t,"c",(function(){return p})),n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return v})),n.d(t,"d",(function(){return _}));var r=n(7),a=n.n(r),i=n(1);function o(){return(o=Object.assign||function(e){for(var t=1;t1&&!G&&R(w.f)}),[R,G,W]),Object(f.useEffect)((function(){I&&!z&&J&&!V&&(P(!1),o()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return F(!0),e.next=3,L();case 3:F(!1);case 4:case"end":return e.stop()}}),e)})))())}),[I,z,J,L,V]);var oe,ce=Object(f.useCallback)((function(){void 0!==Y&&w.k!==Y&&(u(),d(),T())}),[Y,u,d,T]);return Object(A.a)(ce,15e3),Object(f.useEffect)((function(){void 0!==Y&&Object(O.J)(i,"receive_account_state",Y)}),[i,Y]),Object(f.useEffect)((function(){void 0!==Z&&Object(O.J)(i,"receive_site_state",Z)}),[i,Z]),oe=te&&void 0!==G&&void 0!==ne&&void 0!==re&&void 0!==ae?ee?e.createElement(E.d,{hasButton:!0}):(null==W?void 0:W.length)?G?e.createElement(v.a,{account:ie,finishSetup:n}):e.createElement(_.a,null):e.createElement(h.a,null):e.createElement(p.ProgressBar,null),e.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--adsense"},e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement("div",{className:"googlesitekit-setup-module__logo"},e.createElement(b.a,{width:"40",height:"40"})),e.createElement("h2",{className:"googlesitekit-heading-3 googlesitekit-setup-module__title"},Object(g._x)("AdSense","Service name","google-site-kit"))),e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement(k.a,{moduleSlug:"adsense"}),!U&&oe))}SetupMain.propTypes={finishSetup:d.a.func}}).call(this,n(4))},66:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:-1;return eLearn more","google-site-kit"),{a:e.createElement(b.a,{href:E,external:!0})})),s&&e.createElement(p.a,{error:s}),e.createElement(f.SpinnerButton,{onClick:C,isSaving:c,disabled:c},Object(g.__)("Enable message","google-site-kit")))}PlaceTagsStep.propTypes={setActiveStep:s.a.func}}).call(this,n(4))},667:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ContentAutoUpdate}));var r=n(15),a=n.n(r),i=n(0),o=n.n(i),c=n(1),s=n(668);function ContentAutoUpdate(t){var n=t.hasBeenInView,r=Object(c.useState)({stage:0,mode:"static"}),i=a()(r,2),o=i[0],l=o.stage,u=o.mode,d=i[1];return Object(c.useEffect)((function(){if(n){var e=setTimeout((function(){d({stage:0,mode:"leave"})}),7e3);return function(){clearTimeout(e)}}}),[n]),e.createElement(s.a,{stage:l,mode:u,onAnimationEnd:function(){"enter"===u?d({stage:l,mode:"leave"}):"leave"===u&&d({stage:2===l?0:l+1,mode:"enter"})}})}ContentAutoUpdate.propTypes={hasBeenInView:o.a.bool.isRequired}}).call(this,n(4))},668:function(e,t,n){"use strict";(function(e){var r=n(20),a=n.n(r),i=n(7),o=n.n(i),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(2),g=n(1),f=n(17),m=n(669),p=n(506),b=Object(g.forwardRef)((function(t,n){var r=t.stage,i=t.mode,c=t.onAnimationEnd,s=[{title:Object(d.__)("Earn money from your site","google-site-kit"),description:Object(d.__)("Focus on writing good content and let AdSense help you make it profitable","google-site-kit")},{title:Object(d.__)("Save time with automated ads","google-site-kit"),description:Object(d.__)("Auto ads automatically place and optimize your ads for you so you don't have to spend time doing it yourself","google-site-kit")},{title:Object(d.__)("You’re in control","google-site-kit"),description:Object(d.__)("Block ads you don't like, customize where ads appear, and choose which types fit your site best","google-site-kit")}],l={smSize:4,mdSize:4,lgSize:6};return e.createElement(g.Fragment,null,e.createElement(f.k,null,e.createElement(f.a,{size:12},e.createElement("p",{className:"googlesitekit-setup__intro-title"},Object(d.__)("Connect Service","google-site-kit")),e.createElement("div",{className:"googlesitekit-setup-module"},e.createElement("div",{className:"googlesitekit-setup-module__logo"},e.createElement(p.a,{width:"33",height:"33"})),e.createElement("h2",{className:"googlesitekit-heading-3 googlesitekit-setup-module__title"},Object(d._x)("AdSense","Service name","google-site-kit"))))),e.createElement(f.k,{ref:n},e.createElement(f.a,a()({},l,{smOrder:2,mdOrder:1,className:"googlesitekit-setup-module--adsense__stage-captions"}),e.createElement("ul",{className:"googlesitekit-setup-module--adsense__stage-caption-container"},s.map((function(t,n){var a=t.title,c=t.description;return e.createElement("li",{key:n,className:u()("googlesitekit-setup-module--adsense__stage-caption",o()({},"googlesitekit-setup-module--adsense__stage-caption--current--".concat(i),r===n))},e.createElement("div",{className:"googlesitekit-setup-module--adsense__stage-caption-indicator"}),e.createElement("div",null,e.createElement("h4",null,a),e.createElement("p",null,c)))}))),e.createElement("ul",{className:"googlesitekit-setup-module--adsense__stage-indicator"},s.map((function(t,n){return e.createElement("li",{key:n,className:u()(o()({},"googlesitekit-setup-module--adsense__stage-indicator--current--".concat(i),r===n))})})))),e.createElement(f.a,a()({},l,{smOrder:1,mdOrder:2,className:"googlesitekit-setup-module--adsense__stage-images"}),e.createElement("div",{className:"googlesitekit-setup-module--adsense__stage-image-container"},s.map((function(t,n){return e.createElement("div",{key:n,className:u()("googlesitekit-setup-module--adsense__stage-image",o()({},"googlesitekit-setup-module--adsense__stage-image--current--".concat(i),r===n)),onAnimationEnd:r===n?c:void 0},e.createElement(m.a,{stage:n}))}))))))}));b.propTypes={stage:s.a.oneOf([0,1,2]),mode:s.a.oneOf(["static","enter","leave"]),onAnimationEnd:s.a.func},t.a=b}).call(this,n(4))},669:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ContentSVG}));var r=n(0),a=n(1),i=n(2),o=n(42),c=n(149),s=Object(a.lazy)((function(){return n.e(33).then(n.bind(null,1196))})),l=Object(a.lazy)((function(){return n.e(34).then(n.bind(null,1197))})),u=Object(a.lazy)((function(){return n.e(35).then(n.bind(null,1198))}));function LazyContentSVG(t){var n=t.stage,r={0:e.createElement(s,null),1:e.createElement(l,null),2:e.createElement(u,null)};return r[n]?e.createElement(c.a,{errorMessage:Object(i.__)("Failed to load graphic","google-site-kit")},r[n]):null}function ContentSVG(t){var n=t.stage;return e.createElement(a.Suspense,{fallback:e.createElement(o.a,{width:"100%",height:"100%"})},e.createElement(LazyContentSVG,{stage:n}))}ContentSVG.propTypes={stage:r.PropTypes.oneOf([0,1,2]).isRequired}}).call(this,n(4))},670:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return NeedsAttention}));var a=n(1),i=n(2),o=n(3),c=n(59),s=n(9),l=n(31),u=n(362);function NeedsAttention(){var t=Object(a.useContext)(c.b),n=Object(o.useSelect)((function(e){return e(l.m).getServiceAccountManageSitesURL()})),d=Object(a.useCallback)((function(r){r.preventDefault(),Object(s.J)("".concat(t,"_adsense"),"review_site_state","needs_attention"),e.open(n,"_blank")}),[n,t]),g=Object(i.__)("Your site isn’t ready to show ads yet","google-site-kit"),f=Object(i.__)("You need to fix some things with this site before we can connect Site Kit to your AdSense account","google-site-kit"),m={label:Object(i.__)("Review site in AdSense","google-site-kit"),href:n,onClick:d};return r.createElement(u.a,{heading:g,description:f,primaryButton:m})}}).call(this,n(28),n(4))},671:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return GettingReady}));var a=n(1),i=n(2),o=n(3),c=n(59),s=n(9),l=n(31),u=n(362);function GettingReady(){var t=Object(a.useContext)(c.b),n=Object(o.useSelect)((function(e){return e(l.m).getServiceAccountManageSitesURL()})),d=Object(a.useCallback)((function(r){r.preventDefault(),Object(s.J)("".concat(t,"_adsense"),"review_site_state","getting_ready"),e.open(n,"_blank")}),[n,t]),g=Object(i.__)("Your site is getting ready","google-site-kit"),f=Object(i.__)("This usually takes a few days, but in some cases can take a few weeks. You’ll get an email from AdSense as soon as they have run some checks on your site.","google-site-kit"),m={label:Object(i.__)("Review site in AdSense","google-site-kit"),href:n,onClick:d};return r.createElement(u.a,{heading:g,description:f,primaryButton:m})}}).call(this,n(28),n(4))},672:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return RequiresReview}));var a=n(1),i=n(2),o=n(3),c=n(59),s=n(9),l=n(31),u=n(362);function RequiresReview(){var t=Object(a.useContext)(c.b),n=Object(o.useSelect)((function(e){return e(l.m).getServiceAccountManageSitesURL()})),d=Object(a.useCallback)((function(r){r.preventDefault(),Object(s.J)("".concat(t,"_adsense"),"review_site_state","requires_review"),e.open(n,"_blank")}),[n,t]),g=Object(i.__)("Your site requires review","google-site-kit"),f=Object(i.__)("To start serving ads, your site needs to be approved first. Go to AdSense to request the review.","google-site-kit"),m={label:Object(i.__)("Request review in AdSense","google-site-kit"),href:n,onClick:d};return r.createElement(u.a,{heading:g,description:f,primaryButton:m})}}).call(this,n(28),n(4))},673:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return Ready}));var a=n(5),i=n.n(a),o=n(16),c=n.n(o),s=n(15),l=n.n(s),u=n(1),d=n(2),g=n(3),f=n(59),m=n(9),p=n(31),b=n(23),v=n(362);function Ready(t){var n=t.site,a=t.finishSetup,o=Object(u.useState)(!1),s=l()(o,2),h=s[0],_=s[1],O=Object(u.useContext)(f.b),E=Object(g.useSelect)((function(e){return e(p.m).getExistingTag()})),k=Object(g.useSelect)((function(e){return e(p.m).getServiceAccountSiteAdsPreviewURL()})),y=Object(g.useSelect)((function(e){return e(p.m).isDoingSubmitChanges()})),S=Object(g.useDispatch)(p.m),j=S.completeSiteSetup,w=S.completeAccountSetup,N=Object(g.useDispatch)(b.b).setValue,A=Object(u.useCallback)((function(t){t.preventDefault(),Object(m.J)("".concat(O,"_adsense"),"enable_auto_ads"),e.open(k,"_blank")}),[k,O]),C=Object(u.useCallback)((function(e){e.preventDefault(),Object(m.J)("".concat(O,"_adsense"),"disable_auto_ads"),_(!0)}),[O]),T=Object(u.useCallback)(c()(i.a.mark((function e(){var t,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!y){e.next=2;break}return e.abrupt("return");case 2:return N(p.i,!0),e.next=5,j();case 5:return t=e.sent,e.next=8,w();case 8:n=e.sent,N(p.i,!1),t&&n&&"function"==typeof a&&a();case 11:case"end":return e.stop()}}),e)}))),[y,N,j,w,a]),x={};return n.autoAdsEnabled||h?(x.heading=E?Object(d.__)("Your AdSense account is ready to connect to Site Kit","google-site-kit"):Object(d.__)("Your site is ready to use AdSense","google-site-kit"),x.description=E?Object(d.__)("Connect your AdSense account to see stats on your overall earnings, page CTR, and top earning pages","google-site-kit"):Object(d.__)("Site Kit has placed AdSense code on your site to connect your site to AdSense and help you get the most out of ads","google-site-kit"),x.primaryButton={label:Object(d.__)("Complete setup","google-site-kit"),onClick:T}):(x.heading=Object(d.__)("Enable auto ads for your site","google-site-kit"),x.description=Object(d.__)("To start serving ads via Site Kit, you need to activate auto ads first. Go to AdSense and enable auto ads for your site.","google-site-kit"),x.primaryButton={label:Object(d.__)("Enable auto ads","google-site-kit"),href:k,onClick:A},E&&(x.description=Object(d.__)("Site Kit recommends enabling auto ads. If your existing AdSense setup relies on individual ad units, you can proceed without enabling auto ads.","google-site-kit"),x.secondaryButton={label:Object(d.__)("Proceed without enabling auto ads","google-site-kit"),onClick:C})),r.createElement(v.a,x)}}).call(this,n(28),n(4))},70:function(e,t,n){"use strict";n.r(t),n.d(t,"CONTEXT_MAIN_DASHBOARD_KEY_METRICS",(function(){return r})),n.d(t,"CONTEXT_MAIN_DASHBOARD_TRAFFIC",(function(){return a})),n.d(t,"CONTEXT_MAIN_DASHBOARD_CONTENT",(function(){return i})),n.d(t,"CONTEXT_MAIN_DASHBOARD_SPEED",(function(){return o})),n.d(t,"CONTEXT_MAIN_DASHBOARD_MONETIZATION",(function(){return c})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_TRAFFIC",(function(){return s})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_CONTENT",(function(){return l})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_SPEED",(function(){return u})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_MONETIZATION",(function(){return d}));var r="mainDashboardKeyMetrics",a="mainDashboardTraffic",i="mainDashboardContent",o="mainDashboardSpeed",c="mainDashboardMonetization",s="entityDashboardTraffic",l="entityDashboardContent",u="entityDashboardSpeed",d="entityDashboardMonetization";t.default={CONTEXT_MAIN_DASHBOARD_KEY_METRICS:r,CONTEXT_MAIN_DASHBOARD_TRAFFIC:a,CONTEXT_MAIN_DASHBOARD_CONTENT:i,CONTEXT_MAIN_DASHBOARD_SPEED:o,CONTEXT_MAIN_DASHBOARD_MONETIZATION:c,CONTEXT_ENTITY_DASHBOARD_TRAFFIC:s,CONTEXT_ENTITY_DASHBOARD_CONTENT:l,CONTEXT_ENTITY_DASHBOARD_SPEED:u,CONTEXT_ENTITY_DASHBOARD_MONETIZATION:d}},71:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r={EXTERNAL:"external",INTERNAL:"internal"}},72:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return c}));var r=n(33),a=n.n(r),i=n(83),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,n="object"===a()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},73:function(e,t,n){"use strict";var r=n(15),a=n.n(r),i=n(259),o=n(0),c=n.n(o),s=n(1),l=n(144);function Portal(e){var t=e.children,n=e.slug,r=Object(s.useState)(document.createElement("div")),o=a()(r,1)[0];return Object(i.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(l.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},74:function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},75:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:c,t=e.fps,n=e.leading,r=e.initialWidth,u=void 0===r?0:r,d=e.initialHeight,g=void 0===d?0:d,f=Object(i.a)("undefined"==typeof document?[u,g]:l,t,n),m=a()(f,2),p=m[0],b=m[1],v=function(){return b(l)};return Object(o.a)(s,"resize",v),Object(o.a)(s,"orientationchange",v),p},d=function(e){return u(e)[0]}}).call(this,n(28))},78:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(0),a=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,a=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:a}},n)}IconWrapper.propTypes={children:a.a.node.isRequired,marginLeft:a.a.number,marginRight:a.a.number}}).call(this,n(4))},8:function(e,t,n){"use strict";n.d(t,"r",(function(){return r})),n.d(t,"a",(function(){return a})),n.d(t,"s",(function(){return i})),n.d(t,"z",(function(){return o})),n.d(t,"o",(function(){return c})),n.d(t,"q",(function(){return s})),n.d(t,"g",(function(){return l})),n.d(t,"p",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"i",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"m",(function(){return m})),n.d(t,"n",(function(){return p})),n.d(t,"h",(function(){return b})),n.d(t,"x",(function(){return v})),n.d(t,"w",(function(){return h})),n.d(t,"y",(function(){return _})),n.d(t,"u",(function(){return O})),n.d(t,"v",(function(){return E})),n.d(t,"f",(function(){return k})),n.d(t,"l",(function(){return y})),n.d(t,"e",(function(){return S})),n.d(t,"t",(function(){return j})),n.d(t,"c",(function(){return w})),n.d(t,"d",(function(){return N})),n.d(t,"b",(function(){return A}));var r="modules/analytics-4",a="account_create",i="property_create",o="webdatastream_create",c="analyticsSetup",s=10,l=1,u="https://www.googleapis.com/auth/tagmanager.readonly",d="enhanced-measurement-form",g="enhanced-measurement-enabled",f="enhanced-measurement-should-dismiss-activation-banner",m="analyticsAccountCreate",p="analyticsCustomDimensionsCreate",b="https://www.googleapis.com/auth/analytics.edit",v="dashboardAllTrafficWidgetDimensionName",h="dashboardAllTrafficWidgetDimensionColor",_="dashboardAllTrafficWidgetDimensionValue",O="dashboardAllTrafficWidgetActiveRowIndex",E="dashboardAllTrafficWidgetLoaded",k={googlesitekit_post_date:{parameterName:"googlesitekit_post_date",displayName:"WordPress Post Date",description:"Created by Site Kit: Date when a post was published",scope:"EVENT"},googlesitekit_post_author:{parameterName:"googlesitekit_post_author",displayName:"WordPress Post Author",description:"Created by Site Kit: WordPress name of the post author",scope:"EVENT"},googlesitekit_post_categories:{parameterName:"googlesitekit_post_categories",displayName:"WordPress Post Categories",description:"Created by Site Kit: Names of categories assigned to a post",scope:"EVENT"},googlesitekit_post_type:{parameterName:"googlesitekit_post_type",displayName:"WordPress Post Type",description:"Created by Site Kit: Content type of a post",scope:"EVENT"}},y={ADD_TO_CART:"add_to_cart",PURCHASE:"purchase",SUBMIT_LEAD_FORM:"submit_lead_form",GENERATE_LEAD:"generate_lead",CONTACT:"contact"},S=[y.CONTACT,y.GENERATE_LEAD,y.SUBMIT_LEAD_FORM],j={"new-visitors":{description:"People who visited the site for the first time",displayName:"New visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"new"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:new_visitors"}}}}]}}]}}}}]},"returning-visitors":{description:"People who have visited your site at least once before",displayName:"Returning visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"returning"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:returning_visitors"}}}}]}}]}}}}]}},w="audiencePermissionsSetup",N="audienceTileCustomDimensionCreate",A="audience-selection-panel-expirable-new-badge-"},81:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(107);function a(e){try{return new URL(e).pathname}catch(e){}return null}function i(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function o(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(e,t){if(!Object(r.a)(e))return e;if(e.length<=t)return e;var n=new URL(e),a=e.replace(n.origin,"");if(a.length1&&void 0!==arguments[1]?arguments[1]:{},n=O(e,t),r=n.formatUnit,a=n.formatDecimal;try{return r()}catch(e){return a()}},h=function(e){var t=_(e),n=t.hours,r=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(a):"".concat(n,":").concat(r,":").concat(a)},_=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},O=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=_(e),r=n.hours,a=n.minutes,i=n.seconds;return{hours:r,minutes:a,seconds:i,formatUnit:function(){var n=t.unitDisplay,o=b(b({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(i,b(b({},o),{},{unit:"second"})):Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?w(i,b(b({},o),{},{unit:"second"})):"",a?w(a,b(b({},o),{},{unit:"minute"})):"",r?w(r,b(b({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. +Object(m.__)("%ds","google-site-kit"),i);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. +Object(m.__)("%dm","google-site-kit"),a),o=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. +Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",a?n:"",r?o:"").trim()}}},E=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},k=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. +Object(m.__)("%sM","google-site-kit"),w(E(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),w(E(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),w(E(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function y(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=b({},e)),t}function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=y(t),r=n.style,a=void 0===r?"metric":r;return"metric"===a?k(e):"duration"===a?v(e,n):"durationISO"===a?h(e):w(e,n)}var j=f()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?A():n,i=u()(t,["locale"]);try{return new Intl.NumberFormat(r,i).format(e)}catch(t){j("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],l={},d=0,g=Object.entries(i);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?A():n,a=t.style,i=void 0===a?"long":a,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:i,type:c});return s.format(e)} +/* translators: used between list items, there is a space after the comma. */var l=Object(m.__)(", ","google-site-kit");return e.join(l)},A=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},83:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a}));var r=n(147),a=n.n(r)()(e)}).call(this,n(28))},86:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i);function ChangeArrow(t){var n=t.direction,r=t.invertColor,a=t.width,i=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},87:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(24),a=n(121);function i(t,n){var r=document.querySelector(t);if(!r)return 0;var a=r.getBoundingClientRect().top,i=o(n);return a+e.scrollY-i}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,i=document.querySelector(".googlesitekit-header");return n=!!i&&"sticky"===e.getComputedStyle(i).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(a.a)(n))<0?0:n}}).call(this,n(28))},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(12),a=n.n(r),i=function(e,t){var n=t.dateRangeLength;a()(Array.isArray(e),"report must be an array to partition."),a()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return a.b})),n.d(t,"K",(function(){return a.c})),n.d(t,"G",(function(){return i.a})),n.d(t,"L",(function(){return i.b})),n.d(t,"I",(function(){return u})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return p})),n.d(t,"k",(function(){return b})),n.d(t,"j",(function(){return v})),n.d(t,"d",(function(){return y})),n.d(t,"c",(function(){return S})),n.d(t,"e",(function(){return j})),n.d(t,"b",(function(){return w})),n.d(t,"a",(function(){return N})),n.d(t,"g",(function(){return A})),n.d(t,"f",(function(){return C})),n.d(t,"o",(function(){return T})),n.d(t,"x",(function(){return x})),n.d(t,"q",(function(){return R})),n.d(t,"H",(function(){return L})),n.d(t,"t",(function(){return D})),n.d(t,"w",(function(){return M})),n.d(t,"l",(function(){return I})),n.d(t,"p",(function(){return P.b})),n.d(t,"i",(function(){return P.a})),n.d(t,"u",(function(){return B.b})),n.d(t,"r",(function(){return B.a})),n.d(t,"B",(function(){return B.c})),n.d(t,"y",(function(){return H})),n.d(t,"v",(function(){return z})),n.d(t,"F",(function(){return U})),n.d(t,"E",(function(){return W.a})),n.d(t,"h",(function(){return G})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(14),a=n(37),i=n(72),o=n(33),c=n.n(o),s=n(93),l=n.n(s),u=function(e){return l()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var a=t[r];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=e(a)),n[r]=a})),n}(e)))};n(96);var d=n(82);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[g,f,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function R(e){E()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function L(e){E()(x(e),y);var t=e.split("-"),n=_()(t,3),r=n[0],a=n[1],i=n[2];return new Date(r,a-1,i)}function D(e,t){return R(I(e,t*N))}function M(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function I(e,t){E()(x(e)||Object(r.isDate)(e)&&!isNaN(e),y);var n=x(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var P=n(97),B=n(81);function H(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function z(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var F=n(27),V=n.n(F),U=function(e){return Array.isArray(e)?V()(e).sort():e},W=n(89);function G(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},90:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(1),a=n(18),i=n(9);function o(e,t){var n=Object(a.a)(),o=null!=t?t:"".concat(n,"_").concat(e);return{view:Object(r.useCallback)((function(){for(var e=arguments.length,t=new Array(e),n=0;n=600;Object(_.a)(u()(s.a.mark((function e(){var t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(z>0)){e.next=3;break}return e.next=3,$e();case 3:if(!G){e.next=9;break}return e.next=6,Object(j.d)(Le);case 6:t=e.sent,n=t.cacheHit,Re(n);case 9:if(!ie){e.next=12;break}return e.next=12,De();case 12:case"end":return e.stop()}}),e)}))));var Ge=function(){var e=u()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(E.a)(f)&&"_blank"!==m,Ke=function(){return qe||Ae(!0),new Promise((function(e){setTimeout(u()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,De();case 2:Pe()&&Re(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Je=Object(k.useSelect)((function(e){return!!f&&e(M.a).isNavigatingTo(f)})),Xe=Object(k.useDispatch)(M.a).navigateTo,Ye=function(){var e=u()(s.a.mark((function e(t){var n,r,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,a=r.dismissOnCTAClick,n=void 0===a||a;case 12:if(!G||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Xe(f);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),$e=function(){var e=u()(s.a.mark((function e(){var t,n,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(j.d)(Le);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(z,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=n.invertColor,o=void 0!==i&&i;return Object(r.a)(e.createElement(a.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),a=n.n(r),i=n(14),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=l(l({},u),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(a,n),d=Object(c.a)(a,n,s,r),g={},f=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),S),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:f,disabled:T},Object(l.__)("Cancel","google-site-kit")),x?e.createElement(u.Button,{href:x,onClick:E,target:"_blank",danger:N},_):e.createElement(u.SpinnerButton,{onClick:E,danger:N,disabled:T,isSaving:T},_||Object(l.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:a.a.string,dialogActive:a.a.bool,handleDialog:a.a.func,handleConfirm:a.a.func.isRequired,onOpen:a.a.func,onClose:a.a.func,title:a.a.string,confirmButton:a.a.string,danger:a.a.bool,small:a.a.bool,medium:a.a.bool,buttonLink:a.a.string},t.a=ModalDialog}).call(this,n(4))},116:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return u}));var r=n(7),a=n.n(r),i=n(1),o=n.n(i),c=n(11),s=n.n(c),l=n(2),u={DEFAULT:"default",OVERLAY:"overlay",SMALL:"small",SMALL_OVERLAY:"small-overlay",LARGE:"large"};function GatheringDataNotice(t){var n=t.style;return e.createElement("div",{className:s()("googlesitekit-gathering-data-notice",a()({},"googlesitekit-gathering-data-notice--has-style-".concat(n),!!n))},e.createElement("span",null,Object(l.__)("Gathering data…","google-site-kit")))}GatheringDataNotice.propTypes={style:o.a.oneOf(Object.values(u))},t.b=GatheringDataNotice}).call(this,n(4))},117:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(21),a=n.n(r),i=n(155),o=n.n(i),c=n(11),s=n.n(c),l=n(1),u=n.n(l),d=n(2),g=n(10),f=n(156),p=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,l=t.primaryProps,u=t.size,m=t.step,b=t.tooltipProps,v=u>1?Object(f.a)(u):[],h=function(e){return s()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",a()({className:s()("googlesitekit-tour-tooltip",m.className)},b),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},m.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},m.content)),e.createElement(i.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},v.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:h(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(g.Button,a()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),m.cta,l.title&&e.createElement(g.Button,a()({className:"googlesitekit-tooltip-button",text:!0},l),l.title))),e.createElement(g.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(p.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(13),a=function(e){return Object(r.isFinite)(e)?e:0}},119:function(e,t,n){"use strict";var r=n(0),a=n(40),i=Object(r.createContext)(a.a);t.a=i},123:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(21),a=n.n(r),i=n(7),o=n.n(i),c=n(24),s=n.n(c),l=n(1),u=n.n(l),d=n(11),g=n.n(d);function Cell(t){var n,r=t.className,i=t.alignTop,c=t.alignMiddle,l=t.alignBottom,u=t.alignRight,d=t.alignLeft,f=t.smAlignRight,p=t.mdAlignRight,m=t.lgAlignRight,b=t.smSize,v=t.smStart,h=t.smOrder,O=t.mdSize,y=t.mdStart,E=t.mdOrder,k=t.lgSize,j=t.lgStart,_=t.lgOrder,S=t.size,w=t.children,N=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",a()({},N,{className:g()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":i,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":l,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":f,"mdc-layout-grid__cell--align-right-tablet":p,"mdc-layout-grid__cell--align-right-desktop":m},o()(n,"mdc-layout-grid__cell--span-".concat(S),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--start-".concat(j,"-desktop"),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--order-".concat(_,"-desktop"),12>=_&&_>0),o()(n,"mdc-layout-grid__cell--span-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--start-".concat(y,"-tablet"),8>=y&&y>0),o()(n,"mdc-layout-grid__cell--order-".concat(E,"-tablet"),8>=E&&E>0),o()(n,"mdc-layout-grid__cell--span-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--start-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},124:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(1),s=n.n(c),l=n(11),u=n.n(l),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.className,i=t.children,c=o()(t,["className","children"]);return e.createElement("div",a()({ref:n,className:u()("mdc-layout-grid__inner",r)},c),i)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(1),s=n.n(c),l=n(11),u=n.n(l),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,i=t.fill,c=t.className,s=t.children,l=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",a()({className:u()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":l,"mdc-layout-grid--fill":i})},d,{ref:n}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},1255:function(e,t,n){"use strict";n.r(t),function(e){var t=n(13),r=n(326),a=n(141),i=n(9),o=n(216),c=n(1076),s=n(22),l=Object(t.once)((function(){var t=document.getElementById("js-googlesitekit-adminbar-modules");if(t){var n=t.dataset.viewOnly?s.j:s.i;Object(a.render)(e.createElement(o.a,{viewContext:n},e.createElement(c.a,null)),t),Object(i.J)(n,"view_urlsummary")}}));Object(r.a)((function(){var e=document.getElementById("wp-admin-bar-google-site-kit");e&&(e.addEventListener("mouseover",l,{once:!0}),e.addEventListener("focusin",l,{once:!0}))}))}.call(this,n(4))},126:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=e.sent,i=a.cacheHit,o=a.value,!i){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e)})),createSnapshot:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},i=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(f.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(f.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(f.d)("datastore::cache::".concat(e),p.b)})),t);return{initialState:n,actions:r,controls:i,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,i=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return e}}}},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(b(e).map((function(e){return e.getActions().createSnapshot()})))},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(b(e).map((function(e){return e.getActions().restoreSnapshot()})))}},132:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(11),o=n.n(i),c=n(38),s=n(2),l=n(20),u=n(35);function SourceLink(t){var n=t.name,r=t.href,a=t.className,i=t.external;return Object(u.a)()?null:e.createElement("div",{className:o()("googlesitekit-source-link",a)},Object(c.a)(Object(s.sprintf)( -/* translators: %s: source link */ -Object(s.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(l.a,{key:"link",href:r,external:i})}))}SourceLink.propTypes={name:a.a.string,href:a.a.string,className:a.a.string,external:a.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},133:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportErrorActions}));var r=n(7),a=n.n(r),i=n(1),o=n.n(i),c=n(0),s=n(38),l=n(2),u=n(3),d=n(10),g=n(14),f=n(19),p=n(36),m=n(35),b=n(20);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(b.a,{href:R,external:!0,hideExternalIndicator:!0},Object(l.__)("Get help","google-site-kit"))}))),!T&&!i&&e.createElement("div",{className:y},"function"==typeof a?e.createElement(a,{linkURL:R}):e.createElement(b.a,{href:R,external:!0,hideExternalIndicator:!0},Object(l.__)("Get help","google-site-kit"))))}ReportErrorActions.propTypes={moduleSlug:o.a.string.isRequired,error:o.a.oneOfType([o.a.arrayOf(o.a.object),o.a.object]).isRequired,GetHelpLink:o.a.elementType,hideGetHelpLink:o.a.bool,buttonVariant:o.a.string,onRetry:o.a.func,onRequestAccess:o.a.func,getHelpClassName:o.a.string,RequestAccessButton:o.a.elementType,RetryButton:o.a.elementType}}).call(this,n(4))},135:function(e,t,n){"use strict";var r=n(0),a=Object(r.createContext)(!1);t.a=a},137:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},a=n.slug,i=void 0===a?"":a,o=n.name,c=void 0===o?"":o,s=n.owner,l=void 0===s?{}:s;if(!i||!c)return e;var u="",d="";return"analytics-4"===i?e.match(/account/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===i&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),u||(u=Object(r.sprintf)( -/* translators: %s: module name */ -Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),c)),l&&l.login&&(d=Object(r.sprintf)( -/* translators: %s: owner name */ -Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),l.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(u," ").concat(d)}},169:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportError}));var r=n(7),a=n.n(r),i=n(1),o=n.n(i),c=n(13),s=n(0),l=n(2),u=n(3),d=n(19),g=n(36),f=n(168),p=n(82),m=n(59),b=n(91),v=n(133),h=n(35);function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function y(e){for(var t=1;t1&&(n=Object(l.sprintf)( -/* translators: %s: module name */ -Object(l.__)("Data errors in %s","google-site-kit"),null==o?void 0:o.name)):n=Object(l.sprintf)( -/* translators: %s: module name */ -Object(l.__)("Data error in %s","google-site-kit"),null==o?void 0:o.name);var _=e.createElement(s.Fragment,null,k.map((function(t){var n,r=null==a||null===(n=a.data)||void 0===n?void 0:n.reconnectURL;return r?e.createElement(m.a,{key:t.message,message:t.message,reconnectURL:r}):e.createElement("p",{key:t.message},p.a.sanitize(t.message,{ALLOWED_TAGS:[]}))})));return e.createElement(b.a,{title:n,description:_,error:!0},e.createElement(v.a,{moduleSlug:r,error:a}))}ReportError.propTypes={moduleSlug:o.a.string.isRequired,error:o.a.oneOfType([o.a.arrayOf(o.a.object),o.a.object]).isRequired}}).call(this,n(4))},17:function(e,t,n){"use strict";var r=n(243);n.d(t,"i",(function(){return r.a}));var a=n(312);n.d(t,"f",(function(){return a.a}));var i=n(313);n.d(t,"h",(function(){return i.a}));var o=n(314);n.d(t,"j",(function(){return o.a}));var c=n(311);n.d(t,"g",(function(){return c.a}));var s=n(89),l=n.n(s);n.d(t,"b",(function(){return l.a})),n.d(t,"c",(function(){return s.DialogContent})),n.d(t,"d",(function(){return s.DialogFooter}));var u=n(102);n.d(t,"a",(function(){return u.a})),n.d(t,"e",(function(){return u.b})),n.d(t,"k",(function(){return u.c}))},170:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GenericErrorHandlerActions}));var r=n(1),a=n.n(r),i=n(2),o=n(20),c=n(189);function GenericErrorHandlerActions(t){var n=t.message,r=t.componentStack;return e.createElement("div",{className:"googlesitekit-generic-error-handler-actions"},e.createElement(c.a,{message:n,componentStack:r}),e.createElement(o.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0},Object(i.__)("Report this problem","google-site-kit")))}GenericErrorHandlerActions.propTypes={message:a.a.string,componentStack:a.a.string}}).call(this,n(4))},171:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(22),a=function(e){return r.f.includes(e)}},174:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportZero}));var r=n(1),a=n.n(r),i=n(2),o=n(3),c=n(19),s=n(91);function ReportZero(t){var n=t.moduleSlug,r=Object(o.useSelect)((function(e){return e(c.a).getModule(n)}));return e.createElement(s.a,{title:Object(i.sprintf)( -/* translators: %s: Module name */ -Object(i.__)("%s Gathering Data","google-site-kit"),null==r?void 0:r.name),description:Object(i.sprintf)( -/* translators: %s: Module name */ -Object(i.__)("%s data is not yet available, please check back later","google-site-kit"),null==r?void 0:r.name)})}ReportZero.propTypes={moduleSlug:a.a.string.isRequired}}).call(this,n(4))},175:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ModuleIcon}));var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(1),s=n.n(c),l=n(3),u=n(19);function ModuleIcon(t){var n=t.slug,r=t.size,i=o()(t,["slug","size"]),c=Object(l.useSelect)((function(e){return e(u.a).getModuleIcon(n)}));return c?e.createElement(c,a()({width:r,height:r},i)):null}ModuleIcon.propTypes={slug:s.a.string.isRequired,size:s.a.number},ModuleIcon.defaultProps={size:33}}).call(this,n(4))},18:function(e,t,n){"use strict";var r=n(0),a=n(58);t.a=function(){return Object(r.useContext)(a.b)}},181:function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(0),s=n(3),l=n(14),u=n(6),d=n(19),g=n(32),f=n(34),p=n(37),m=n(18);function b(e){var t=Object(m.a)(),n=Object(s.useSelect)((function(t){return t(d.a).getModule(e)})),r=Object(s.useSelect)((function(e){return e(u.a).hasCapability(u.K)})),i=Object(s.useDispatch)(d.a).activateModule,b=Object(s.useDispatch)(g.a).navigateTo,v=Object(s.useDispatch)(l.c).setInternalServerError,h=Object(c.useCallback)(o()(a.a.mark((function n(){var r,o,c;return a.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,i(e);case 2:if(r=n.sent,o=r.error,c=r.response,o){n.next=13;break}return n.next=8,Object(p.b)("".concat(t,"_widget-activation-cta"),"activate_module",e);case 8:return n.next=10,Object(f.f)("module_setup",e,{ttl:300});case 10:b(c.moduleReauthURL),n.next=14;break;case 13:v({id:"".concat(e,"-setup-error"),description:o.message});case 14:case"end":return n.stop()}}),n)}))),[i,e,b,v,t]);return(null==n?void 0:n.name)&&r?h:null}},188:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1280?a:e>960?i:e>600?o:c}},29:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/forms"},3:function(e,t){e.exports=googlesitekit.data},315:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetReportZero}));var r=n(7),a=n.n(r),i=n(21),o=n.n(i),c=n(24),s=n.n(c),l=n(1),u=n.n(l),d=n(0),g=n(138),f=n(174);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function WidgetReportZero(t){var n=t.widgetSlug,r=t.moduleSlug,a=s()(t,["widgetSlug","moduleSlug"]),i=Object(d.useMemo)((function(){return{moduleSlug:r}}),[r]);return Object(g.a)(n,f.a,i),e.createElement(f.a,o()({moduleSlug:r},a))}WidgetReportZero.propTypes=function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==m[2]?m[2]:{},o=i.ttl,s=void 0===o?c.b:o,l=i.timestamp,u=void 0===l?Math.round(Date.now()/1e3):l,d=i.isError,f=void 0!==d&&d,t.next=3,b();case 3:if(!(p=t.sent)){t.next=14;break}return t.prev=5,p.setItem("".concat(g).concat(n),JSON.stringify({timestamp:u,ttl:s,value:r,isError:f})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),y=function(){var t=o()(a.a.mark((function t(n){var r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,i=n.startsWith(d)?n:"".concat(g).concat(n),r.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=o()(a.a.mark((function t(){var n,r,i,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,n(28))},406:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PreviewGraph}));var r=n(1),a=n.n(r),i=n(569);function PreviewGraph(t){var n=t.title,r=t.GraphSVG,a=t.showIcons;return e.createElement("div",{className:"googlesitekit-analytics-cta__preview-graph"},e.createElement("h3",{className:"googlesitekit-analytics-cta__preview-graph--title"},n),e.createElement("div",null,e.createElement(r,null)),a&&e.createElement("div",{className:"googlesitekit-analytics-cta__preview-graph--icons"},e.createElement(i.a,{className:"googlesitekit-analytics-cta__preview-graph--up-arrow"}),e.createElement("span",{className:"googlesitekit-analytics-cta__preview-graph--bar"})))}PreviewGraph.propTypes={title:a.a.string.isRequired,GraphSVG:a.a.elementType.isRequired,showIcons:a.a.bool},PreviewGraph.defaultProps={showIcons:!0}}).call(this,n(4))},408:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(13);function a(e,t){return Object(r.sumBy)(e,t)||0}},42:function(e,t,n){"use strict";(function(e){var r=n(7),a=n.n(r),i=n(1),o=n.n(i),c=n(11),s=n.n(c),l=n(26);function PreviewBlock(t){var n,r,i=t.className,o=t.width,c=t.height,u=t.shape,d=t.padding,g=t.smallWidth,f=t.smallHeight,p=t.tabletWidth,m=t.tabletHeight,b=t.desktopWidth,v=t.desktopHeight,h=Object(l.e)(),O={width:(n={},a()(n,l.b,g),a()(n,l.c,p),a()(n,l.a,b),a()(n,l.d,b),n),height:(r={},a()(r,l.b,f),a()(r,l.c,m),a()(r,l.a,v),a()(r,l.d,b),r)};return e.createElement("div",{className:s()("googlesitekit-preview-block",i,{"googlesitekit-preview-block--padding":d}),style:{width:O.width[h]||o,height:O.height[h]||c}},e.createElement("div",{className:s()("googlesitekit-preview-block__wrapper",{"googlesitekit-preview-block__wrapper--circle":"circular"===u})}))}PreviewBlock.propTypes={className:o.a.string,width:o.a.string,height:o.a.string,shape:o.a.string,padding:o.a.bool,smallWidth:o.a.string,smallHeight:o.a.string,tabletWidth:o.a.string,tabletHeight:o.a.string,desktopWidth:o.a.string,desktopHeight:o.a.string},PreviewBlock.defaultProps={className:void 0,width:"100px",height:"100px",shape:"square",padding:!1,smallWidth:void 0,smallHeight:void 0,tabletWidth:void 0,tabletHeight:void 0,desktopWidth:void 0,desktopHeight:void 0},t.a=PreviewBlock}).call(this,n(4))},46:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return a})),n.d(t,"a",(function(){return i}));var r={BOXES:"boxes",COMPOSITE:"composite"},a={QUARTER:"quarter",HALF:"half",FULL:"full"},i="core/widgets"},568:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ActivateAnalyticsCTA}));var r=n(16),a=n.n(r),i=n(1),o=n.n(i),c=n(0),s=n(2),l=n(10),u=n(3),d=n(19),g=n(8),f=n(32),p=n(181),m=n(389),b=n(153);function ActivateAnalyticsCTA(t){var n=t.children,r=Object(p.a)("analytics-4"),i=Object(m.a)("analytics-4"),o=Object(u.useSelect)((function(e){return e(d.a).isModuleActive("analytics-4")})),v=Object(u.useSelect)((function(e){return e(d.a).isModuleAvailable("analytics-4")})),h=Object(c.useState)(!1),O=a()(h,2),y=O[0],E=O[1],k=Object(u.useSelect)((function(e){if(!v)return!1;var t=e(g.r).getAdminReauthURL();return!!t&&e(f.a).isNavigatingTo(t)})),j=Object(u.useSelect)((function(e){return!!v&&e(d.a).isFetchingSetModuleActivation("analytics-4",!0)})),_=Object(b.a)(E,3e3);Object(c.useEffect)((function(){j||k?E(!0):_(!1)}),[j,k,_]);var S=o?i:r;return v&&S?e.createElement("div",{className:"googlesitekit-analytics-cta"},e.createElement("div",{className:"googlesitekit-analytics-cta__preview-graphs"},n),e.createElement("div",{className:"googlesitekit-analytics-cta__details"},e.createElement("p",{className:"googlesitekit-analytics-cta--description"},Object(s.__)("See how many people visit your site from Search and track how you’re achieving your goals","google-site-kit")),e.createElement(l.SpinnerButton,{onClick:S,isSaving:y},o?Object(s.__)("Complete setup","google-site-kit"):Object(s.__)("Set up Google Analytics","google-site-kit")))):null}ActivateAnalyticsCTA.propTypes={children:o.a.node.isRequired}}).call(this,n(4))},569:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;tredo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(s,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:a.a.string.isRequired,reconnectURL:a.a.string,noPrefix:a.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"e",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return s})),n.d(t,"M",(function(){return l})),n.d(t,"O",(function(){return u})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return g})),n.d(t,"J",(function(){return f})),n.d(t,"I",(function(){return p})),n.d(t,"N",(function(){return m})),n.d(t,"f",(function(){return b})),n.d(t,"g",(function(){return v})),n.d(t,"h",(function(){return h})),n.d(t,"j",(function(){return O})),n.d(t,"l",(function(){return y})),n.d(t,"m",(function(){return E})),n.d(t,"n",(function(){return k})),n.d(t,"o",(function(){return j})),n.d(t,"q",(function(){return _})),n.d(t,"s",(function(){return S})),n.d(t,"r",(function(){return w})),n.d(t,"t",(function(){return N})),n.d(t,"w",(function(){return D})),n.d(t,"u",(function(){return T})),n.d(t,"v",(function(){return R})),n.d(t,"x",(function(){return C})),n.d(t,"y",(function(){return A})),n.d(t,"A",(function(){return P})),n.d(t,"B",(function(){return L})),n.d(t,"C",(function(){return x})),n.d(t,"D",(function(){return M})),n.d(t,"k",(function(){return I})),n.d(t,"F",(function(){return B})),n.d(t,"z",(function(){return F})),n.d(t,"G",(function(){return W})),n.d(t,"E",(function(){return z})),n.d(t,"i",(function(){return U})),n.d(t,"p",(function(){return V})),n.d(t,"Q",(function(){return G})),n.d(t,"P",(function(){return H}));var r="core/user",a="connected_url_mismatch",i="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",l="googlesitekit_setup",u="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",p="googlesitekit_delegate_module_sharing_management",m="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",v="kmAnalyticsEngagedTrafficSource",h="kmAnalyticsLeastEngagingPages",O="kmAnalyticsNewVisitors",y="kmAnalyticsPopularAuthors",E="kmAnalyticsPopularContent",k="kmAnalyticsPopularProducts",j="kmAnalyticsReturningVisitors",_="kmAnalyticsTopCities",S="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",N="kmAnalyticsTopCitiesDrivingPurchases",D="kmAnalyticsTopDeviceDrivingPurchases",T="kmAnalyticsTopConvertingTrafficSource",R="kmAnalyticsTopCountries",C="kmAnalyticsTopPagesDrivingLeads",A="kmAnalyticsTopRecentTrendingPages",P="kmAnalyticsTopTrafficSource",L="kmAnalyticsTopTrafficSourceDrivingAddToCart",x="kmAnalyticsTopTrafficSourceDrivingLeads",M="kmAnalyticsTopTrafficSourceDrivingPurchases",I="kmAnalyticsPagesPerVisit",B="kmAnalyticsVisitLength",F="kmAnalyticsTopReturningVisitorPages",W="kmSearchConsolePopularKeywords",z="kmAnalyticsVisitsPerVisitor",U="kmAnalyticsMostEngagingPages",V="kmAnalyticsTopCategories",G=[b,v,h,O,y,E,k,j,V,_,S,w,N,D,T,R,A,P,L,I,B,F,z,U,V],H=[].concat(G,[W])},66:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,n="object"===a()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},73:function(e,t,n){"use strict";var r=n(16),a=n.n(r),i=n(254),o=n(1),c=n.n(o),s=n(0),l=n(141);function Portal(e){var t=e.children,n=e.slug,r=Object(s.useState)(document.createElement("div")),o=a()(r,1)[0];return Object(i.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(l.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},74:function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},75:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(11),s=n.n(c),l=n(1),u=n.n(l),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.label,i=t.className,c=t.hasLeftSpacing,l=void 0!==c&&c,u=o()(t,["label","className","hasLeftSpacing"]);return e.createElement("span",a()({ref:n},u,{className:s()("googlesitekit-badge",i,{"googlesitekit-badge--has-left-spacing":l})}),r)}));g.displayName="Badge",g.propTypes={label:u.a.string.isRequired,hasLeftSpacing:u.a.bool},t.a=g}).call(this,n(4))},76:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(1),a=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,a=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:a}},n)}IconWrapper.propTypes={children:a.a.node.isRequired,marginLeft:a.a.number,marginRight:a.a.number}}).call(this,n(4))},77:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=y(e,t),r=n.formatUnit,a=n.formatDecimal;try{return r()}catch(e){return a()}},h=function(e){var t=O(e),n=t.hours,r=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(a):"".concat(n,":").concat(r,":").concat(a)},O=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=O(e),r=n.hours,a=n.minutes,i=n.seconds;return{hours:r,minutes:a,seconds:i,formatUnit:function(){var n=t.unitDisplay,o=b(b({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(i,b(b({},o),{},{unit:"second"})):Object(p.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?w(i,b(b({},o),{},{unit:"second"})):"",a?w(a,b(b({},o),{},{unit:"minute"})):"",r?w(r,b(b({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(p.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. -Object(p.__)("%ds","google-site-kit"),i);if(0===e)return t;var n=Object(p.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. -Object(p.__)("%dm","google-site-kit"),a),o=Object(p.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. -Object(p.__)("%dh","google-site-kit"),r);return Object(p.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",a?n:"",r?o:"").trim()}}},E=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},k=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in millions. -Object(p.__)("%sM","google-site-kit"),w(E(e),e%10==0?{}:t)):1e4<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(p.__)("%sK","google-site-kit"),w(E(e))):1e3<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(p.__)("%sK","google-site-kit"),w(E(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function j(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=b({},e)),t}function _(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=j(t),r=n.style,a=void 0===r?"metric":r;return"metric"===a?k(e):"duration"===a?v(e,n):"durationISO"===a?h(e):w(e,n)}var S=f()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?D():n,i=u()(t,["locale"]);try{return new Intl.NumberFormat(r,i).format(e)}catch(t){S("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],l={},d=0,g=Object.entries(i);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?D():n,a=t.style,i=void 0===a?"long":a,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:i,type:c});return s.format(e)} -/* translators: used between list items, there is a space after the comma. */var l=Object(p.__)(", ","google-site-kit");return e.join(l)},D=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},82:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a}));var r=n(145),a=n.n(r)()(e)}).call(this,n(28))},85:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(11),o=n.n(i);function ChangeArrow(t){var n=t.direction,r=t.invertColor,a=t.width,i=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},86:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(26),a=n(118);function i(t,n){var r=document.querySelector(t);if(!r)return 0;var a=r.getBoundingClientRect().top,i=o(n);return a+e.scrollY-i}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,i=document.querySelector(".googlesitekit-header");return n=!!i&&"sticky"===e.getComputedStyle(i).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(a.a)(n))<0?0:n}}).call(this,n(28))},88:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(12),a=n.n(r),i=function(e,t){var n=t.dateRangeLength;a()(Array.isArray(e),"report must be an array to partition."),a()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return a.b})),n.d(t,"K",(function(){return a.c})),n.d(t,"G",(function(){return i.a})),n.d(t,"L",(function(){return i.b})),n.d(t,"I",(function(){return u})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return m})),n.d(t,"k",(function(){return b})),n.d(t,"j",(function(){return v})),n.d(t,"d",(function(){return j})),n.d(t,"c",(function(){return _})),n.d(t,"e",(function(){return S})),n.d(t,"b",(function(){return w})),n.d(t,"a",(function(){return N})),n.d(t,"g",(function(){return D})),n.d(t,"f",(function(){return T})),n.d(t,"o",(function(){return R})),n.d(t,"x",(function(){return C})),n.d(t,"q",(function(){return A})),n.d(t,"H",(function(){return P})),n.d(t,"t",(function(){return L})),n.d(t,"w",(function(){return x})),n.d(t,"l",(function(){return M})),n.d(t,"p",(function(){return I.b})),n.d(t,"i",(function(){return I.a})),n.d(t,"u",(function(){return B.b})),n.d(t,"r",(function(){return B.a})),n.d(t,"B",(function(){return B.c})),n.d(t,"y",(function(){return F})),n.d(t,"v",(function(){return W})),n.d(t,"F",(function(){return V})),n.d(t,"E",(function(){return G.a})),n.d(t,"h",(function(){return H})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(13),a=n(37),i=n(72),o=n(33),c=n.n(o),s=n(92),l=n.n(s),u=function(e){return l()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var a=t[r];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=e(a)),n[r]=a})),n}(e)))};n(96);var d=n(81);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function p(e){return e.replace(/\n/gi,"
")}function m(e){for(var t=e,n=0,r=[g,f,p];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function A(e){E()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function P(e){E()(C(e),j);var t=e.split("-"),n=O()(t,3),r=n[0],a=n[1],i=n[2];return new Date(r,a-1,i)}function L(e,t){return A(M(e,t*N))}function x(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function M(e,t){E()(C(e)||Object(r.isDate)(e)&&!isNaN(e),j);var n=C(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var I=n(97),B=n(80);function F(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function W(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var z=n(27),U=n.n(z),V=function(e){return Array.isArray(e)?U()(e).sort():e},G=n(88);function H(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},90:function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return BannerNotification}));var r=n(21),a=n.n(r),i=n(7),o=n.n(i),c=n(5),s=n.n(c),l=n(15),u=n.n(l),d=n(16),g=n.n(d),f=n(1),p=n.n(f),m=n(11),b=n.n(m),v=n(204),h=n(206),O=n(84),y=n(93),E=n(0),k=n(107),j=n(3),_=n(17),S=n(86),w=n(34),N=n(26),D=n(191),T=n(192),R=n(193),C=n(199),A=n(200),P=n(71),L=n(108),x=n(118),M=n(32),I=n(201);function BannerNotification(t){var n,r=t.badgeLabel,i=t.children,c=t.className,l=void 0===c?"":c,d=t.ctaLabel,f=t.ctaLink,p=t.ctaTarget,m=t.description,B=t.dismiss,F=t.dismissExpires,W=void 0===F?0:F,z=t.format,U=void 0===z?"":z,V=t.id,G=t.isDismissible,H=void 0===G||G,q=t.learnMoreDescription,K=t.learnMoreLabel,X=t.learnMoreURL,J=t.learnMoreTarget,$=void 0===J?P.a.EXTERNAL:J,Y=t.logo,Z=t.module,Q=t.moduleName,ee=t.onCTAClick,te=t.onView,ne=t.onDismiss,re=t.onLearnMoreClick,ae=t.showOnce,ie=void 0!==ae&&ae,oe=t.SmallImageSVG,ce=t.title,se=t.type,le=t.WinImageSVG,ue=t.showSmallWinImage,de=void 0===ue||ue,ge=t.smallWinImageSVGWidth,fe=void 0===ge?75:ge,pe=t.smallWinImageSVGHeight,me=void 0===pe?75:pe,be=t.mediumWinImageSVGWidth,ve=void 0===be?105:be,he=t.mediumWinImageSVGHeight,Oe=void 0===he?105:he,ye=t.rounded,Ee=void 0!==ye&&ye,ke=t.footer,je=t.secondaryPane,_e=t.ctaComponent,Se=Object(E.useState)(!1),we=g()(Se,2),Ne=we[0],De=we[1],Te=Object(E.useState)(!1),Re=g()(Te,2),Ce=Re[0],Ae=Re[1],Pe="notification::dismissed::".concat(V),Le=function(){return Object(w.f)(Pe,new Date,{ttl:null})},xe=Object(y.a)(),Me=Object(N.e)(),Ie=Object(v.a)(),Be=Object(E.useState)(!1),Fe=g()(Be,2),We=Fe[0],ze=Fe[1],Ue=Object(E.useRef)(),Ve=Object(h.a)(Ue,{rootMargin:"".concat(-Object(x.a)(Object(S.c)(Me)),"px 0px 0px 0px"),threshold:0});Object(E.useEffect)((function(){!We&&(null==Ve?void 0:Ve.isIntersecting)&&("function"==typeof te&&te(),ze(!0))}),[V,te,We,Ve]);var Ge=xe>=600;Object(O.a)(u()(s.a.mark((function e(){var t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(W>0)){e.next=3;break}return e.next=3,Ye();case 3:if(!H){e.next=9;break}return e.next=6,Object(w.d)(Pe);case 6:t=e.sent,n=t.cacheHit,Ae(n);case 9:if(!ie){e.next=12;break}return e.next=12,Le();case 12:case"end":return e.stop()}}),e)}))));var He=function(){var e=u()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(k.a)(f)&&"_blank"!==p,Ke=function(){return qe||De(!0),new Promise((function(e){setTimeout(u()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Le();case 2:Ie()&&Ae(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Xe=Object(j.useSelect)((function(e){return!!f&&e(M.a).isNavigatingTo(f)})),Je=Object(j.useDispatch)(M.a).navigateTo,$e=function(){var e=u()(s.a.mark((function e(t){var n,r,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,a=r.dismissOnCTAClick,n=void 0===a||a;case 12:if(!H||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Je(f);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Ye=function(){var e=u()(s.a.mark((function e(){var t,n,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(w.d)(Pe);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(W,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=n.invertColor,o=void 0!==i&&i;return Object(r.a)(e.createElement(a.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),a=n.n(r),i=n(13),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=l(l({},u),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(a,n),d=Object(c.a)(a,n,s,r),g={},f=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),S),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:f,disabled:T},Object(l.__)("Cancel","google-site-kit")),x?e.createElement(u.Button,{href:x,onClick:E,target:"_blank",danger:N},_):e.createElement(u.SpinnerButton,{onClick:E,danger:N,disabled:T,isSaving:T},_||Object(l.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:a.a.string,dialogActive:a.a.bool,handleDialog:a.a.func,handleConfirm:a.a.func.isRequired,onOpen:a.a.func,onClose:a.a.func,title:a.a.string,confirmButton:a.a.string,danger:a.a.bool,small:a.a.bool,medium:a.a.bool,buttonLink:a.a.string},t.a=ModalDialog}).call(this,n(4))},115:function(e,t,n){"use strict";var r=n(1),a=n(38),i=Object(r.createContext)(a.a);t.a=i},119:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return u}));var r=n(7),a=n.n(r),i=n(0),o=n.n(i),c=n(11),s=n.n(c),l=n(2),u={DEFAULT:"default",OVERLAY:"overlay",SMALL:"small",SMALL_OVERLAY:"small-overlay",LARGE:"large"};function GatheringDataNotice(t){var n=t.style;return e.createElement("div",{className:s()("googlesitekit-gathering-data-notice",a()({},"googlesitekit-gathering-data-notice--has-style-".concat(n),!!n))},e.createElement("span",null,Object(l.__)("Gathering data…","google-site-kit")))}GatheringDataNotice.propTypes={style:o.a.oneOf(Object.values(u))},t.b=GatheringDataNotice}).call(this,n(4))},120:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(20),a=n.n(r),i=n(157),o=n.n(i),c=n(11),s=n.n(c),l=n(0),u=n.n(l),d=n(2),g=n(10),f=n(158),p=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,l=t.primaryProps,u=t.size,m=t.step,b=t.tooltipProps,v=u>1?Object(f.a)(u):[],h=function(e){return s()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",a()({className:s()("googlesitekit-tour-tooltip",m.className)},b),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},m.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},m.content)),e.createElement(i.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},v.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:h(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(g.Button,a()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),m.cta,l.title&&e.createElement(g.Button,a()({className:"googlesitekit-tooltip-button",text:!0},l),l.title))),e.createElement(g.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(p.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},121:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(14),a=function(e){return Object(r.isFinite)(e)?e:0}},124:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(20),a=n.n(r),i=n(7),o=n.n(i),c=n(25),s=n.n(c),l=n(0),u=n.n(l),d=n(11),g=n.n(d);function Cell(t){var n,r=t.className,i=t.alignTop,c=t.alignMiddle,l=t.alignBottom,u=t.alignRight,d=t.alignLeft,f=t.smAlignRight,p=t.mdAlignRight,m=t.lgAlignRight,b=t.smSize,v=t.smStart,h=t.smOrder,O=t.mdSize,y=t.mdStart,E=t.mdOrder,k=t.lgSize,j=t.lgStart,_=t.lgOrder,S=t.size,w=t.children,N=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",a()({},N,{className:g()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":i,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":l,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":f,"mdc-layout-grid__cell--align-right-tablet":p,"mdc-layout-grid__cell--align-right-desktop":m},o()(n,"mdc-layout-grid__cell--span-".concat(S),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--start-".concat(j,"-desktop"),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--order-".concat(_,"-desktop"),12>=_&&_>0),o()(n,"mdc-layout-grid__cell--span-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--start-".concat(y,"-tablet"),8>=y&&y>0),o()(n,"mdc-layout-grid__cell--order-".concat(E,"-tablet"),8>=E&&E>0),o()(n,"mdc-layout-grid__cell--span-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--start-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(20),a=n.n(r),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.className,i=t.children,c=o()(t,["className","children"]);return e.createElement("div",a()({ref:n,className:u()("mdc-layout-grid__inner",r)},c),i)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},126:function(e,t,n){"use strict";(function(e){var r=n(20),a=n.n(r),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,i=t.fill,c=t.className,s=t.children,l=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",a()({className:u()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":l,"mdc-layout-grid--fill":i})},d,{ref:n}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},1263:function(e,t,n){"use strict";n.r(t),function(e){var t=n(14),r=n(332),a=n(144),i=n(9),o=n(219),c=n(1085),s=n(22),l=Object(t.once)((function(){var t=document.getElementById("js-googlesitekit-adminbar-modules");if(t){var n=t.dataset.viewOnly?s.j:s.i;Object(a.render)(e.createElement(o.a,{viewContext:n},e.createElement(c.a,null)),t),Object(i.J)(n,"view_urlsummary")}}));Object(r.a)((function(){var e=document.getElementById("wp-admin-bar-google-site-kit");e&&(e.addEventListener("mouseover",l,{once:!0}),e.addEventListener("focusin",l,{once:!0}))}))}.call(this,n(4))},127:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=e.sent,i=a.cacheHit,o=a.value,!i){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e)})),createSnapshot:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},i=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(f.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(f.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(f.d)("datastore::cache::".concat(e),p.b)})),t);return{initialState:n,actions:r,controls:i,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,i=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return e}}}},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(b(e).map((function(e){return e.getActions().createSnapshot()})))},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(b(e).map((function(e){return e.getActions().restoreSnapshot()})))}},133:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i),c=n(39),s=n(2),l=n(21),u=n(36);function SourceLink(t){var n=t.name,r=t.href,a=t.className,i=t.external;return Object(u.a)()?null:e.createElement("div",{className:o()("googlesitekit-source-link",a)},Object(c.a)(Object(s.sprintf)( +/* translators: %s: source link */ +Object(s.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(l.a,{key:"link",href:r,external:i})}))}SourceLink.propTypes={name:a.a.string,href:a.a.string,className:a.a.string,external:a.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},134:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportErrorActions}));var r=n(7),a=n.n(r),i=n(0),o=n.n(i),c=n(1),s=n(39),l=n(2),u=n(3),d=n(10),g=n(13),f=n(19),p=n(35),m=n(36),b=n(21);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(b.a,{href:R,external:!0,hideExternalIndicator:!0},Object(l.__)("Get help","google-site-kit"))}))),!T&&!i&&e.createElement("div",{className:y},"function"==typeof a?e.createElement(a,{linkURL:R}):e.createElement(b.a,{href:R,external:!0,hideExternalIndicator:!0},Object(l.__)("Get help","google-site-kit"))))}ReportErrorActions.propTypes={moduleSlug:o.a.string.isRequired,error:o.a.oneOfType([o.a.arrayOf(o.a.object),o.a.object]).isRequired,GetHelpLink:o.a.elementType,hideGetHelpLink:o.a.bool,buttonVariant:o.a.string,onRetry:o.a.func,onRequestAccess:o.a.func,getHelpClassName:o.a.string,RequestAccessButton:o.a.elementType,RetryButton:o.a.elementType}}).call(this,n(4))},136:function(e,t,n){"use strict";var r=n(1),a=Object(r.createContext)(!1);t.a=a},139:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},a=n.slug,i=void 0===a?"":a,o=n.name,c=void 0===o?"":o,s=n.owner,l=void 0===s?{}:s;if(!i||!c)return e;var u="",d="";return"analytics-4"===i?e.match(/account/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===i&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),u||(u=Object(r.sprintf)( +/* translators: %s: module name */ +Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),c)),l&&l.login&&(d=Object(r.sprintf)( +/* translators: %s: owner name */ +Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),l.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(u," ").concat(d)}},17:function(e,t,n){"use strict";var r=n(248);n.d(t,"i",(function(){return r.a}));var a=n(318);n.d(t,"f",(function(){return a.a}));var i=n(319);n.d(t,"h",(function(){return i.a}));var o=n(320);n.d(t,"j",(function(){return o.a}));var c=n(317);n.d(t,"g",(function(){return c.a}));var s=n(91),l=n.n(s);n.d(t,"b",(function(){return l.a})),n.d(t,"c",(function(){return s.DialogContent})),n.d(t,"d",(function(){return s.DialogFooter}));var u=n(102);n.d(t,"a",(function(){return u.a})),n.d(t,"e",(function(){return u.b})),n.d(t,"k",(function(){return u.c}))},170:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportError}));var r=n(7),a=n.n(r),i=n(0),o=n.n(i),c=n(14),s=n(1),l=n(2),u=n(3),d=n(19),g=n(35),f=n(169),p=n(83),m=n(57),b=n(92),v=n(134),h=n(36);function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function y(e){for(var t=1;t1&&(n=Object(l.sprintf)( +/* translators: %s: module name */ +Object(l.__)("Data errors in %s","google-site-kit"),null==o?void 0:o.name)):n=Object(l.sprintf)( +/* translators: %s: module name */ +Object(l.__)("Data error in %s","google-site-kit"),null==o?void 0:o.name);var _=e.createElement(s.Fragment,null,k.map((function(t){var n,r=null==a||null===(n=a.data)||void 0===n?void 0:n.reconnectURL;return r?e.createElement(m.a,{key:t.message,message:t.message,reconnectURL:r}):e.createElement("p",{key:t.message},p.a.sanitize(t.message,{ALLOWED_TAGS:[]}))})));return e.createElement(b.a,{title:n,description:_,error:!0},e.createElement(v.a,{moduleSlug:r,error:a}))}ReportError.propTypes={moduleSlug:o.a.string.isRequired,error:o.a.oneOfType([o.a.arrayOf(o.a.object),o.a.object]).isRequired}}).call(this,n(4))},171:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GenericErrorHandlerActions}));var r=n(0),a=n.n(r),i=n(2),o=n(21),c=n(191);function GenericErrorHandlerActions(t){var n=t.message,r=t.componentStack;return e.createElement("div",{className:"googlesitekit-generic-error-handler-actions"},e.createElement(c.a,{message:n,componentStack:r}),e.createElement(o.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0},Object(i.__)("Report this problem","google-site-kit")))}GenericErrorHandlerActions.propTypes={message:a.a.string,componentStack:a.a.string}}).call(this,n(4))},172:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(22),a=function(e){return r.f.includes(e)}},175:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportZero}));var r=n(0),a=n.n(r),i=n(2),o=n(3),c=n(19),s=n(92);function ReportZero(t){var n=t.moduleSlug,r=Object(o.useSelect)((function(e){return e(c.a).getModule(n)}));return e.createElement(s.a,{title:Object(i.sprintf)( +/* translators: %s: Module name */ +Object(i.__)("%s Gathering Data","google-site-kit"),null==r?void 0:r.name),description:Object(i.sprintf)( +/* translators: %s: Module name */ +Object(i.__)("%s data is not yet available, please check back later","google-site-kit"),null==r?void 0:r.name)})}ReportZero.propTypes={moduleSlug:a.a.string.isRequired}}).call(this,n(4))},176:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ModuleIcon}));var r=n(20),a=n.n(r),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(3),u=n(19);function ModuleIcon(t){var n=t.slug,r=t.size,i=o()(t,["slug","size"]),c=Object(l.useSelect)((function(e){return e(u.a).getModuleIcon(n)}));return c?e.createElement(c,a()({width:r,height:r},i)):null}ModuleIcon.propTypes={slug:s.a.string.isRequired,size:s.a.number},ModuleIcon.defaultProps={size:33}}).call(this,n(4))},18:function(e,t,n){"use strict";var r=n(1),a=n(59);t.a=function(){return Object(r.useContext)(a.b)}},183:function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));var r=n(5),a=n.n(r),i=n(16),o=n.n(i),c=n(1),s=n(3),l=n(13),u=n(6),d=n(19),g=n(32),f=n(34),p=n(37),m=n(18);function b(e){var t=Object(m.a)(),n=Object(s.useSelect)((function(t){return t(d.a).getModule(e)})),r=Object(s.useSelect)((function(e){return e(u.a).hasCapability(u.K)})),i=Object(s.useDispatch)(d.a).activateModule,b=Object(s.useDispatch)(g.a).navigateTo,v=Object(s.useDispatch)(l.c).setInternalServerError,h=Object(c.useCallback)(o()(a.a.mark((function n(){var r,o,c;return a.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,i(e);case 2:if(r=n.sent,o=r.error,c=r.response,o){n.next=13;break}return n.next=8,Object(p.b)("".concat(t,"_widget-activation-cta"),"activate_module",e);case 8:return n.next=10,Object(f.f)("module_setup",e,{ttl:300});case 10:b(c.moduleReauthURL),n.next=14;break;case 13:v({id:"".concat(e,"-setup-error"),description:o.message});case 14:case"end":return n.stop()}}),n)}))),[i,e,b,v,t]);return(null==n?void 0:n.name)&&r?h:null}},19:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a}));var r="core/modules",a="insufficient_module_dependencies"},190:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t1280?a:e>960?i:e>600?o:c}},261:function(e,t,n){"use strict";(function(e){var r=n(11),a=n.n(r),i=n(0),o=n.n(i),c=n(1),s=Object(c.forwardRef)((function(t,n){var r=t.children,i=t.className,o=t.widgetSlug,c=t.noPadding,s=t.Header,l=t.Footer;return e.createElement("div",{className:a()("googlesitekit-widget","googlesitekit-widget--".concat(o),{"googlesitekit-widget--no-padding":c},{"googlesitekit-widget--with-header":s},i),ref:n},s&&e.createElement("div",{className:"googlesitekit-widget__header"},e.createElement(s,null)),e.createElement("div",{className:"googlesitekit-widget__body"},r),l&&e.createElement("div",{className:"googlesitekit-widget__footer"},e.createElement(l,null)))}));s.defaultProps={children:void 0,noPadding:!1},s.propTypes={children:o.a.node,widgetSlug:o.a.string.isRequired,noPadding:o.a.bool,Header:o.a.elementType,Footer:o.a.elementType},t.a=s}).call(this,n(4))},262:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetRecoverableModules}));var r=n(7),a=n.n(r),i=n(20),o=n.n(i),c=n(27),s=n.n(c),l=n(25),u=n.n(l),d=n(0),g=n.n(d),f=n(1),p=n(140),m=n(162);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function WidgetRecoverableModules(t){var n=t.widgetSlug,r=t.moduleSlugs,a=u()(t,["widgetSlug","moduleSlugs"]),i=Object(f.useMemo)((function(){return{moduleSlug:s()(r).sort().join(","),moduleSlugs:r}}),[r]);return Object(p.a)(n,m.a,i),e.createElement(m.a,o()({moduleSlugs:r},a))}WidgetRecoverableModules.propTypes=function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==m[2]?m[2]:{},o=i.ttl,s=void 0===o?c.b:o,l=i.timestamp,u=void 0===l?Math.round(Date.now()/1e3):l,d=i.isError,f=void 0!==d&&d,t.next=3,b();case 3:if(!(p=t.sent)){t.next=14;break}return t.prev=5,p.setItem("".concat(g).concat(n),JSON.stringify({timestamp:u,ttl:s,value:r,isError:f})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),y=function(){var t=o()(a.a.mark((function t(n){var r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,i=n.startsWith(d)?n:"".concat(g).concat(n),r.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=o()(a.a.mark((function t(){var n,r,i,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,n(28))},393:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(1),a=n(3),i=n(6),o=n(19),c=n(32);function s(e){var t=Object(a.useSelect)((function(e){return e(i.a).hasCapability(i.K)})),n=Object(a.useSelect)((function(t){return t(o.a).getModuleStoreName(e)})),s=Object(a.useSelect)((function(e){var t;return null===(t=e(n))||void 0===t?void 0:t.getAdminReauthURL()})),l=Object(a.useDispatch)(c.a).navigateTo,u=Object(r.useCallback)((function(){return l(s)}),[s,l]);return s&&t?u:null}},397:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(1);function Sparkline(t){var n=t.sparkline,r=t.invertChangeColor,a=n;return a&&r&&(a=Object(i.cloneElement)(n,{invertChangeColor:r})),e.createElement("div",{className:"googlesitekit-data-block__sparkline"},a)}Sparkline.propTypes={sparkline:a.a.element,invertChangeColor:a.a.bool},t.a=Sparkline}).call(this,n(4))},398:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i),c=n(2),s=n(9),l=n(86);function Change(t){var n=t.change,r=t.changeDataUnit,a=t.period,i=t.invertChangeColor,u=n;return r&&(u="%"===r?Object(s.C)(n,{style:"percent",signDisplay:"never",maximumFractionDigits:1}):Object(s.C)(n,r)),a&&(u=Object(c.sprintf)(a,u)),e.createElement("div",{className:o()("googlesitekit-data-block__change",{"googlesitekit-data-block__change--no-change":!n})},!!n&&e.createElement("span",{className:"googlesitekit-data-block__arrow"},e.createElement(l.a,{direction:0redo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(s,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:a.a.string.isRequired,reconnectURL:a.a.string,noPrefix:a.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},570:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ActivateAnalyticsCTA}));var r=n(15),a=n.n(r),i=n(0),o=n.n(i),c=n(1),s=n(2),l=n(10),u=n(3),d=n(19),g=n(8),f=n(32),p=n(183),m=n(393),b=n(155);function ActivateAnalyticsCTA(t){var n=t.children,r=Object(p.a)("analytics-4"),i=Object(m.a)("analytics-4"),o=Object(u.useSelect)((function(e){return e(d.a).isModuleActive("analytics-4")})),v=Object(u.useSelect)((function(e){return e(d.a).isModuleAvailable("analytics-4")})),h=Object(c.useState)(!1),O=a()(h,2),y=O[0],E=O[1],k=Object(u.useSelect)((function(e){if(!v)return!1;var t=e(g.r).getAdminReauthURL();return!!t&&e(f.a).isNavigatingTo(t)})),j=Object(u.useSelect)((function(e){return!!v&&e(d.a).isFetchingSetModuleActivation("analytics-4",!0)})),_=Object(b.a)(E,3e3);Object(c.useEffect)((function(){j||k?E(!0):_(!1)}),[j,k,_]);var S=o?i:r;return v&&S?e.createElement("div",{className:"googlesitekit-analytics-cta"},e.createElement("div",{className:"googlesitekit-analytics-cta__preview-graphs"},n),e.createElement("div",{className:"googlesitekit-analytics-cta__details"},e.createElement("p",{className:"googlesitekit-analytics-cta--description"},Object(s.__)("See how many people visit your site from Search and track how you’re achieving your goals","google-site-kit")),e.createElement(l.SpinnerButton,{onClick:S,isSaving:y},o?Object(s.__)("Complete setup","google-site-kit"):Object(s.__)("Set up Google Analytics","google-site-kit")))):null}ActivateAnalyticsCTA.propTypes={children:o.a.node.isRequired}}).call(this,n(4))},571:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,n="object"===a()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},73:function(e,t,n){"use strict";var r=n(15),a=n.n(r),i=n(259),o=n(0),c=n.n(o),s=n(1),l=n(144);function Portal(e){var t=e.children,n=e.slug,r=Object(s.useState)(document.createElement("div")),o=a()(r,1)[0];return Object(i.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(l.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},74:function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},75:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:c,t=e.fps,n=e.leading,r=e.initialWidth,u=void 0===r?0:r,d=e.initialHeight,g=void 0===d?0:d,f=Object(i.a)("undefined"==typeof document?[u,g]:l,t,n),p=a()(f,2),m=p[0],b=p[1],v=function(){return b(l)};return Object(o.a)(s,"resize",v),Object(o.a)(s,"orientationchange",v),m},d=function(e){return u(e)[0]}}).call(this,n(28))},78:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(0),a=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,a=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:a}},n)}IconWrapper.propTypes={children:a.a.node.isRequired,marginLeft:a.a.number,marginRight:a.a.number}}).call(this,n(4))},8:function(e,t,n){"use strict";n.d(t,"r",(function(){return r})),n.d(t,"a",(function(){return a})),n.d(t,"s",(function(){return i})),n.d(t,"z",(function(){return o})),n.d(t,"o",(function(){return c})),n.d(t,"q",(function(){return s})),n.d(t,"g",(function(){return l})),n.d(t,"p",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"i",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"m",(function(){return p})),n.d(t,"n",(function(){return m})),n.d(t,"h",(function(){return b})),n.d(t,"x",(function(){return v})),n.d(t,"w",(function(){return h})),n.d(t,"y",(function(){return O})),n.d(t,"u",(function(){return y})),n.d(t,"v",(function(){return E})),n.d(t,"f",(function(){return k})),n.d(t,"l",(function(){return j})),n.d(t,"e",(function(){return _})),n.d(t,"t",(function(){return S})),n.d(t,"c",(function(){return w})),n.d(t,"d",(function(){return N})),n.d(t,"b",(function(){return D}));var r="modules/analytics-4",a="account_create",i="property_create",o="webdatastream_create",c="analyticsSetup",s=10,l=1,u="https://www.googleapis.com/auth/tagmanager.readonly",d="enhanced-measurement-form",g="enhanced-measurement-enabled",f="enhanced-measurement-should-dismiss-activation-banner",p="analyticsAccountCreate",m="analyticsCustomDimensionsCreate",b="https://www.googleapis.com/auth/analytics.edit",v="dashboardAllTrafficWidgetDimensionName",h="dashboardAllTrafficWidgetDimensionColor",O="dashboardAllTrafficWidgetDimensionValue",y="dashboardAllTrafficWidgetActiveRowIndex",E="dashboardAllTrafficWidgetLoaded",k={googlesitekit_post_date:{parameterName:"googlesitekit_post_date",displayName:"WordPress Post Date",description:"Created by Site Kit: Date when a post was published",scope:"EVENT"},googlesitekit_post_author:{parameterName:"googlesitekit_post_author",displayName:"WordPress Post Author",description:"Created by Site Kit: WordPress name of the post author",scope:"EVENT"},googlesitekit_post_categories:{parameterName:"googlesitekit_post_categories",displayName:"WordPress Post Categories",description:"Created by Site Kit: Names of categories assigned to a post",scope:"EVENT"},googlesitekit_post_type:{parameterName:"googlesitekit_post_type",displayName:"WordPress Post Type",description:"Created by Site Kit: Content type of a post",scope:"EVENT"}},j={ADD_TO_CART:"add_to_cart",PURCHASE:"purchase",SUBMIT_LEAD_FORM:"submit_lead_form",GENERATE_LEAD:"generate_lead",CONTACT:"contact"},_=[j.CONTACT,j.GENERATE_LEAD,j.SUBMIT_LEAD_FORM],S={"new-visitors":{description:"People who visited the site for the first time",displayName:"New visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"new"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:new_visitors"}}}}]}}]}}}}]},"returning-visitors":{description:"People who have visited your site at least once before",displayName:"Returning visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"returning"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:returning_visitors"}}}}]}}]}}}}]}},w="audiencePermissionsSetup",N="audienceTileCustomDimensionCreate",D="audience-selection-panel-expirable-new-badge-"},81:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(107);function a(e){try{return new URL(e).pathname}catch(e){}return null}function i(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function o(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(e,t){if(!Object(r.a)(e))return e;if(e.length<=t)return e;var n=new URL(e),a=e.replace(n.origin,"");if(a.length1&&void 0!==arguments[1]?arguments[1]:{},n=y(e,t),r=n.formatUnit,a=n.formatDecimal;try{return r()}catch(e){return a()}},h=function(e){var t=O(e),n=t.hours,r=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(a):"".concat(n,":").concat(r,":").concat(a)},O=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=O(e),r=n.hours,a=n.minutes,i=n.seconds;return{hours:r,minutes:a,seconds:i,formatUnit:function(){var n=t.unitDisplay,o=b(b({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(i,b(b({},o),{},{unit:"second"})):Object(p.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?w(i,b(b({},o),{},{unit:"second"})):"",a?w(a,b(b({},o),{},{unit:"minute"})):"",r?w(r,b(b({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(p.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. +Object(p.__)("%ds","google-site-kit"),i);if(0===e)return t;var n=Object(p.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. +Object(p.__)("%dm","google-site-kit"),a),o=Object(p.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. +Object(p.__)("%dh","google-site-kit"),r);return Object(p.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",a?n:"",r?o:"").trim()}}},E=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},k=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in millions. +Object(p.__)("%sM","google-site-kit"),w(E(e),e%10==0?{}:t)):1e4<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(p.__)("%sK","google-site-kit"),w(E(e))):1e3<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(p.__)("%sK","google-site-kit"),w(E(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function j(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=b({},e)),t}function _(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=j(t),r=n.style,a=void 0===r?"metric":r;return"metric"===a?k(e):"duration"===a?v(e,n):"durationISO"===a?h(e):w(e,n)}var S=f()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?D():n,i=u()(t,["locale"]);try{return new Intl.NumberFormat(r,i).format(e)}catch(t){S("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],l={},d=0,g=Object.entries(i);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?D():n,a=t.style,i=void 0===a?"long":a,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:i,type:c});return s.format(e)} +/* translators: used between list items, there is a space after the comma. */var l=Object(p.__)(", ","google-site-kit");return e.join(l)},D=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},83:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a}));var r=n(147),a=n.n(r)()(e)}).call(this,n(28))},86:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i);function ChangeArrow(t){var n=t.direction,r=t.invertColor,a=t.width,i=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},87:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(24),a=n(121);function i(t,n){var r=document.querySelector(t);if(!r)return 0;var a=r.getBoundingClientRect().top,i=o(n);return a+e.scrollY-i}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,i=document.querySelector(".googlesitekit-header");return n=!!i&&"sticky"===e.getComputedStyle(i).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(a.a)(n))<0?0:n}}).call(this,n(28))},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(12),a=n.n(r),i=function(e,t){var n=t.dateRangeLength;a()(Array.isArray(e),"report must be an array to partition."),a()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return a.b})),n.d(t,"K",(function(){return a.c})),n.d(t,"G",(function(){return i.a})),n.d(t,"L",(function(){return i.b})),n.d(t,"I",(function(){return u})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return m})),n.d(t,"k",(function(){return b})),n.d(t,"j",(function(){return v})),n.d(t,"d",(function(){return j})),n.d(t,"c",(function(){return _})),n.d(t,"e",(function(){return S})),n.d(t,"b",(function(){return w})),n.d(t,"a",(function(){return N})),n.d(t,"g",(function(){return D})),n.d(t,"f",(function(){return T})),n.d(t,"o",(function(){return R})),n.d(t,"x",(function(){return C})),n.d(t,"q",(function(){return A})),n.d(t,"H",(function(){return P})),n.d(t,"t",(function(){return L})),n.d(t,"w",(function(){return x})),n.d(t,"l",(function(){return M})),n.d(t,"p",(function(){return I.b})),n.d(t,"i",(function(){return I.a})),n.d(t,"u",(function(){return B.b})),n.d(t,"r",(function(){return B.a})),n.d(t,"B",(function(){return B.c})),n.d(t,"y",(function(){return W})),n.d(t,"v",(function(){return F})),n.d(t,"F",(function(){return V})),n.d(t,"E",(function(){return G.a})),n.d(t,"h",(function(){return H})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(14),a=n(37),i=n(72),o=n(33),c=n.n(o),s=n(93),l=n.n(s),u=function(e){return l()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var a=t[r];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=e(a)),n[r]=a})),n}(e)))};n(96);var d=n(82);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function p(e){return e.replace(/\n/gi,"
")}function m(e){for(var t=e,n=0,r=[g,f,p];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function A(e){E()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function P(e){E()(C(e),j);var t=e.split("-"),n=O()(t,3),r=n[0],a=n[1],i=n[2];return new Date(r,a-1,i)}function L(e,t){return A(M(e,t*N))}function x(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function M(e,t){E()(C(e)||Object(r.isDate)(e)&&!isNaN(e),j);var n=C(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var I=n(97),B=n(81);function W(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function F(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var z=n(27),U=n.n(z),V=function(e){return Array.isArray(e)?U()(e).sort():e},G=n(89);function H(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},92:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i),c=n(10),s=n(21);function CTA(t){var n=t.title,r=t.headerText,a=t.headerContent,i=t.description,l=t.ctaLink,u=t.ctaLabel,d=t.ctaLinkExternal,g=t.ctaType,f=t.error,p=t.onClick,m=t["aria-label"],b=t.children;return e.createElement("div",{className:o()("googlesitekit-cta",{"googlesitekit-cta--error":f})},(r||a)&&e.createElement("div",{className:"googlesitekit-cta__header"},r&&e.createElement("h2",{className:"googlesitekit-cta__header_text"},r),a),e.createElement("div",{className:"googlesitekit-cta__body"},n&&e.createElement("h3",{className:"googlesitekit-cta__title"},n),i&&"string"==typeof i&&e.createElement("p",{className:"googlesitekit-cta__description"},i),i&&"string"!=typeof i&&e.createElement("div",{className:"googlesitekit-cta__description"},i),u&&"button"===g&&e.createElement(c.Button,{"aria-label":m,href:l,onClick:p},u),u&&"link"===g&&e.createElement(s.a,{href:l,onClick:p,"aria-label":m,external:d,hideExternalIndicator:d,arrow:!0},u),b))}CTA.propTypes={title:a.a.string.isRequired,headerText:a.a.string,description:a.a.oneOfType([a.a.string,a.a.node]),ctaLink:a.a.string,ctaLinkExternal:a.a.bool,ctaLabel:a.a.string,ctaType:a.a.string,"aria-label":a.a.string,error:a.a.bool,onClick:a.a.func,children:a.a.node,headerContent:a.a.node},CTA.defaultProps={title:"",headerText:"",headerContent:"",description:"",ctaLink:"",ctaLabel:"",ctaType:"link",error:!1,onClick:function(){}},t.a=CTA}).call(this,n(4))},94:function(e,t,n){"use strict";(function(e,r){n.d(t,"c",(function(){return h})),n.d(t,"b",(function(){return y})),n.d(t,"a",(function(){return TourTooltips}));var a=n(7),i=n.n(a),o=n(85),c=n(30),s=n(0),l=n.n(s),u=n(2),d=n(3),g=n(23),f=n(6),p=n(37),m=n(120),b=n(18);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var h={options:{arrowColor:"#3c7251",backgroundColor:"#3c7251",overlayColor:"rgba(0, 0, 0, 0.6)",textColor:"#fff",zIndex:2e4},spotlight:{border:"2px solid #3c7251",backgroundColor:"#fff"}},O={back:Object(u.__)("Back","google-site-kit"),close:Object(u.__)("Close","google-site-kit"),last:Object(u.__)("Got it","google-site-kit"),next:Object(u.__)("Next","google-site-kit")},y={disableAnimation:!0,styles:{arrow:{length:8,margin:56,spread:16},floater:{filter:"drop-shadow(rgba(60, 64, 67, 0.3) 0px 1px 2px) drop-shadow(rgba(60, 64, 67, 0.15) 0px 2px 6px)"}}},E="feature_tooltip_view",k="feature_tooltip_advance",j="feature_tooltip_return",_="feature_tooltip_dismiss",S="feature_tooltip_complete";function TourTooltips(t){var n=t.steps,a=t.tourID,s=t.gaEventCategory,l=t.callback,u="".concat(a,"-step"),w="".concat(a,"-run"),N=Object(d.useDispatch)(g.b).setValue,D=Object(d.useDispatch)(f.a).dismissTour,T=Object(d.useRegistry)(),R=Object(b.a)(),C=Object(d.useSelect)((function(e){return e(g.b).getValue(u)})),A=Object(d.useSelect)((function(e){return e(g.b).getValue(w)&&!1===e(f.a).isTourDismissed(a)}));Object(o.a)((function(){e.document.body.classList.add("googlesitekit-showing-feature-tour","googlesitekit-showing-feature-tour--".concat(a)),N(w,!0)}));var P=n.map((function(e){return function(e){for(var t=1;t=600;Object(O.a)(u()(s.a.mark((function e(){var t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(F>0)){e.next=3;break}return e.next=3,Ye();case 3:if(!H){e.next=9;break}return e.next=6,Object(S.d)(Pe);case 6:t=e.sent,n=t.cacheHit,Ae(n);case 9:if(!ie){e.next=12;break}return e.next=12,Le();case 12:case"end":return e.stop()}}),e)}))));var He=function(){var e=u()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(E.a)(f)&&"_blank"!==p,Ke=function(){return qe||De(!0),new Promise((function(e){setTimeout(u()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Le();case 2:Ie()&&Ae(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Xe=Object(k.useSelect)((function(e){return!!f&&e(x.a).isNavigatingTo(f)})),Je=Object(k.useDispatch)(x.a).navigateTo,$e=function(){var e=u()(s.a.mark((function e(t){var n,r,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,a=r.dismissOnCTAClick,n=void 0===a||a;case 12:if(!H||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Je(f);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Ye=function(){var e=u()(s.a.mark((function e(){var t,n,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.d)(Pe);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(F,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=n.invertColor,o=void 0!==i&&i;return Object(r.a)(e.createElement(a.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),a=n.n(r),i=n(14),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=l(l({},u),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(a,n),d=Object(c.a)(a,n,s,r),g={},f=function(){for(var e=arguments.length,t=new Array(e),n=0;n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return o=t.done,t},e:function(t){c=!0,a=t},f:function(){try{o||null==e.return||e.return()}finally{if(c)throw a}}}}function s(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e2&&void 0!==v[2]?v[2]:{},o=a.ttl,u=void 0===o?c.b:o,s=a.timestamp,f=void 0===s?Math.round(Date.now()/1e3):s,l=a.isError,g=void 0!==l&&l,n.next=3,b();case 3:if(!(p=n.sent)){n.next=14;break}return n.prev=5,p.setItem("".concat(d).concat(e),JSON.stringify({timestamp:f,ttl:u,value:r,isError:g})),n.abrupt("return",!0);case 10:return n.prev=10,n.t0=n.catch(5),t.console.warn("Encountered an unexpected storage error:",n.t0),n.abrupt("return",!1);case 14:return n.abrupt("return",!1);case 15:case"end":return n.stop()}}),n,null,[[5,10]])})));return function(t,e){return n.apply(this,arguments)}}(),k=function(){var n=o()(i.a.mark((function n(e){var r,a;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,b();case 2:if(!(r=n.sent)){n.next=14;break}return n.prev=4,a=e.startsWith(l)?e:"".concat(d).concat(e),r.removeItem(a),n.abrupt("return",!0);case 10:return n.prev=10,n.t0=n.catch(4),t.console.warn("Encountered an unexpected storage error:",n.t0),n.abrupt("return",!1);case 14:return n.abrupt("return",!1);case 15:case"end":return n.stop()}}),n,null,[[4,10]])})));return function(t){return n.apply(this,arguments)}}(),w=function(){var n=o()(i.a.mark((function n(){var e,r,a,o;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,b();case 2:if(!(e=n.sent)){n.next=14;break}for(n.prev=4,r=[],a=0;a1&&void 0!==arguments[1]?arguments[1]:a;return n instanceof Set&&n.has(t)}}).call(this,e(28))},57:function(t,n,e){"use strict";e.d(n,"a",(function(){return i}));var r=e(39);function i(t){return function(){t[r.a]=t[r.a]||[],t[r.a].push(arguments)}}},6:function(t,n,e){"use strict";e.d(n,"a",(function(){return r})),e.d(n,"b",(function(){return i})),e.d(n,"e",(function(){return a})),e.d(n,"d",(function(){return o})),e.d(n,"c",(function(){return c})),e.d(n,"H",(function(){return u})),e.d(n,"M",(function(){return s})),e.d(n,"O",(function(){return f})),e.d(n,"K",(function(){return l})),e.d(n,"L",(function(){return d})),e.d(n,"J",(function(){return g})),e.d(n,"I",(function(){return p})),e.d(n,"N",(function(){return v})),e.d(n,"f",(function(){return b})),e.d(n,"g",(function(){return h})),e.d(n,"h",(function(){return m})),e.d(n,"j",(function(){return y})),e.d(n,"l",(function(){return k})),e.d(n,"m",(function(){return w})),e.d(n,"n",(function(){return O})),e.d(n,"o",(function(){return j})),e.d(n,"q",(function(){return _})),e.d(n,"s",(function(){return x})),e.d(n,"r",(function(){return D})),e.d(n,"t",(function(){return S})),e.d(n,"w",(function(){return P})),e.d(n,"u",(function(){return A})),e.d(n,"v",(function(){return T})),e.d(n,"x",(function(){return E})),e.d(n,"y",(function(){return N})),e.d(n,"A",(function(){return L})),e.d(n,"B",(function(){return I})),e.d(n,"C",(function(){return C})),e.d(n,"D",(function(){return M})),e.d(n,"k",(function(){return R})),e.d(n,"F",(function(){return U})),e.d(n,"z",(function(){return F})),e.d(n,"G",(function(){return q})),e.d(n,"E",(function(){return J})),e.d(n,"i",(function(){return $})),e.d(n,"p",(function(){return H})),e.d(n,"Q",(function(){return K})),e.d(n,"P",(function(){return V}));var r="core/user",i="connected_url_mismatch",a="__global",o="temporary_persist_permission_error",c="adblocker_active",u="googlesitekit_authenticate",s="googlesitekit_setup",f="googlesitekit_view_dashboard",l="googlesitekit_manage_options",d="googlesitekit_read_shared_module_data",g="googlesitekit_manage_module_sharing_options",p="googlesitekit_delegate_module_sharing_management",v="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",h="kmAnalyticsEngagedTrafficSource",m="kmAnalyticsLeastEngagingPages",y="kmAnalyticsNewVisitors",k="kmAnalyticsPopularAuthors",w="kmAnalyticsPopularContent",O="kmAnalyticsPopularProducts",j="kmAnalyticsReturningVisitors",_="kmAnalyticsTopCities",x="kmAnalyticsTopCitiesDrivingLeads",D="kmAnalyticsTopCitiesDrivingAddToCart",S="kmAnalyticsTopCitiesDrivingPurchases",P="kmAnalyticsTopDeviceDrivingPurchases",A="kmAnalyticsTopConvertingTrafficSource",T="kmAnalyticsTopCountries",E="kmAnalyticsTopPagesDrivingLeads",N="kmAnalyticsTopRecentTrendingPages",L="kmAnalyticsTopTrafficSource",I="kmAnalyticsTopTrafficSourceDrivingAddToCart",C="kmAnalyticsTopTrafficSourceDrivingLeads",M="kmAnalyticsTopTrafficSourceDrivingPurchases",R="kmAnalyticsPagesPerVisit",U="kmAnalyticsVisitLength",F="kmAnalyticsTopReturningVisitorPages",q="kmSearchConsolePopularKeywords",J="kmAnalyticsVisitsPerVisitor",$="kmAnalyticsMostEngagingPages",H="kmAnalyticsTopCategories",K=[b,h,m,y,k,w,O,j,H,_,x,D,S,P,A,T,N,L,I,R,U,F,J,$,H],V=[].concat(K,[q])},72:function(t,n,e){"use strict";e.d(n,"a",(function(){return o})),e.d(n,"b",(function(){return c}));var r=e(33),i=e.n(r),a=e(82),o=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(t,n)}};function c(t){var n,e="object"===i()(t)?t.toString():t;return null==e||null===(n=e.replace)||void 0===n?void 0:n.call(e,/\/+$/,"")}},80:function(t,n,e){"use strict";e.d(n,"b",(function(){return i})),e.d(n,"a",(function(){return a})),e.d(n,"c",(function(){return o})),e.d(n,"d",(function(){return c}));var r=e(107);function i(t){try{return new URL(t).pathname}catch(t){}return null}function a(t,n){try{return new URL(n,t).href}catch(t){}return("string"==typeof t?t:"")+("string"==typeof n?n:"")}function o(t){return"string"!=typeof t?t:t.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(t,n){if(!Object(r.a)(t))return t;if(t.length<=n)return t;var e=new URL(t),i=t.replace(e.origin,"");if(i.length1&&void 0!==arguments[1]?arguments[1]:{},e=k(t,n),r=e.formatUnit,i=e.formatDecimal;try{return r()}catch(t){return i()}},m=function(t){var n=y(t),e=n.hours,r=n.minutes,i=n.seconds;return i=("0"+i).slice(-2),r=("0"+r).slice(-2),"00"===(e=("0"+e).slice(-2))?"".concat(r,":").concat(i):"".concat(e,":").concat(r,":").concat(i)},y=function(t){return t=parseInt(t,10),Number.isNaN(t)&&(t=0),{hours:Math.floor(t/60/60),minutes:Math.floor(t/60%60),seconds:Math.floor(t%60)}},k=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=y(t),r=e.hours,i=e.minutes,a=e.seconds;return{hours:r,minutes:i,seconds:a,formatUnit:function(){var e=n.unitDisplay,o=b(b({unitDisplay:void 0===e?"short":e},f()(n,["unitDisplay"])),{},{style:"unit"});return 0===t?D(a,b(b({},o),{},{unit:"second"})):Object(p.sprintf)( +(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[5],{100:function(t,n,e){"use strict";e.d(n,"a",(function(){return d}));var r=e(5),i=e.n(r),a=e(7),o=e.n(a),c=e(16),u=e.n(c),s=e(58);function f(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function l(t){for(var n=1;n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return o=t.done,t},e:function(t){c=!0,a=t},f:function(){try{o||null==e.return||e.return()}finally{if(c)throw a}}}}function s(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e2&&void 0!==v[2]?v[2]:{},o=a.ttl,u=void 0===o?c.b:o,s=a.timestamp,f=void 0===s?Math.round(Date.now()/1e3):s,l=a.isError,g=void 0!==l&&l,n.next=3,b();case 3:if(!(p=n.sent)){n.next=14;break}return n.prev=5,p.setItem("".concat(d).concat(e),JSON.stringify({timestamp:f,ttl:u,value:r,isError:g})),n.abrupt("return",!0);case 10:return n.prev=10,n.t0=n.catch(5),t.console.warn("Encountered an unexpected storage error:",n.t0),n.abrupt("return",!1);case 14:return n.abrupt("return",!1);case 15:case"end":return n.stop()}}),n,null,[[5,10]])})));return function(t,e){return n.apply(this,arguments)}}(),k=function(){var n=o()(i.a.mark((function n(e){var r,a;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,b();case 2:if(!(r=n.sent)){n.next=14;break}return n.prev=4,a=e.startsWith(l)?e:"".concat(d).concat(e),r.removeItem(a),n.abrupt("return",!0);case 10:return n.prev=10,n.t0=n.catch(4),t.console.warn("Encountered an unexpected storage error:",n.t0),n.abrupt("return",!1);case 14:return n.abrupt("return",!1);case 15:case"end":return n.stop()}}),n,null,[[4,10]])})));return function(t){return n.apply(this,arguments)}}(),w=function(){var n=o()(i.a.mark((function n(){var e,r,a,o;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,b();case 2:if(!(e=n.sent)){n.next=14;break}for(n.prev=4,r=[],a=0;a1&&void 0!==arguments[1]?arguments[1]:a;return n instanceof Set&&n.has(t)}}).call(this,e(28))},40:function(t,n,e){"use strict";e.d(n,"a",(function(){return r})),e.d(n,"b",(function(){return i}));var r="_googlesitekitDataLayer",i="data-googlesitekit-gtag"},58:function(t,n,e){"use strict";e.d(n,"a",(function(){return i}));var r=e(40);function i(t){return function(){t[r.a]=t[r.a]||[],t[r.a].push(arguments)}}},6:function(t,n,e){"use strict";e.d(n,"a",(function(){return r})),e.d(n,"b",(function(){return i})),e.d(n,"e",(function(){return a})),e.d(n,"d",(function(){return o})),e.d(n,"c",(function(){return c})),e.d(n,"H",(function(){return u})),e.d(n,"M",(function(){return s})),e.d(n,"O",(function(){return f})),e.d(n,"K",(function(){return l})),e.d(n,"L",(function(){return d})),e.d(n,"J",(function(){return g})),e.d(n,"I",(function(){return p})),e.d(n,"N",(function(){return v})),e.d(n,"f",(function(){return b})),e.d(n,"g",(function(){return h})),e.d(n,"h",(function(){return m})),e.d(n,"j",(function(){return y})),e.d(n,"l",(function(){return k})),e.d(n,"m",(function(){return w})),e.d(n,"n",(function(){return O})),e.d(n,"o",(function(){return j})),e.d(n,"q",(function(){return _})),e.d(n,"s",(function(){return x})),e.d(n,"r",(function(){return D})),e.d(n,"t",(function(){return S})),e.d(n,"w",(function(){return P})),e.d(n,"u",(function(){return A})),e.d(n,"v",(function(){return T})),e.d(n,"x",(function(){return E})),e.d(n,"y",(function(){return N})),e.d(n,"A",(function(){return L})),e.d(n,"B",(function(){return I})),e.d(n,"C",(function(){return C})),e.d(n,"D",(function(){return M})),e.d(n,"k",(function(){return R})),e.d(n,"F",(function(){return U})),e.d(n,"z",(function(){return F})),e.d(n,"G",(function(){return q})),e.d(n,"E",(function(){return J})),e.d(n,"i",(function(){return $})),e.d(n,"p",(function(){return H})),e.d(n,"Q",(function(){return K})),e.d(n,"P",(function(){return V}));var r="core/user",i="connected_url_mismatch",a="__global",o="temporary_persist_permission_error",c="adblocker_active",u="googlesitekit_authenticate",s="googlesitekit_setup",f="googlesitekit_view_dashboard",l="googlesitekit_manage_options",d="googlesitekit_read_shared_module_data",g="googlesitekit_manage_module_sharing_options",p="googlesitekit_delegate_module_sharing_management",v="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",h="kmAnalyticsEngagedTrafficSource",m="kmAnalyticsLeastEngagingPages",y="kmAnalyticsNewVisitors",k="kmAnalyticsPopularAuthors",w="kmAnalyticsPopularContent",O="kmAnalyticsPopularProducts",j="kmAnalyticsReturningVisitors",_="kmAnalyticsTopCities",x="kmAnalyticsTopCitiesDrivingLeads",D="kmAnalyticsTopCitiesDrivingAddToCart",S="kmAnalyticsTopCitiesDrivingPurchases",P="kmAnalyticsTopDeviceDrivingPurchases",A="kmAnalyticsTopConvertingTrafficSource",T="kmAnalyticsTopCountries",E="kmAnalyticsTopPagesDrivingLeads",N="kmAnalyticsTopRecentTrendingPages",L="kmAnalyticsTopTrafficSource",I="kmAnalyticsTopTrafficSourceDrivingAddToCart",C="kmAnalyticsTopTrafficSourceDrivingLeads",M="kmAnalyticsTopTrafficSourceDrivingPurchases",R="kmAnalyticsPagesPerVisit",U="kmAnalyticsVisitLength",F="kmAnalyticsTopReturningVisitorPages",q="kmSearchConsolePopularKeywords",J="kmAnalyticsVisitsPerVisitor",$="kmAnalyticsMostEngagingPages",H="kmAnalyticsTopCategories",K=[b,h,m,y,k,w,O,j,H,_,x,D,S,P,A,T,N,L,I,R,U,F,J,$,H],V=[].concat(K,[q])},72:function(t,n,e){"use strict";e.d(n,"a",(function(){return o})),e.d(n,"b",(function(){return c}));var r=e(33),i=e.n(r),a=e(83),o=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(t,n)}};function c(t){var n,e="object"===i()(t)?t.toString():t;return null==e||null===(n=e.replace)||void 0===n?void 0:n.call(e,/\/+$/,"")}},81:function(t,n,e){"use strict";e.d(n,"b",(function(){return i})),e.d(n,"a",(function(){return a})),e.d(n,"c",(function(){return o})),e.d(n,"d",(function(){return c}));var r=e(107);function i(t){try{return new URL(t).pathname}catch(t){}return null}function a(t,n){try{return new URL(n,t).href}catch(t){}return("string"==typeof t?t:"")+("string"==typeof n?n:"")}function o(t){return"string"!=typeof t?t:t.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(t,n){if(!Object(r.a)(t))return t;if(t.length<=n)return t;var e=new URL(t),i=t.replace(e.origin,"");if(i.length3&&void 0!==arguments[3]?arguments[3]:{},i=[t,n,e].filter((function(t){return!!t&&t.length}));return 3===i.length&&r&&r.constructor===Object&&Object.keys(r).length&&i.push(Object(d.I)(r)),i.join("::")},m=function(n){var e,r,i,a=null===(e=t.googlesitekit)||void 0===e||null===(r=e.data)||void 0===r||null===(i=r.dispatch)||void 0===i?void 0:i.call(r,v.a);a&&(Object(g.f)(n)?a.setPermissionScopeError(n):Object(g.c)(n)&&a.setAuthError(n))},y=function(){var n=o()(i.a.mark((function n(e,r,a){var o,c,g,v,b,y,k,O,j,_,x,D,S,P,A,T,E,N=arguments;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(o=N.length>3&&void 0!==N[3]?N[3]:{},c=o.bodyParams,g=o.cacheTTL,v=void 0===g?d.b:g,b=o.method,y=void 0===b?"GET":b,k=o.queryParams,O=o.useCache,j=void 0===O?void 0:O,_=o.signal,u()(e,"`type` argument for requests is required."),u()(r,"`identifier` argument for requests is required."),u()(a,"`datapoint` argument for requests is required."),x="GET"===y&&(void 0!==j?j:w()),D=h(e,r,a,k),!x){n.next=18;break}return n.next=9,Object(l.d)(D);case 9:if(S=n.sent,P=S.cacheHit,A=S.value,!S.isError){n.next=16;break}throw m(A),A;case 16:if(!P){n.next=18;break}return n.abrupt("return",A);case 18:return n.prev=18,n.next=21,Object(s.default)({data:c,method:y,signal:_,path:Object(f.a)("/google-site-kit/v1/".concat(e,"/").concat(r,"/data/").concat(a),k)});case 21:if(T=n.sent,!x){n.next=25;break}return n.next=25,Object(l.f)(D,T,{ttl:v});case 25:return n.abrupt("return",T);case 28:if(n.prev=28,n.t0=n.catch(18),!(null==_?void 0:_.aborted)){n.next=32;break}throw n.t0;case 32:if(!(null===n.t0||void 0===n.t0||null===(E=n.t0.data)||void 0===E?void 0:E.cacheTTL)){n.next=35;break}return n.next=35,Object(l.f)(D,n.t0,{ttl:n.t0.data.cacheTTL,isError:!0});case 35:throw Object(p.a)({method:y,datapoint:a,type:e,identifier:r,error:n.t0}),m(n.t0),t.console.error("Google Site Kit API Error","method:".concat(y),"datapoint:".concat(a),"type:".concat(e),"identifier:".concat(r),'error:"'.concat(n.t0.message,'"')),n.t0;case 39:case"end":return n.stop()}}),n,null,[[18,28]])})));return function(t,e,r){return n.apply(this,arguments)}}(),k=function(){var t=o()(i.a.mark((function t(n,e,r,a){var o,c,u,s,f,l,d,g=arguments;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=g.length>4&&void 0!==g[4]?g[4]:{},c=o.method,u=void 0===c?"POST":c,s=o.queryParams,f=void 0===s?{}:s,l=o.signal,t.next=3,y(n,e,r,{bodyParams:{data:a},method:u,queryParams:f,useCache:!1,signal:l});case 3:return d=t.sent,t.next=6,O(n,e,r);case 6:return t.abrupt("return",d);case 7:case"end":return t.stop()}}),t)})));return function(n,e,r,i){return t.apply(this,arguments)}}(),w=function(){return b},O=function(){var t=o()(i.a.mark((function t(n,e,r){var a;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=h(n,e,r),t.next=3,Object(l.e)();case 3:t.sent.forEach((function(t){new RegExp("^".concat(l.a,"([^_]+_){2}").concat(a)).test(t)&&Object(l.c)(t)}));case 5:case"end":return t.stop()}}),t)})));return function(n,e,r){return t.apply(this,arguments)}}(),j={invalidateCache:O,get:function(t,n,e,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=i.cacheTTL,o=void 0===a?d.b:a,c=i.useCache,u=void 0===c?void 0:c,s=i.signal;return y(t,n,e,{cacheTTL:o,queryParams:r,useCache:u,signal:s})},set:k,setUsingCache:function(t){return b=!!t},usingCache:w};n.a=j}).call(this,e(28))},82:function(t,n,e){"use strict";(function(t){e.d(n,"a",(function(){return j})),e.d(n,"d",(function(){return _})),e.d(n,"e",(function(){return D})),e.d(n,"c",(function(){return S})),e.d(n,"b",(function(){return P}));var r=e(15),i=e.n(r),a=e(33),o=e.n(a),c=e(7),u=e.n(c),s=e(25),f=e.n(s),l=e(14),d=e(60),g=e.n(d),p=e(2);function v(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function b(t){for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:{},e=k(t,n),r=e.formatUnit,i=e.formatDecimal;try{return r()}catch(t){return i()}},m=function(t){var n=y(t),e=n.hours,r=n.minutes,i=n.seconds;return i=("0"+i).slice(-2),r=("0"+r).slice(-2),"00"===(e=("0"+e).slice(-2))?"".concat(r,":").concat(i):"".concat(e,":").concat(r,":").concat(i)},y=function(t){return t=parseInt(t,10),Number.isNaN(t)&&(t=0),{hours:Math.floor(t/60/60),minutes:Math.floor(t/60%60),seconds:Math.floor(t%60)}},k=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=y(t),r=e.hours,i=e.minutes,a=e.seconds;return{hours:r,minutes:i,seconds:a,formatUnit:function(){var e=n.unitDisplay,o=b(b({unitDisplay:void 0===e?"short":e},f()(n,["unitDisplay"])),{},{style:"unit"});return 0===t?D(a,b(b({},o),{},{unit:"second"})):Object(p.sprintf)( /* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?D(a,b(b({},o),{},{unit:"second"})):"",i?D(i,b(b({},o),{},{unit:"minute"})):"",r?D(r,b(b({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var n=Object(p.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. Object(p.__)("%ds","google-site-kit"),a);if(0===t)return n;var e=Object(p.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. @@ -9,6 +9,6 @@ Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a? Object(p.__)("%sM","google-site-kit"),D(w(t),t%10==0?{}:n)):1e4<=t?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. Object(p.__)("%sK","google-site-kit"),D(w(t))):1e3<=t?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. Object(p.__)("%sK","google-site-kit"),D(w(t),t%10==0?{}:n)):D(t,{signDisplay:"never",maximumFractionDigits:1})};function j(t){var n={};return"%"===t?n={style:"percent",maximumFractionDigits:2}:"s"===t?n={style:"duration",unitDisplay:"narrow"}:t&&"string"==typeof t?n={style:"currency",currency:t}:Object(l.isPlainObject)(t)&&(n=b({},t)),n}function _(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=Object(l.isFinite)(t)?t:Number(t),Object(l.isFinite)(t)||(console.warn("Invalid number",t,o()(t)),t=0);var e=j(n),r=e.style,i=void 0===r?"metric":r;return"metric"===i?O(t):"duration"===i?h(t,e):"durationISO"===i?m(t):D(t,e)}var x=g()(console.warn),D=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.locale,r=void 0===e?P():e,a=f()(n,["locale"]);try{return new Intl.NumberFormat(r,a).format(t)}catch(n){x("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(a)," ).format( ").concat(o()(t)," )"),n.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},u=["signDisplay","compactDisplay"],s={},l=0,d=Object.entries(a);l1&&void 0!==arguments[1]?arguments[1]:{},e=n.locale,r=void 0===e?P():e,i=n.style,a=void 0===i?"long":i,o=n.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var u=new Intl.ListFormat(r,{style:a,type:c});return u.format(t)} -/* translators: used between list items, there is a space after the comma. */var s=Object(p.__)(", ","google-site-kit");return t.join(s)},P=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,e=Object(l.get)(n,["_googlesitekitLegacyData","locale"]);if(e){var r=e.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return n.navigator.language}}).call(this,e(28))},814:function(t,n,e){"use strict";(function(t){var r=e(5),i=e.n(r),a=e(15),o=e.n(a),c=e(12),u=e.n(c),s=e(263),f=e(164),l=e(34),d=e(9),g=e(36),p=e(932),v=e(6),b=!0,h=function(t,n,e){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=[t,n,e].filter((function(t){return!!t&&t.length}));return 3===i.length&&r&&r.constructor===Object&&Object.keys(r).length&&i.push(Object(d.I)(r)),i.join("::")},m=function(n){var e,r,i,a=null===(e=t.googlesitekit)||void 0===e||null===(r=e.data)||void 0===r||null===(i=r.dispatch)||void 0===i?void 0:i.call(r,v.a);a&&(Object(g.f)(n)?a.setPermissionScopeError(n):Object(g.c)(n)&&a.setAuthError(n))},y=function(){var n=o()(i.a.mark((function n(e,r,a){var o,c,g,v,b,y,k,O,j,_,x,D,S,P,A,T,E,N=arguments;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(o=N.length>3&&void 0!==N[3]?N[3]:{},c=o.bodyParams,g=o.cacheTTL,v=void 0===g?d.b:g,b=o.method,y=void 0===b?"GET":b,k=o.queryParams,O=o.useCache,j=void 0===O?void 0:O,_=o.signal,u()(e,"`type` argument for requests is required."),u()(r,"`identifier` argument for requests is required."),u()(a,"`datapoint` argument for requests is required."),x="GET"===y&&(void 0!==j?j:w()),D=h(e,r,a,k),!x){n.next=18;break}return n.next=9,Object(l.d)(D);case 9:if(S=n.sent,P=S.cacheHit,A=S.value,!S.isError){n.next=16;break}throw m(A),A;case 16:if(!P){n.next=18;break}return n.abrupt("return",A);case 18:return n.prev=18,n.next=21,Object(s.default)({data:c,method:y,signal:_,path:Object(f.a)("/google-site-kit/v1/".concat(e,"/").concat(r,"/data/").concat(a),k)});case 21:if(T=n.sent,!x){n.next=25;break}return n.next=25,Object(l.f)(D,T,{ttl:v});case 25:return n.abrupt("return",T);case 28:if(n.prev=28,n.t0=n.catch(18),!(null==_?void 0:_.aborted)){n.next=32;break}throw n.t0;case 32:if(!(null===n.t0||void 0===n.t0||null===(E=n.t0.data)||void 0===E?void 0:E.cacheTTL)){n.next=35;break}return n.next=35,Object(l.f)(D,n.t0,{ttl:n.t0.data.cacheTTL,isError:!0});case 35:throw Object(p.a)({method:y,datapoint:a,type:e,identifier:r,error:n.t0}),m(n.t0),t.console.error("Google Site Kit API Error","method:".concat(y),"datapoint:".concat(a),"type:".concat(e),"identifier:".concat(r),'error:"'.concat(n.t0.message,'"')),n.t0;case 39:case"end":return n.stop()}}),n,null,[[18,28]])})));return function(t,e,r){return n.apply(this,arguments)}}(),k=function(){var t=o()(i.a.mark((function t(n,e,r,a){var o,c,u,s,f,l,d,g=arguments;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=g.length>4&&void 0!==g[4]?g[4]:{},c=o.method,u=void 0===c?"POST":c,s=o.queryParams,f=void 0===s?{}:s,l=o.signal,t.next=3,y(n,e,r,{bodyParams:{data:a},method:u,queryParams:f,useCache:!1,signal:l});case 3:return d=t.sent,t.next=6,O(n,e,r);case 6:return t.abrupt("return",d);case 7:case"end":return t.stop()}}),t)})));return function(n,e,r,i){return t.apply(this,arguments)}}(),w=function(){return b},O=function(){var t=o()(i.a.mark((function t(n,e,r){var a;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=h(n,e,r),t.next=3,Object(l.e)();case 3:t.sent.forEach((function(t){new RegExp("^".concat(l.a,"([^_]+_){2}").concat(a)).test(t)&&Object(l.c)(t)}));case 5:case"end":return t.stop()}}),t)})));return function(n,e,r){return t.apply(this,arguments)}}(),j={invalidateCache:O,get:function(t,n,e,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=i.cacheTTL,o=void 0===a?d.b:a,c=i.useCache,u=void 0===c?void 0:c,s=i.signal;return y(t,n,e,{cacheTTL:o,queryParams:r,useCache:u,signal:s})},set:k,setUsingCache:function(t){return b=!!t},usingCache:w};n.a=j}).call(this,e(28))},82:function(t,n,e){"use strict";(function(t){e.d(n,"a",(function(){return i}));var r=e(145),i=e.n(r)()(t)}).call(this,e(28))},85:function(t,n,e){"use strict";(function(t){var r=e(1),i=e.n(r),a=e(11),o=e.n(a);function ChangeArrow(n){var e=n.direction,r=n.invertColor,i=n.width,a=n.height;return t.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(e),{"googlesitekit-change-arrow--inverted-color":r}),width:i,height:a,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},n.a=ChangeArrow}).call(this,e(4))},88:function(t,n,e){"use strict";e.d(n,"a",(function(){return a}));var r=e(12),i=e.n(r),a=function(t,n){var e=n.dateRangeLength;i()(Array.isArray(t),"report must be an array to partition."),i()(Number.isInteger(e)&&e>0,"dateRangeLength must be a positive integer.");var r=-1*e;return{currentRange:t.slice(r),compareRange:t.slice(2*r,r)}}},9:function(t,n,e){"use strict";e.d(n,"J",(function(){return i.b})),e.d(n,"K",(function(){return i.c})),e.d(n,"G",(function(){return a.a})),e.d(n,"L",(function(){return a.b})),e.d(n,"I",(function(){return f})),e.d(n,"n",(function(){return l.a})),e.d(n,"C",(function(){return l.d})),e.d(n,"D",(function(){return l.e})),e.d(n,"z",(function(){return l.c})),e.d(n,"s",(function(){return l.b})),e.d(n,"A",(function(){return v})),e.d(n,"k",(function(){return b})),e.d(n,"j",(function(){return h})),e.d(n,"d",(function(){return j})),e.d(n,"c",(function(){return _})),e.d(n,"e",(function(){return x})),e.d(n,"b",(function(){return D})),e.d(n,"a",(function(){return S})),e.d(n,"g",(function(){return P})),e.d(n,"f",(function(){return A})),e.d(n,"o",(function(){return T})),e.d(n,"x",(function(){return E})),e.d(n,"q",(function(){return N})),e.d(n,"H",(function(){return L})),e.d(n,"t",(function(){return I})),e.d(n,"w",(function(){return C})),e.d(n,"l",(function(){return M})),e.d(n,"p",(function(){return R.b})),e.d(n,"i",(function(){return R.a})),e.d(n,"u",(function(){return U.b})),e.d(n,"r",(function(){return U.a})),e.d(n,"B",(function(){return U.c})),e.d(n,"y",(function(){return F})),e.d(n,"v",(function(){return q})),e.d(n,"F",(function(){return H})),e.d(n,"E",(function(){return K.a})),e.d(n,"h",(function(){return V})),e.d(n,"M",(function(){return G})),e.d(n,"m",(function(){return z}));var r=e(13),i=e(37),a=e(72),o=e(33),c=e.n(o),u=e(92),s=e.n(u),f=function(t){return s()(JSON.stringify(function t(n){var e={};return Object.keys(n).sort().forEach((function(r){var i=n[r];i&&"object"===c()(i)&&!Array.isArray(i)&&(i=t(i)),e[r]=i})),e}(t)))};e(96);var l=e(81);function d(t){return t.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function g(t){return"

".concat(t.replace(/\n{2,}/g,"

"),"

")}function p(t){return t.replace(/\n/gi,"
")}function v(t){for(var n=t,e=0,r=[d,g,p];e0&&void 0!==arguments[0]?arguments[0]:t,e=Object(l.get)(n,["_googlesitekitLegacyData","locale"]);if(e){var r=e.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return n.navigator.language}}).call(this,e(28))},83:function(t,n,e){"use strict";(function(t){e.d(n,"a",(function(){return i}));var r=e(147),i=e.n(r)()(t)}).call(this,e(28))},86:function(t,n,e){"use strict";(function(t){var r=e(0),i=e.n(r),a=e(11),o=e.n(a);function ChangeArrow(n){var e=n.direction,r=n.invertColor,i=n.width,a=n.height;return t.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(e),{"googlesitekit-change-arrow--inverted-color":r}),width:i,height:a,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},n.a=ChangeArrow}).call(this,e(4))},89:function(t,n,e){"use strict";e.d(n,"a",(function(){return a}));var r=e(12),i=e.n(r),a=function(t,n){var e=n.dateRangeLength;i()(Array.isArray(t),"report must be an array to partition."),i()(Number.isInteger(e)&&e>0,"dateRangeLength must be a positive integer.");var r=-1*e;return{currentRange:t.slice(r),compareRange:t.slice(2*r,r)}}},9:function(t,n,e){"use strict";e.d(n,"J",(function(){return i.b})),e.d(n,"K",(function(){return i.c})),e.d(n,"G",(function(){return a.a})),e.d(n,"L",(function(){return a.b})),e.d(n,"I",(function(){return f})),e.d(n,"n",(function(){return l.a})),e.d(n,"C",(function(){return l.d})),e.d(n,"D",(function(){return l.e})),e.d(n,"z",(function(){return l.c})),e.d(n,"s",(function(){return l.b})),e.d(n,"A",(function(){return v})),e.d(n,"k",(function(){return b})),e.d(n,"j",(function(){return h})),e.d(n,"d",(function(){return j})),e.d(n,"c",(function(){return _})),e.d(n,"e",(function(){return x})),e.d(n,"b",(function(){return D})),e.d(n,"a",(function(){return S})),e.d(n,"g",(function(){return P})),e.d(n,"f",(function(){return A})),e.d(n,"o",(function(){return T})),e.d(n,"x",(function(){return E})),e.d(n,"q",(function(){return N})),e.d(n,"H",(function(){return L})),e.d(n,"t",(function(){return I})),e.d(n,"w",(function(){return C})),e.d(n,"l",(function(){return M})),e.d(n,"p",(function(){return R.b})),e.d(n,"i",(function(){return R.a})),e.d(n,"u",(function(){return U.b})),e.d(n,"r",(function(){return U.a})),e.d(n,"B",(function(){return U.c})),e.d(n,"y",(function(){return F})),e.d(n,"v",(function(){return q})),e.d(n,"F",(function(){return H})),e.d(n,"E",(function(){return K.a})),e.d(n,"h",(function(){return V})),e.d(n,"M",(function(){return G})),e.d(n,"m",(function(){return z}));var r=e(14),i=e(37),a=e(72),o=e(33),c=e.n(o),u=e(93),s=e.n(u),f=function(t){return s()(JSON.stringify(function t(n){var e={};return Object.keys(n).sort().forEach((function(r){var i=n[r];i&&"object"===c()(i)&&!Array.isArray(i)&&(i=t(i)),e[r]=i})),e}(t)))};e(96);var l=e(82);function d(t){return t.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function g(t){return"

".concat(t.replace(/\n{2,}/g,"

"),"

")}function p(t){return t.replace(/\n/gi,"
")}function v(t){for(var n=t,e=0,r=[d,g,p];e0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(t))return!1;var n=t.split("-");if(3!==n.length)return!1;var e=new Date(t);return Object(r.isDate)(e)&&!isNaN(e)}function N(t){w()(Object(r.isDate)(t)&&!isNaN(t),"Date param must construct to a valid date instance or be a valid date instance itself.");var n="".concat(t.getMonth()+1),e="".concat(t.getDate());return[t.getFullYear(),n.length<2?"0".concat(n):n,e.length<2?"0".concat(e):e].join("-")}function L(t){w()(E(t),j);var n=t.split("-"),e=y()(n,3),r=e[0],i=e[1],a=e[2];return new Date(r,i-1,a)}function I(t,n){return N(M(t,n*S))}function C(t){var n=t.split("-");return 3===n.length&&"last"===n[0]&&!Number.isNaN(n[1])&&!Number.isNaN(parseFloat(n[1]))&&"days"===n[2]}function M(t,n){w()(E(t)||Object(r.isDate)(t)&&!isNaN(t),j);var e=E(t)?Date.parse(t):t.getTime();return new Date(e-1e3*n)}var R=e(97),U=e(80);function F(t){var n=parseFloat(t)||0;return!!Number.isInteger(n)&&n>0}function q(t){if("number"==typeof t)return!0;var n=(t||"").toString();return!!n&&!isNaN(n)}var J=e(27),$=e.n(J),H=function(t){return Array.isArray(t)?$()(t).sort():t},K=e(88);function V(t,n){var e=function(t){return"0"===t||0===t};if(e(t)&&e(n))return 0;if(e(t)||Number.isNaN(t))return null;var r=(n-t)/t;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var G=function(t){try{return JSON.parse(t)&&!!t}catch(t){return!1}},z=function(t){if(!t)return"";var n=t.replace(/&#(\d+);/g,(function(t,n){return String.fromCharCode(n)})).replace(/(\\)/g,"");return Object(r.unescape)(n)}},932:function(t,n,e){"use strict";e.d(n,"a",(function(){return f}));var r=e(5),i=e.n(r),a=e(15),o=e.n(a),c=e(9),u=["fetch_error"],s=[];function f(t){return l.apply(this,arguments)}function l(){return(l=o()(i.a.mark((function t(n){var e,r,a,o,f,l,d,g,p;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=n.method,o=n.type,f=n.identifier,l=n.datapoint,d=n.error,g="".concat(o,"/").concat(f,"/data/").concat(l),!s.includes(g)){t.next=4;break}return t.abrupt("return");case 4:if(d&&!u.includes(null==d?void 0:d.code)){t.next=6;break}return t.abrupt("return");case 6:return p="code: ".concat(d.code),(null===(e=d.data)||void 0===e?void 0:e.reason)&&(p+=", reason: ".concat(d.data.reason)),t.next=10,Object(c.J)("api_error","".concat(a,":").concat(o,"/").concat(f,"/data/").concat(l),"".concat(d.message," (").concat(p,")"),(null===(r=d.data)||void 0===r?void 0:r.status)||d.code);case 10:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},96:function(t,n,e){"use strict";(function(t){e(51),e(53)}).call(this,e(28))},97:function(t,n,e){"use strict";(function(t){e.d(n,"b",(function(){return a})),e.d(n,"a",(function(){return o}));var r=e(231),i=e(85),a=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(n)))return"";var a=e.invertColor,o=void 0!==a&&a;return Object(r.a)(t.createElement(i.a,{direction:n>0?"up":"down",invertColor:o}))},o=function(t,n){return t>0&&n>0?t/n-1:t>0?1:n>0?-1:0}}).call(this,e(4))},98:function(t,n,e){"use strict";(function(t){e.d(n,"a",(function(){return l}));var r=e(7),i=e.n(r),a=e(13),o=e(99),c=e(100);function u(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function s(t){for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,i=s(s({},f),n);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var u=Object(o.a)(i,e),l=Object(c.a)(i,e,u,r),d={},g=function(){for(var t=arguments.length,n=new Array(t),e=0;e0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(t))return!1;var n=t.split("-");if(3!==n.length)return!1;var e=new Date(t);return Object(r.isDate)(e)&&!isNaN(e)}function N(t){w()(Object(r.isDate)(t)&&!isNaN(t),"Date param must construct to a valid date instance or be a valid date instance itself.");var n="".concat(t.getMonth()+1),e="".concat(t.getDate());return[t.getFullYear(),n.length<2?"0".concat(n):n,e.length<2?"0".concat(e):e].join("-")}function L(t){w()(E(t),j);var n=t.split("-"),e=y()(n,3),r=e[0],i=e[1],a=e[2];return new Date(r,i-1,a)}function I(t,n){return N(M(t,n*S))}function C(t){var n=t.split("-");return 3===n.length&&"last"===n[0]&&!Number.isNaN(n[1])&&!Number.isNaN(parseFloat(n[1]))&&"days"===n[2]}function M(t,n){w()(E(t)||Object(r.isDate)(t)&&!isNaN(t),j);var e=E(t)?Date.parse(t):t.getTime();return new Date(e-1e3*n)}var R=e(97),U=e(81);function F(t){var n=parseFloat(t)||0;return!!Number.isInteger(n)&&n>0}function q(t){if("number"==typeof t)return!0;var n=(t||"").toString();return!!n&&!isNaN(n)}var J=e(27),$=e.n(J),H=function(t){return Array.isArray(t)?$()(t).sort():t},K=e(89);function V(t,n){var e=function(t){return"0"===t||0===t};if(e(t)&&e(n))return 0;if(e(t)||Number.isNaN(t))return null;var r=(n-t)/t;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var G=function(t){try{return JSON.parse(t)&&!!t}catch(t){return!1}},z=function(t){if(!t)return"";var n=t.replace(/&#(\d+);/g,(function(t,n){return String.fromCharCode(n)})).replace(/(\\)/g,"");return Object(r.unescape)(n)}},937:function(t,n,e){"use strict";e.d(n,"a",(function(){return f}));var r=e(5),i=e.n(r),a=e(16),o=e.n(a),c=e(9),u=["fetch_error"],s=[];function f(t){return l.apply(this,arguments)}function l(){return(l=o()(i.a.mark((function t(n){var e,r,a,o,f,l,d,g,p;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=n.method,o=n.type,f=n.identifier,l=n.datapoint,d=n.error,g="".concat(o,"/").concat(f,"/data/").concat(l),!s.includes(g)){t.next=4;break}return t.abrupt("return");case 4:if(d&&!u.includes(null==d?void 0:d.code)){t.next=6;break}return t.abrupt("return");case 6:return p="code: ".concat(d.code),(null===(e=d.data)||void 0===e?void 0:e.reason)&&(p+=", reason: ".concat(d.data.reason)),t.next=10,Object(c.J)("api_error","".concat(a,":").concat(o,"/").concat(f,"/data/").concat(l),"".concat(d.message," (").concat(p,")"),(null===(r=d.data)||void 0===r?void 0:r.status)||d.code);case 10:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},96:function(t,n,e){"use strict";(function(t){e(52),e(53)}).call(this,e(28))},97:function(t,n,e){"use strict";(function(t){e.d(n,"b",(function(){return a})),e.d(n,"a",(function(){return o}));var r=e(234),i=e(86),a=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(n)))return"";var a=e.invertColor,o=void 0!==a&&a;return Object(r.a)(t.createElement(i.a,{direction:n>0?"up":"down",invertColor:o}))},o=function(t,n){return t>0&&n>0?t/n-1:t>0?1:n>0?-1:0}}).call(this,e(4))},98:function(t,n,e){"use strict";(function(t){e.d(n,"a",(function(){return l}));var r=e(7),i=e.n(r),a=e(14),o=e(99),c=e(100);function u(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function s(t){for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,i=s(s({},f),n);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var u=Object(o.a)(i,e),l=Object(c.a)(i,e,u,r),d={},g=function(){for(var t=arguments.length,n=new Array(t),e=0;e=4,"height must be >= 4."),t=Math.round((f-4)/2));var h=p?"scaleX(".concat(p,")"):void 0;return e.createElement("div",{role:"progressbar",style:{marginTop:t,marginBottom:t},className:l()("mdc-linear-progress",a,{"mdc-linear-progress--indeterminate":c,"mdc-linear-progress--small":i,"mdc-linear-progress--compress":r})},e.createElement("div",{className:"mdc-linear-progress__buffering-dots"}),e.createElement("div",{className:"mdc-linear-progress__buffer"}),e.createElement("div",{className:"mdc-linear-progress__bar mdc-linear-progress__primary-bar",style:{transform:h}},e.createElement("span",{className:"mdc-linear-progress__bar-inner"})),e.createElement("div",{className:"mdc-linear-progress__bar mdc-linear-progress__secondary-bar"},e.createElement("span",{className:"mdc-linear-progress__bar-inner"})))}ProgressBar.propTypes={className:i.a.string,small:i.a.bool,compress:i.a.bool,indeterminate:i.a.bool,progress:i.a.number,height:i.a.number,smallHeight:i.a.number,tabletHeight:i.a.number,desktopHeight:i.a.number},ProgressBar.defaultProps={className:"",small:!1,compress:!1,indeterminate:!0,progress:0}}).call(this,t(4))},1078:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Radio}));var a=t(0),i=t.n(a),r=t(11),l=t.n(r),o=t(1),c=t(17);function Radio(n){var t=n.id,a=n.name,i=n.value,r=n.checked,s=void 0!==r&&r,d=n.disabled,u=void 0!==d&&d,m=n.children,g=n.tabIndex,p=n.onKeyDown,b=void 0===p?null:p,f=n.onClick,h=void 0===f?null:f,v=n.onChange,y=void 0===v?null:v,_=n.alignLeft,k=void 0!==_&&_,N=n.description,O=Object(o.useCallback)((function(e){if(null!==e){var n=new c.f(e),t=e.querySelector(".mdc-radio");t&&(n.input=new c.h(t))}}),[]);return e.createElement("div",{className:"mdc-form-field",ref:O},e.createElement("div",{className:l()("mdc-radio",{"mdc-radio--disabled":u,"mdc-radio--align-left":k})},e.createElement("input",{className:"mdc-radio__native-control",onClick:h,onKeyDown:b,type:"radio",id:t,name:a,value:i,checked:s,disabled:u,tabIndex:g,onChange:y,readOnly:!0}),e.createElement("div",{className:"mdc-radio__background"},e.createElement("div",{className:"mdc-radio__outer-circle"}),e.createElement("div",{className:"mdc-radio__inner-circle"}))),!N&&e.createElement("label",{htmlFor:t},m),N&&e.createElement("div",{className:"mdc-radio__content"},e.createElement("label",{htmlFor:t},m),e.createElement("div",{className:"mdc-radio__description"},N)))}Radio.propTypes={onClick:i.a.func,onKeyDown:i.a.func,onChange:i.a.func,id:i.a.string.isRequired,name:i.a.string.isRequired,value:i.a.string.isRequired,checked:i.a.bool,disabled:i.a.bool,children:i.a.string.isRequired,tabIndex:i.a.oneOfType([i.a.number,i.a.string]),description:i.a.node}}).call(this,t(4))},1079:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Select}));var a=t(20),i=t.n(a),r=t(25),l=t.n(r),o=t(787),c=t.n(o),s=t(209);function Select(n){var t=n.id,a=l()(n,["id"]),r=Object(s.a)(Select,"googlesitekit-select");return e.createElement(c.a,i()({id:t||r},a))}}).call(this,t(4))},1080:function(e,n,t){"use strict";(function(e){var a=t(0),i=t.n(a),r=t(11),l=t.n(r),o=t(209),c=t(1),s=t(56),d=t(17);function Switch(n){var t=n.onClick,a=n.label,i=n.checked,r=n.disabled,u=n.hideLabel,m=Object(o.a)(Switch),g=Object(c.useCallback)((function(e){null!==e&&d.j.attachTo(e)}),[]),p=Object(c.useCallback)((function(e){"function"==typeof t&&s.b===e.keyCode&&t(e)}),[t]),b="googlesitekit-switch-".concat(m);return e.createElement(c.Fragment,null,e.createElement("div",{"aria-checked":i?"true":"false",className:l()("mdc-switch",{"mdc-switch--checked":i,"mdc-switch--disabled":r}),onClick:t,onKeyDown:p,role:"switch",ref:g,tabIndex:0},e.createElement("div",{className:"mdc-switch__track"}," "),e.createElement("div",{className:"mdc-switch__thumb-underlay"},e.createElement("div",{className:"mdc-switch__thumb"},e.createElement("input",{type:"checkbox",id:b,className:"mdc-switch__native-control",role:"switch",checked:i,disabled:r,readOnly:!0})))),e.createElement("label",{className:l()({"screen-reader-only":u}),htmlFor:b},a))}Switch.propTypes={id:i.a.string,onClick:i.a.func,label:i.a.node.isRequired,checked:i.a.bool,disabled:i.a.bool,hideLabel:i.a.bool},Switch.defaultProps={checked:!1,disabled:!1,hideLabel:!0},n.a=Switch}).call(this,t(4))},124:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Cell}));var a=t(20),i=t.n(a),r=t(7),l=t.n(r),o=t(25),c=t.n(o),s=t(0),d=t.n(s),u=t(11),m=t.n(u);function Cell(n){var t,a=n.className,r=n.alignTop,o=n.alignMiddle,s=n.alignBottom,d=n.alignRight,u=n.alignLeft,g=n.smAlignRight,p=n.mdAlignRight,b=n.lgAlignRight,f=n.smSize,h=n.smStart,v=n.smOrder,y=n.mdSize,_=n.mdStart,k=n.mdOrder,N=n.lgSize,O=n.lgStart,C=n.lgOrder,E=n.size,T=n.children,S=c()(n,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",i()({},S,{className:m()(a,"mdc-layout-grid__cell",(t={"mdc-layout-grid__cell--align-top":r,"mdc-layout-grid__cell--align-middle":o,"mdc-layout-grid__cell--align-bottom":s,"mdc-layout-grid__cell--align-right":d,"mdc-layout-grid__cell--align-left":u,"mdc-layout-grid__cell--align-right-phone":g,"mdc-layout-grid__cell--align-right-tablet":p,"mdc-layout-grid__cell--align-right-desktop":b},l()(t,"mdc-layout-grid__cell--span-".concat(E),12>=E&&E>0),l()(t,"mdc-layout-grid__cell--span-".concat(N,"-desktop"),12>=N&&N>0),l()(t,"mdc-layout-grid__cell--start-".concat(O,"-desktop"),12>=O&&O>0),l()(t,"mdc-layout-grid__cell--order-".concat(C,"-desktop"),12>=C&&C>0),l()(t,"mdc-layout-grid__cell--span-".concat(y,"-tablet"),8>=y&&y>0),l()(t,"mdc-layout-grid__cell--start-".concat(_,"-tablet"),8>=_&&_>0),l()(t,"mdc-layout-grid__cell--order-".concat(k,"-tablet"),8>=k&&k>0),l()(t,"mdc-layout-grid__cell--span-".concat(f,"-phone"),4>=f&&f>0),l()(t,"mdc-layout-grid__cell--start-".concat(h,"-phone"),4>=h&&h>0),l()(t,"mdc-layout-grid__cell--order-".concat(v,"-phone"),4>=v&&v>0),t))}),T)}Cell.propTypes={smSize:d.a.number,smStart:d.a.number,smOrder:d.a.number,mdSize:d.a.number,mdStart:d.a.number,mdOrder:d.a.number,lgSize:d.a.number,lgStart:d.a.number,lgOrder:d.a.number,size:d.a.number,alignTop:d.a.bool,alignMiddle:d.a.bool,alignBottom:d.a.bool,alignRight:d.a.bool,alignLeft:d.a.bool,smAlignRight:d.a.bool,mdAlignRight:d.a.bool,lgAlignRight:d.a.bool,className:d.a.string,children:d.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,t(4))},125:function(e,n,t){"use strict";(function(e){var a=t(20),i=t.n(a),r=t(25),l=t.n(r),o=t(0),c=t.n(o),s=t(11),d=t.n(s),u=t(1),m=Object(u.forwardRef)((function(n,t){var a=n.className,r=n.children,o=l()(n,["className","children"]);return e.createElement("div",i()({ref:t,className:d()("mdc-layout-grid__inner",a)},o),r)}));m.displayName="Row",m.propTypes={className:c.a.string,children:c.a.node},m.defaultProps={className:""},n.a=m}).call(this,t(4))},1253:function(e,n,t){"use strict";t.r(n),function(e){t.d(n,"Button",(function(){return i})),t.d(n,"Checkbox",(function(){return r})),t.d(n,"Chip",(function(){return l})),t.d(n,"CircularProgress",(function(){return o})),t.d(n,"Dialog",(function(){return c})),t.d(n,"DialogTitle",(function(){return s})),t.d(n,"DialogContent",(function(){return d})),t.d(n,"DialogFooter",(function(){return u})),t.d(n,"Menu",(function(){return m})),t.d(n,"Option",(function(){return g})),t.d(n,"ProgressBar",(function(){return p})),t.d(n,"Radio",(function(){return b})),t.d(n,"Select",(function(){return f})),t.d(n,"SpinnerButton",(function(){return h})),t.d(n,"Switch",(function(){return v})),t.d(n,"Tab",(function(){return y})),t.d(n,"TabBar",(function(){return _})),t.d(n,"TextField",(function(){return k})),t.d(n,"HelperText",(function(){return N})),t.d(n,"Tooltip",(function(){return O}));var a=t(307);void 0===e.googlesitekit&&(e.googlesitekit={}),e.googlesitekit.components=a.a;var i=a.a.Button,r=a.a.Checkbox,l=a.a.Chip,o=a.a.CircularProgress,c=a.a.Dialog,s=a.a.DialogTitle,d=a.a.DialogContent,u=a.a.DialogFooter,m=a.a.Menu,g=a.a.Option,p=a.a.ProgressBar,b=a.a.Radio,f=a.a.Select,h=a.a.SpinnerButton,v=a.a.Switch,y=a.a.Tab,_=a.a.TabBar,k=a.a.TextField,N=a.a.HelperText,O=a.a.Tooltip}.call(this,t(28))},126:function(e,n,t){"use strict";(function(e){var a=t(20),i=t.n(a),r=t(25),l=t.n(r),o=t(0),c=t.n(o),s=t(11),d=t.n(s),u=t(1),m=Object(u.forwardRef)((function(n,t){var a=n.alignLeft,r=n.fill,o=n.className,c=n.children,s=n.collapsed,u=l()(n,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:d()("mdc-layout-grid",o,{"mdc-layout-grid--align-left":a,"mdc-layout-grid--collapsed":s,"mdc-layout-grid--fill":r})},u,{ref:t}),c)}));m.displayName="Grid",m.propTypes={alignLeft:c.a.bool,fill:c.a.bool,className:c.a.string,collapsed:c.a.bool,children:c.a.node},m.defaultProps={className:""},n.a=m}).call(this,t(4))},17:function(e,n,t){"use strict";var a=t(248);t.d(n,"i",(function(){return a.a}));var i=t(318);t.d(n,"f",(function(){return i.a}));var r=t(319);t.d(n,"h",(function(){return r.a}));var l=t(320);t.d(n,"j",(function(){return l.a}));var o=t(317);t.d(n,"g",(function(){return o.a}));var c=t(91),s=t.n(c);t.d(n,"b",(function(){return s.a})),t.d(n,"c",(function(){return c.DialogContent})),t.d(n,"d",(function(){return c.DialogFooter}));var d=t(102);t.d(n,"a",(function(){return d.a})),t.d(n,"e",(function(){return d.b})),t.d(n,"k",(function(){return d.c}))},2:function(e,n){e.exports=googlesitekit.i18n},24:function(e,n,t){"use strict";t.d(n,"d",(function(){return i})),t.d(n,"a",(function(){return r})),t.d(n,"c",(function(){return l})),t.d(n,"b",(function(){return o})),t.d(n,"e",(function(){return c}));var a=t(77),i="xlarge",r="desktop",l="tablet",o="small";function c(){var e=Object(a.a)();return e>1280?i:e>960?r:e>600?l:o}},254:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return g})),t.d(n,"b",(function(){return SpinnerButton}));var a=t(20),i=t.n(a),r=t(25),l=t.n(r),o=t(0),c=t.n(o),s=t(11),d=t.n(s),u=t(343),m=t(255),g={BEFORE:"before",AFTER:"after"};function SpinnerButton(n){var t=n.className,a=n.onClick,r=void 0===a?function(){}:a,o=n.isSaving,c=void 0!==o&&o,s=n.spinnerPosition,p=void 0===s?g.AFTER:s,b=l()(n,["className","onClick","isSaving","spinnerPosition"]);return e.createElement(u.a,i()({className:d()(t,"googlesitekit-button-icon--spinner",{"googlesitekit-button-icon--spinner__running":c,"googlesitekit-button-icon--spinner__before":p===g.BEFORE,"googlesitekit-button-icon--spinner__after":p===g.AFTER}),icon:c&&p===g.BEFORE?e.createElement(m.a,{size:14}):void 0,trailingIcon:c&&p===g.AFTER?e.createElement(m.a,{size:14}):void 0,onClick:r},b))}SpinnerButton.propTypes={className:c.a.string,onClick:c.a.func,isSaving:c.a.bool,spinnerPosition:c.a.oneOf(Object.values(g))}}).call(this,t(4))},255:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return CircularProgress}));var a=t(635);function CircularProgress(n){return e.createElement(a.a,n)}}).call(this,t(4))},307:function(e,n,t){"use strict";var a=t(91),i=t.n(a),r=t(787),l=t(817),o=t.n(l),c=t(1073),s=t.n(c),d=t(343),u=t(1074),m=t(1075),g=t(255),p=t(1076),b=t(1077),f=t(1078),h=t(1079),v=t(254),y=t(1080),_=t(827),k=t(344),N={Button:d.a,Checkbox:u.a,Chip:m.a,CircularProgress:g.a,Dialog:i.a,DialogTitle:a.DialogTitle,DialogContent:a.DialogContent,DialogFooter:a.DialogFooter,HelperText:_.a,Menu:p.a,Option:r.Option,ProgressBar:b.a,Radio:f.a,Select:h.a,SpinnerButton:v.b,SPINNER_POSITION:v.a,Switch:y.a,Tab:o.a,TabBar:s.a,TextField:_.b,Tooltip:k.a};n.a=N},343:function(e,n,t){"use strict";(function(e){var a=t(20),i=t.n(a),r=t(25),l=t.n(r),o=t(11),c=t.n(o),s=t(0),d=t.n(s),u=t(401),m=t(1),g=t(2),p=t(17),b=t(344),f=Object(m.forwardRef)((function(n,t){var a=n.children,r=n.href,o=n.text,s=n.className,d=n.danger,f=n.disabled,h=n.target,v=n.icon,y=n.trailingIcon,_=n["aria-label"],k=n.title,N=n.customizedTooltip,O=n.tooltip,C=n.inverse,E=n.hideTooltipTitle,T=void 0!==E&&E,S=n.tooltipEnterDelayInMS,x=void 0===S?100:S,w=n.tertiary,R=void 0!==w&&w,j=n.callout,D=n.calloutStyle,I=l()(n,["children","href","text","className","danger","disabled","target","icon","trailingIcon","aria-label","title","customizedTooltip","tooltip","inverse","hideTooltipTitle","tooltipEnterDelayInMS","tertiary","callout","calloutStyle"]),P=Object(m.useCallback)((function(e){null!==e&&p.i.attachTo(e)}),[]),B=Object(u.a)(t,P),F=r&&!f?"a":"button",z=e.createElement(F,i()({className:c()("mdc-button",s,{"mdc-button--raised":!o&&!R&&!j,"mdc-button--danger":d,"mdc-button--inverse":C,"mdc-button--tertiary":R,"mdc-button--callout":j,"mdc-button--callout-primary":j||"primary"===D,"mdc-button--callout-warning":"warning"===D,"mdc-button--callout-error":"error"===D}),href:f?void 0:r,ref:B,disabled:!!f,"aria-label":function(){var e=_;if("_blank"!==h)return e;var n=Object(g._x)("(opens in a new tab)","screen reader text","google-site-kit");return"string"==typeof a&&(e=e||a),e?"".concat(e," ").concat(n):n}(),target:h||"_self",role:"a"===F?"button":void 0},I),v,a&&e.createElement("span",{className:"mdc-button__label"},a),y),L=T?null:k||N||_;return!f&&(O&&L||v&&L&&void 0===a)?e.createElement(b.a,{title:L,enterDelay:x},z):z}));f.displayName="Button",f.propTypes={onClick:d.a.func,children:d.a.node,href:d.a.string,text:d.a.bool,className:d.a.string,danger:d.a.bool,disabled:d.a.bool,icon:d.a.element,trailingIcon:d.a.element,title:d.a.string,customizedTooltip:d.a.element,tooltip:d.a.bool,inverse:d.a.bool,hideTooltipTitle:d.a.bool,callout:d.a.bool,calloutStyle:d.a.oneOf(["primary","warning","error"])},f.defaultProps={onClick:null,href:null,text:!1,className:"",danger:!1,disabled:!1,icon:null,trailingIcon:null,title:null,customizedTooltip:null,tooltip:!1,inverse:!1,calloutStyle:null,callout:null},n.a=f}).call(this,t(4))},344:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Tooltip}));var a=t(20),i=t.n(a),r=t(25),l=t.n(r),o=t(0),c=t.n(o),s=t(11),d=t.n(s),u=t(636),m=t(1);function Tooltip(n){var t=n.children,a=n.popperClassName,r=n.tooltipClassName,o=n.onOpen,c=n.onClose,s=l()(n,["children","popperClassName","tooltipClassName","onOpen","onClose"]),g=Object(m.useRef)(!1),p=o?function(){g.current||(g.current=!0,null==o||o())}:void 0,b=o?function(){g.current=!1,null==c||c()}:c;return e.createElement(u.a,i()({classes:{popper:d()("googlesitekit-tooltip-popper",a),tooltip:d()("googlesitekit-tooltip",r)},arrow:!0,onOpen:p,onClose:b},s),t)}Tooltip.propTypes={children:c.a.node,popperClassName:c.a.string,tooltipClassName:c.a.string,onOpen:c.a.func,onClose:c.a.func}}).call(this,t(4))},504:function(e,n,t){"use strict";(function(e){var a=t(7),i=t.n(a),r=t(0),l=t.n(r);function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:o,n=e.fps,t=e.leading,a=e.initialWidth,d=void 0===a?0:a,u=e.initialHeight,m=void 0===u?0:u,g=Object(r.a)("undefined"==typeof document?[d,m]:s,n,t),p=i()(g,2),b=p[0],f=p[1],h=function(){return f(s)};return Object(l.a)(c,"resize",h),Object(l.a)(c,"orientationchange",h),b},u=function(e){return d(e)[0]}}).call(this,t(28))},827:function(e,n,t){"use strict";(function(e){var a=t(0),i=t.n(a),r=t(731),l=t.n(r);t.d(n,"a",(function(){return r.HelperText}));var o=t(209);function TextField(n){var t=n.className,a=n.name,i=n.label,c=n.noLabel,s=n.outlined,d=n.textarea,u=n.leadingIcon,m=n.trailingIcon,g=n.helperText,p=n.id,b=n.inputType,f=n.value,h=n.size,v=n.maxLength,y=n.tabIndex,_=n.disabled,k=n.onChange,N=n.onKeyDown,O=Object(o.a)(TextField,"googlesitekit-textfield");return e.createElement(l.a,{className:t,name:a,label:i,noLabel:c,outlined:s,textarea:d,leadingIcon:u,trailingIcon:m,helperText:g&&e.createElement(r.HelperText,{persistent:!0},g)},e.createElement(r.Input,{id:p||O,inputType:b,value:f,size:h,maxLength:v,tabIndex:y,disabled:_,onChange:k,onKeyDown:N}))}TextField.propTypes={className:i.a.string,name:i.a.string,label:i.a.string,noLabel:i.a.bool,outlined:i.a.bool,textarea:i.a.bool,leadingIcon:i.a.element,trailingIcon:i.a.oneOfType([i.a.bool,i.a.element]),helperText:i.a.oneOfType([i.a.bool,i.a.string]),id:i.a.string,inputType:i.a.string,value:i.a.oneOfType([i.a.string,i.a.number]),size:i.a.number,maxLength:i.a.number,tabIndex:i.a.oneOfType([i.a.number,i.a.string]),disabled:i.a.bool,onChange:i.a.func,onKeyDown:i.a.func},n.b=TextField}).call(this,t(4))}},[[1253,1,0]]]); \ No newline at end of file diff --git a/plugins/google-site-kit/dist/assets/js/googlesitekit-components-gm2-cd1b1b91f7b0b537fb1c.js b/plugins/google-site-kit/dist/assets/js/googlesitekit-components-gm2-cd1b1b91f7b0b537fb1c.js deleted file mode 100644 index 91c625957..000000000 --- a/plugins/google-site-kit/dist/assets/js/googlesitekit-components-gm2-cd1b1b91f7b0b537fb1c.js +++ /dev/null @@ -1 +0,0 @@ -(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[6],{102:function(e,n,t){"use strict";var a=t(123);t.d(n,"a",(function(){return a.a}));var i=t(124);t.d(n,"c",(function(){return i.a}));var r=t(125);t.d(n,"b",(function(){return r.a}))},1065:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Checkbox}));var a=t(11),i=t.n(a),r=t(1),l=t.n(r),o=t(0),c=t(501);function Checkbox(n){var t=n.onChange,a=n.id,r=n.name,l=n.value,s=n.checked,d=n.disabled,u=n.children,m=n.tabIndex,g=n.onKeyDown,p=n.loading,b=n.alignLeft,f=n.description,h=n.badge,v=h?e.createElement("div",{className:"mdc-checkbox__label-wrapper"},e.createElement("label",{htmlFor:a},u),h):e.createElement("label",{htmlFor:a},u);return e.createElement("div",{className:"mdc-form-field"},e.createElement("div",{className:i()("mdc-checkbox",{"mdc-checkbox--disabled":d,"mdc-checkbox--align-left":b})},p?e.createElement(c.a,{isSaving:!0,style:{margin:"0"}}):e.createElement(o.Fragment,null,e.createElement("input",{className:"mdc-checkbox__native-control",type:"checkbox",id:a,name:r,value:l,checked:s,disabled:d,onChange:t,tabIndex:m,onKeyDown:g}),e.createElement("div",{className:"mdc-checkbox__background"},e.createElement("svg",{className:"mdc-checkbox__checkmark",viewBox:"0 0 24 24"},e.createElement("path",{className:"mdc-checkbox__checkmark-path",fill:"none",d:"M1.73,12.91 8.1,19.28 22.79,4.59"})),e.createElement("div",{className:"mdc-checkbox__mixedmark"})))),!f&&v,f&&e.createElement("div",{className:"mdc-checkbox__content"},v,e.createElement("div",{className:"mdc-checkbox__description"},f)))}Checkbox.propTypes={onChange:l.a.func.isRequired,onKeyDown:l.a.func,id:l.a.string.isRequired,name:l.a.string.isRequired,value:l.a.string.isRequired,checked:l.a.bool,disabled:l.a.bool,children:l.a.node.isRequired,tabIndex:l.a.oneOfType([l.a.number,l.a.string]),loading:l.a.bool,alignLeft:l.a.bool,description:l.a.node,badge:l.a.node},Checkbox.defaultProps={checked:!1,disabled:!1,tabIndex:void 0,onKeyDown:null,loading:!1,alignLeft:!1,description:""}}).call(this,t(4))},1066:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Chip}));var a=t(21),i=t.n(a),r=t(24),l=t.n(r),o=t(149),c=t(11),s=t.n(c),d=t(1),u=t.n(d);function Chip(n){var t=n.id,a=n.label,r=n.onClick,c=n.selected,d=n.className,u=l()(n,["id","label","onClick","selected","className"]);return e.createElement(o.Chip,i()({chipCheckmark:e.createElement(o.ChipCheckmark,null),"data-chip-id":t,id:t,label:a,onClick:r,selected:c,className:s()("googlesitekit-chip",d)},u))}Chip.propTypes={id:u.a.string.isRequired,label:u.a.string.isRequired,onClick:u.a.func,selected:u.a.bool,className:u.a.string}}).call(this,t(4))},1067:function(e,n,t){"use strict";(function(e){var a=t(16),i=t.n(a),r=t(11),l=t.n(r),o=t(1),c=t.n(o),s=t(397),d=t(0),u=t(17),m=Object(d.forwardRef)((function(n,t){var a=n.children,r=n.className,o=n.menuOpen,c=n.menuItems,m=n.onSelected,g=n.nonInteractive,p=n.id,b=Object(d.useState)(null),f=i()(b,2),h=f[0],v=f[1],_=Object(d.useRef)(null),y=Object(s.a)(t,_),k=Object(d.useCallback)((function(e){var n=e.detail.index;m(n,e)}),[m]);return Object(d.useEffect)((function(){if(null==_?void 0:_.current){var e=new u.g(_.current);return e.listen("MDCMenu:selected",k),e.quickOpen=!0,v(e),function(){e.unlisten("MDCMenu:selected",k),e.destroy()}}}),[_,k,g]),Object(d.useEffect)((function(){h&&(h.open=o,h.setDefaultFocusState(1))}),[h,o]),e.createElement("div",{className:l()("mdc-menu","mdc-menu-surface",r),ref:y},e.createElement("ul",{"aria-hidden":!o,"aria-orientation":"vertical",className:l()("mdc-list",{"mdc-list--non-interactive":g}),id:p,role:"menu",tabIndex:"-1"},!a&&c.map((function(n,t){return e.createElement("li",{key:t,className:"mdc-list-item",role:"menuitem"},e.createElement("span",{className:"mdc-list-item__text"},n))})),a))}));m.displayName="Menu",m.propTypes={className:c.a.string,children:c.a.node,menuOpen:c.a.bool.isRequired,menuItems:c.a.array,id:c.a.string.isRequired,onSelected:c.a.func,nonInteractive:c.a.bool},m.defaultProps={onSelected:function(){},nonInteractive:!1},n.a=m}).call(this,t(4))},1068:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return ProgressBar}));var a=t(1),i=t.n(a),r=t(11),l=t.n(r),o=t(26),c=t(12),s=t.n(c);function ProgressBar(n){var t,a=n.className,i=n.small,r=n.compress,c=n.indeterminate,d=n.height,u=n.smallHeight,m=n.tabletHeight,g=n.desktopHeight,p=n.progress,b=Object(o.e)(),f=d;o.b===b&&void 0!==u?f=u:o.c===b&&void 0!==m?f=m:o.d!==b&&o.a!==b||void 0===g||(f=g),void 0!==f&&(s()(f>=4,"height must be >= 4."),t=Math.round((f-4)/2));var h=p?"scaleX(".concat(p,")"):void 0;return e.createElement("div",{role:"progressbar",style:{marginTop:t,marginBottom:t},className:l()("mdc-linear-progress",a,{"mdc-linear-progress--indeterminate":c,"mdc-linear-progress--small":i,"mdc-linear-progress--compress":r})},e.createElement("div",{className:"mdc-linear-progress__buffering-dots"}),e.createElement("div",{className:"mdc-linear-progress__buffer"}),e.createElement("div",{className:"mdc-linear-progress__bar mdc-linear-progress__primary-bar",style:{transform:h}},e.createElement("span",{className:"mdc-linear-progress__bar-inner"})),e.createElement("div",{className:"mdc-linear-progress__bar mdc-linear-progress__secondary-bar"},e.createElement("span",{className:"mdc-linear-progress__bar-inner"})))}ProgressBar.propTypes={className:i.a.string,small:i.a.bool,compress:i.a.bool,indeterminate:i.a.bool,progress:i.a.number,height:i.a.number,smallHeight:i.a.number,tabletHeight:i.a.number,desktopHeight:i.a.number},ProgressBar.defaultProps={className:"",small:!1,compress:!1,indeterminate:!0,progress:0}}).call(this,t(4))},1069:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Radio}));var a=t(1),i=t.n(a),r=t(11),l=t.n(r),o=t(0),c=t(17);function Radio(n){var t=n.id,a=n.name,i=n.value,r=n.checked,s=void 0!==r&&r,d=n.disabled,u=void 0!==d&&d,m=n.children,g=n.tabIndex,p=n.onKeyDown,b=void 0===p?null:p,f=n.onClick,h=void 0===f?null:f,v=n.onChange,_=void 0===v?null:v,y=n.alignLeft,k=void 0!==y&&y,N=n.description,O=Object(o.useCallback)((function(e){if(null!==e){var n=new c.f(e),t=e.querySelector(".mdc-radio");t&&(n.input=new c.h(t))}}),[]);return e.createElement("div",{className:"mdc-form-field",ref:O},e.createElement("div",{className:l()("mdc-radio",{"mdc-radio--disabled":u,"mdc-radio--align-left":k})},e.createElement("input",{className:"mdc-radio__native-control",onClick:h,onKeyDown:b,type:"radio",id:t,name:a,value:i,checked:s,disabled:u,tabIndex:g,onChange:_,readOnly:!0}),e.createElement("div",{className:"mdc-radio__background"},e.createElement("div",{className:"mdc-radio__outer-circle"}),e.createElement("div",{className:"mdc-radio__inner-circle"}))),!N&&e.createElement("label",{htmlFor:t},m),N&&e.createElement("div",{className:"mdc-radio__content"},e.createElement("label",{htmlFor:t},m),e.createElement("div",{className:"mdc-radio__description"},N)))}Radio.propTypes={onClick:i.a.func,onKeyDown:i.a.func,onChange:i.a.func,id:i.a.string.isRequired,name:i.a.string.isRequired,value:i.a.string.isRequired,checked:i.a.bool,disabled:i.a.bool,children:i.a.string.isRequired,tabIndex:i.a.oneOfType([i.a.number,i.a.string]),description:i.a.node}}).call(this,t(4))},1070:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Select}));var a=t(21),i=t.n(a),r=t(24),l=t.n(r),o=t(783),c=t.n(o),s=t(205);function Select(n){var t=n.id,a=l()(n,["id"]),r=Object(s.a)(Select,"googlesitekit-select");return e.createElement(c.a,i()({id:t||r},a))}}).call(this,t(4))},1071:function(e,n,t){"use strict";(function(e){var a=t(1),i=t.n(a),r=t(11),l=t.n(r),o=t(205),c=t(0),s=t(56),d=t(17);function Switch(n){var t=n.onClick,a=n.label,i=n.checked,r=n.disabled,u=n.hideLabel,m=Object(o.a)(Switch),g=Object(c.useCallback)((function(e){null!==e&&d.j.attachTo(e)}),[]),p=Object(c.useCallback)((function(e){"function"==typeof t&&s.b===e.keyCode&&t(e)}),[t]),b="googlesitekit-switch-".concat(m);return e.createElement(c.Fragment,null,e.createElement("div",{"aria-checked":i?"true":"false",className:l()("mdc-switch",{"mdc-switch--checked":i,"mdc-switch--disabled":r}),onClick:t,onKeyDown:p,role:"switch",ref:g,tabIndex:0},e.createElement("div",{className:"mdc-switch__track"}," "),e.createElement("div",{className:"mdc-switch__thumb-underlay"},e.createElement("div",{className:"mdc-switch__thumb"},e.createElement("input",{type:"checkbox",id:b,className:"mdc-switch__native-control",role:"switch",checked:i,disabled:r,readOnly:!0})))),e.createElement("label",{className:l()({"screen-reader-only":u}),htmlFor:b},a))}Switch.propTypes={id:i.a.string,onClick:i.a.func,label:i.a.node.isRequired,checked:i.a.bool,disabled:i.a.bool,hideLabel:i.a.bool},Switch.defaultProps={checked:!1,disabled:!1,hideLabel:!0},n.a=Switch}).call(this,t(4))},123:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Cell}));var a=t(21),i=t.n(a),r=t(7),l=t.n(r),o=t(24),c=t.n(o),s=t(1),d=t.n(s),u=t(11),m=t.n(u);function Cell(n){var t,a=n.className,r=n.alignTop,o=n.alignMiddle,s=n.alignBottom,d=n.alignRight,u=n.alignLeft,g=n.smAlignRight,p=n.mdAlignRight,b=n.lgAlignRight,f=n.smSize,h=n.smStart,v=n.smOrder,_=n.mdSize,y=n.mdStart,k=n.mdOrder,N=n.lgSize,O=n.lgStart,E=n.lgOrder,T=n.size,C=n.children,S=c()(n,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",i()({},S,{className:m()(a,"mdc-layout-grid__cell",(t={"mdc-layout-grid__cell--align-top":r,"mdc-layout-grid__cell--align-middle":o,"mdc-layout-grid__cell--align-bottom":s,"mdc-layout-grid__cell--align-right":d,"mdc-layout-grid__cell--align-left":u,"mdc-layout-grid__cell--align-right-phone":g,"mdc-layout-grid__cell--align-right-tablet":p,"mdc-layout-grid__cell--align-right-desktop":b},l()(t,"mdc-layout-grid__cell--span-".concat(T),12>=T&&T>0),l()(t,"mdc-layout-grid__cell--span-".concat(N,"-desktop"),12>=N&&N>0),l()(t,"mdc-layout-grid__cell--start-".concat(O,"-desktop"),12>=O&&O>0),l()(t,"mdc-layout-grid__cell--order-".concat(E,"-desktop"),12>=E&&E>0),l()(t,"mdc-layout-grid__cell--span-".concat(_,"-tablet"),8>=_&&_>0),l()(t,"mdc-layout-grid__cell--start-".concat(y,"-tablet"),8>=y&&y>0),l()(t,"mdc-layout-grid__cell--order-".concat(k,"-tablet"),8>=k&&k>0),l()(t,"mdc-layout-grid__cell--span-".concat(f,"-phone"),4>=f&&f>0),l()(t,"mdc-layout-grid__cell--start-".concat(h,"-phone"),4>=h&&h>0),l()(t,"mdc-layout-grid__cell--order-".concat(v,"-phone"),4>=v&&v>0),t))}),C)}Cell.propTypes={smSize:d.a.number,smStart:d.a.number,smOrder:d.a.number,mdSize:d.a.number,mdStart:d.a.number,mdOrder:d.a.number,lgSize:d.a.number,lgStart:d.a.number,lgOrder:d.a.number,size:d.a.number,alignTop:d.a.bool,alignMiddle:d.a.bool,alignBottom:d.a.bool,alignRight:d.a.bool,alignLeft:d.a.bool,smAlignRight:d.a.bool,mdAlignRight:d.a.bool,lgAlignRight:d.a.bool,className:d.a.string,children:d.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,t(4))},124:function(e,n,t){"use strict";(function(e){var a=t(21),i=t.n(a),r=t(24),l=t.n(r),o=t(1),c=t.n(o),s=t(11),d=t.n(s),u=t(0),m=Object(u.forwardRef)((function(n,t){var a=n.className,r=n.children,o=l()(n,["className","children"]);return e.createElement("div",i()({ref:t,className:d()("mdc-layout-grid__inner",a)},o),r)}));m.displayName="Row",m.propTypes={className:c.a.string,children:c.a.node},m.defaultProps={className:""},n.a=m}).call(this,t(4))},1245:function(e,n,t){"use strict";t.r(n),function(e){t.d(n,"Button",(function(){return i})),t.d(n,"Checkbox",(function(){return r})),t.d(n,"Chip",(function(){return l})),t.d(n,"CircularProgress",(function(){return o})),t.d(n,"Dialog",(function(){return c})),t.d(n,"DialogTitle",(function(){return s})),t.d(n,"DialogContent",(function(){return d})),t.d(n,"DialogFooter",(function(){return u})),t.d(n,"Menu",(function(){return m})),t.d(n,"Option",(function(){return g})),t.d(n,"ProgressBar",(function(){return p})),t.d(n,"Radio",(function(){return b})),t.d(n,"Select",(function(){return f})),t.d(n,"SpinnerButton",(function(){return h})),t.d(n,"Switch",(function(){return v})),t.d(n,"Tab",(function(){return _})),t.d(n,"TabBar",(function(){return y})),t.d(n,"TextField",(function(){return k})),t.d(n,"HelperText",(function(){return N})),t.d(n,"Tooltip",(function(){return O}));var a=t(301);void 0===e.googlesitekit&&(e.googlesitekit={}),e.googlesitekit.components=a.a;var i=a.a.Button,r=a.a.Checkbox,l=a.a.Chip,o=a.a.CircularProgress,c=a.a.Dialog,s=a.a.DialogTitle,d=a.a.DialogContent,u=a.a.DialogFooter,m=a.a.Menu,g=a.a.Option,p=a.a.ProgressBar,b=a.a.Radio,f=a.a.Select,h=a.a.SpinnerButton,v=a.a.Switch,_=a.a.Tab,y=a.a.TabBar,k=a.a.TextField,N=a.a.HelperText,O=a.a.Tooltip}.call(this,t(28))},125:function(e,n,t){"use strict";(function(e){var a=t(21),i=t.n(a),r=t(24),l=t.n(r),o=t(1),c=t.n(o),s=t(11),d=t.n(s),u=t(0),m=Object(u.forwardRef)((function(n,t){var a=n.alignLeft,r=n.fill,o=n.className,c=n.children,s=n.collapsed,u=l()(n,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:d()("mdc-layout-grid",o,{"mdc-layout-grid--align-left":a,"mdc-layout-grid--collapsed":s,"mdc-layout-grid--fill":r})},u,{ref:t}),c)}));m.displayName="Grid",m.propTypes={alignLeft:c.a.bool,fill:c.a.bool,className:c.a.string,collapsed:c.a.bool,children:c.a.node},m.defaultProps={className:""},n.a=m}).call(this,t(4))},17:function(e,n,t){"use strict";var a=t(243);t.d(n,"i",(function(){return a.a}));var i=t(312);t.d(n,"f",(function(){return i.a}));var r=t(313);t.d(n,"h",(function(){return r.a}));var l=t(314);t.d(n,"j",(function(){return l.a}));var o=t(311);t.d(n,"g",(function(){return o.a}));var c=t(89),s=t.n(c);t.d(n,"b",(function(){return s.a})),t.d(n,"c",(function(){return c.DialogContent})),t.d(n,"d",(function(){return c.DialogFooter}));var d=t(102);t.d(n,"a",(function(){return d.a})),t.d(n,"e",(function(){return d.b})),t.d(n,"k",(function(){return d.c}))},2:function(e,n){e.exports=googlesitekit.i18n},248:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return g})),t.d(n,"b",(function(){return SpinnerButton}));var a=t(21),i=t.n(a),r=t(24),l=t.n(r),o=t(1),c=t.n(o),s=t(11),d=t.n(s),u=t(337),m=t(249),g={BEFORE:"before",AFTER:"after"};function SpinnerButton(n){var t=n.className,a=n.onClick,r=void 0===a?function(){}:a,o=n.isSaving,c=void 0!==o&&o,s=n.spinnerPosition,p=void 0===s?g.AFTER:s,b=l()(n,["className","onClick","isSaving","spinnerPosition"]);return e.createElement(u.a,i()({className:d()(t,"googlesitekit-button-icon--spinner",{"googlesitekit-button-icon--spinner__running":c,"googlesitekit-button-icon--spinner__before":p===g.BEFORE,"googlesitekit-button-icon--spinner__after":p===g.AFTER}),icon:c&&p===g.BEFORE?e.createElement(m.a,{size:14}):void 0,trailingIcon:c&&p===g.AFTER?e.createElement(m.a,{size:14}):void 0,onClick:r},b))}SpinnerButton.propTypes={className:c.a.string,onClick:c.a.func,isSaving:c.a.bool,spinnerPosition:c.a.oneOf(Object.values(g))}}).call(this,t(4))},249:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return CircularProgress}));var a=t(631);function CircularProgress(n){return e.createElement(a.a,n)}}).call(this,t(4))},26:function(e,n,t){"use strict";t.d(n,"d",(function(){return i})),t.d(n,"a",(function(){return r})),t.d(n,"c",(function(){return l})),t.d(n,"b",(function(){return o})),t.d(n,"e",(function(){return c}));var a=t(93),i="xlarge",r="desktop",l="tablet",o="small";function c(){var e=Object(a.a)();return e>1280?i:e>960?r:e>600?l:o}},301:function(e,n,t){"use strict";var a=t(89),i=t.n(a),r=t(783),l=t(813),o=t.n(l),c=t(1064),s=t.n(c),d=t(337),u=t(1065),m=t(1066),g=t(249),p=t(1067),b=t(1068),f=t(1069),h=t(1070),v=t(248),_=t(1071),y=t(822),k=t(338),N={Button:d.a,Checkbox:u.a,Chip:m.a,CircularProgress:g.a,Dialog:i.a,DialogTitle:a.DialogTitle,DialogContent:a.DialogContent,DialogFooter:a.DialogFooter,HelperText:y.a,Menu:p.a,Option:r.Option,ProgressBar:b.a,Radio:f.a,Select:h.a,SpinnerButton:v.b,SPINNER_POSITION:v.a,Switch:_.a,Tab:o.a,TabBar:s.a,TextField:y.b,Tooltip:k.a};n.a=N},337:function(e,n,t){"use strict";(function(e){var a=t(21),i=t.n(a),r=t(24),l=t.n(r),o=t(11),c=t.n(o),s=t(1),d=t.n(s),u=t(397),m=t(0),g=t(2),p=t(17),b=t(338),f=Object(m.forwardRef)((function(n,t){var a=n.children,r=n.href,o=n.text,s=n.className,d=n.danger,f=n.disabled,h=n.target,v=n.icon,_=n.trailingIcon,y=n["aria-label"],k=n.title,N=n.customizedTooltip,O=n.tooltip,E=n.inverse,T=n.hideTooltipTitle,C=void 0!==T&&T,S=n.tooltipEnterDelayInMS,x=void 0===S?100:S,w=n.tertiary,R=void 0!==w&&w,D=n.callout,j=n.calloutStyle,I=l()(n,["children","href","text","className","danger","disabled","target","icon","trailingIcon","aria-label","title","customizedTooltip","tooltip","inverse","hideTooltipTitle","tooltipEnterDelayInMS","tertiary","callout","calloutStyle"]),P=Object(m.useCallback)((function(e){null!==e&&p.i.attachTo(e)}),[]),B=Object(u.a)(t,P),F=r&&!f?"a":"button",z=e.createElement(F,i()({className:c()("mdc-button",s,{"mdc-button--raised":!o&&!R&&!D,"mdc-button--danger":d,"mdc-button--inverse":E,"mdc-button--tertiary":R,"mdc-button--callout":D,"mdc-button--callout-primary":D||"primary"===j,"mdc-button--callout-warning":"warning"===j,"mdc-button--callout-error":"error"===j}),href:f?void 0:r,ref:B,disabled:!!f,"aria-label":function(){var e=y;if("_blank"!==h)return e;var n=Object(g._x)("(opens in a new tab)","screen reader text","google-site-kit");return"string"==typeof a&&(e=e||a),e?"".concat(e," ").concat(n):n}(),target:h||"_self",role:"a"===F?"button":void 0},I),v,a&&e.createElement("span",{className:"mdc-button__label"},a),_),L=C?null:k||N||y;return!f&&(O&&L||v&&L&&void 0===a)?e.createElement(b.a,{title:L,enterDelay:x},z):z}));f.displayName="Button",f.propTypes={onClick:d.a.func,children:d.a.node,href:d.a.string,text:d.a.bool,className:d.a.string,danger:d.a.bool,disabled:d.a.bool,icon:d.a.element,trailingIcon:d.a.element,title:d.a.string,customizedTooltip:d.a.element,tooltip:d.a.bool,inverse:d.a.bool,hideTooltipTitle:d.a.bool,callout:d.a.bool,calloutStyle:d.a.oneOf(["primary","warning","error"])},f.defaultProps={onClick:null,href:null,text:!1,className:"",danger:!1,disabled:!1,icon:null,trailingIcon:null,title:null,customizedTooltip:null,tooltip:!1,inverse:!1,calloutStyle:null,callout:null},n.a=f}).call(this,t(4))},338:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Tooltip}));var a=t(21),i=t.n(a),r=t(24),l=t.n(r),o=t(1),c=t.n(o),s=t(11),d=t.n(s),u=t(632),m=t(0);function Tooltip(n){var t=n.children,a=n.popperClassName,r=n.tooltipClassName,o=n.onOpen,c=n.onClose,s=l()(n,["children","popperClassName","tooltipClassName","onOpen","onClose"]),g=Object(m.useRef)(!1),p=o?function(){g.current||(g.current=!0,null==o||o())}:void 0,b=o?function(){g.current=!1,null==c||c()}:c;return e.createElement(u.a,i()({classes:{popper:d()("googlesitekit-tooltip-popper",a),tooltip:d()("googlesitekit-tooltip",r)},arrow:!0,onOpen:p,onClose:b},s),t)}Tooltip.propTypes={children:c.a.node,popperClassName:c.a.string,tooltipClassName:c.a.string,onOpen:c.a.func,onClose:c.a.func}}).call(this,t(4))},501:function(e,n,t){"use strict";(function(e){var a=t(7),i=t.n(a),r=t(1),l=t.n(r);function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n=0;i--)(n=e[i])&&(c=(a<3?n(c):a>3?n(r,t,c):n(r,t))||c);return a>3&&c&&Object.defineProperty(r,t,c),c}Object.create;Object.create;var p=t(230),v=t(295),f=t.n(v),b=t(595),m=t.n(b),y=t(53),k=t.n(y),_=t(296);function g(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,o=d()(e);if(r){var n=d()(this).constructor;t=Reflect.construct(o,arguments,n)}else t=o.apply(this,arguments);return s()(this,t)}}var x=function(e){c()(FocusRing,e);var r=g(FocusRing);function FocusRing(){var e;return n()(this,FocusRing),(e=r.apply(this,arguments)).visible=!1,e.inward=!1,e.htmlFor=null,e.currentControl=null,e}return k()(FocusRing,[{key:"attach",value:function(e){e!==this.currentControl&&(this.setCurrentControl(e),this.removeAttribute("for"))}},{key:"detach",value:function(){this.setCurrentControl(null),this.setAttribute("for","")}},{key:"connectedCallback",value:function(){m()(d()(FocusRing.prototype),"connectedCallback",this).call(this),this.setCurrentControl(this.control)}},{key:"disconnectedCallback",value:function(){m()(d()(FocusRing.prototype),"disconnectedCallback",this).call(this),this.setCurrentControl(null)}},{key:"updated",value:function(e){if(e.has("htmlFor")){var r=this.control;r&&this.setCurrentControl(r)}}},{key:"handleEvent",value:function(e){var r,t;if(!e[w]){switch(e.type){default:return;case"focusin":this.visible=null!==(r=null===(t=this.control)||void 0===t?void 0:t.matches(":focus-visible"))&&void 0!==r&&r;break;case"focusout":case"pointerdown":this.visible=!1}e[w]=!0}}},{key:"setCurrentControl",value:function(e){for(var r=0,t=["focusin","focusout","pointerdown"];r']);return A=function(){return e},e}function B(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,o=d()(e);if(r){var n=d()(this).constructor;t=Reflect.construct(o,arguments,n)}else t=o.apply(this,arguments);return s()(this,t)}}var z;!function(e){e[e.INACTIVE=0]="INACTIVE",e[e.TOUCH_DELAY=1]="TOUCH_DELAY",e[e.HOLDING=2]="HOLDING",e[e.WAITING_FOR_CLICK=3]="WAITING_FOR_CLICK"}(z||(z={}));var M=function(e){c()(Ripple,e);var r,t,o=B(Ripple);function Ripple(){var e;return n()(this,Ripple),(e=o.apply(this,arguments)).unbounded=!1,e.disabled=!1,e.hovered=!1,e.focused=!1,e.pressed=!1,e.rippleSize="",e.rippleScale="",e.initialSize=0,e.state=z.INACTIVE,e.checkBoundsAfterContextMenu=!1,e}return k()(Ripple,[{key:"handlePointerenter",value:function(e){this.shouldReactToEvent(e)&&(this.hovered=!0)}},{key:"handlePointerleave",value:function(e){this.shouldReactToEvent(e)&&(this.hovered=!1,this.state!==z.INACTIVE&&this.endPressAnimation())}},{key:"handleFocusin",value:function(){this.focused=!0}},{key:"handleFocusout",value:function(){this.focused=!1}},{key:"handlePointerup",value:function(e){if(this.shouldReactToEvent(e)){if(this.state!==z.HOLDING)return this.state===z.TOUCH_DELAY?(this.state=z.WAITING_FOR_CLICK,void this.startPressAnimation(this.rippleStartEvent)):void 0;this.state=z.WAITING_FOR_CLICK}}},{key:"handlePointerdown",value:(t=j()(E.a.mark((function e(r){return E.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.shouldReactToEvent(r)){e.next=2;break}return e.abrupt("return");case 2:if(this.rippleStartEvent=r,this.isTouch(r)){e.next=7;break}return this.state=z.WAITING_FOR_CLICK,this.startPressAnimation(r),e.abrupt("return");case 7:if(!this.checkBoundsAfterContextMenu||this.inBounds(r)){e.next=9;break}return e.abrupt("return");case 9:return this.checkBoundsAfterContextMenu=!1,this.state=z.TOUCH_DELAY,e.next=13,new Promise((function(e){setTimeout(e,150)}));case 13:if(this.state===z.TOUCH_DELAY){e.next=15;break}return e.abrupt("return");case 15:this.state=z.HOLDING,this.startPressAnimation(r);case 17:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"handleClick",value:function(){this.disabled||(this.state!==z.WAITING_FOR_CLICK?this.state===z.INACTIVE&&(this.startPressAnimation(),this.endPressAnimation()):this.endPressAnimation())}},{key:"handlePointercancel",value:function(e){this.shouldReactToEvent(e)&&this.endPressAnimation()}},{key:"handleContextmenu",value:function(){this.disabled||(this.checkBoundsAfterContextMenu=!0,this.endPressAnimation())}},{key:"render",value:function(){var e={hovered:this.hovered,focused:this.focused,pressed:this.pressed,unbounded:this.unbounded};return Object(_.c)(A(),Object(I.a)(e))}},{key:"update",value:function(e){e.has("disabled")&&this.disabled&&(this.hovered=!1,this.focused=!1,this.pressed=!1),m()(d()(Ripple.prototype),"update",this).call(this,e)}},{key:"getDimensions",value:function(){var e;return(null!==(e=this.parentElement)&&void 0!==e?e:this).getBoundingClientRect()}},{key:"determineRippleSize",value:function(){var e,r=this.getDimensions(),t=r.height,o=r.width,n=Math.max(t,o),a=Math.max(.35*n,75),c=Math.floor(.2*n);e=Math.sqrt(Math.pow(o,2)+Math.pow(t,2))+10,this.unbounded&&(c-=c%2),this.initialSize=c,this.rippleScale="".concat((e+a)/c),this.rippleSize="".concat(this.initialSize,"px")}},{key:"getNormalizedPointerEventCoords",value:function(e){var r=window,t=r.scrollX,o=r.scrollY,n=this.getDimensions(),a=t+n.left,c=o+n.top;return{x:e.pageX-a,y:e.pageY-c}}},{key:"getTranslationCoordinates",value:function(e){var r,t=this.getDimensions(),o=t.height,n=t.width,a={x:(n-this.initialSize)/2,y:(o-this.initialSize)/2};return{startPoint:r={x:(r=e instanceof PointerEvent?this.getNormalizedPointerEventCoords(e):{x:n/2,y:o/2}).x-this.initialSize/2,y:r.y-this.initialSize/2},endPoint:a}}},{key:"startPressAnimation",value:function(e){var r;if(this.mdRoot){this.pressed=!0,null===(r=this.growAnimation)||void 0===r||r.cancel(),this.determineRippleSize();var t=this.getTranslationCoordinates(e),o=t.startPoint,n=t.endPoint,a="".concat(o.x,"px, ").concat(o.y,"px"),c="".concat(n.x,"px, ").concat(n.y,"px");this.growAnimation=this.mdRoot.animate({top:[0,0],left:[0,0],height:[this.rippleSize,this.rippleSize],width:[this.rippleSize,this.rippleSize],transform:["translate(".concat(a,") scale(1)"),"translate(".concat(c,") scale(").concat(this.rippleScale,")")]},{pseudoElement:"::after",duration:450,easing:D,fill:"forwards"})}}},{key:"endPressAnimation",value:(r=j()(E.a.mark((function e(){var r,t,o;return E.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.state=z.INACTIVE,t=this.growAnimation,!((o=null!==(r=null==t?void 0:t.currentTime)&&void 0!==r?r:1/0)>=225)){e.next=6;break}return this.pressed=!1,e.abrupt("return");case 6:return e.next=8,new Promise((function(e){setTimeout(e,225-o)}));case 8:if(this.growAnimation===t){e.next=10;break}return e.abrupt("return");case 10:this.pressed=!1;case 11:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"shouldReactToEvent",value:function(e){if(this.disabled||!e.isPrimary)return!1;if(this.rippleStartEvent&&this.rippleStartEvent.pointerId!==e.pointerId)return!1;if("pointerenter"===e.type||"pointerleave"===e.type)return!this.isTouch(e);var r=1===e.buttons;return this.isTouch(e)||r}},{key:"inBounds",value:function(e){var r=e.x,t=e.y,o=this.getBoundingClientRect(),n=o.top,a=o.left,c=o.bottom,i=o.right;return r>=a&&r<=i&&t>=n&&t<=c}},{key:"isTouch",value:function(e){return"touch"===e.pointerType}}]),Ripple}(_.a);function L(){var e=f()([':host{--_focus-color: var(--md-ripple-focus-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-opacity: var(--md-ripple-focus-opacity, 0.12);--_hover-color: var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-opacity: var(--md-ripple-hover-opacity, 0.08);--_pressed-color: var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-opacity: var(--md-ripple-pressed-opacity, 0.12);display:flex}:host([disabled]){opacity:0}:host,.surface{border-radius:inherit;position:absolute;inset:0;pointer-events:none;overflow:hidden}.surface{outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.surface::before,.surface::after{position:absolute;opacity:0;pointer-events:none;content:""}.surface::before{background-color:var(--_hover-color);transition:opacity 15ms linear,background-color 15ms linear;inset:0}.surface::after{background:radial-gradient(closest-side, var(--_pressed-color) max(100% - 70px, 65%), transparent 100%);transition:opacity 375ms linear;transform-origin:center center}.hovered::before{background-color:var(--_hover-color);opacity:var(--_hover-opacity)}.focused::before{background-color:var(--_focus-color);opacity:var(--_focus-opacity);transition-duration:75ms}.pressed::after{opacity:var(--_pressed-opacity);transition-duration:105ms}@media screen and (forced-colors: active){:host{display:none}}/*# sourceMappingURL=ripple-styles.css.map */\n']);return L=function(){return e},e}__decorate([Object(p.b)({type:Boolean,reflect:!0})],M.prototype,"unbounded",void 0),__decorate([Object(p.b)({type:Boolean,reflect:!0})],M.prototype,"disabled",void 0),__decorate([Object(p.e)()],M.prototype,"hovered",void 0),__decorate([Object(p.e)()],M.prototype,"focused",void 0),__decorate([Object(p.e)()],M.prototype,"pressed",void 0),__decorate([Object(p.c)(".surface")],M.prototype,"mdRoot",void 0);var F=Object(_.b)(L());function N(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,o=d()(e);if(r){var n=d()(this).constructor;t=Reflect.construct(o,arguments,n)}else t=o.apply(this,arguments);return s()(this,t)}}var G=function(e){c()(MdRipple,e);var r=N(MdRipple);function MdRipple(){return n()(this,MdRipple),r.apply(this,arguments)}return MdRipple}(M);G.styles=[F],G=__decorate([Object(p.a)("md-ripple")],G);var H=t(1182),K=["ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaCurrent","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText"];K.map(V);function V(e){return e.replace("aria","aria-").replace(/Elements?/g,"").toLowerCase()}function U(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,r){if(!e)return;if("string"==typeof e)return q(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return q(e,r)}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var o=0,n=function(){};return{s:n,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,i=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return c=e.done,e},e:function(e){i=!0,a=e},f:function(){try{c||null==t.return||t.return()}finally{if(i)throw a}}}}function q(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=new Array(r);t\n
\n
\n \n ','\n \n \n \n \n \n ']);return A=function(){return e},e}function B(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,o=d()(e);if(r){var n=d()(this).constructor;t=Reflect.construct(o,arguments,n)}else t=o.apply(this,arguments);return s()(this,t)}}var z;!function(e){e[e.INACTIVE=0]="INACTIVE",e[e.TOUCH_DELAY=1]="TOUCH_DELAY",e[e.HOLDING=2]="HOLDING",e[e.WAITING_FOR_CLICK=3]="WAITING_FOR_CLICK"}(z||(z={}));var M=function(e){c()(Ripple,e);var r,t,o=B(Ripple);function Ripple(){var e;return n()(this,Ripple),(e=o.apply(this,arguments)).unbounded=!1,e.disabled=!1,e.hovered=!1,e.focused=!1,e.pressed=!1,e.rippleSize="",e.rippleScale="",e.initialSize=0,e.state=z.INACTIVE,e.checkBoundsAfterContextMenu=!1,e}return k()(Ripple,[{key:"handlePointerenter",value:function(e){this.shouldReactToEvent(e)&&(this.hovered=!0)}},{key:"handlePointerleave",value:function(e){this.shouldReactToEvent(e)&&(this.hovered=!1,this.state!==z.INACTIVE&&this.endPressAnimation())}},{key:"handleFocusin",value:function(){this.focused=!0}},{key:"handleFocusout",value:function(){this.focused=!1}},{key:"handlePointerup",value:function(e){if(this.shouldReactToEvent(e)){if(this.state!==z.HOLDING)return this.state===z.TOUCH_DELAY?(this.state=z.WAITING_FOR_CLICK,void this.startPressAnimation(this.rippleStartEvent)):void 0;this.state=z.WAITING_FOR_CLICK}}},{key:"handlePointerdown",value:(t=j()(E.a.mark((function e(r){return E.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.shouldReactToEvent(r)){e.next=2;break}return e.abrupt("return");case 2:if(this.rippleStartEvent=r,this.isTouch(r)){e.next=7;break}return this.state=z.WAITING_FOR_CLICK,this.startPressAnimation(r),e.abrupt("return");case 7:if(!this.checkBoundsAfterContextMenu||this.inBounds(r)){e.next=9;break}return e.abrupt("return");case 9:return this.checkBoundsAfterContextMenu=!1,this.state=z.TOUCH_DELAY,e.next=13,new Promise((function(e){setTimeout(e,150)}));case 13:if(this.state===z.TOUCH_DELAY){e.next=15;break}return e.abrupt("return");case 15:this.state=z.HOLDING,this.startPressAnimation(r);case 17:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"handleClick",value:function(){this.disabled||(this.state!==z.WAITING_FOR_CLICK?this.state===z.INACTIVE&&(this.startPressAnimation(),this.endPressAnimation()):this.endPressAnimation())}},{key:"handlePointercancel",value:function(e){this.shouldReactToEvent(e)&&this.endPressAnimation()}},{key:"handleContextmenu",value:function(){this.disabled||(this.checkBoundsAfterContextMenu=!0,this.endPressAnimation())}},{key:"render",value:function(){var e={hovered:this.hovered,focused:this.focused,pressed:this.pressed,unbounded:this.unbounded};return Object(_.c)(A(),Object(I.a)(e))}},{key:"update",value:function(e){e.has("disabled")&&this.disabled&&(this.hovered=!1,this.focused=!1,this.pressed=!1),m()(d()(Ripple.prototype),"update",this).call(this,e)}},{key:"getDimensions",value:function(){var e;return(null!==(e=this.parentElement)&&void 0!==e?e:this).getBoundingClientRect()}},{key:"determineRippleSize",value:function(){var e,r=this.getDimensions(),t=r.height,o=r.width,n=Math.max(t,o),a=Math.max(.35*n,75),c=Math.floor(.2*n);e=Math.sqrt(Math.pow(o,2)+Math.pow(t,2))+10,this.unbounded&&(c-=c%2),this.initialSize=c,this.rippleScale="".concat((e+a)/c),this.rippleSize="".concat(this.initialSize,"px")}},{key:"getNormalizedPointerEventCoords",value:function(e){var r=window,t=r.scrollX,o=r.scrollY,n=this.getDimensions(),a=t+n.left,c=o+n.top;return{x:e.pageX-a,y:e.pageY-c}}},{key:"getTranslationCoordinates",value:function(e){var r,t=this.getDimensions(),o=t.height,n=t.width,a={x:(n-this.initialSize)/2,y:(o-this.initialSize)/2};return{startPoint:r={x:(r=e instanceof PointerEvent?this.getNormalizedPointerEventCoords(e):{x:n/2,y:o/2}).x-this.initialSize/2,y:r.y-this.initialSize/2},endPoint:a}}},{key:"startPressAnimation",value:function(e){var r;if(this.mdRoot){this.pressed=!0,null===(r=this.growAnimation)||void 0===r||r.cancel(),this.determineRippleSize();var t=this.getTranslationCoordinates(e),o=t.startPoint,n=t.endPoint,a="".concat(o.x,"px, ").concat(o.y,"px"),c="".concat(n.x,"px, ").concat(n.y,"px");this.growAnimation=this.mdRoot.animate({top:[0,0],left:[0,0],height:[this.rippleSize,this.rippleSize],width:[this.rippleSize,this.rippleSize],transform:["translate(".concat(a,") scale(1)"),"translate(".concat(c,") scale(").concat(this.rippleScale,")")]},{pseudoElement:"::after",duration:450,easing:D,fill:"forwards"})}}},{key:"endPressAnimation",value:(r=j()(E.a.mark((function e(){var r,t,o;return E.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.state=z.INACTIVE,t=this.growAnimation,!((o=null!==(r=null==t?void 0:t.currentTime)&&void 0!==r?r:1/0)>=225)){e.next=6;break}return this.pressed=!1,e.abrupt("return");case 6:return e.next=8,new Promise((function(e){setTimeout(e,225-o)}));case 8:if(this.growAnimation===t){e.next=10;break}return e.abrupt("return");case 10:this.pressed=!1;case 11:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"shouldReactToEvent",value:function(e){if(this.disabled||!e.isPrimary)return!1;if(this.rippleStartEvent&&this.rippleStartEvent.pointerId!==e.pointerId)return!1;if("pointerenter"===e.type||"pointerleave"===e.type)return!this.isTouch(e);var r=1===e.buttons;return this.isTouch(e)||r}},{key:"inBounds",value:function(e){var r=e.x,t=e.y,o=this.getBoundingClientRect(),n=o.top,a=o.left,c=o.bottom,i=o.right;return r>=a&&r<=i&&t>=n&&t<=c}},{key:"isTouch",value:function(e){return"touch"===e.pointerType}}]),Ripple}(_.a);function L(){var e=f()([':host{--_focus-color: var(--md-ripple-focus-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-opacity: var(--md-ripple-focus-opacity, 0.12);--_hover-color: var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-opacity: var(--md-ripple-hover-opacity, 0.08);--_pressed-color: var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-opacity: var(--md-ripple-pressed-opacity, 0.12);display:flex}:host([disabled]){opacity:0}:host,.surface{border-radius:inherit;position:absolute;inset:0;pointer-events:none;overflow:hidden}.surface{outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.surface::before,.surface::after{position:absolute;opacity:0;pointer-events:none;content:""}.surface::before{background-color:var(--_hover-color);transition:opacity 15ms linear,background-color 15ms linear;inset:0}.surface::after{background:radial-gradient(closest-side, var(--_pressed-color) max(100% - 70px, 65%), transparent 100%);transition:opacity 375ms linear;transform-origin:center center}.hovered::before{background-color:var(--_hover-color);opacity:var(--_hover-opacity)}.focused::before{background-color:var(--_focus-color);opacity:var(--_focus-opacity);transition-duration:75ms}.pressed::after{opacity:var(--_pressed-opacity);transition-duration:105ms}@media screen and (forced-colors: active){:host{display:none}}/*# sourceMappingURL=ripple-styles.css.map */\n']);return L=function(){return e},e}__decorate([Object(p.b)({type:Boolean,reflect:!0})],M.prototype,"unbounded",void 0),__decorate([Object(p.b)({type:Boolean,reflect:!0})],M.prototype,"disabled",void 0),__decorate([Object(p.e)()],M.prototype,"hovered",void 0),__decorate([Object(p.e)()],M.prototype,"focused",void 0),__decorate([Object(p.e)()],M.prototype,"pressed",void 0),__decorate([Object(p.c)(".surface")],M.prototype,"mdRoot",void 0);var F=Object(_.b)(L());function N(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,o=d()(e);if(r){var n=d()(this).constructor;t=Reflect.construct(o,arguments,n)}else t=o.apply(this,arguments);return s()(this,t)}}var G=function(e){c()(MdRipple,e);var r=N(MdRipple);function MdRipple(){return n()(this,MdRipple),r.apply(this,arguments)}return MdRipple}(M);G.styles=[F],G=__decorate([Object(p.a)("md-ripple")],G);var H=t(1190),K=["ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaCurrent","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText"];K.map(V);function V(e){return e.replace("aria","aria-").replace(/Elements?/g,"").toLowerCase()}function U(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,r){if(!e)return;if("string"==typeof e)return q(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return q(e,r)}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var o=0,n=function(){};return{s:n,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,i=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return c=e.done,e},e:function(e){i=!0,a=e},f:function(){try{c||null==t.return||t.return()}finally{if(i)throw a}}}}function q(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=new Array(r);t\n
\n
\n \n ','\n \n \n \n \n \n 0&&void 0!==c[0]?c[0]:{},e=t.clearAfterRestore,n=void 0===e||e,r.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=r.sent,o=a.cacheHit,i=a.value,!o){r.next=13;break}return r.next=10,{payload:{snapshot:i},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!n){r.next=13;break}return r.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return r.abrupt("return",o);case 14:case"end":return r.stop()}}),r)})),createSnapshot:u.a.mark((function r(){var t;return u.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=r.sent,r.abrupt("return",t);case 4:case"end":return r.stop()}}),r)}))},o=(t={},i()(t,"DELETE_SNAPSHOT",(function(){return Object(d.c)("datastore::cache::".concat(r))})),i()(t,"CREATE_SNAPSHOT",Object(l.createRegistryControl)((function(t){return function(){return Object(d.f)("datastore::cache::".concat(r),t.stores[r].store.getState())}}))),i()(t,"RESTORE_SNAPSHOT",(function(){return Object(d.d)("datastore::cache::".concat(r),g.b)})),t);return{initialState:e,actions:n,controls:o,reducer:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,t=arguments.length>1?arguments[1]:void 0,n=t.type,o=t.payload;switch(n){case"SET_STATE_FROM_SNAPSHOT":var i=o.snapshot,c=(i.error,a()(i,["error"]));return c;default:return r}}}},b=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p.a;return Object.values(r.stores).filter((function(r){return Object.keys(r.getActions()).includes("restoreSnapshot")}))},h=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p.a;return Promise.all(b(r).map((function(r){return r.getActions().createSnapshot()})))},m=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p.a;return Promise.all(b(r).map((function(r){return r.getActions().restoreSnapshot()})))}},2:function(r,t){r.exports=googlesitekit.i18n},29:function(r,t,e){"use strict";e.d(t,"a",(function(){return n}));var n="core/forms"},3:function(r,t){r.exports=googlesitekit.data},34:function(r,t,e){"use strict";(function(r){e.d(t,"a",(function(){return l})),e.d(t,"d",(function(){return m})),e.d(t,"f",(function(){return y})),e.d(t,"c",(function(){return O})),e.d(t,"e",(function(){return j})),e.d(t,"b",(function(){return w}));var n=e(5),a=e.n(n),o=e(15),i=e.n(o),c=(e(27),e(9));function u(r,t){var e="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!e){if(Array.isArray(r)||(e=function(r,t){if(!r)return;if("string"==typeof r)return s(r,t);var e=Object.prototype.toString.call(r).slice(8,-1);"Object"===e&&r.constructor&&(e=r.constructor.name);if("Map"===e||"Set"===e)return Array.from(r);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return s(r,t)}(r))||t&&r&&"number"==typeof r.length){e&&(r=e);var n=0,a=function(){};return{s:a,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(r){throw r},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){e=e.call(r)},n:function(){var r=e.next();return i=r.done,r},e:function(r){c=!0,o=r},f:function(){try{i||null==e.return||e.return()}finally{if(c)throw o}}}}function s(r,t){(null==t||t>r.length)&&(t=r.length);for(var e=0,n=new Array(t);e2&&void 0!==v[2]?v[2]:{},i=o.ttl,u=void 0===i?c.b:i,s=o.timestamp,f=void 0===s?Math.round(Date.now()/1e3):s,l=o.isError,d=void 0!==l&&l,t.next=3,b();case 3:if(!(g=t.sent)){t.next=14;break}return t.prev=5,g.setItem("".concat(p).concat(e),JSON.stringify({timestamp:f,ttl:u,value:n,isError:d})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),r.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(r,e){return t.apply(this,arguments)}}(),O=function(){var t=i()(a.a.mark((function t(e){var n,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}return t.prev=4,o=e.startsWith(l)?e:"".concat(p).concat(e),n.removeItem(o),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),r.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(r){return t.apply(this,arguments)}}(),j=function(){var t=i()(a.a.mark((function t(){var e,n,o,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(e=t.sent)){t.next=14;break}for(t.prev=4,n=[],o=0;o1&&void 0!==arguments[1]?arguments[1]:o;return t instanceof Set&&t.has(r)}}).call(this,e(28))},57:function(r,t,e){"use strict";e.d(t,"a",(function(){return a}));var n=e(39);function a(r){return function(){r[n.a]=r[n.a]||[],r[n.a].push(arguments)}}},65:function(r,t,e){"use strict";e.d(t,"a",(function(){return b})),e.d(t,"b",(function(){return h}));var n=e(7),a=e.n(n),o=e(33),i=e.n(o),c=e(114),u=e(12),s=e.n(u),f=e(92),l=e.n(f),p=e(9);function d(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,n)}return e}function g(r){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:[];return s()(r,"error is required."),s()(t,"baseName is required."),s()(e&&Array.isArray(e),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:r,baseName:t,args:e}}},clearError:function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return s()(r,"baseName is required."),s()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:r,args:t}}},clearErrors:function(r){return{type:"CLEAR_ERRORS",payload:{baseName:r}}}};function h(r){s()(r,"storeName must be defined.");var t={getErrorForSelector:function(r,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return s()(e,"selectorName is required."),t.getError(r,e,n)},getErrorForAction:function(r,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return s()(e,"actionName is required."),t.getError(r,e,n)},getError:function(r,t,e){var n=r.errors;return s()(t,"baseName is required."),n[v(t,e)]},getErrors:function(r){var t=new Set(Object.values(r.errors));return Array.from(t)},getMetaDataForError:function(r,t){var e=Object.keys(r.errors).find((function(e){return r.errors[e]===t}));return e?{baseName:e.substring(0,e.indexOf("::")),args:r.errorArgs[e]}:null},getSelectorDataForError:Object(c.b)((function(t){return function(e,n){var a=t(r).getMetaDataForError(n);if(a){var o=a.baseName,i=a.args;if(!!t(r)[o])return{storeName:r,name:o,args:i}}return null}})),hasErrors:function(r){return t.getErrors(r).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(r,t){var e=t.type,n=t.payload;switch(e){case"RECEIVE_ERROR":var o=n.baseName,i=n.args,c=n.error,u=v(o,i);return g(g({},r),{},{errors:g(g({},r.errors||{}),{},a()({},u,c)),errorArgs:g(g({},r.errorArgs||{}),{},a()({},u,i))});case"CLEAR_ERROR":var s=n.baseName,f=n.args,l=g({},r),p=v(s,f);return l.errors=g({},r.errors||{}),l.errorArgs=g({},r.errorArgs||{}),delete l.errors[p],delete l.errorArgs[p],l;case"CLEAR_ERRORS":var d=n.baseName,b=g({},r);if(d)for(var h in b.errors=g({},r.errors||{}),b.errorArgs=g({},r.errorArgs||{}),b.errors)(h===d||h.startsWith("".concat(d,"::")))&&(delete b.errors[h],delete b.errorArgs[h]);else b.errors={},b.errorArgs={};return b;default:return r}},resolvers:{},selectors:t}}},72:function(r,t,e){"use strict";e.d(t,"a",(function(){return i})),e.d(t,"b",(function(){return c}));var n=e(33),a=e.n(n),o=e(82),i=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:o.a.sanitize(r,t)}};function c(r){var t,e="object"===a()(r)?r.toString():r;return null==e||null===(t=e.replace)||void 0===t?void 0:t.call(e,/\/+$/,"")}},80:function(r,t,e){"use strict";e.d(t,"b",(function(){return a})),e.d(t,"a",(function(){return o})),e.d(t,"c",(function(){return i})),e.d(t,"d",(function(){return c}));var n=e(107);function a(r){try{return new URL(r).pathname}catch(r){}return null}function o(r,t){try{return new URL(t,r).href}catch(r){}return("string"==typeof r?r:"")+("string"==typeof t?t:"")}function i(r){return"string"!=typeof r?r:r.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(r,t){if(!Object(n.a)(r))return r;if(r.length<=t)return r;var e=new URL(r),a=r.replace(e.origin,"");if(a.length1&&void 0!==arguments[1]?arguments[1]:{},e=O(r,t),n=e.formatUnit,a=e.formatDecimal;try{return n()}catch(r){return a()}},m=function(r){var t=y(r),e=t.hours,n=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),n=("0"+n).slice(-2),"00"===(e=("0"+e).slice(-2))?"".concat(n,":").concat(a):"".concat(e,":").concat(n,":").concat(a)},y=function(r){return r=parseInt(r,10),Number.isNaN(r)&&(r=0),{hours:Math.floor(r/60/60),minutes:Math.floor(r/60%60),seconds:Math.floor(r%60)}},O=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=y(r),n=e.hours,a=e.minutes,o=e.seconds;return{hours:n,minutes:a,seconds:o,formatUnit:function(){var e=t.unitDisplay,i=b(b({unitDisplay:void 0===e?"short":e},f()(t,["unitDisplay"])),{},{style:"unit"});return 0===r?_(o,b(b({},i),{},{unit:"second"})):Object(g.sprintf)( +(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[9],{100:function(r,t,e){"use strict";e.d(t,"a",(function(){return p}));var n=e(5),a=e.n(n),o=e(7),i=e.n(o),c=e(16),u=e.n(c),s=e(58);function f(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,n)}return e}function l(r){for(var t=1;t0&&void 0!==c[0]?c[0]:{},e=t.clearAfterRestore,n=void 0===e||e,r.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=r.sent,o=a.cacheHit,i=a.value,!o){r.next=13;break}return r.next=10,{payload:{snapshot:i},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!n){r.next=13;break}return r.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return r.abrupt("return",o);case 14:case"end":return r.stop()}}),r)})),createSnapshot:u.a.mark((function r(){var t;return u.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=r.sent,r.abrupt("return",t);case 4:case"end":return r.stop()}}),r)}))},o=(t={},i()(t,"DELETE_SNAPSHOT",(function(){return Object(d.c)("datastore::cache::".concat(r))})),i()(t,"CREATE_SNAPSHOT",Object(l.createRegistryControl)((function(t){return function(){return Object(d.f)("datastore::cache::".concat(r),t.stores[r].store.getState())}}))),i()(t,"RESTORE_SNAPSHOT",(function(){return Object(d.d)("datastore::cache::".concat(r),g.b)})),t);return{initialState:e,actions:n,controls:o,reducer:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,t=arguments.length>1?arguments[1]:void 0,n=t.type,o=t.payload;switch(n){case"SET_STATE_FROM_SNAPSHOT":var i=o.snapshot,c=(i.error,a()(i,["error"]));return c;default:return r}}}},b=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p.a;return Object.values(r.stores).filter((function(r){return Object.keys(r.getActions()).includes("restoreSnapshot")}))},h=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p.a;return Promise.all(b(r).map((function(r){return r.getActions().createSnapshot()})))},m=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p.a;return Promise.all(b(r).map((function(r){return r.getActions().restoreSnapshot()})))}},2:function(r,t){r.exports=googlesitekit.i18n},29:function(r,t,e){"use strict";e.d(t,"a",(function(){return n}));var n="core/forms"},3:function(r,t){r.exports=googlesitekit.data},34:function(r,t,e){"use strict";(function(r){e.d(t,"a",(function(){return l})),e.d(t,"d",(function(){return m})),e.d(t,"f",(function(){return y})),e.d(t,"c",(function(){return O})),e.d(t,"e",(function(){return j})),e.d(t,"b",(function(){return w}));var n=e(5),a=e.n(n),o=e(16),i=e.n(o),c=(e(27),e(9));function u(r,t){var e="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!e){if(Array.isArray(r)||(e=function(r,t){if(!r)return;if("string"==typeof r)return s(r,t);var e=Object.prototype.toString.call(r).slice(8,-1);"Object"===e&&r.constructor&&(e=r.constructor.name);if("Map"===e||"Set"===e)return Array.from(r);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return s(r,t)}(r))||t&&r&&"number"==typeof r.length){e&&(r=e);var n=0,a=function(){};return{s:a,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(r){throw r},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){e=e.call(r)},n:function(){var r=e.next();return i=r.done,r},e:function(r){c=!0,o=r},f:function(){try{i||null==e.return||e.return()}finally{if(c)throw o}}}}function s(r,t){(null==t||t>r.length)&&(t=r.length);for(var e=0,n=new Array(t);e2&&void 0!==v[2]?v[2]:{},i=o.ttl,u=void 0===i?c.b:i,s=o.timestamp,f=void 0===s?Math.round(Date.now()/1e3):s,l=o.isError,d=void 0!==l&&l,t.next=3,b();case 3:if(!(g=t.sent)){t.next=14;break}return t.prev=5,g.setItem("".concat(p).concat(e),JSON.stringify({timestamp:f,ttl:u,value:n,isError:d})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),r.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(r,e){return t.apply(this,arguments)}}(),O=function(){var t=i()(a.a.mark((function t(e){var n,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}return t.prev=4,o=e.startsWith(l)?e:"".concat(p).concat(e),n.removeItem(o),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),r.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(r){return t.apply(this,arguments)}}(),j=function(){var t=i()(a.a.mark((function t(){var e,n,o,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(e=t.sent)){t.next=14;break}for(t.prev=4,n=[],o=0;o1&&void 0!==arguments[1]?arguments[1]:o;return t instanceof Set&&t.has(r)}}).call(this,e(28))},40:function(r,t,e){"use strict";e.d(t,"a",(function(){return n})),e.d(t,"b",(function(){return a}));var n="_googlesitekitDataLayer",a="data-googlesitekit-gtag"},58:function(r,t,e){"use strict";e.d(t,"a",(function(){return a}));var n=e(40);function a(r){return function(){r[n.a]=r[n.a]||[],r[n.a].push(arguments)}}},65:function(r,t,e){"use strict";e.d(t,"a",(function(){return b})),e.d(t,"b",(function(){return h}));var n=e(7),a=e.n(n),o=e(33),i=e.n(o),c=e(116),u=e(12),s=e.n(u),f=e(93),l=e.n(f),p=e(9);function d(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,n)}return e}function g(r){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:[];return s()(r,"error is required."),s()(t,"baseName is required."),s()(e&&Array.isArray(e),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:r,baseName:t,args:e}}},clearError:function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return s()(r,"baseName is required."),s()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:r,args:t}}},clearErrors:function(r){return{type:"CLEAR_ERRORS",payload:{baseName:r}}}};function h(r){s()(r,"storeName must be defined.");var t={getErrorForSelector:function(r,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return s()(e,"selectorName is required."),t.getError(r,e,n)},getErrorForAction:function(r,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return s()(e,"actionName is required."),t.getError(r,e,n)},getError:function(r,t,e){var n=r.errors;return s()(t,"baseName is required."),n[v(t,e)]},getErrors:function(r){var t=new Set(Object.values(r.errors));return Array.from(t)},getMetaDataForError:function(r,t){var e=Object.keys(r.errors).find((function(e){return r.errors[e]===t}));return e?{baseName:e.substring(0,e.indexOf("::")),args:r.errorArgs[e]}:null},getSelectorDataForError:Object(c.b)((function(t){return function(e,n){var a=t(r).getMetaDataForError(n);if(a){var o=a.baseName,i=a.args;if(!!t(r)[o])return{storeName:r,name:o,args:i}}return null}})),hasErrors:function(r){return t.getErrors(r).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(r,t){var e=t.type,n=t.payload;switch(e){case"RECEIVE_ERROR":var o=n.baseName,i=n.args,c=n.error,u=v(o,i);return g(g({},r),{},{errors:g(g({},r.errors||{}),{},a()({},u,c)),errorArgs:g(g({},r.errorArgs||{}),{},a()({},u,i))});case"CLEAR_ERROR":var s=n.baseName,f=n.args,l=g({},r),p=v(s,f);return l.errors=g({},r.errors||{}),l.errorArgs=g({},r.errorArgs||{}),delete l.errors[p],delete l.errorArgs[p],l;case"CLEAR_ERRORS":var d=n.baseName,b=g({},r);if(d)for(var h in b.errors=g({},r.errors||{}),b.errorArgs=g({},r.errorArgs||{}),b.errors)(h===d||h.startsWith("".concat(d,"::")))&&(delete b.errors[h],delete b.errorArgs[h]);else b.errors={},b.errorArgs={};return b;default:return r}},resolvers:{},selectors:t}}},72:function(r,t,e){"use strict";e.d(t,"a",(function(){return i})),e.d(t,"b",(function(){return c}));var n=e(33),a=e.n(n),o=e(83),i=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:o.a.sanitize(r,t)}};function c(r){var t,e="object"===a()(r)?r.toString():r;return null==e||null===(t=e.replace)||void 0===t?void 0:t.call(e,/\/+$/,"")}},81:function(r,t,e){"use strict";e.d(t,"b",(function(){return a})),e.d(t,"a",(function(){return o})),e.d(t,"c",(function(){return i})),e.d(t,"d",(function(){return c}));var n=e(107);function a(r){try{return new URL(r).pathname}catch(r){}return null}function o(r,t){try{return new URL(t,r).href}catch(r){}return("string"==typeof r?r:"")+("string"==typeof t?t:"")}function i(r){return"string"!=typeof r?r:r.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(r,t){if(!Object(n.a)(r))return r;if(r.length<=t)return r;var e=new URL(r),a=r.replace(e.origin,"");if(a.length1&&void 0!==arguments[1]?arguments[1]:{},e=O(r,t),n=e.formatUnit,a=e.formatDecimal;try{return n()}catch(r){return a()}},m=function(r){var t=y(r),e=t.hours,n=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),n=("0"+n).slice(-2),"00"===(e=("0"+e).slice(-2))?"".concat(n,":").concat(a):"".concat(e,":").concat(n,":").concat(a)},y=function(r){return r=parseInt(r,10),Number.isNaN(r)&&(r=0),{hours:Math.floor(r/60/60),minutes:Math.floor(r/60%60),seconds:Math.floor(r%60)}},O=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=y(r),n=e.hours,a=e.minutes,o=e.seconds;return{hours:n,minutes:a,seconds:o,formatUnit:function(){var e=t.unitDisplay,i=b(b({unitDisplay:void 0===e?"short":e},f()(t,["unitDisplay"])),{},{style:"unit"});return 0===r?_(o,b(b({},i),{},{unit:"second"})):Object(g.sprintf)( /* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ Object(g._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),o?_(o,b(b({},i),{},{unit:"second"})):"",a?_(a,b(b({},i),{},{unit:"minute"})):"",n?_(n,b(b({},i),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(g.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. Object(g.__)("%ds","google-site-kit"),o);if(0===r)return t;var e=Object(g.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. @@ -9,6 +9,6 @@ Object(g._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),o? Object(g.__)("%sM","google-site-kit"),_(j(r),r%10==0?{}:t)):1e4<=r?Object(g.sprintf)(// translators: %s: an abbreviated number in thousands. Object(g.__)("%sK","google-site-kit"),_(j(r))):1e3<=r?Object(g.sprintf)(// translators: %s: an abbreviated number in thousands. Object(g.__)("%sK","google-site-kit"),_(j(r),r%10==0?{}:t)):_(r,{signDisplay:"never",maximumFractionDigits:1})};function S(r){var t={};return"%"===r?t={style:"percent",maximumFractionDigits:2}:"s"===r?t={style:"duration",unitDisplay:"narrow"}:r&&"string"==typeof r?t={style:"currency",currency:r}:Object(l.isPlainObject)(r)&&(t=b({},r)),t}function E(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r=Object(l.isFinite)(r)?r:Number(r),Object(l.isFinite)(r)||(console.warn("Invalid number",r,i()(r)),r=0);var e=S(t),n=e.style,a=void 0===n?"metric":n;return"metric"===a?w(r):"duration"===a?h(r,e):"durationISO"===a?m(r):_(r,e)}var k=d()(console.warn),_=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.locale,n=void 0===e?D():e,o=f()(t,["locale"]);try{return new Intl.NumberFormat(n,o).format(r)}catch(t){k("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(n),", ").concat(JSON.stringify(o)," ).format( ").concat(i()(r)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},u=["signDisplay","compactDisplay"],s={},l=0,p=Object.entries(o);l1&&void 0!==arguments[1]?arguments[1]:{},e=t.locale,n=void 0===e?D():e,a=t.style,o=void 0===a?"long":a,i=t.type,c=void 0===i?"conjunction":i;if(Intl.ListFormat){var u=new Intl.ListFormat(n,{style:o,type:c});return u.format(r)} -/* translators: used between list items, there is a space after the comma. */var s=Object(g.__)(", ","google-site-kit");return r.join(s)},D=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,e=Object(l.get)(t,["_googlesitekitLegacyData","locale"]);if(e){var n=e.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,e(28))},82:function(r,t,e){"use strict";(function(r){e.d(t,"a",(function(){return a}));var n=e(145),a=e.n(n)()(r)}).call(this,e(28))},85:function(r,t,e){"use strict";(function(r){var n=e(1),a=e.n(n),o=e(11),i=e.n(o);function ChangeArrow(t){var e=t.direction,n=t.invertColor,a=t.width,o=t.height;return r.createElement("svg",{className:i()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(e),{"googlesitekit-change-arrow--inverted-color":n}),width:a,height:o,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,e(4))},88:function(r,t,e){"use strict";e.d(t,"a",(function(){return o}));var n=e(12),a=e.n(n),o=function(r,t){var e=t.dateRangeLength;a()(Array.isArray(r),"report must be an array to partition."),a()(Number.isInteger(e)&&e>0,"dateRangeLength must be a positive integer.");var n=-1*e;return{currentRange:r.slice(n),compareRange:r.slice(2*n,n)}}},9:function(r,t,e){"use strict";e.d(t,"J",(function(){return a.b})),e.d(t,"K",(function(){return a.c})),e.d(t,"G",(function(){return o.a})),e.d(t,"L",(function(){return o.b})),e.d(t,"I",(function(){return f})),e.d(t,"n",(function(){return l.a})),e.d(t,"C",(function(){return l.d})),e.d(t,"D",(function(){return l.e})),e.d(t,"z",(function(){return l.c})),e.d(t,"s",(function(){return l.b})),e.d(t,"A",(function(){return v})),e.d(t,"k",(function(){return b})),e.d(t,"j",(function(){return h})),e.d(t,"d",(function(){return S})),e.d(t,"c",(function(){return E})),e.d(t,"e",(function(){return k})),e.d(t,"b",(function(){return _})),e.d(t,"a",(function(){return N})),e.d(t,"g",(function(){return D})),e.d(t,"f",(function(){return A})),e.d(t,"o",(function(){return x})),e.d(t,"x",(function(){return R})),e.d(t,"q",(function(){return P})),e.d(t,"H",(function(){return T})),e.d(t,"t",(function(){return L})),e.d(t,"w",(function(){return I})),e.d(t,"l",(function(){return M})),e.d(t,"p",(function(){return F.b})),e.d(t,"i",(function(){return F.a})),e.d(t,"u",(function(){return C.b})),e.d(t,"r",(function(){return C.a})),e.d(t,"B",(function(){return C.c})),e.d(t,"y",(function(){return H})),e.d(t,"v",(function(){return U})),e.d(t,"F",(function(){return q})),e.d(t,"E",(function(){return V.a})),e.d(t,"h",(function(){return K})),e.d(t,"M",(function(){return z})),e.d(t,"m",(function(){return B}));var n=e(13),a=e(37),o=e(72),i=e(33),c=e.n(i),u=e(92),s=e.n(u),f=function(r){return s()(JSON.stringify(function r(t){var e={};return Object.keys(t).sort().forEach((function(n){var a=t[n];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=r(a)),e[n]=a})),e}(r)))};e(96);var l=e(81);function p(r){return r.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function d(r){return"

".concat(r.replace(/\n{2,}/g,"

"),"

")}function g(r){return r.replace(/\n/gi,"
")}function v(r){for(var t=r,e=0,n=[p,d,g];e0&&void 0!==arguments[0]?arguments[0]:r,e=Object(l.get)(t,["_googlesitekitLegacyData","locale"]);if(e){var n=e.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,e(28))},83:function(r,t,e){"use strict";(function(r){e.d(t,"a",(function(){return a}));var n=e(147),a=e.n(n)()(r)}).call(this,e(28))},86:function(r,t,e){"use strict";(function(r){var n=e(0),a=e.n(n),o=e(11),i=e.n(o);function ChangeArrow(t){var e=t.direction,n=t.invertColor,a=t.width,o=t.height;return r.createElement("svg",{className:i()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(e),{"googlesitekit-change-arrow--inverted-color":n}),width:a,height:o,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,e(4))},89:function(r,t,e){"use strict";e.d(t,"a",(function(){return o}));var n=e(12),a=e.n(n),o=function(r,t){var e=t.dateRangeLength;a()(Array.isArray(r),"report must be an array to partition."),a()(Number.isInteger(e)&&e>0,"dateRangeLength must be a positive integer.");var n=-1*e;return{currentRange:r.slice(n),compareRange:r.slice(2*n,n)}}},9:function(r,t,e){"use strict";e.d(t,"J",(function(){return a.b})),e.d(t,"K",(function(){return a.c})),e.d(t,"G",(function(){return o.a})),e.d(t,"L",(function(){return o.b})),e.d(t,"I",(function(){return f})),e.d(t,"n",(function(){return l.a})),e.d(t,"C",(function(){return l.d})),e.d(t,"D",(function(){return l.e})),e.d(t,"z",(function(){return l.c})),e.d(t,"s",(function(){return l.b})),e.d(t,"A",(function(){return v})),e.d(t,"k",(function(){return b})),e.d(t,"j",(function(){return h})),e.d(t,"d",(function(){return S})),e.d(t,"c",(function(){return E})),e.d(t,"e",(function(){return k})),e.d(t,"b",(function(){return _})),e.d(t,"a",(function(){return N})),e.d(t,"g",(function(){return D})),e.d(t,"f",(function(){return A})),e.d(t,"o",(function(){return x})),e.d(t,"x",(function(){return R})),e.d(t,"q",(function(){return P})),e.d(t,"H",(function(){return T})),e.d(t,"t",(function(){return L})),e.d(t,"w",(function(){return I})),e.d(t,"l",(function(){return M})),e.d(t,"p",(function(){return F.b})),e.d(t,"i",(function(){return F.a})),e.d(t,"u",(function(){return C.b})),e.d(t,"r",(function(){return C.a})),e.d(t,"B",(function(){return C.c})),e.d(t,"y",(function(){return H})),e.d(t,"v",(function(){return U})),e.d(t,"F",(function(){return q})),e.d(t,"E",(function(){return V.a})),e.d(t,"h",(function(){return K})),e.d(t,"M",(function(){return z})),e.d(t,"m",(function(){return B}));var n=e(14),a=e(37),o=e(72),i=e(33),c=e.n(i),u=e(93),s=e.n(u),f=function(r){return s()(JSON.stringify(function r(t){var e={};return Object.keys(t).sort().forEach((function(n){var a=t[n];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=r(a)),e[n]=a})),e}(r)))};e(96);var l=e(82);function p(r){return r.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function d(r){return"

".concat(r.replace(/\n{2,}/g,"

"),"

")}function g(r){return r.replace(/\n/gi,"
")}function v(r){for(var t=r,e=0,n=[p,d,g];e0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(r))return!1;var t=r.split("-");if(3!==t.length)return!1;var e=new Date(r);return Object(n.isDate)(e)&&!isNaN(e)}function P(r){j()(Object(n.isDate)(r)&&!isNaN(r),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(r.getMonth()+1),e="".concat(r.getDate());return[r.getFullYear(),t.length<2?"0".concat(t):t,e.length<2?"0".concat(e):e].join("-")}function T(r){j()(R(r),S);var t=r.split("-"),e=y()(t,3),n=e[0],a=e[1],o=e[2];return new Date(n,a-1,o)}function L(r,t){return P(M(r,t*N))}function I(r){var t=r.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function M(r,t){j()(R(r)||Object(n.isDate)(r)&&!isNaN(r),S);var e=R(r)?Date.parse(r):r.getTime();return new Date(e-1e3*t)}var F=e(97),C=e(80);function H(r){var t=parseFloat(r)||0;return!!Number.isInteger(t)&&t>0}function U(r){if("number"==typeof r)return!0;var t=(r||"").toString();return!!t&&!isNaN(t)}var $=e(27),J=e.n($),q=function(r){return Array.isArray(r)?J()(r).sort():r},V=e(88);function K(r,t){var e=function(r){return"0"===r||0===r};if(e(r)&&e(t))return 0;if(e(r)||Number.isNaN(r))return null;var n=(t-r)/r;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var z=function(r){try{return JSON.parse(r)&&!!r}catch(r){return!1}},B=function(r){if(!r)return"";var t=r.replace(/&#(\d+);/g,(function(r,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(n.unescape)(t)}},96:function(r,t,e){"use strict";(function(r){e(51),e(53)}).call(this,e(28))},97:function(r,t,e){"use strict";(function(r){e.d(t,"b",(function(){return o})),e.d(t,"a",(function(){return i}));var n=e(231),a=e(85),o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var o=e.invertColor,i=void 0!==o&&o;return Object(n.a)(r.createElement(a.a,{direction:t>0?"up":"down",invertColor:i}))},i=function(r,t){return r>0&&t>0?r/t-1:r>0?1:t>0?-1:0}}).call(this,e(4))},98:function(r,t,e){"use strict";(function(r){e.d(t,"a",(function(){return l}));var n=e(7),a=e.n(n),o=e(13),i=e(99),c=e(100);function u(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,n)}return e}function s(r){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,a=s(s({},f),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var u=Object(i.a)(a,e),l=Object(c.a)(a,e,u,n),p={},d=function(){for(var r=arguments.length,t=new Array(r),e=0;e0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(r))return!1;var t=r.split("-");if(3!==t.length)return!1;var e=new Date(r);return Object(n.isDate)(e)&&!isNaN(e)}function P(r){j()(Object(n.isDate)(r)&&!isNaN(r),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(r.getMonth()+1),e="".concat(r.getDate());return[r.getFullYear(),t.length<2?"0".concat(t):t,e.length<2?"0".concat(e):e].join("-")}function T(r){j()(R(r),S);var t=r.split("-"),e=y()(t,3),n=e[0],a=e[1],o=e[2];return new Date(n,a-1,o)}function L(r,t){return P(M(r,t*N))}function I(r){var t=r.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function M(r,t){j()(R(r)||Object(n.isDate)(r)&&!isNaN(r),S);var e=R(r)?Date.parse(r):r.getTime();return new Date(e-1e3*t)}var F=e(97),C=e(81);function H(r){var t=parseFloat(r)||0;return!!Number.isInteger(t)&&t>0}function U(r){if("number"==typeof r)return!0;var t=(r||"").toString();return!!t&&!isNaN(t)}var $=e(27),J=e.n($),q=function(r){return Array.isArray(r)?J()(r).sort():r},V=e(89);function K(r,t){var e=function(r){return"0"===r||0===r};if(e(r)&&e(t))return 0;if(e(r)||Number.isNaN(r))return null;var n=(t-r)/r;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var z=function(r){try{return JSON.parse(r)&&!!r}catch(r){return!1}},B=function(r){if(!r)return"";var t=r.replace(/&#(\d+);/g,(function(r,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(n.unescape)(t)}},96:function(r,t,e){"use strict";(function(r){e(52),e(53)}).call(this,e(28))},97:function(r,t,e){"use strict";(function(r){e.d(t,"b",(function(){return o})),e.d(t,"a",(function(){return i}));var n=e(234),a=e(86),o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var o=e.invertColor,i=void 0!==o&&o;return Object(n.a)(r.createElement(a.a,{direction:t>0?"up":"down",invertColor:i}))},i=function(r,t){return r>0&&t>0?r/t-1:r>0?1:t>0?-1:0}}).call(this,e(4))},98:function(r,t,e){"use strict";(function(r){e.d(t,"a",(function(){return l}));var n=e(7),a=e.n(n),o=e(14),i=e(99),c=e(100);function u(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,n)}return e}function s(r){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,a=s(s({},f),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var u=Object(i.a)(a,e),l=Object(c.a)(a,e,u,n),p={},d=function(){for(var r=arguments.length,t=new Array(r),e=0;e0&&void 0!==arguments[0]?arguments[0]:e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.reduce((function(t,r){return r(t,n)}),t)}},T=O,m=O,S=O,A=function(t){return t},P=function(){for(var t=arguments.length,n=new Array(t),r=0;r=1?r[o]+1:1,r[o]>1&&n.push(o)}return n},G={actions:_,controls:E,reducer:A},I=function(t){return function(n){return D(t(n))}},D=v()((function(t){return Object(g.mapValues)(t,(function(t,n){return function(){var r=t.apply(void 0,arguments);return l()(void 0!==r,"".concat(n,"(...) is not resolved")),r}}))}));function N(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.negate,e=void 0!==r&&r,o=Object(d.b)((function(n){return function(r){var o=!e,c=!!e;try{for(var a=arguments.length,i=new Array(a>1?a-1:0),u=1;u1?e-1:0),c=1;c0&&void 0!==arguments[0]?arguments[0]:e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.reduce((function(t,r){return r(t,n)}),t)}},T=O,m=O,S=O,A=function(t){return t},P=function(){for(var t=arguments.length,n=new Array(t),r=0;r=1?r[o]+1:1,r[o]>1&&n.push(o)}return n},G={actions:_,controls:E,reducer:A},I=function(t){return function(n){return D(t(n))}},D=v()((function(t){return Object(g.mapValues)(t,(function(t,n){return function(){var r=t.apply(void 0,arguments);return l()(void 0!==r,"".concat(n,"(...) is not resolved")),r}}))}));function N(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.negate,e=void 0!==r&&r,o=Object(d.b)((function(n){return function(r){var o=!e,c=!!e;try{for(var a=arguments.length,i=new Array(a>1?a-1:0),u=1;u1?e-1:0),c=1;c0&&void 0!==arguments[0]?arguments[0]:{},t=e.url;d()(Object(ge.a)(t),"a valid url is required to fetch HTML.")},controlCallback:(Oe=u()(f.a.mark((function e(t){var r,n,o,i,a;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.url,n={credentials:"omit"},o={tagverify:1,timestamp:Date.now()},e.next=5,fetch(Object(be.a)(r,o),n);case 5:return i=e.sent,e.prev=6,e.next=9,i.text();case 9:if(""!==(a=e.sent)&&void 0!==a){e.next=12;break}return e.abrupt("return",null);case 12:return e.abrupt("return",a);case 15:return e.prev=15,e.t0=e.catch(6),e.abrupt("return",null);case 18:case"end":return e.stop()}}),e,null,[[6,15]])}))),function(e){return Oe.apply(this,arguments)}),reducerCallback:function(e,t,r){var n=r.url;return me(me({},e),{},{htmlForURL:me(me({},e.htmlForURL),{},c()({},n,t))})}}),Se={resetHTMLForURL:f.a.mark((function e(t){var r,n;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.commonActions.getRegistry();case 2:return r=e.sent,n=r.dispatch,e.next=6,{payload:{url:t},type:"RESET_HTML_FOR_URL"};case 6:return e.abrupt("return",n(S.c).invalidateResolutionForStoreSelector("getHTMLForURL"));case 7:case"end":return e.stop()}}),e)})),checkForSetupTag:f.a.mark((function e(){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CHECK_FOR_SETUP_TAG"};case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))},Ee=c()({},"CHECK_FOR_SETUP_TAG",Object(o.createRegistryControl)((function(e){return u()(f.a.mark((function t(){var r,n,o,i,a,c,s,u;return f.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=!1,t.prev=1,t.next=4,h.a.set("core","site","setup-tag");case 4:return a=t.sent,o=a.token,t.next=8,e.select(S.c).getHomeURL();case 8:return c=t.sent,t.next=11,e.dispatch(S.c).fetchGetHTMLForURL(c);case 11:s=t.sent,n=s.response,r=s.error,t.next=19;break;case 16:t.prev=16,t.t0=t.catch(1),r="check_fetch_failed";case 19:return r||(u=Object(ve.a)(n,[/0&&void 0!==arguments[0]?arguments[0]:{},t=e.notificationID,r=e.notificationState;d()([nt,ot].includes(r),"notificationState must be accepted or dismissed."),d()(it(t),"a valid notification ID is required to mark a notification.")}}),ct={acceptNotification:Object(tt.f)((function(e){d()(it(e),"a valid notification ID is required to accept a notification.")}),f.a.mark((function e(t){var r,n,o;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,at.actions.fetchMarkNotification({notificationID:t,notificationState:nt});case 2:if(r=e.sent,n=r.response,!(o=r.error)){e.next=8;break}return e.next=8,rt.a.receiveError(o,"acceptNotification",[t]);case 8:return e.abrupt("return",{response:n,error:o});case 9:case"end":return e.stop()}}),e)}))),dismissNotification:Object(tt.f)((function(e){d()(it(e),"a valid notification ID is required to dismiss a notification.")}),f.a.mark((function e(t){var r,n,o;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,at.actions.fetchMarkNotification({notificationID:t,notificationState:ot});case 2:if(r=e.sent,n=r.response,!(o=r.error)){e.next=8;break}return e.next=8,rt.a.receiveError(o,"dismissNotification",[t]);case 8:return e.abrupt("return",{response:n,error:o});case 9:case"end":return e.stop()}}),e)})))},st=Object(o.combineStores)(Object(et.a)("core","site","notifications",{storeName:S.c}),at,{actions:ct}),ut=Object(o.combineStores)(o.commonStore,_,T.a,q,X,de,we,Pe.b,Xe,Te,xe.a,Ve,We,st,m,Object(rt.b)(S.c));ut.initialState,ut.actions,ut.controls,ut.reducer,ut.resolvers,ut.selectors;i.a.registerStore(S.c,ut)},14:function(e,t,r){"use strict";r.d(t,"c",(function(){return n})),r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return i}));var n="core/site",o="primary",i="secondary"},176:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(365);function o(e){return Object(n.a)(e)}},19:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return o}));var n="core/modules",o="insufficient_module_dependencies"},2:function(e,t){e.exports=googlesitekit.i18n},263:function(e,t,r){"use strict";(function(e){var n=r(55),o=r.n(n),i=r(264),a=e._googlesitekitAPIFetchData||{},c=a.nonce,s=a.nonceEndpoint,u=a.preloadedData,l=a.rootURL;o.a.nonceEndpoint=s,o.a.nonceMiddleware=o.a.createNonceMiddleware(c),o.a.rootURLMiddleware=o.a.createRootURLMiddleware(l),o.a.preloadingMiddleware=Object(i.a)(u),o.a.use(o.a.nonceMiddleware),o.a.use(o.a.mediaUploadMiddleware),o.a.use(o.a.rootURLMiddleware),o.a.use(o.a.preloadingMiddleware),t.default=o.a}).call(this,r(28))},264:function(e,t,r){"use strict";var n=r(250);t.a=function(e){var t=Object.keys(e).reduce((function(t,r){return t[Object(n.getStablePath)(r)]=e[r],t}),{}),r=!1;return function(e,o){if(r)return o(e);setTimeout((function(){r=!0}),3e3);var i=e.parse,a=void 0===i||i,c=e.path;if("string"==typeof e.path){var s,u=(null===(s=e.method)||void 0===s?void 0:s.toUpperCase())||"GET",l=Object(n.getStablePath)(c);if(a&&"GET"===u&&t[l]){var f=Promise.resolve(t[l].body);return delete t[l],f}if("OPTIONS"===u&&t[u]&&t[u][l]){var p=Promise.resolve(t[u][l]);return delete t[u][l],p}}return o(e)}}},3:function(e,t){e.exports=googlesitekit.data},34:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return f})),r.d(t,"d",(function(){return m})),r.d(t,"f",(function(){return O})),r.d(t,"c",(function(){return h})),r.d(t,"e",(function(){return S})),r.d(t,"b",(function(){return E}));var n=r(5),o=r.n(n),i=r(15),a=r.n(i),c=(r(27),r(9));function s(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){c=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&void 0!==b[2]?b[2]:{},a=i.ttl,s=void 0===a?c.b:a,u=i.timestamp,l=void 0===u?Math.round(Date.now()/1e3):u,f=i.isError,d=void 0!==f&&f,t.next=3,v();case 3:if(!(g=t.sent)){t.next=14;break}return t.prev=5,g.setItem("".concat(p).concat(r),JSON.stringify({timestamp:l,ttl:s,value:n,isError:d})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,r){return t.apply(this,arguments)}}(),h=function(){var t=a()(o.a.mark((function t(r){var n,i;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(n=t.sent)){t.next=14;break}return t.prev=4,i=r.startsWith(f)?r:"".concat(p).concat(r),n.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),S=function(){var t=a()(o.a.mark((function t(){var r,n,i,a;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(r=t.sent)){t.next=14;break}for(t.prev=4,n=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,r(28))},44:function(e,t){e.exports=googlesitekit.api},48:function(e,t,r){"use strict";r.d(t,"a",(function(){return h}));var n=r(5),o=r.n(n),i=r(7),a=r.n(i),c=r(12),s=r.n(c),u=r(13),l=r(65),f=r(79),p=r(9);function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t1?r-1:0),o=1;o3&&void 0!==arguments[3]?arguments[3]:{},c=i.client,u=void 0===c||c,d=i.server,b=void 0===d||d,v=i.storeName,y=void 0===v?void 0:v;s()(t,"type is required."),s()(r,"identifier is required."),s()(n,"datapoint is required.");var m=y||"".concat(t,"/").concat(r),O={serverNotifications:b?void 0:{},clientNotifications:u?void 0:{}},h=Object(p.a)({baseName:"getNotifications",controlCallback:function(){return l.a.get(t,r,n)},reducerCallback:function(e,t){return g(g({},e),{},{serverNotifications:t.reduce((function(e,t){return g(g({},e),{},a()({},t.id,t))}),{})})}}),S={addNotification:function(e){return s()(e,"notification is required."),{payload:{notification:e},type:"ADD_NOTIFICATION"}},removeNotification:function(e){return s()(e,"id is required."),{payload:{id:e},type:"REMOVE_NOTIFICATION"}}},E={},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O,r=arguments.length>1?arguments[1]:void 0,n=r.type,o=r.payload;switch(n){case"ADD_NOTIFICATION":var i=o.notification;return g(g({},t),{},{clientNotifications:g(g({},t.clientNotifications||{}),{},a()({},i.id,i))});case"REMOVE_NOTIFICATION":var c=o.id;if(void 0===t.clientNotifications||void 0===t.clientNotifications[c])return void 0!==t.serverNotifications&&void 0!==t.serverNotifications[c]&&e.console.warn('Cannot remove server-side notification with ID "'.concat(c,'"; this may be changed in a future release.')),t;var s=g({},t.clientNotifications);return delete s[c],g(g({},t),{},{clientNotifications:s});default:return t}},k={getNotifications:o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,t.select(m).getNotifications()){e.next=7;break}return e.next=7,h.actions.fetchGetNotifications();case 7:case"end":return e.stop()}}),e)}))};b||delete k.getNotifications;var w={getNotifications:function(e){var t=e.serverNotifications,r=e.clientNotifications;return void 0===t&&void 0===r?t:Object.values(g(g({},t||{}),r||{}))}},P=Object(f.combineStores)(h,{initialState:O,actions:S,controls:E,reducer:j,resolvers:k,selectors:w});return g(g({},P),{},{STORE_NAME:m})}}).call(this,r(28))},57:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(39);function o(e){return function(){e[n.a]=e[n.a]||[],e[n.a].push(arguments)}}},6:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return o})),r.d(t,"e",(function(){return i})),r.d(t,"d",(function(){return a})),r.d(t,"c",(function(){return c})),r.d(t,"H",(function(){return s})),r.d(t,"M",(function(){return u})),r.d(t,"O",(function(){return l})),r.d(t,"K",(function(){return f})),r.d(t,"L",(function(){return p})),r.d(t,"J",(function(){return d})),r.d(t,"I",(function(){return g})),r.d(t,"N",(function(){return b})),r.d(t,"f",(function(){return v})),r.d(t,"g",(function(){return y})),r.d(t,"h",(function(){return m})),r.d(t,"j",(function(){return O})),r.d(t,"l",(function(){return h})),r.d(t,"m",(function(){return S})),r.d(t,"n",(function(){return E})),r.d(t,"o",(function(){return j})),r.d(t,"q",(function(){return k})),r.d(t,"s",(function(){return w})),r.d(t,"r",(function(){return P})),r.d(t,"t",(function(){return R})),r.d(t,"w",(function(){return A})),r.d(t,"u",(function(){return C})),r.d(t,"v",(function(){return _})),r.d(t,"x",(function(){return T})),r.d(t,"y",(function(){return x})),r.d(t,"A",(function(){return N})),r.d(t,"B",(function(){return L})),r.d(t,"C",(function(){return I})),r.d(t,"D",(function(){return M})),r.d(t,"k",(function(){return D})),r.d(t,"F",(function(){return U})),r.d(t,"z",(function(){return F})),r.d(t,"G",(function(){return B})),r.d(t,"E",(function(){return G})),r.d(t,"i",(function(){return V})),r.d(t,"p",(function(){return K})),r.d(t,"Q",(function(){return q})),r.d(t,"P",(function(){return H}));var n="core/user",o="connected_url_mismatch",i="__global",a="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",f="googlesitekit_manage_options",p="googlesitekit_read_shared_module_data",d="googlesitekit_manage_module_sharing_options",g="googlesitekit_delegate_module_sharing_management",b="googlesitekit_update_plugins",v="kmAnalyticsAdSenseTopEarningContent",y="kmAnalyticsEngagedTrafficSource",m="kmAnalyticsLeastEngagingPages",O="kmAnalyticsNewVisitors",h="kmAnalyticsPopularAuthors",S="kmAnalyticsPopularContent",E="kmAnalyticsPopularProducts",j="kmAnalyticsReturningVisitors",k="kmAnalyticsTopCities",w="kmAnalyticsTopCitiesDrivingLeads",P="kmAnalyticsTopCitiesDrivingAddToCart",R="kmAnalyticsTopCitiesDrivingPurchases",A="kmAnalyticsTopDeviceDrivingPurchases",C="kmAnalyticsTopConvertingTrafficSource",_="kmAnalyticsTopCountries",T="kmAnalyticsTopPagesDrivingLeads",x="kmAnalyticsTopRecentTrendingPages",N="kmAnalyticsTopTrafficSource",L="kmAnalyticsTopTrafficSourceDrivingAddToCart",I="kmAnalyticsTopTrafficSourceDrivingLeads",M="kmAnalyticsTopTrafficSourceDrivingPurchases",D="kmAnalyticsPagesPerVisit",U="kmAnalyticsVisitLength",F="kmAnalyticsTopReturningVisitorPages",B="kmSearchConsolePopularKeywords",G="kmAnalyticsVisitsPerVisitor",V="kmAnalyticsMostEngagingPages",K="kmAnalyticsTopCategories",q=[v,y,m,O,h,S,E,j,K,k,w,P,R,A,C,_,x,N,L,D,U,F,G,V,K],H=[].concat(q,[B])},61:function(e,t,r){"use strict";r.d(t,"a",(function(){return P})),r.d(t,"b",(function(){return R})),r.d(t,"c",(function(){return A})),r.d(t,"d",(function(){return _})),r.d(t,"e",(function(){return T})),r.d(t,"g",(function(){return N})),r.d(t,"f",(function(){return L}));var n,o=r(5),i=r.n(o),a=r(27),c=r.n(a),s=r(7),u=r.n(s),l=r(12),f=r.n(l),p=r(60),d=r.n(p),g=r(13),b=r(114);function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.reduce((function(e,r){return r(e,t)}),e)}},E=m,j=m,k=m,w=function(e){return e},P=function(){for(var e=arguments.length,t=new Array(e),r=0;r=1?r[o]+1:1,r[o]>1&&t.push(o)}return t},_={actions:R,controls:A,reducer:w},T=function(e){return function(t){return x(e(t))}},x=d()((function(e){return Object(g.mapValues)(e,(function(e,t){return function(){var r=e.apply(void 0,arguments);return f()(void 0!==r,"".concat(t,"(...) is not resolved")),r}}))}));function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.negate,n=void 0!==r&&r,o=Object(b.b)((function(t){return function(r){var o=!n,i=!!n;try{for(var a=arguments.length,c=new Array(a>1?a-1:0),s=1;s1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:{},o=e(m.c).getSiteInfo()||{},i=o.adminURL;if(void 0===i||void 0===r)return i;var c="/"===i[i.length-1]?i:"".concat(i,"/"),s=r,u="admin.php";if(-1!==r.indexOf(".php?")){var l=r.split("?");if(!(s=g.a.parse(l.pop()).page))return i;u=l.shift()}n.page;var f=a()(n,["page"]);return Object(b.a)("".concat(c).concat(u),E({page:s},f))}})),getAMPMode:j("ampMode"),getCurrentEntityID:j("currentEntityID"),getCurrentEntityTitle:j("currentEntityTitle"),getCurrentEntityType:j("currentEntityType"),getCurrentEntityURL:j("currentEntityURL"),getHomeURL:j("homeURL"),getReferenceSiteURL:j("referenceSiteURL"),getProxySetupURL:j("proxySetupURL"),getProxyPermissionsURL:j("proxyPermissionsURL"),getCurrentReferenceURL:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getCurrentEntityURL();return null!==t?t:e(m.c).getReferenceSiteURL()}})),isAMP:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getAMPMode();if(void 0!==t)return!!t}})),isPrimaryAMP:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getAMPMode();if(void 0!==t)return t===m.a}})),isSecondaryAMP:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getAMPMode();if(void 0!==t)return t===m.b}})),getTimezone:j("timezone"),isUsingProxy:j("usingProxy"),getSiteName:j("siteName"),getSetupErrorCode:j("setupErrorCode"),getSetupErrorMessage:j("setupErrorMessage"),getSetupErrorRedoURL:j("setupErrorRedoURL"),getProxySupportLinkURL:j("proxySupportLinkURL"),getWidgetsAdminURL:j("widgetsAdminURL"),getPostTypes:j("postTypes"),getPermaLinkParam:function(t){if(t.permaLink)return t.permaLink;var r=Object(v.a)(e.location.href,"permaLink");return r||!1},isWebStoriesActive:j("webStoriesActive"),isSiteURLMatch:Object(y.createRegistrySelector)((function(e){return function(t,r){var n=e(m.c).getReferenceSiteURL();return Object(O.B)(n)===Object(O.B)(r)}})),getSiteURLPermutations:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getReferenceSiteURL(),r=[],n=new URL(t);return n.hostname=n.hostname.replace(/^www\./i,""),n.protocol="http",r.push(Object(O.L)(n)),n.protocol="https",r.push(Object(O.L)(n)),n.hostname="www."+n.hostname,r.push(Object(O.L)(n)),n.protocol="http",r.push(Object(O.L)(n)),r}})),getWPVersion:j("wpVersion"),getUpdateCoreURL:j("updateCoreURL"),hasChangePluginAutoUpdatesCapacity:j("changePluginAutoUpdatesCapacity"),getSiteKitAutoUpdatesEnabled:j("siteKitAutoUpdatesEnabled"),getPluginBasename:j("pluginBasename"),getKeyMetricsSetupCompletedBy:j("keyMetricsSetupCompletedBy"),getKeyMetricsSetupNew:j("keyMetricsSetupNew"),hasMinimumWordPressVersion:Object(y.createRegistrySelector)((function(e){return function(t,r){p()(r,"minimumWPVersion is required.");var n=e(m.c).getWPVersion()||{},i=n.major,a=n.minor;if(void 0!==i&&void 0!==a){var c=r.split(".").map((function(e){return parseInt(e,10)})),s=o()(c,2),u=s[0],l=s[1];return u2&&void 0!==arguments[2]?arguments[2]:[];return u()(e,"error is required."),u()(t,"baseName is required."),u()(r&&Array.isArray(r),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:e,baseName:t,args:r}}},clearError:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return u()(e,"baseName is required."),u()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:e,args:t}}},clearErrors:function(e){return{type:"CLEAR_ERRORS",payload:{baseName:e}}}};function y(e){u()(e,"storeName must be defined.");var t={getErrorForSelector:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"selectorName is required."),t.getError(e,r,n)},getErrorForAction:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"actionName is required."),t.getError(e,r,n)},getError:function(e,t,r){var n=e.errors;return u()(t,"baseName is required."),n[b(t,r)]},getErrors:function(e){var t=new Set(Object.values(e.errors));return Array.from(t)},getMetaDataForError:function(e,t){var r=Object.keys(e.errors).find((function(r){return e.errors[r]===t}));return r?{baseName:r.substring(0,r.indexOf("::")),args:e.errorArgs[r]}:null},getSelectorDataForError:Object(c.b)((function(t){return function(r,n){var o=t(e).getMetaDataForError(n);if(o){var i=o.baseName,a=o.args;if(!!t(e)[i])return{storeName:e,name:i,args:a}}return null}})),hasErrors:function(e){return t.getErrors(e).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:v,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"RECEIVE_ERROR":var i=n.baseName,a=n.args,c=n.error,s=b(i,a);return g(g({},e),{},{errors:g(g({},e.errors||{}),{},o()({},s,c)),errorArgs:g(g({},e.errorArgs||{}),{},o()({},s,a))});case"CLEAR_ERROR":var u=n.baseName,l=n.args,f=g({},e),p=b(u,l);return f.errors=g({},e.errors||{}),f.errorArgs=g({},e.errorArgs||{}),delete f.errors[p],delete f.errorArgs[p],f;case"CLEAR_ERRORS":var d=n.baseName,v=g({},e);if(d)for(var y in v.errors=g({},e.errors||{}),v.errorArgs=g({},e.errorArgs||{}),v.errors)(y===d||y.startsWith("".concat(d,"::")))&&(delete v.errors[y],delete v.errorArgs[y]);else v.errors={},v.errorArgs={};return v;default:return e}},resolvers:{},selectors:t}}},72:function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return c}));var n=r(33),o=r.n(n),i=r(82),a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,r="object"===o()(e)?e.toString():e;return null==r||null===(t=r.replace)||void 0===t?void 0:t.call(r,/\/+$/,"")}},79:function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"a",(function(){return o})),r.d(t,"c",(function(){return i}));var n=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},o=function(e){return e.replace(/([a-z0-9]{1})([A-Z]{1})/g,"$1_$2").toUpperCase()};function i(e){return e.split("-").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}},80:function(e,t,r){"use strict";r.d(t,"b",(function(){return o})),r.d(t,"a",(function(){return i})),r.d(t,"c",(function(){return a})),r.d(t,"d",(function(){return c}));var n=r(107);function o(e){try{return new URL(e).pathname}catch(e){}return null}function i(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function a(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(e,t){if(!Object(n.a)(e))return e;if(e.length<=t)return e;var r=new URL(e),o=e.replace(r.origin,"");if(o.length1&&void 0!==arguments[1]?arguments[1]:{},r=h(e,t),n=r.formatUnit,o=r.formatDecimal;try{return n()}catch(e){return o()}},m=function(e){var t=O(e),r=t.hours,n=t.minutes,o=t.seconds;return o=("0"+o).slice(-2),n=("0"+n).slice(-2),"00"===(r=("0"+r).slice(-2))?"".concat(n,":").concat(o):"".concat(r,":").concat(n,":").concat(o)},O=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=O(e),n=r.hours,o=r.minutes,i=r.seconds;return{hours:n,minutes:o,seconds:i,formatUnit:function(){var r=t.unitDisplay,a=v(v({unitDisplay:void 0===r?"short":r},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?P(i,v(v({},a),{},{unit:"second"})):Object(g.sprintf)( +(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[11],{100:function(e,t,r){"use strict";r.d(t,"a",(function(){return p}));var n=r(5),o=r.n(n),i=r(7),a=r.n(i),c=r(16),s=r.n(c),u=r(58);function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.url;d()(Object(ge.a)(t),"a valid url is required to fetch HTML.")},controlCallback:(Oe=u()(f.a.mark((function e(t){var r,n,o,i,a;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.url,n={credentials:"omit"},o={tagverify:1,timestamp:Date.now()},e.next=5,fetch(Object(ve.a)(r,o),n);case 5:return i=e.sent,e.prev=6,e.next=9,i.text();case 9:if(""!==(a=e.sent)&&void 0!==a){e.next=12;break}return e.abrupt("return",null);case 12:return e.abrupt("return",a);case 15:return e.prev=15,e.t0=e.catch(6),e.abrupt("return",null);case 18:case"end":return e.stop()}}),e,null,[[6,15]])}))),function(e){return Oe.apply(this,arguments)}),reducerCallback:function(e,t,r){var n=r.url;return me(me({},e),{},{htmlForURL:me(me({},e.htmlForURL),{},c()({},n,t))})}}),Se={resetHTMLForURL:f.a.mark((function e(t){var r,n;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.commonActions.getRegistry();case 2:return r=e.sent,n=r.dispatch,e.next=6,{payload:{url:t},type:"RESET_HTML_FOR_URL"};case 6:return e.abrupt("return",n(S.c).invalidateResolutionForStoreSelector("getHTMLForURL"));case 7:case"end":return e.stop()}}),e)})),checkForSetupTag:f.a.mark((function e(){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CHECK_FOR_SETUP_TAG"};case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))},Ee=c()({},"CHECK_FOR_SETUP_TAG",Object(o.createRegistryControl)((function(e){return u()(f.a.mark((function t(){var r,n,o,i,a,c,s,u;return f.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=!1,t.prev=1,t.next=4,h.a.set("core","site","setup-tag");case 4:return a=t.sent,o=a.token,t.next=8,e.select(S.c).getHomeURL();case 8:return c=t.sent,t.next=11,e.dispatch(S.c).fetchGetHTMLForURL(c);case 11:s=t.sent,n=s.response,r=s.error,t.next=19;break;case 16:t.prev=16,t.t0=t.catch(1),r="check_fetch_failed";case 19:return r||(u=Object(be.a)(n,[/0&&void 0!==arguments[0]?arguments[0]:{},t=e.notificationID,r=e.notificationState;d()([nt,ot].includes(r),"notificationState must be accepted or dismissed."),d()(it(t),"a valid notification ID is required to mark a notification.")}}),ct={acceptNotification:Object(tt.f)((function(e){d()(it(e),"a valid notification ID is required to accept a notification.")}),f.a.mark((function e(t){var r,n,o;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,at.actions.fetchMarkNotification({notificationID:t,notificationState:nt});case 2:if(r=e.sent,n=r.response,!(o=r.error)){e.next=8;break}return e.next=8,rt.a.receiveError(o,"acceptNotification",[t]);case 8:return e.abrupt("return",{response:n,error:o});case 9:case"end":return e.stop()}}),e)}))),dismissNotification:Object(tt.f)((function(e){d()(it(e),"a valid notification ID is required to dismiss a notification.")}),f.a.mark((function e(t){var r,n,o;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,at.actions.fetchMarkNotification({notificationID:t,notificationState:ot});case 2:if(r=e.sent,n=r.response,!(o=r.error)){e.next=8;break}return e.next=8,rt.a.receiveError(o,"dismissNotification",[t]);case 8:return e.abrupt("return",{response:n,error:o});case 9:case"end":return e.stop()}}),e)})))},st=Object(o.combineStores)(Object(et.a)("core","site","notifications",{storeName:S.c}),at,{actions:ct}),ut=Object(o.combineStores)(o.commonStore,_,T.a,q,X,de,we,Re.b,Xe,Te,xe.a,Ve,We,st,m,Object(rt.b)(S.c));ut.initialState,ut.actions,ut.controls,ut.reducer,ut.resolvers,ut.selectors;i.a.registerStore(S.c,ut)},13:function(e,t,r){"use strict";r.d(t,"c",(function(){return n})),r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return i}));var n="core/site",o="primary",i="secondary"},177:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(368);function o(e){return Object(n.a)(e)}},19:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return o}));var n="core/modules",o="insufficient_module_dependencies"},2:function(e,t){e.exports=googlesitekit.i18n},268:function(e,t,r){"use strict";(function(e){var n=r(55),o=r.n(n),i=r(269),a=e._googlesitekitAPIFetchData||{},c=a.nonce,s=a.nonceEndpoint,u=a.preloadedData,l=a.rootURL;o.a.nonceEndpoint=s,o.a.nonceMiddleware=o.a.createNonceMiddleware(c),o.a.rootURLMiddleware=o.a.createRootURLMiddleware(l),o.a.preloadingMiddleware=Object(i.a)(u),o.a.use(o.a.nonceMiddleware),o.a.use(o.a.mediaUploadMiddleware),o.a.use(o.a.rootURLMiddleware),o.a.use(o.a.preloadingMiddleware),t.default=o.a}).call(this,r(28))},269:function(e,t,r){"use strict";var n=r(256);t.a=function(e){var t=Object.keys(e).reduce((function(t,r){return t[Object(n.getStablePath)(r)]=e[r],t}),{}),r=!1;return function(e,o){if(r)return o(e);setTimeout((function(){r=!0}),3e3);var i=e.parse,a=void 0===i||i,c=e.path;if("string"==typeof e.path){var s,u=(null===(s=e.method)||void 0===s?void 0:s.toUpperCase())||"GET",l=Object(n.getStablePath)(c);if(a&&"GET"===u&&t[l]){var f=Promise.resolve(t[l].body);return delete t[l],f}if("OPTIONS"===u&&t[u]&&t[u][l]){var p=Promise.resolve(t[u][l]);return delete t[u][l],p}}return o(e)}}},3:function(e,t){e.exports=googlesitekit.data},34:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return f})),r.d(t,"d",(function(){return m})),r.d(t,"f",(function(){return O})),r.d(t,"c",(function(){return h})),r.d(t,"e",(function(){return S})),r.d(t,"b",(function(){return E}));var n=r(5),o=r.n(n),i=r(16),a=r.n(i),c=(r(27),r(9));function s(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){c=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&void 0!==v[2]?v[2]:{},a=i.ttl,s=void 0===a?c.b:a,u=i.timestamp,l=void 0===u?Math.round(Date.now()/1e3):u,f=i.isError,d=void 0!==f&&f,t.next=3,b();case 3:if(!(g=t.sent)){t.next=14;break}return t.prev=5,g.setItem("".concat(p).concat(r),JSON.stringify({timestamp:l,ttl:s,value:n,isError:d})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,r){return t.apply(this,arguments)}}(),h=function(){var t=a()(o.a.mark((function t(r){var n,i;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}return t.prev=4,i=r.startsWith(f)?r:"".concat(p).concat(r),n.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),S=function(){var t=a()(o.a.mark((function t(){var r,n,i,a;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(r=t.sent)){t.next=14;break}for(t.prev=4,n=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,r(28))},40:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return o}));var n="_googlesitekitDataLayer",o="data-googlesitekit-gtag"},44:function(e,t){e.exports=googlesitekit.api},48:function(e,t,r){"use strict";r.d(t,"a",(function(){return h}));var n=r(5),o=r.n(n),i=r(7),a=r.n(i),c=r(12),s=r.n(c),u=r(14),l=r(65),f=r(80),p=r(9);function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t1?r-1:0),o=1;o3&&void 0!==arguments[3]?arguments[3]:{},c=i.client,u=void 0===c||c,d=i.server,v=void 0===d||d,b=i.storeName,y=void 0===b?void 0:b;s()(t,"type is required."),s()(r,"identifier is required."),s()(n,"datapoint is required.");var m=y||"".concat(t,"/").concat(r),O={serverNotifications:v?void 0:{},clientNotifications:u?void 0:{}},h=Object(p.a)({baseName:"getNotifications",controlCallback:function(){return l.a.get(t,r,n)},reducerCallback:function(e,t){return g(g({},e),{},{serverNotifications:t.reduce((function(e,t){return g(g({},e),{},a()({},t.id,t))}),{})})}}),S={addNotification:function(e){return s()(e,"notification is required."),{payload:{notification:e},type:"ADD_NOTIFICATION"}},removeNotification:function(e){return s()(e,"id is required."),{payload:{id:e},type:"REMOVE_NOTIFICATION"}}},E={},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O,r=arguments.length>1?arguments[1]:void 0,n=r.type,o=r.payload;switch(n){case"ADD_NOTIFICATION":var i=o.notification;return g(g({},t),{},{clientNotifications:g(g({},t.clientNotifications||{}),{},a()({},i.id,i))});case"REMOVE_NOTIFICATION":var c=o.id;if(void 0===t.clientNotifications||void 0===t.clientNotifications[c])return void 0!==t.serverNotifications&&void 0!==t.serverNotifications[c]&&e.console.warn('Cannot remove server-side notification with ID "'.concat(c,'"; this may be changed in a future release.')),t;var s=g({},t.clientNotifications);return delete s[c],g(g({},t),{},{clientNotifications:s});default:return t}},k={getNotifications:o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,t.select(m).getNotifications()){e.next=7;break}return e.next=7,h.actions.fetchGetNotifications();case 7:case"end":return e.stop()}}),e)}))};v||delete k.getNotifications;var w={getNotifications:function(e){var t=e.serverNotifications,r=e.clientNotifications;return void 0===t&&void 0===r?t:Object.values(g(g({},t||{}),r||{}))}},R=Object(f.combineStores)(h,{initialState:O,actions:S,controls:E,reducer:j,resolvers:k,selectors:w});return g(g({},R),{},{STORE_NAME:m})}}).call(this,r(28))},58:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(40);function o(e){return function(){e[n.a]=e[n.a]||[],e[n.a].push(arguments)}}},6:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return o})),r.d(t,"e",(function(){return i})),r.d(t,"d",(function(){return a})),r.d(t,"c",(function(){return c})),r.d(t,"H",(function(){return s})),r.d(t,"M",(function(){return u})),r.d(t,"O",(function(){return l})),r.d(t,"K",(function(){return f})),r.d(t,"L",(function(){return p})),r.d(t,"J",(function(){return d})),r.d(t,"I",(function(){return g})),r.d(t,"N",(function(){return v})),r.d(t,"f",(function(){return b})),r.d(t,"g",(function(){return y})),r.d(t,"h",(function(){return m})),r.d(t,"j",(function(){return O})),r.d(t,"l",(function(){return h})),r.d(t,"m",(function(){return S})),r.d(t,"n",(function(){return E})),r.d(t,"o",(function(){return j})),r.d(t,"q",(function(){return k})),r.d(t,"s",(function(){return w})),r.d(t,"r",(function(){return R})),r.d(t,"t",(function(){return P})),r.d(t,"w",(function(){return A})),r.d(t,"u",(function(){return C})),r.d(t,"v",(function(){return _})),r.d(t,"x",(function(){return T})),r.d(t,"y",(function(){return x})),r.d(t,"A",(function(){return L})),r.d(t,"B",(function(){return N})),r.d(t,"C",(function(){return I})),r.d(t,"D",(function(){return M})),r.d(t,"k",(function(){return D})),r.d(t,"F",(function(){return U})),r.d(t,"z",(function(){return F})),r.d(t,"G",(function(){return B})),r.d(t,"E",(function(){return G})),r.d(t,"i",(function(){return V})),r.d(t,"p",(function(){return K})),r.d(t,"Q",(function(){return q})),r.d(t,"P",(function(){return H}));var n="core/user",o="connected_url_mismatch",i="__global",a="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",f="googlesitekit_manage_options",p="googlesitekit_read_shared_module_data",d="googlesitekit_manage_module_sharing_options",g="googlesitekit_delegate_module_sharing_management",v="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",y="kmAnalyticsEngagedTrafficSource",m="kmAnalyticsLeastEngagingPages",O="kmAnalyticsNewVisitors",h="kmAnalyticsPopularAuthors",S="kmAnalyticsPopularContent",E="kmAnalyticsPopularProducts",j="kmAnalyticsReturningVisitors",k="kmAnalyticsTopCities",w="kmAnalyticsTopCitiesDrivingLeads",R="kmAnalyticsTopCitiesDrivingAddToCart",P="kmAnalyticsTopCitiesDrivingPurchases",A="kmAnalyticsTopDeviceDrivingPurchases",C="kmAnalyticsTopConvertingTrafficSource",_="kmAnalyticsTopCountries",T="kmAnalyticsTopPagesDrivingLeads",x="kmAnalyticsTopRecentTrendingPages",L="kmAnalyticsTopTrafficSource",N="kmAnalyticsTopTrafficSourceDrivingAddToCart",I="kmAnalyticsTopTrafficSourceDrivingLeads",M="kmAnalyticsTopTrafficSourceDrivingPurchases",D="kmAnalyticsPagesPerVisit",U="kmAnalyticsVisitLength",F="kmAnalyticsTopReturningVisitorPages",B="kmSearchConsolePopularKeywords",G="kmAnalyticsVisitsPerVisitor",V="kmAnalyticsMostEngagingPages",K="kmAnalyticsTopCategories",q=[b,y,m,O,h,S,E,j,K,k,w,R,P,A,C,_,x,L,N,D,U,F,G,V,K],H=[].concat(q,[B])},61:function(e,t,r){"use strict";r.d(t,"a",(function(){return R})),r.d(t,"b",(function(){return P})),r.d(t,"c",(function(){return A})),r.d(t,"d",(function(){return _})),r.d(t,"e",(function(){return T})),r.d(t,"g",(function(){return L})),r.d(t,"f",(function(){return N}));var n,o=r(5),i=r.n(o),a=r(27),c=r.n(a),s=r(7),u=r.n(s),l=r(12),f=r.n(l),p=r(60),d=r.n(p),g=r(14),v=r(116);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.reduce((function(e,r){return r(e,t)}),e)}},E=m,j=m,k=m,w=function(e){return e},R=function(){for(var e=arguments.length,t=new Array(e),r=0;r=1?r[o]+1:1,r[o]>1&&t.push(o)}return t},_={actions:P,controls:A,reducer:w},T=function(e){return function(t){return x(e(t))}},x=d()((function(e){return Object(g.mapValues)(e,(function(e,t){return function(){var r=e.apply(void 0,arguments);return f()(void 0!==r,"".concat(t,"(...) is not resolved")),r}}))}));function L(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.negate,n=void 0!==r&&r,o=Object(v.b)((function(t){return function(r){var o=!n,i=!!n;try{for(var a=arguments.length,c=new Array(a>1?a-1:0),s=1;s1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:{},o=e(m.c).getSiteInfo()||{},i=o.adminURL;if(void 0===i||void 0===r)return i;var c="/"===i[i.length-1]?i:"".concat(i,"/"),s=r,u="admin.php";if(-1!==r.indexOf(".php?")){var l=r.split("?");if(!(s=g.a.parse(l.pop()).page))return i;u=l.shift()}n.page;var f=a()(n,["page"]);return Object(v.a)("".concat(c).concat(u),E({page:s},f))}})),getAMPMode:j("ampMode"),getCurrentEntityID:j("currentEntityID"),getCurrentEntityTitle:j("currentEntityTitle"),getCurrentEntityType:j("currentEntityType"),getCurrentEntityURL:j("currentEntityURL"),getHomeURL:j("homeURL"),getReferenceSiteURL:j("referenceSiteURL"),getProxySetupURL:j("proxySetupURL"),getProxyPermissionsURL:j("proxyPermissionsURL"),getCurrentReferenceURL:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getCurrentEntityURL();return null!==t?t:e(m.c).getReferenceSiteURL()}})),isAMP:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getAMPMode();if(void 0!==t)return!!t}})),isPrimaryAMP:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getAMPMode();if(void 0!==t)return t===m.a}})),isSecondaryAMP:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getAMPMode();if(void 0!==t)return t===m.b}})),getAdminSettingsURL:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getAdminURL(),r=e(m.c).isMultisite();if(void 0!==t&&void 0!==r)return new URL(!0===r?"network/settings.php":"options-general.php",t).href}})),getTimezone:j("timezone"),isUsingProxy:j("usingProxy"),getSiteName:j("siteName"),getSetupErrorCode:j("setupErrorCode"),getSetupErrorMessage:j("setupErrorMessage"),getSetupErrorRedoURL:j("setupErrorRedoURL"),getProxySupportLinkURL:j("proxySupportLinkURL"),getWidgetsAdminURL:j("widgetsAdminURL"),getPostTypes:j("postTypes"),getPermaLinkParam:function(t){if(t.permaLink)return t.permaLink;var r=Object(b.a)(e.location.href,"permaLink");return r||!1},isWebStoriesActive:j("webStoriesActive"),isSiteURLMatch:Object(y.createRegistrySelector)((function(e){return function(t,r){var n=e(m.c).getReferenceSiteURL();return Object(O.B)(n)===Object(O.B)(r)}})),getSiteURLPermutations:Object(y.createRegistrySelector)((function(e){return function(){var t=e(m.c).getReferenceSiteURL(),r=[],n=new URL(t);return n.hostname=n.hostname.replace(/^www\./i,""),n.protocol="http",r.push(Object(O.L)(n)),n.protocol="https",r.push(Object(O.L)(n)),n.hostname="www."+n.hostname,r.push(Object(O.L)(n)),n.protocol="http",r.push(Object(O.L)(n)),r}})),getWPVersion:j("wpVersion"),getUpdateCoreURL:j("updateCoreURL"),hasChangePluginAutoUpdatesCapacity:j("changePluginAutoUpdatesCapacity"),getSiteKitAutoUpdatesEnabled:j("siteKitAutoUpdatesEnabled"),getPluginBasename:j("pluginBasename"),getKeyMetricsSetupCompletedBy:j("keyMetricsSetupCompletedBy"),getKeyMetricsSetupNew:j("keyMetricsSetupNew"),hasMinimumWordPressVersion:Object(y.createRegistrySelector)((function(e){return function(t,r){p()(r,"minimumWPVersion is required.");var n=e(m.c).getWPVersion()||{},i=n.major,a=n.minor;if(void 0!==i&&void 0!==a){var c=r.split(".").map((function(e){return parseInt(e,10)})),s=o()(c,2),u=s[0],l=s[1];return u2&&void 0!==arguments[2]?arguments[2]:[];return u()(e,"error is required."),u()(t,"baseName is required."),u()(r&&Array.isArray(r),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:e,baseName:t,args:r}}},clearError:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return u()(e,"baseName is required."),u()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:e,args:t}}},clearErrors:function(e){return{type:"CLEAR_ERRORS",payload:{baseName:e}}}};function y(e){u()(e,"storeName must be defined.");var t={getErrorForSelector:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"selectorName is required."),t.getError(e,r,n)},getErrorForAction:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"actionName is required."),t.getError(e,r,n)},getError:function(e,t,r){var n=e.errors;return u()(t,"baseName is required."),n[v(t,r)]},getErrors:function(e){var t=new Set(Object.values(e.errors));return Array.from(t)},getMetaDataForError:function(e,t){var r=Object.keys(e.errors).find((function(r){return e.errors[r]===t}));return r?{baseName:r.substring(0,r.indexOf("::")),args:e.errorArgs[r]}:null},getSelectorDataForError:Object(c.b)((function(t){return function(r,n){var o=t(e).getMetaDataForError(n);if(o){var i=o.baseName,a=o.args;if(!!t(e)[i])return{storeName:e,name:i,args:a}}return null}})),hasErrors:function(e){return t.getErrors(e).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"RECEIVE_ERROR":var i=n.baseName,a=n.args,c=n.error,s=v(i,a);return g(g({},e),{},{errors:g(g({},e.errors||{}),{},o()({},s,c)),errorArgs:g(g({},e.errorArgs||{}),{},o()({},s,a))});case"CLEAR_ERROR":var u=n.baseName,l=n.args,f=g({},e),p=v(u,l);return f.errors=g({},e.errors||{}),f.errorArgs=g({},e.errorArgs||{}),delete f.errors[p],delete f.errorArgs[p],f;case"CLEAR_ERRORS":var d=n.baseName,b=g({},e);if(d)for(var y in b.errors=g({},e.errors||{}),b.errorArgs=g({},e.errorArgs||{}),b.errors)(y===d||y.startsWith("".concat(d,"::")))&&(delete b.errors[y],delete b.errorArgs[y]);else b.errors={},b.errorArgs={};return b;default:return e}},resolvers:{},selectors:t}}},72:function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return c}));var n=r(33),o=r.n(n),i=r(83),a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,r="object"===o()(e)?e.toString():e;return null==r||null===(t=r.replace)||void 0===t?void 0:t.call(r,/\/+$/,"")}},80:function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"a",(function(){return o})),r.d(t,"c",(function(){return i}));var n=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},o=function(e){return e.replace(/([a-z0-9]{1})([A-Z]{1})/g,"$1_$2").toUpperCase()};function i(e){return e.split("-").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}},81:function(e,t,r){"use strict";r.d(t,"b",(function(){return o})),r.d(t,"a",(function(){return i})),r.d(t,"c",(function(){return a})),r.d(t,"d",(function(){return c}));var n=r(107);function o(e){try{return new URL(e).pathname}catch(e){}return null}function i(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function a(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(e,t){if(!Object(n.a)(e))return e;if(e.length<=t)return e;var r=new URL(e),o=e.replace(r.origin,"");if(o.length1&&void 0!==arguments[1]?arguments[1]:{},r=h(e,t),n=r.formatUnit,o=r.formatDecimal;try{return n()}catch(e){return o()}},m=function(e){var t=O(e),r=t.hours,n=t.minutes,o=t.seconds;return o=("0"+o).slice(-2),n=("0"+n).slice(-2),"00"===(r=("0"+r).slice(-2))?"".concat(n,":").concat(o):"".concat(r,":").concat(n,":").concat(o)},O=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=O(e),n=r.hours,o=r.minutes,i=r.seconds;return{hours:n,minutes:o,seconds:i,formatUnit:function(){var r=t.unitDisplay,a=b(b({unitDisplay:void 0===r?"short":r},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?R(i,b(b({},a),{},{unit:"second"})):Object(g.sprintf)( /* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(g._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?P(i,v(v({},a),{},{unit:"second"})):"",o?P(o,v(v({},a),{},{unit:"minute"})):"",n?P(n,v(v({},a),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(g.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. +Object(g._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?R(i,b(b({},a),{},{unit:"second"})):"",o?R(o,b(b({},a),{},{unit:"minute"})):"",n?R(n,b(b({},a),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(g.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. Object(g.__)("%ds","google-site-kit"),i);if(0===e)return t;var r=Object(g.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. Object(g.__)("%dm","google-site-kit"),o),a=Object(g.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. Object(g.__)("%dh","google-site-kit"),n);return Object(g.sprintf)( /* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ Object(g._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",o?r:"",n?a:"").trim()}}},S=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},E=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(g.sprintf)(// translators: %s: an abbreviated number in millions. -Object(g.__)("%sM","google-site-kit"),P(S(e),e%10==0?{}:t)):1e4<=e?Object(g.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(g.__)("%sK","google-site-kit"),P(S(e))):1e3<=e?Object(g.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(g.__)("%sK","google-site-kit"),P(S(e),e%10==0?{}:t)):P(e,{signDisplay:"never",maximumFractionDigits:1})};function j(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(f.isPlainObject)(e)&&(t=v({},e)),t}function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(f.isFinite)(e)?e:Number(e),Object(f.isFinite)(e)||(console.warn("Invalid number",e,a()(e)),e=0);var r=j(t),n=r.style,o=void 0===n?"metric":n;return"metric"===o?E(e):"duration"===o?y(e,r):"durationISO"===o?m(e):P(e,r)}var w=d()(console.warn),P=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.locale,n=void 0===r?A():r,i=l()(t,["locale"]);try{return new Intl.NumberFormat(n,i).format(e)}catch(t){w("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(n),", ").concat(JSON.stringify(i)," ).format( ").concat(a()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],u={},f=0,p=Object.entries(i);f1&&void 0!==arguments[1]?arguments[1]:{},r=t.locale,n=void 0===r?A():r,o=t.style,i=void 0===o?"long":o,a=t.type,c=void 0===a?"conjunction":a;if(Intl.ListFormat){var s=new Intl.ListFormat(n,{style:i,type:c});return s.format(e)} -/* translators: used between list items, there is a space after the comma. */var u=Object(g.__)(", ","google-site-kit");return e.join(u)},A=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,r=Object(f.get)(t,["_googlesitekitLegacyData","locale"]);if(r){var n=r.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,r(28))},82:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return o}));var n=r(145),o=r.n(n)()(e)}).call(this,r(28))},85:function(e,t,r){"use strict";(function(e){var n=r(1),o=r.n(n),i=r(11),a=r.n(i);function ChangeArrow(t){var r=t.direction,n=t.invertColor,o=t.width,i=t.height;return e.createElement("svg",{className:a()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(r),{"googlesitekit-change-arrow--inverted-color":n}),width:o,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:o.a.string,invertColor:o.a.bool,width:o.a.number,height:o.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,r(4))},88:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(12),o=r.n(n),i=function(e,t){var r=t.dateRangeLength;o()(Array.isArray(e),"report must be an array to partition."),o()(Number.isInteger(r)&&r>0,"dateRangeLength must be a positive integer.");var n=-1*r;return{currentRange:e.slice(n),compareRange:e.slice(2*n,n)}}},9:function(e,t,r){"use strict";r.d(t,"J",(function(){return o.b})),r.d(t,"K",(function(){return o.c})),r.d(t,"G",(function(){return i.a})),r.d(t,"L",(function(){return i.b})),r.d(t,"I",(function(){return l})),r.d(t,"n",(function(){return f.a})),r.d(t,"C",(function(){return f.d})),r.d(t,"D",(function(){return f.e})),r.d(t,"z",(function(){return f.c})),r.d(t,"s",(function(){return f.b})),r.d(t,"A",(function(){return b})),r.d(t,"k",(function(){return v})),r.d(t,"j",(function(){return y})),r.d(t,"d",(function(){return j})),r.d(t,"c",(function(){return k})),r.d(t,"e",(function(){return w})),r.d(t,"b",(function(){return P})),r.d(t,"a",(function(){return R})),r.d(t,"g",(function(){return A})),r.d(t,"f",(function(){return C})),r.d(t,"o",(function(){return _})),r.d(t,"x",(function(){return T})),r.d(t,"q",(function(){return x})),r.d(t,"H",(function(){return N})),r.d(t,"t",(function(){return L})),r.d(t,"w",(function(){return I})),r.d(t,"l",(function(){return M})),r.d(t,"p",(function(){return D.b})),r.d(t,"i",(function(){return D.a})),r.d(t,"u",(function(){return U.b})),r.d(t,"r",(function(){return U.a})),r.d(t,"B",(function(){return U.c})),r.d(t,"y",(function(){return F})),r.d(t,"v",(function(){return B})),r.d(t,"F",(function(){return K})),r.d(t,"E",(function(){return q.a})),r.d(t,"h",(function(){return H})),r.d(t,"M",(function(){return W})),r.d(t,"m",(function(){return z}));var n=r(13),o=r(37),i=r(72),a=r(33),c=r.n(a),s=r(92),u=r.n(s),l=function(e){return u()(JSON.stringify(function e(t){var r={};return Object.keys(t).sort().forEach((function(n){var o=t[n];o&&"object"===c()(o)&&!Array.isArray(o)&&(o=e(o)),r[n]=o})),r}(e)))};r(96);var f=r(81);function p(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function d(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function g(e){return e.replace(/\n/gi,"
")}function b(e){for(var t=e,r=0,n=[p,d,g];r1&&void 0!==arguments[1]?arguments[1]:{};e=Object(f.isFinite)(e)?e:Number(e),Object(f.isFinite)(e)||(console.warn("Invalid number",e,a()(e)),e=0);var r=j(t),n=r.style,o=void 0===n?"metric":n;return"metric"===o?E(e):"duration"===o?y(e,r):"durationISO"===o?m(e):R(e,r)}var w=d()(console.warn),R=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.locale,n=void 0===r?A():r,i=l()(t,["locale"]);try{return new Intl.NumberFormat(n,i).format(e)}catch(t){w("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(n),", ").concat(JSON.stringify(i)," ).format( ").concat(a()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],u={},f=0,p=Object.entries(i);f1&&void 0!==arguments[1]?arguments[1]:{},r=t.locale,n=void 0===r?A():r,o=t.style,i=void 0===o?"long":o,a=t.type,c=void 0===a?"conjunction":a;if(Intl.ListFormat){var s=new Intl.ListFormat(n,{style:i,type:c});return s.format(e)} +/* translators: used between list items, there is a space after the comma. */var u=Object(g.__)(", ","google-site-kit");return e.join(u)},A=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,r=Object(f.get)(t,["_googlesitekitLegacyData","locale"]);if(r){var n=r.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,r(28))},83:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return o}));var n=r(147),o=r.n(n)()(e)}).call(this,r(28))},86:function(e,t,r){"use strict";(function(e){var n=r(0),o=r.n(n),i=r(11),a=r.n(i);function ChangeArrow(t){var r=t.direction,n=t.invertColor,o=t.width,i=t.height;return e.createElement("svg",{className:a()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(r),{"googlesitekit-change-arrow--inverted-color":n}),width:o,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:o.a.string,invertColor:o.a.bool,width:o.a.number,height:o.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,r(4))},89:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(12),o=r.n(n),i=function(e,t){var r=t.dateRangeLength;o()(Array.isArray(e),"report must be an array to partition."),o()(Number.isInteger(r)&&r>0,"dateRangeLength must be a positive integer.");var n=-1*r;return{currentRange:e.slice(n),compareRange:e.slice(2*n,n)}}},9:function(e,t,r){"use strict";r.d(t,"J",(function(){return o.b})),r.d(t,"K",(function(){return o.c})),r.d(t,"G",(function(){return i.a})),r.d(t,"L",(function(){return i.b})),r.d(t,"I",(function(){return l})),r.d(t,"n",(function(){return f.a})),r.d(t,"C",(function(){return f.d})),r.d(t,"D",(function(){return f.e})),r.d(t,"z",(function(){return f.c})),r.d(t,"s",(function(){return f.b})),r.d(t,"A",(function(){return v})),r.d(t,"k",(function(){return b})),r.d(t,"j",(function(){return y})),r.d(t,"d",(function(){return j})),r.d(t,"c",(function(){return k})),r.d(t,"e",(function(){return w})),r.d(t,"b",(function(){return R})),r.d(t,"a",(function(){return P})),r.d(t,"g",(function(){return A})),r.d(t,"f",(function(){return C})),r.d(t,"o",(function(){return _})),r.d(t,"x",(function(){return T})),r.d(t,"q",(function(){return x})),r.d(t,"H",(function(){return L})),r.d(t,"t",(function(){return N})),r.d(t,"w",(function(){return I})),r.d(t,"l",(function(){return M})),r.d(t,"p",(function(){return D.b})),r.d(t,"i",(function(){return D.a})),r.d(t,"u",(function(){return U.b})),r.d(t,"r",(function(){return U.a})),r.d(t,"B",(function(){return U.c})),r.d(t,"y",(function(){return F})),r.d(t,"v",(function(){return B})),r.d(t,"F",(function(){return K})),r.d(t,"E",(function(){return q.a})),r.d(t,"h",(function(){return H})),r.d(t,"M",(function(){return W})),r.d(t,"m",(function(){return z}));var n=r(14),o=r(37),i=r(72),a=r(33),c=r.n(a),s=r(93),u=r.n(s),l=function(e){return u()(JSON.stringify(function e(t){var r={};return Object.keys(t).sort().forEach((function(n){var o=t[n];o&&"object"===c()(o)&&!Array.isArray(o)&&(o=e(o)),r[n]=o})),r}(e)))};r(96);var f=r(82);function p(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function d(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function g(e){return e.replace(/\n/gi,"
")}function v(e){for(var t=e,r=0,n=[p,d,g];r0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var r=new Date(e);return Object(n.isDate)(r)&&!isNaN(r)}function x(e){S()(Object(n.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),r="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,r.length<2?"0".concat(r):r].join("-")}function N(e){S()(T(e),j);var t=e.split("-"),r=O()(t,3),n=r[0],o=r[1],i=r[2];return new Date(n,o-1,i)}function L(e,t){return x(M(e,t*R))}function I(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function M(e,t){S()(T(e)||Object(n.isDate)(e)&&!isNaN(e),j);var r=T(e)?Date.parse(e):e.getTime();return new Date(r-1e3*t)}var D=r(97),U=r(80);function F(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function B(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var G=r(27),V=r.n(G),K=function(e){return Array.isArray(e)?V()(e).sort():e},q=r(88);function H(e,t){var r=function(e){return"0"===e||0===e};if(r(e)&&r(t))return 0;if(r(e)||Number.isNaN(e))return null;var n=(t-e)/e;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var W=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},z=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(n.unescape)(t)}},936:function(e,t,r){"use strict";(function(e){var n,o=r(5),i=r.n(o),a=r(15),c=r.n(a),s=r(12),u=r.n(s),l=r(13),f=r(44),p=r.n(f),d=r(3),g=r(48),b=r(176),v=r(14),y=r(6),m=r(65),O=m.a.clearError,h=m.a.receiveError,S=d.commonActions.getRegistry,E=Object(b.a)((function(e,t){e.consentMode.settings=t})),j=Object(g.a)({baseName:"getConsentModeSettings",controlCallback:function(){return p.a.get("core","site","consent-mode",null,{useCache:!1})},reducerCallback:E}),k=Object(g.a)({baseName:"saveConsentModeSettings",controlCallback:function(e){var t=e.settings;return p.a.set("core","site","consent-mode",{settings:t})},reducerCallback:E,argsToParams:function(e){return{settings:e}},validateParams:function(e){var t=e.settings;u()(Object(l.isPlainObject)(t),"settings must be a plain object.")}}),w=Object(g.a)({baseName:"getConsentAPIInfo",controlCallback:function(){return p.a.get("core","site","consent-api-info",null,{useCache:!1})},reducerCallback:Object(b.a)((function(e,t){e.consentMode.apiInfo=t}))}),P=Object(g.a)({baseName:"installActivateWPConsentAPI",controlCallback:(n=c()(i.a.mark((function t(r){var n,o,a;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.nonce,(o=new FormData).append("action","install_activate_wp_consent_api"),o.append("_ajax_nonce",n),t.next=6,fetch(e.ajaxurl,{method:"POST",credentials:"same-origin",body:o});case 6:return a=t.sent,t.abrupt("return",a.json());case 8:case"end":return t.stop()}}),t)}))),function(e){return n.apply(this,arguments)}),argsToParams:function(e){return{nonce:e.nonce}},validateParams:function(e){var t=e.nonce;u()("string"==typeof t,"nonce must be a string.")}}),R=Object(g.a)({baseName:"activateConsentAPI",controlCallback:function(){return p.a.set("core","site","consent-api-activate",null,{useCache:!1})}}),A=Object(g.a)({baseName:"getAdsMeasurementStatus",controlCallback:function(){return p.a.get("core","site","ads-measurement-status",null,{useCache:!1})},reducerCallback:Object(b.a)((function(e,t){e.consentMode.adsConnected=t.connected}))}),C={consentMode:{settings:void 0,apiInfo:void 0,apiInstallResponse:void 0,isApiFetching:void 0,adsConnected:void 0}},_={saveConsentModeSettings:i.a.mark((function e(){var t,r,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:return t=e.sent,r=t.select,n=r(v.c).getConsentModeSettings(),e.next=7,k.actions.fetchSaveConsentModeSettings(n);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})),setConsentModeEnabled:function(e){return{type:"SET_CONSENT_MODE_ENABLED",payload:{enabled:e}}},installActivateWPConsentAPI:i.a.mark((function e(){var t,r,n,o,a;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:return t=e.sent,e.next=5,O("installActivateWPConsentAPI",[]);case 5:return e.next=7,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_FETCHING",payload:!0};case 7:return e.next=9,d.commonActions.await(t.resolveSelect(y.a).getNonces());case 9:if(void 0!==(r=t.select(y.a).getNonce("updates"))){e.next=18;break}return n=t.select(y.a).getErrorForSelector("getNonces"),e.next=14,h(n,"installActivateWPConsentAPI",[]);case 14:return e.next=16,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_FETCHING",payload:!1};case 16:return t.dispatch(y.a).invalidateResolution("getNonces",[]),e.abrupt("return");case 18:return e.next=20,P.actions.fetchInstallActivateWPConsentAPI({nonce:r});case 20:return o=e.sent,a=o.response,e.next=24,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_RESPONSE",payload:a};case 24:return e.next=26,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_FETCHING",payload:!1};case 26:return e.next=28,w.actions.fetchGetConsentAPIInfo();case 28:case"end":return e.stop()}}),e)})),activateConsentAPI:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,R.actions.fetchActivateConsentAPI();case 2:return t=e.sent,e.next=5,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_RESPONSE",payload:t};case 5:return e.next=7,w.actions.fetchGetConsentAPIInfo();case 7:case"end":return e.stop()}}),e)}))},T=Object(b.a)((function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_CONSENT_MODE_ENABLED":e.consentMode.settings=e.consentMode.settings||{},e.consentMode.settings.enabled=!!n.enabled;break;case"INSTALL_ACTIVATE_WP_CONSENT_API_RESPONSE":e.consentMode.apiInstallResponse=n;break;case"INSTALL_ACTIVATE_WP_CONSENT_API_FETCHING":e.consentMode.isApiFetching=n}})),x={getConsentModeSettings:function(e){return e.consentMode.settings},isConsentModeEnabled:Object(d.createRegistrySelector)((function(e){return function(){return(e(v.c).getConsentModeSettings()||{}).enabled}})),getConsentAPIInfo:function(e){return e.consentMode.apiInfo},getApiInstallResponse:function(e){return e.consentMode.apiInstallResponse},isApiFetching:function(e){return e.consentMode.isApiFetching},isAdsConnected:function(e){return e.consentMode.adsConnected}},N={getConsentModeSettings:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:if(t=e.sent,!(0,t.select)(v.c).getConsentModeSettings()){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,j.actions.fetchGetConsentModeSettings();case 8:case"end":return e.stop()}}),e)})),getConsentAPIInfo:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:if(t=e.sent,!(0,t.select)(v.c).getConsentAPIInfo()){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,w.actions.fetchGetConsentAPIInfo();case 8:case"end":return e.stop()}}),e)})),isAdsConnected:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:if(t=e.sent,void 0===(0,t.select)(v.c).isAdsConnected()){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,A.actions.fetchGetAdsMeasurementStatus();case 8:case"end":return e.stop()}}),e)}))},L=Object(d.combineStores)(j,k,w,P,R,A,{initialState:C,actions:_,controls:{},reducer:T,resolvers:N,selectors:x});L.initialState,L.actions,L.controls,L.reducer,L.resolvers,L.selectors;t.a=L}).call(this,r(28))},937:function(e,t,r){"use strict";(function(e){var n,o=r(5),i=r.n(o),a=r(15),c=r.n(a),s=r(12),u=r.n(s),l=r(3),f=r(14),p=r(48),d=r(65),g=r(6),b=d.a.receiveError,v=d.a.clearError,y=Object(p.a)({baseName:"enableAutoUpdate",controlCallback:(n=c()(i.a.mark((function t(r){var n,o,a,c;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.nonce,o=r.pluginBasename,(a=new FormData).append("action","toggle-auto-updates"),a.append("_ajax_nonce",n),a.append("state","enable"),a.append("type","plugin"),a.append("asset",o),t.next=9,fetch(e.ajaxurl,{method:"POST",credentials:"same-origin",body:a});case 9:return c=t.sent,t.abrupt("return",c.json());case 11:case"end":return t.stop()}}),t)}))),function(e){return n.apply(this,arguments)}),argsToParams:function(e){return{nonce:e.nonce,pluginBasename:e.pluginBasename}},validateParams:function(e){var t=e.nonce,r=e.pluginBasename;u()("string"==typeof t,"nonce must be a string."),u()("string"==typeof r,"pluginBasename must be a string.")}}),m={enableAutoUpdate:i.a.mark((function e(){var t,r,n,o,a,c;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v("enableAutoUpdate",[]);case 2:return e.next=4,l.commonActions.getRegistry();case 4:return t=e.sent,e.next=7,l.commonActions.await(t.resolveSelect(g.a).getNonces());case 7:return e.next=9,l.commonActions.await(t.resolveSelect(f.c).getSiteInfo());case 9:return r=t.select(g.a).getNonce("updates"),n=t.select(f.c).getPluginBasename(),e.next=13,y.actions.fetchEnableAutoUpdate({nonce:r,pluginBasename:n});case 13:if(o=e.sent,a=o.response,c=o.error,(null==a?void 0:a.success)&&t.dispatch(f.c).setSiteKitAutoUpdatesEnabled(!0),!c){e.next=20;break}return e.next=20,b(c,"enableAutoUpdate",[]);case 20:case"end":return e.stop()}}),e)}))},O={isDoingEnableAutoUpdate:Object(l.createRegistrySelector)((function(e){return function(){var t=e(g.a).getNonce("updates"),r=e(f.c).getPluginBasename();return void 0!==t&&void 0!==r&&e(f.c).isFetchingEnableAutoUpdate({nonce:t,pluginBasename:r})}}))},h=Object(l.combineStores)(y,{initialState:{},actions:m,selectors:O});h.initialState,h.actions,h.controls,h.reducer,h.resolvers,h.selectors;t.a=h}).call(this,r(28))},96:function(e,t,r){"use strict";(function(e){r(51),r(53)}).call(this,r(28))},97:function(e,t,r){"use strict";(function(e){r.d(t,"b",(function(){return i})),r.d(t,"a",(function(){return a}));var n=r(231),o=r(85),i=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=r.invertColor,a=void 0!==i&&i;return Object(n.a)(e.createElement(o.a,{direction:t>0?"up":"down",invertColor:a}))},a=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,r(4))},98:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return f}));var n=r(7),o=r.n(n),i=r(13),a=r(99),c=r(100);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,o=u(u({},l),t);o.referenceSiteURL&&(o.referenceSiteURL=o.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(a.a)(o,r),f=Object(c.a)(o,r,s,n),p={},d=function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var r=new Date(e);return Object(n.isDate)(r)&&!isNaN(r)}function x(e){S()(Object(n.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),r="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,r.length<2?"0".concat(r):r].join("-")}function L(e){S()(T(e),j);var t=e.split("-"),r=O()(t,3),n=r[0],o=r[1],i=r[2];return new Date(n,o-1,i)}function N(e,t){return x(M(e,t*P))}function I(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function M(e,t){S()(T(e)||Object(n.isDate)(e)&&!isNaN(e),j);var r=T(e)?Date.parse(e):e.getTime();return new Date(r-1e3*t)}var D=r(97),U=r(81);function F(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function B(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var G=r(27),V=r.n(G),K=function(e){return Array.isArray(e)?V()(e).sort():e},q=r(89);function H(e,t){var r=function(e){return"0"===e||0===e};if(r(e)&&r(t))return 0;if(r(e)||Number.isNaN(e))return null;var n=(t-e)/e;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var W=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},z=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(n.unescape)(t)}},941:function(e,t,r){"use strict";(function(e){var n,o=r(5),i=r.n(o),a=r(16),c=r.n(a),s=r(12),u=r.n(s),l=r(14),f=r(44),p=r.n(f),d=r(3),g=r(48),v=r(177),b=r(13),y=r(6),m=r(65),O=m.a.clearError,h=m.a.receiveError,S=d.commonActions.getRegistry,E=Object(v.a)((function(e,t){e.consentMode.settings=t})),j=Object(g.a)({baseName:"getConsentModeSettings",controlCallback:function(){return p.a.get("core","site","consent-mode",null,{useCache:!1})},reducerCallback:E}),k=Object(g.a)({baseName:"saveConsentModeSettings",controlCallback:function(e){var t=e.settings;return p.a.set("core","site","consent-mode",{settings:t})},reducerCallback:E,argsToParams:function(e){return{settings:e}},validateParams:function(e){var t=e.settings;u()(Object(l.isPlainObject)(t),"settings must be a plain object.")}}),w=Object(g.a)({baseName:"getConsentAPIInfo",controlCallback:function(){return p.a.get("core","site","consent-api-info",null,{useCache:!1})},reducerCallback:Object(v.a)((function(e,t){e.consentMode.apiInfo=t}))}),R=Object(g.a)({baseName:"installActivateWPConsentAPI",controlCallback:(n=c()(i.a.mark((function t(r){var n,o,a;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.nonce,(o=new FormData).append("action","install_activate_wp_consent_api"),o.append("_ajax_nonce",n),t.next=6,fetch(e.ajaxurl,{method:"POST",credentials:"same-origin",body:o});case 6:return a=t.sent,t.abrupt("return",a.json());case 8:case"end":return t.stop()}}),t)}))),function(e){return n.apply(this,arguments)}),argsToParams:function(e){return{nonce:e.nonce}},validateParams:function(e){var t=e.nonce;u()("string"==typeof t,"nonce must be a string.")}}),P=Object(g.a)({baseName:"activateConsentAPI",controlCallback:function(){return p.a.set("core","site","consent-api-activate",null,{useCache:!1})}}),A=Object(g.a)({baseName:"getAdsMeasurementStatus",controlCallback:function(){return p.a.get("core","site","ads-measurement-status",null,{useCache:!1})},reducerCallback:Object(v.a)((function(e,t){e.consentMode.adsConnected=t.connected}))}),C={consentMode:{settings:void 0,apiInfo:void 0,apiInstallResponse:void 0,isApiFetching:void 0,adsConnected:void 0}},_={saveConsentModeSettings:i.a.mark((function e(){var t,r,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:return t=e.sent,r=t.select,n=r(b.c).getConsentModeSettings(),e.next=7,k.actions.fetchSaveConsentModeSettings(n);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})),setConsentModeEnabled:function(e){return{type:"SET_CONSENT_MODE_ENABLED",payload:{enabled:e}}},installActivateWPConsentAPI:i.a.mark((function e(){var t,r,n,o,a;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:return t=e.sent,e.next=5,O("installActivateWPConsentAPI",[]);case 5:return e.next=7,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_FETCHING",payload:!0};case 7:return e.next=9,d.commonActions.await(t.resolveSelect(y.a).getNonces());case 9:if(void 0!==(r=t.select(y.a).getNonce("updates"))){e.next=18;break}return n=t.select(y.a).getErrorForSelector("getNonces"),e.next=14,h(n,"installActivateWPConsentAPI",[]);case 14:return e.next=16,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_FETCHING",payload:!1};case 16:return t.dispatch(y.a).invalidateResolution("getNonces",[]),e.abrupt("return");case 18:return e.next=20,R.actions.fetchInstallActivateWPConsentAPI({nonce:r});case 20:return o=e.sent,a=o.response,e.next=24,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_RESPONSE",payload:a};case 24:return e.next=26,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_FETCHING",payload:!1};case 26:return e.next=28,w.actions.fetchGetConsentAPIInfo();case 28:case"end":return e.stop()}}),e)})),activateConsentAPI:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,P.actions.fetchActivateConsentAPI();case 2:return t=e.sent,e.next=5,{type:"INSTALL_ACTIVATE_WP_CONSENT_API_RESPONSE",payload:t};case 5:return e.next=7,w.actions.fetchGetConsentAPIInfo();case 7:case"end":return e.stop()}}),e)}))},T=Object(v.a)((function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_CONSENT_MODE_ENABLED":e.consentMode.settings=e.consentMode.settings||{},e.consentMode.settings.enabled=!!n.enabled;break;case"INSTALL_ACTIVATE_WP_CONSENT_API_RESPONSE":e.consentMode.apiInstallResponse=n;break;case"INSTALL_ACTIVATE_WP_CONSENT_API_FETCHING":e.consentMode.isApiFetching=n}})),x={getConsentModeSettings:function(e){return e.consentMode.settings},isConsentModeEnabled:Object(d.createRegistrySelector)((function(e){return function(){return(e(b.c).getConsentModeSettings()||{}).enabled}})),getConsentAPIInfo:function(e){return e.consentMode.apiInfo},getApiInstallResponse:function(e){return e.consentMode.apiInstallResponse},isApiFetching:function(e){return e.consentMode.isApiFetching},isAdsConnected:function(e){return e.consentMode.adsConnected}},L={getConsentModeSettings:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:if(t=e.sent,!(0,t.select)(b.c).getConsentModeSettings()){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,j.actions.fetchGetConsentModeSettings();case 8:case"end":return e.stop()}}),e)})),getConsentAPIInfo:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:if(t=e.sent,!(0,t.select)(b.c).getConsentAPIInfo()){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,w.actions.fetchGetConsentAPIInfo();case 8:case"end":return e.stop()}}),e)})),isAdsConnected:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:if(t=e.sent,void 0===(0,t.select)(b.c).isAdsConnected()){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,A.actions.fetchGetAdsMeasurementStatus();case 8:case"end":return e.stop()}}),e)}))},N=Object(d.combineStores)(j,k,w,R,P,A,{initialState:C,actions:_,controls:{},reducer:T,resolvers:L,selectors:x});N.initialState,N.actions,N.controls,N.reducer,N.resolvers,N.selectors;t.a=N}).call(this,r(28))},942:function(e,t,r){"use strict";(function(e){var n,o=r(5),i=r.n(o),a=r(16),c=r.n(a),s=r(12),u=r.n(s),l=r(3),f=r(13),p=r(48),d=r(65),g=r(6),v=d.a.receiveError,b=d.a.clearError,y=Object(p.a)({baseName:"enableAutoUpdate",controlCallback:(n=c()(i.a.mark((function t(r){var n,o,a,c;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.nonce,o=r.pluginBasename,(a=new FormData).append("action","toggle-auto-updates"),a.append("_ajax_nonce",n),a.append("state","enable"),a.append("type","plugin"),a.append("asset",o),t.next=9,fetch(e.ajaxurl,{method:"POST",credentials:"same-origin",body:a});case 9:return c=t.sent,t.abrupt("return",c.json());case 11:case"end":return t.stop()}}),t)}))),function(e){return n.apply(this,arguments)}),argsToParams:function(e){return{nonce:e.nonce,pluginBasename:e.pluginBasename}},validateParams:function(e){var t=e.nonce,r=e.pluginBasename;u()("string"==typeof t,"nonce must be a string."),u()("string"==typeof r,"pluginBasename must be a string.")}}),m={enableAutoUpdate:i.a.mark((function e(){var t,r,n,o,a,c;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b("enableAutoUpdate",[]);case 2:return e.next=4,l.commonActions.getRegistry();case 4:return t=e.sent,e.next=7,l.commonActions.await(t.resolveSelect(g.a).getNonces());case 7:return e.next=9,l.commonActions.await(t.resolveSelect(f.c).getSiteInfo());case 9:return r=t.select(g.a).getNonce("updates"),n=t.select(f.c).getPluginBasename(),e.next=13,y.actions.fetchEnableAutoUpdate({nonce:r,pluginBasename:n});case 13:if(o=e.sent,a=o.response,c=o.error,(null==a?void 0:a.success)&&t.dispatch(f.c).setSiteKitAutoUpdatesEnabled(!0),!c){e.next=20;break}return e.next=20,v(c,"enableAutoUpdate",[]);case 20:case"end":return e.stop()}}),e)}))},O={isDoingEnableAutoUpdate:Object(l.createRegistrySelector)((function(e){return function(){var t=e(g.a).getNonce("updates"),r=e(f.c).getPluginBasename();return void 0!==t&&void 0!==r&&e(f.c).isFetchingEnableAutoUpdate({nonce:t,pluginBasename:r})}}))},h=Object(l.combineStores)(y,{initialState:{},actions:m,selectors:O});h.initialState,h.actions,h.controls,h.reducer,h.resolvers,h.selectors;t.a=h}).call(this,r(28))},96:function(e,t,r){"use strict";(function(e){r(52),r(53)}).call(this,r(28))},97:function(e,t,r){"use strict";(function(e){r.d(t,"b",(function(){return i})),r.d(t,"a",(function(){return a}));var n=r(234),o=r(86),i=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=r.invertColor,a=void 0!==i&&i;return Object(n.a)(e.createElement(o.a,{direction:t>0?"up":"down",invertColor:a}))},a=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,r(4))},98:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return f}));var n=r(7),o=r.n(n),i=r(14),a=r(99),c=r(100);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,o=u(u({},l),t);o.referenceSiteURL&&(o.referenceSiteURL=o.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(a.a)(o,r),f=Object(c.a)(o,r,s,n),p={},d=function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&void 0!==c[0]?c[0]:{},e=r.clearAfterRestore,n=void 0===e||e,t.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=t.sent,i=a.cacheHit,o=a.value,!i){t.next=13;break}return t.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!n){t.next=13;break}return t.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return t.abrupt("return",i);case 14:case"end":return t.stop()}}),t)})),createSnapshot:u.a.mark((function t(){var r;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return r=t.sent,t.abrupt("return",r);case 4:case"end":return t.stop()}}),t)}))},i=(r={},o()(r,"DELETE_SNAPSHOT",(function(){return Object(g.c)("datastore::cache::".concat(t))})),o()(r,"CREATE_SNAPSHOT",Object(l.createRegistryControl)((function(r){return function(){return Object(g.f)("datastore::cache::".concat(t),r.stores[t].store.getState())}}))),o()(r,"RESTORE_SNAPSHOT",(function(){return Object(g.d)("datastore::cache::".concat(t),p.b)})),r);return{initialState:e,actions:n,controls:i,reducer:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,r=arguments.length>1?arguments[1]:void 0,n=r.type,i=r.payload;switch(n){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return t}}}},b=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.a;return Object.values(t.stores).filter((function(t){return Object.keys(t.getActions()).includes("restoreSnapshot")}))},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.a;return Promise.all(b(t).map((function(t){return t.getActions().createSnapshot()})))},y=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.a;return Promise.all(b(t).map((function(t){return t.getActions().restoreSnapshot()})))}},2:function(t,r){t.exports=googlesitekit.i18n},23:function(t,r,e){"use strict";e.d(r,"b",(function(){return n})),e.d(r,"a",(function(){return a}));var n="core/ui",a="activeContextID"},3:function(t,r){t.exports=googlesitekit.data},34:function(t,r,e){"use strict";(function(t){e.d(r,"a",(function(){return l})),e.d(r,"d",(function(){return y})),e.d(r,"f",(function(){return h})),e.d(r,"c",(function(){return O})),e.d(r,"e",(function(){return k})),e.d(r,"b",(function(){return w}));var n=e(5),a=e.n(n),i=e(15),o=e.n(i),c=(e(27),e(9));function u(t,r){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=function(t,r){if(!t)return;if("string"==typeof t)return s(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return s(t,r)}(t))||r&&t&&"number"==typeof t.length){e&&(t=e);var n=0,a=function(){};return{s:a,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return o=t.done,t},e:function(t){c=!0,i=t},f:function(){try{o||null==e.return||e.return()}finally{if(c)throw i}}}}function s(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e2&&void 0!==v[2]?v[2]:{},o=i.ttl,u=void 0===o?c.b:o,s=i.timestamp,f=void 0===s?Math.round(Date.now()/1e3):s,l=i.isError,g=void 0!==l&&l,r.next=3,b();case 3:if(!(p=r.sent)){r.next=14;break}return r.prev=5,p.setItem("".concat(d).concat(e),JSON.stringify({timestamp:f,ttl:u,value:n,isError:g})),r.abrupt("return",!0);case 10:return r.prev=10,r.t0=r.catch(5),t.console.warn("Encountered an unexpected storage error:",r.t0),r.abrupt("return",!1);case 14:return r.abrupt("return",!1);case 15:case"end":return r.stop()}}),r,null,[[5,10]])})));return function(t,e){return r.apply(this,arguments)}}(),O=function(){var r=o()(a.a.mark((function r(e){var n,i;return a.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,b();case 2:if(!(n=r.sent)){r.next=14;break}return r.prev=4,i=e.startsWith(l)?e:"".concat(d).concat(e),n.removeItem(i),r.abrupt("return",!0);case 10:return r.prev=10,r.t0=r.catch(4),t.console.warn("Encountered an unexpected storage error:",r.t0),r.abrupt("return",!1);case 14:return r.abrupt("return",!1);case 15:case"end":return r.stop()}}),r,null,[[4,10]])})));return function(t){return r.apply(this,arguments)}}(),k=function(){var r=o()(a.a.mark((function r(){var e,n,i,o;return a.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,b();case 2:if(!(e=r.sent)){r.next=14;break}for(r.prev=4,n=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:i;return r instanceof Set&&r.has(t)}}).call(this,e(28))},57:function(t,r,e){"use strict";e.d(r,"a",(function(){return a}));var n=e(39);function a(t){return function(){t[n.a]=t[n.a]||[],t[n.a].push(arguments)}}},6:function(t,r,e){"use strict";e.d(r,"a",(function(){return n})),e.d(r,"b",(function(){return a})),e.d(r,"e",(function(){return i})),e.d(r,"d",(function(){return o})),e.d(r,"c",(function(){return c})),e.d(r,"H",(function(){return u})),e.d(r,"M",(function(){return s})),e.d(r,"O",(function(){return f})),e.d(r,"K",(function(){return l})),e.d(r,"L",(function(){return d})),e.d(r,"J",(function(){return g})),e.d(r,"I",(function(){return p})),e.d(r,"N",(function(){return v})),e.d(r,"f",(function(){return b})),e.d(r,"g",(function(){return m})),e.d(r,"h",(function(){return y})),e.d(r,"j",(function(){return h})),e.d(r,"l",(function(){return O})),e.d(r,"m",(function(){return k})),e.d(r,"n",(function(){return w})),e.d(r,"o",(function(){return j})),e.d(r,"q",(function(){return S})),e.d(r,"s",(function(){return _})),e.d(r,"r",(function(){return E})),e.d(r,"t",(function(){return A})),e.d(r,"w",(function(){return N})),e.d(r,"u",(function(){return D})),e.d(r,"v",(function(){return x})),e.d(r,"x",(function(){return P})),e.d(r,"y",(function(){return R})),e.d(r,"A",(function(){return T})),e.d(r,"B",(function(){return I})),e.d(r,"C",(function(){return L})),e.d(r,"D",(function(){return C})),e.d(r,"k",(function(){return M})),e.d(r,"F",(function(){return V})),e.d(r,"z",(function(){return F})),e.d(r,"G",(function(){return H})),e.d(r,"E",(function(){return U})),e.d(r,"i",(function(){return q})),e.d(r,"p",(function(){return J})),e.d(r,"Q",(function(){return $})),e.d(r,"P",(function(){return K}));var n="core/user",a="connected_url_mismatch",i="__global",o="temporary_persist_permission_error",c="adblocker_active",u="googlesitekit_authenticate",s="googlesitekit_setup",f="googlesitekit_view_dashboard",l="googlesitekit_manage_options",d="googlesitekit_read_shared_module_data",g="googlesitekit_manage_module_sharing_options",p="googlesitekit_delegate_module_sharing_management",v="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",m="kmAnalyticsEngagedTrafficSource",y="kmAnalyticsLeastEngagingPages",h="kmAnalyticsNewVisitors",O="kmAnalyticsPopularAuthors",k="kmAnalyticsPopularContent",w="kmAnalyticsPopularProducts",j="kmAnalyticsReturningVisitors",S="kmAnalyticsTopCities",_="kmAnalyticsTopCitiesDrivingLeads",E="kmAnalyticsTopCitiesDrivingAddToCart",A="kmAnalyticsTopCitiesDrivingPurchases",N="kmAnalyticsTopDeviceDrivingPurchases",D="kmAnalyticsTopConvertingTrafficSource",x="kmAnalyticsTopCountries",P="kmAnalyticsTopPagesDrivingLeads",R="kmAnalyticsTopRecentTrendingPages",T="kmAnalyticsTopTrafficSource",I="kmAnalyticsTopTrafficSourceDrivingAddToCart",L="kmAnalyticsTopTrafficSourceDrivingLeads",C="kmAnalyticsTopTrafficSourceDrivingPurchases",M="kmAnalyticsPagesPerVisit",V="kmAnalyticsVisitLength",F="kmAnalyticsTopReturningVisitorPages",H="kmSearchConsolePopularKeywords",U="kmAnalyticsVisitsPerVisitor",q="kmAnalyticsMostEngagingPages",J="kmAnalyticsTopCategories",$=[b,m,y,h,O,k,w,j,J,S,_,E,A,N,D,x,R,T,I,M,V,F,U,q,J],K=[].concat($,[H])},65:function(t,r,e){"use strict";e.d(r,"a",(function(){return b})),e.d(r,"b",(function(){return m}));var n=e(7),a=e.n(n),i=e(33),o=e.n(i),c=e(114),u=e(12),s=e.n(u),f=e(92),l=e.n(f),d=e(9);function g(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function p(t){for(var r=1;r2&&void 0!==arguments[2]?arguments[2]:[];return s()(t,"error is required."),s()(r,"baseName is required."),s()(e&&Array.isArray(e),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:t,baseName:r,args:e}}},clearError:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return s()(t,"baseName is required."),s()(r&&Array.isArray(r),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:t,args:r}}},clearErrors:function(t){return{type:"CLEAR_ERRORS",payload:{baseName:t}}}};function m(t){s()(t,"storeName must be defined.");var r={getErrorForSelector:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return s()(e,"selectorName is required."),r.getError(t,e,n)},getErrorForAction:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return s()(e,"actionName is required."),r.getError(t,e,n)},getError:function(t,r,e){var n=t.errors;return s()(r,"baseName is required."),n[v(r,e)]},getErrors:function(t){var r=new Set(Object.values(t.errors));return Array.from(r)},getMetaDataForError:function(t,r){var e=Object.keys(t.errors).find((function(e){return t.errors[e]===r}));return e?{baseName:e.substring(0,e.indexOf("::")),args:t.errorArgs[e]}:null},getSelectorDataForError:Object(c.b)((function(r){return function(e,n){var a=r(t).getMetaDataForError(n);if(a){var i=a.baseName,o=a.args;if(!!r(t)[i])return{storeName:t,name:i,args:o}}return null}})),hasErrors:function(t){return r.getErrors(t).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(t,r){var e=r.type,n=r.payload;switch(e){case"RECEIVE_ERROR":var i=n.baseName,o=n.args,c=n.error,u=v(i,o);return p(p({},t),{},{errors:p(p({},t.errors||{}),{},a()({},u,c)),errorArgs:p(p({},t.errorArgs||{}),{},a()({},u,o))});case"CLEAR_ERROR":var s=n.baseName,f=n.args,l=p({},t),d=v(s,f);return l.errors=p({},t.errors||{}),l.errorArgs=p({},t.errorArgs||{}),delete l.errors[d],delete l.errorArgs[d],l;case"CLEAR_ERRORS":var g=n.baseName,b=p({},t);if(g)for(var m in b.errors=p({},t.errors||{}),b.errorArgs=p({},t.errorArgs||{}),b.errors)(m===g||m.startsWith("".concat(g,"::")))&&(delete b.errors[m],delete b.errorArgs[m]);else b.errors={},b.errorArgs={};return b;default:return t}},resolvers:{},selectors:r}}},72:function(t,r,e){"use strict";e.d(r,"a",(function(){return o})),e.d(r,"b",(function(){return c}));var n=e(33),a=e.n(n),i=e(82),o=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(t,r)}};function c(t){var r,e="object"===a()(t)?t.toString():t;return null==e||null===(r=e.replace)||void 0===r?void 0:r.call(e,/\/+$/,"")}},80:function(t,r,e){"use strict";e.d(r,"b",(function(){return a})),e.d(r,"a",(function(){return i})),e.d(r,"c",(function(){return o})),e.d(r,"d",(function(){return c}));var n=e(107);function a(t){try{return new URL(t).pathname}catch(t){}return null}function i(t,r){try{return new URL(r,t).href}catch(t){}return("string"==typeof t?t:"")+("string"==typeof r?r:"")}function o(t){return"string"!=typeof t?t:t.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(t,r){if(!Object(n.a)(t))return t;if(t.length<=r)return t;var e=new URL(t),a=t.replace(e.origin,"");if(a.length1&&void 0!==arguments[1]?arguments[1]:{},e=O(t,r),n=e.formatUnit,a=e.formatDecimal;try{return n()}catch(t){return a()}},y=function(t){var r=h(t),e=r.hours,n=r.minutes,a=r.seconds;return a=("0"+a).slice(-2),n=("0"+n).slice(-2),"00"===(e=("0"+e).slice(-2))?"".concat(n,":").concat(a):"".concat(e,":").concat(n,":").concat(a)},h=function(t){return t=parseInt(t,10),Number.isNaN(t)&&(t=0),{hours:Math.floor(t/60/60),minutes:Math.floor(t/60%60),seconds:Math.floor(t%60)}},O=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=h(t),n=e.hours,a=e.minutes,i=e.seconds;return{hours:n,minutes:a,seconds:i,formatUnit:function(){var e=r.unitDisplay,o=b(b({unitDisplay:void 0===e?"short":e},f()(r,["unitDisplay"])),{},{style:"unit"});return 0===t?E(i,b(b({},o),{},{unit:"second"})):Object(p.sprintf)( +(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[12],{100:function(t,r,e){"use strict";e.d(r,"a",(function(){return d}));var n=e(5),a=e.n(n),i=e(7),o=e.n(i),c=e(16),u=e.n(c),s=e(58);function f(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function l(t){for(var r=1;r0&&void 0!==c[0]?c[0]:{},e=r.clearAfterRestore,n=void 0===e||e,t.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=t.sent,i=a.cacheHit,o=a.value,!i){t.next=13;break}return t.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!n){t.next=13;break}return t.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return t.abrupt("return",i);case 14:case"end":return t.stop()}}),t)})),createSnapshot:u.a.mark((function t(){var r;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return r=t.sent,t.abrupt("return",r);case 4:case"end":return t.stop()}}),t)}))},i=(r={},o()(r,"DELETE_SNAPSHOT",(function(){return Object(g.c)("datastore::cache::".concat(t))})),o()(r,"CREATE_SNAPSHOT",Object(l.createRegistryControl)((function(r){return function(){return Object(g.f)("datastore::cache::".concat(t),r.stores[t].store.getState())}}))),o()(r,"RESTORE_SNAPSHOT",(function(){return Object(g.d)("datastore::cache::".concat(t),p.b)})),r);return{initialState:e,actions:n,controls:i,reducer:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,r=arguments.length>1?arguments[1]:void 0,n=r.type,i=r.payload;switch(n){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return t}}}},b=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.a;return Object.values(t.stores).filter((function(t){return Object.keys(t.getActions()).includes("restoreSnapshot")}))},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.a;return Promise.all(b(t).map((function(t){return t.getActions().createSnapshot()})))},y=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.a;return Promise.all(b(t).map((function(t){return t.getActions().restoreSnapshot()})))}},2:function(t,r){t.exports=googlesitekit.i18n},23:function(t,r,e){"use strict";e.d(r,"b",(function(){return n})),e.d(r,"a",(function(){return a}));var n="core/ui",a="activeContextID"},3:function(t,r){t.exports=googlesitekit.data},34:function(t,r,e){"use strict";(function(t){e.d(r,"a",(function(){return l})),e.d(r,"d",(function(){return y})),e.d(r,"f",(function(){return h})),e.d(r,"c",(function(){return O})),e.d(r,"e",(function(){return k})),e.d(r,"b",(function(){return w}));var n=e(5),a=e.n(n),i=e(16),o=e.n(i),c=(e(27),e(9));function u(t,r){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=function(t,r){if(!t)return;if("string"==typeof t)return s(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return s(t,r)}(t))||r&&t&&"number"==typeof t.length){e&&(t=e);var n=0,a=function(){};return{s:a,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return o=t.done,t},e:function(t){c=!0,i=t},f:function(){try{o||null==e.return||e.return()}finally{if(c)throw i}}}}function s(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e2&&void 0!==v[2]?v[2]:{},o=i.ttl,u=void 0===o?c.b:o,s=i.timestamp,f=void 0===s?Math.round(Date.now()/1e3):s,l=i.isError,g=void 0!==l&&l,r.next=3,b();case 3:if(!(p=r.sent)){r.next=14;break}return r.prev=5,p.setItem("".concat(d).concat(e),JSON.stringify({timestamp:f,ttl:u,value:n,isError:g})),r.abrupt("return",!0);case 10:return r.prev=10,r.t0=r.catch(5),t.console.warn("Encountered an unexpected storage error:",r.t0),r.abrupt("return",!1);case 14:return r.abrupt("return",!1);case 15:case"end":return r.stop()}}),r,null,[[5,10]])})));return function(t,e){return r.apply(this,arguments)}}(),O=function(){var r=o()(a.a.mark((function r(e){var n,i;return a.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,b();case 2:if(!(n=r.sent)){r.next=14;break}return r.prev=4,i=e.startsWith(l)?e:"".concat(d).concat(e),n.removeItem(i),r.abrupt("return",!0);case 10:return r.prev=10,r.t0=r.catch(4),t.console.warn("Encountered an unexpected storage error:",r.t0),r.abrupt("return",!1);case 14:return r.abrupt("return",!1);case 15:case"end":return r.stop()}}),r,null,[[4,10]])})));return function(t){return r.apply(this,arguments)}}(),k=function(){var r=o()(a.a.mark((function r(){var e,n,i,o;return a.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,b();case 2:if(!(e=r.sent)){r.next=14;break}for(r.prev=4,n=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:i;return r instanceof Set&&r.has(t)}}).call(this,e(28))},40:function(t,r,e){"use strict";e.d(r,"a",(function(){return n})),e.d(r,"b",(function(){return a}));var n="_googlesitekitDataLayer",a="data-googlesitekit-gtag"},58:function(t,r,e){"use strict";e.d(r,"a",(function(){return a}));var n=e(40);function a(t){return function(){t[n.a]=t[n.a]||[],t[n.a].push(arguments)}}},6:function(t,r,e){"use strict";e.d(r,"a",(function(){return n})),e.d(r,"b",(function(){return a})),e.d(r,"e",(function(){return i})),e.d(r,"d",(function(){return o})),e.d(r,"c",(function(){return c})),e.d(r,"H",(function(){return u})),e.d(r,"M",(function(){return s})),e.d(r,"O",(function(){return f})),e.d(r,"K",(function(){return l})),e.d(r,"L",(function(){return d})),e.d(r,"J",(function(){return g})),e.d(r,"I",(function(){return p})),e.d(r,"N",(function(){return v})),e.d(r,"f",(function(){return b})),e.d(r,"g",(function(){return m})),e.d(r,"h",(function(){return y})),e.d(r,"j",(function(){return h})),e.d(r,"l",(function(){return O})),e.d(r,"m",(function(){return k})),e.d(r,"n",(function(){return w})),e.d(r,"o",(function(){return j})),e.d(r,"q",(function(){return S})),e.d(r,"s",(function(){return _})),e.d(r,"r",(function(){return E})),e.d(r,"t",(function(){return A})),e.d(r,"w",(function(){return N})),e.d(r,"u",(function(){return D})),e.d(r,"v",(function(){return x})),e.d(r,"x",(function(){return P})),e.d(r,"y",(function(){return R})),e.d(r,"A",(function(){return T})),e.d(r,"B",(function(){return I})),e.d(r,"C",(function(){return L})),e.d(r,"D",(function(){return C})),e.d(r,"k",(function(){return M})),e.d(r,"F",(function(){return V})),e.d(r,"z",(function(){return F})),e.d(r,"G",(function(){return H})),e.d(r,"E",(function(){return U})),e.d(r,"i",(function(){return q})),e.d(r,"p",(function(){return J})),e.d(r,"Q",(function(){return $})),e.d(r,"P",(function(){return K}));var n="core/user",a="connected_url_mismatch",i="__global",o="temporary_persist_permission_error",c="adblocker_active",u="googlesitekit_authenticate",s="googlesitekit_setup",f="googlesitekit_view_dashboard",l="googlesitekit_manage_options",d="googlesitekit_read_shared_module_data",g="googlesitekit_manage_module_sharing_options",p="googlesitekit_delegate_module_sharing_management",v="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",m="kmAnalyticsEngagedTrafficSource",y="kmAnalyticsLeastEngagingPages",h="kmAnalyticsNewVisitors",O="kmAnalyticsPopularAuthors",k="kmAnalyticsPopularContent",w="kmAnalyticsPopularProducts",j="kmAnalyticsReturningVisitors",S="kmAnalyticsTopCities",_="kmAnalyticsTopCitiesDrivingLeads",E="kmAnalyticsTopCitiesDrivingAddToCart",A="kmAnalyticsTopCitiesDrivingPurchases",N="kmAnalyticsTopDeviceDrivingPurchases",D="kmAnalyticsTopConvertingTrafficSource",x="kmAnalyticsTopCountries",P="kmAnalyticsTopPagesDrivingLeads",R="kmAnalyticsTopRecentTrendingPages",T="kmAnalyticsTopTrafficSource",I="kmAnalyticsTopTrafficSourceDrivingAddToCart",L="kmAnalyticsTopTrafficSourceDrivingLeads",C="kmAnalyticsTopTrafficSourceDrivingPurchases",M="kmAnalyticsPagesPerVisit",V="kmAnalyticsVisitLength",F="kmAnalyticsTopReturningVisitorPages",H="kmSearchConsolePopularKeywords",U="kmAnalyticsVisitsPerVisitor",q="kmAnalyticsMostEngagingPages",J="kmAnalyticsTopCategories",$=[b,m,y,h,O,k,w,j,J,S,_,E,A,N,D,x,R,T,I,M,V,F,U,q,J],K=[].concat($,[H])},65:function(t,r,e){"use strict";e.d(r,"a",(function(){return b})),e.d(r,"b",(function(){return m}));var n=e(7),a=e.n(n),i=e(33),o=e.n(i),c=e(116),u=e(12),s=e.n(u),f=e(93),l=e.n(f),d=e(9);function g(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function p(t){for(var r=1;r2&&void 0!==arguments[2]?arguments[2]:[];return s()(t,"error is required."),s()(r,"baseName is required."),s()(e&&Array.isArray(e),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:t,baseName:r,args:e}}},clearError:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return s()(t,"baseName is required."),s()(r&&Array.isArray(r),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:t,args:r}}},clearErrors:function(t){return{type:"CLEAR_ERRORS",payload:{baseName:t}}}};function m(t){s()(t,"storeName must be defined.");var r={getErrorForSelector:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return s()(e,"selectorName is required."),r.getError(t,e,n)},getErrorForAction:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return s()(e,"actionName is required."),r.getError(t,e,n)},getError:function(t,r,e){var n=t.errors;return s()(r,"baseName is required."),n[v(r,e)]},getErrors:function(t){var r=new Set(Object.values(t.errors));return Array.from(r)},getMetaDataForError:function(t,r){var e=Object.keys(t.errors).find((function(e){return t.errors[e]===r}));return e?{baseName:e.substring(0,e.indexOf("::")),args:t.errorArgs[e]}:null},getSelectorDataForError:Object(c.b)((function(r){return function(e,n){var a=r(t).getMetaDataForError(n);if(a){var i=a.baseName,o=a.args;if(!!r(t)[i])return{storeName:t,name:i,args:o}}return null}})),hasErrors:function(t){return r.getErrors(t).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(t,r){var e=r.type,n=r.payload;switch(e){case"RECEIVE_ERROR":var i=n.baseName,o=n.args,c=n.error,u=v(i,o);return p(p({},t),{},{errors:p(p({},t.errors||{}),{},a()({},u,c)),errorArgs:p(p({},t.errorArgs||{}),{},a()({},u,o))});case"CLEAR_ERROR":var s=n.baseName,f=n.args,l=p({},t),d=v(s,f);return l.errors=p({},t.errors||{}),l.errorArgs=p({},t.errorArgs||{}),delete l.errors[d],delete l.errorArgs[d],l;case"CLEAR_ERRORS":var g=n.baseName,b=p({},t);if(g)for(var m in b.errors=p({},t.errors||{}),b.errorArgs=p({},t.errorArgs||{}),b.errors)(m===g||m.startsWith("".concat(g,"::")))&&(delete b.errors[m],delete b.errorArgs[m]);else b.errors={},b.errorArgs={};return b;default:return t}},resolvers:{},selectors:r}}},72:function(t,r,e){"use strict";e.d(r,"a",(function(){return o})),e.d(r,"b",(function(){return c}));var n=e(33),a=e.n(n),i=e(83),o=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(t,r)}};function c(t){var r,e="object"===a()(t)?t.toString():t;return null==e||null===(r=e.replace)||void 0===r?void 0:r.call(e,/\/+$/,"")}},81:function(t,r,e){"use strict";e.d(r,"b",(function(){return a})),e.d(r,"a",(function(){return i})),e.d(r,"c",(function(){return o})),e.d(r,"d",(function(){return c}));var n=e(107);function a(t){try{return new URL(t).pathname}catch(t){}return null}function i(t,r){try{return new URL(r,t).href}catch(t){}return("string"==typeof t?t:"")+("string"==typeof r?r:"")}function o(t){return"string"!=typeof t?t:t.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(t,r){if(!Object(n.a)(t))return t;if(t.length<=r)return t;var e=new URL(t),a=t.replace(e.origin,"");if(a.length1&&void 0!==arguments[1]?arguments[1]:{},e=O(t,r),n=e.formatUnit,a=e.formatDecimal;try{return n()}catch(t){return a()}},y=function(t){var r=h(t),e=r.hours,n=r.minutes,a=r.seconds;return a=("0"+a).slice(-2),n=("0"+n).slice(-2),"00"===(e=("0"+e).slice(-2))?"".concat(n,":").concat(a):"".concat(e,":").concat(n,":").concat(a)},h=function(t){return t=parseInt(t,10),Number.isNaN(t)&&(t=0),{hours:Math.floor(t/60/60),minutes:Math.floor(t/60%60),seconds:Math.floor(t%60)}},O=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=h(t),n=e.hours,a=e.minutes,i=e.seconds;return{hours:n,minutes:a,seconds:i,formatUnit:function(){var e=r.unitDisplay,o=b(b({unitDisplay:void 0===e?"short":e},f()(r,["unitDisplay"])),{},{style:"unit"});return 0===t?E(i,b(b({},o),{},{unit:"second"})):Object(p.sprintf)( /* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?E(i,b(b({},o),{},{unit:"second"})):"",a?E(a,b(b({},o),{},{unit:"minute"})):"",n?E(n,b(b({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var r=Object(p.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. Object(p.__)("%ds","google-site-kit"),i);if(0===t)return r;var e=Object(p.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. @@ -9,6 +9,6 @@ Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i? Object(p.__)("%sM","google-site-kit"),E(k(t),t%10==0?{}:r)):1e4<=t?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. Object(p.__)("%sK","google-site-kit"),E(k(t))):1e3<=t?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. Object(p.__)("%sK","google-site-kit"),E(k(t),t%10==0?{}:r)):E(t,{signDisplay:"never",maximumFractionDigits:1})};function j(t){var r={};return"%"===t?r={style:"percent",maximumFractionDigits:2}:"s"===t?r={style:"duration",unitDisplay:"narrow"}:t&&"string"==typeof t?r={style:"currency",currency:t}:Object(l.isPlainObject)(t)&&(r=b({},t)),r}function S(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=Object(l.isFinite)(t)?t:Number(t),Object(l.isFinite)(t)||(console.warn("Invalid number",t,o()(t)),t=0);var e=j(r),n=e.style,a=void 0===n?"metric":n;return"metric"===a?w(t):"duration"===a?m(t,e):"durationISO"===a?y(t):E(t,e)}var _=g()(console.warn),E=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=r.locale,n=void 0===e?N():e,i=f()(r,["locale"]);try{return new Intl.NumberFormat(n,i).format(t)}catch(r){_("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(n),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(t)," )"),r.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},u=["signDisplay","compactDisplay"],s={},l=0,d=Object.entries(i);l1&&void 0!==arguments[1]?arguments[1]:{},e=r.locale,n=void 0===e?N():e,a=r.style,i=void 0===a?"long":a,o=r.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var u=new Intl.ListFormat(n,{style:i,type:c});return u.format(t)} -/* translators: used between list items, there is a space after the comma. */var s=Object(p.__)(", ","google-site-kit");return t.join(s)},N=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,e=Object(l.get)(r,["_googlesitekitLegacyData","locale"]);if(e){var n=e.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return r.navigator.language}}).call(this,e(28))},82:function(t,r,e){"use strict";(function(t){e.d(r,"a",(function(){return a}));var n=e(145),a=e.n(n)()(t)}).call(this,e(28))},85:function(t,r,e){"use strict";(function(t){var n=e(1),a=e.n(n),i=e(11),o=e.n(i);function ChangeArrow(r){var e=r.direction,n=r.invertColor,a=r.width,i=r.height;return t.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(e),{"googlesitekit-change-arrow--inverted-color":n}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},r.a=ChangeArrow}).call(this,e(4))},88:function(t,r,e){"use strict";e.d(r,"a",(function(){return i}));var n=e(12),a=e.n(n),i=function(t,r){var e=r.dateRangeLength;a()(Array.isArray(t),"report must be an array to partition."),a()(Number.isInteger(e)&&e>0,"dateRangeLength must be a positive integer.");var n=-1*e;return{currentRange:t.slice(n),compareRange:t.slice(2*n,n)}}},9:function(t,r,e){"use strict";e.d(r,"J",(function(){return a.b})),e.d(r,"K",(function(){return a.c})),e.d(r,"G",(function(){return i.a})),e.d(r,"L",(function(){return i.b})),e.d(r,"I",(function(){return f})),e.d(r,"n",(function(){return l.a})),e.d(r,"C",(function(){return l.d})),e.d(r,"D",(function(){return l.e})),e.d(r,"z",(function(){return l.c})),e.d(r,"s",(function(){return l.b})),e.d(r,"A",(function(){return v})),e.d(r,"k",(function(){return b})),e.d(r,"j",(function(){return m})),e.d(r,"d",(function(){return j})),e.d(r,"c",(function(){return S})),e.d(r,"e",(function(){return _})),e.d(r,"b",(function(){return E})),e.d(r,"a",(function(){return A})),e.d(r,"g",(function(){return N})),e.d(r,"f",(function(){return D})),e.d(r,"o",(function(){return x})),e.d(r,"x",(function(){return P})),e.d(r,"q",(function(){return R})),e.d(r,"H",(function(){return T})),e.d(r,"t",(function(){return I})),e.d(r,"w",(function(){return L})),e.d(r,"l",(function(){return C})),e.d(r,"p",(function(){return M.b})),e.d(r,"i",(function(){return M.a})),e.d(r,"u",(function(){return V.b})),e.d(r,"r",(function(){return V.a})),e.d(r,"B",(function(){return V.c})),e.d(r,"y",(function(){return F})),e.d(r,"v",(function(){return H})),e.d(r,"F",(function(){return J})),e.d(r,"E",(function(){return $.a})),e.d(r,"h",(function(){return K})),e.d(r,"M",(function(){return B})),e.d(r,"m",(function(){return z}));var n=e(13),a=e(37),i=e(72),o=e(33),c=e.n(o),u=e(92),s=e.n(u),f=function(t){return s()(JSON.stringify(function t(r){var e={};return Object.keys(r).sort().forEach((function(n){var a=r[n];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=t(a)),e[n]=a})),e}(t)))};e(96);var l=e(81);function d(t){return t.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function g(t){return"

".concat(t.replace(/\n{2,}/g,"

"),"

")}function p(t){return t.replace(/\n/gi,"
")}function v(t){for(var r=t,e=0,n=[d,g,p];e0&&void 0!==arguments[0]?arguments[0]:t,e=Object(l.get)(r,["_googlesitekitLegacyData","locale"]);if(e){var n=e.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return r.navigator.language}}).call(this,e(28))},83:function(t,r,e){"use strict";(function(t){e.d(r,"a",(function(){return a}));var n=e(147),a=e.n(n)()(t)}).call(this,e(28))},86:function(t,r,e){"use strict";(function(t){var n=e(0),a=e.n(n),i=e(11),o=e.n(i);function ChangeArrow(r){var e=r.direction,n=r.invertColor,a=r.width,i=r.height;return t.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(e),{"googlesitekit-change-arrow--inverted-color":n}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},r.a=ChangeArrow}).call(this,e(4))},89:function(t,r,e){"use strict";e.d(r,"a",(function(){return i}));var n=e(12),a=e.n(n),i=function(t,r){var e=r.dateRangeLength;a()(Array.isArray(t),"report must be an array to partition."),a()(Number.isInteger(e)&&e>0,"dateRangeLength must be a positive integer.");var n=-1*e;return{currentRange:t.slice(n),compareRange:t.slice(2*n,n)}}},9:function(t,r,e){"use strict";e.d(r,"J",(function(){return a.b})),e.d(r,"K",(function(){return a.c})),e.d(r,"G",(function(){return i.a})),e.d(r,"L",(function(){return i.b})),e.d(r,"I",(function(){return f})),e.d(r,"n",(function(){return l.a})),e.d(r,"C",(function(){return l.d})),e.d(r,"D",(function(){return l.e})),e.d(r,"z",(function(){return l.c})),e.d(r,"s",(function(){return l.b})),e.d(r,"A",(function(){return v})),e.d(r,"k",(function(){return b})),e.d(r,"j",(function(){return m})),e.d(r,"d",(function(){return j})),e.d(r,"c",(function(){return S})),e.d(r,"e",(function(){return _})),e.d(r,"b",(function(){return E})),e.d(r,"a",(function(){return A})),e.d(r,"g",(function(){return N})),e.d(r,"f",(function(){return D})),e.d(r,"o",(function(){return x})),e.d(r,"x",(function(){return P})),e.d(r,"q",(function(){return R})),e.d(r,"H",(function(){return T})),e.d(r,"t",(function(){return I})),e.d(r,"w",(function(){return L})),e.d(r,"l",(function(){return C})),e.d(r,"p",(function(){return M.b})),e.d(r,"i",(function(){return M.a})),e.d(r,"u",(function(){return V.b})),e.d(r,"r",(function(){return V.a})),e.d(r,"B",(function(){return V.c})),e.d(r,"y",(function(){return F})),e.d(r,"v",(function(){return H})),e.d(r,"F",(function(){return J})),e.d(r,"E",(function(){return $.a})),e.d(r,"h",(function(){return K})),e.d(r,"M",(function(){return B})),e.d(r,"m",(function(){return z}));var n=e(14),a=e(37),i=e(72),o=e(33),c=e.n(o),u=e(93),s=e.n(u),f=function(t){return s()(JSON.stringify(function t(r){var e={};return Object.keys(r).sort().forEach((function(n){var a=r[n];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=t(a)),e[n]=a})),e}(t)))};e(96);var l=e(82);function d(t){return t.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function g(t){return"

".concat(t.replace(/\n{2,}/g,"

"),"

")}function p(t){return t.replace(/\n/gi,"
")}function v(t){for(var r=t,e=0,n=[d,g,p];e0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(t))return!1;var r=t.split("-");if(3!==r.length)return!1;var e=new Date(t);return Object(n.isDate)(e)&&!isNaN(e)}function R(t){k()(Object(n.isDate)(t)&&!isNaN(t),"Date param must construct to a valid date instance or be a valid date instance itself.");var r="".concat(t.getMonth()+1),e="".concat(t.getDate());return[t.getFullYear(),r.length<2?"0".concat(r):r,e.length<2?"0".concat(e):e].join("-")}function T(t){k()(P(t),j);var r=t.split("-"),e=h()(r,3),n=e[0],a=e[1],i=e[2];return new Date(n,a-1,i)}function I(t,r){return R(C(t,r*A))}function L(t){var r=t.split("-");return 3===r.length&&"last"===r[0]&&!Number.isNaN(r[1])&&!Number.isNaN(parseFloat(r[1]))&&"days"===r[2]}function C(t,r){k()(P(t)||Object(n.isDate)(t)&&!isNaN(t),j);var e=P(t)?Date.parse(t):t.getTime();return new Date(e-1e3*r)}var M=e(97),V=e(80);function F(t){var r=parseFloat(t)||0;return!!Number.isInteger(r)&&r>0}function H(t){if("number"==typeof t)return!0;var r=(t||"").toString();return!!r&&!isNaN(r)}var U=e(27),q=e.n(U),J=function(t){return Array.isArray(t)?q()(t).sort():t},$=e(88);function K(t,r){var e=function(t){return"0"===t||0===t};if(e(t)&&e(r))return 0;if(e(t)||Number.isNaN(t))return null;var n=(r-t)/t;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var B=function(t){try{return JSON.parse(t)&&!!t}catch(t){return!1}},z=function(t){if(!t)return"";var r=t.replace(/&#(\d+);/g,(function(t,r){return String.fromCharCode(r)})).replace(/(\\)/g,"");return Object(n.unescape)(r)}},96:function(t,r,e){"use strict";(function(t){e(51),e(53)}).call(this,e(28))},97:function(t,r,e){"use strict";(function(t){e.d(r,"b",(function(){return i})),e.d(r,"a",(function(){return o}));var n=e(231),a=e(85),i=function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(r)))return"";var i=e.invertColor,o=void 0!==i&&i;return Object(n.a)(t.createElement(a.a,{direction:r>0?"up":"down",invertColor:o}))},o=function(t,r){return t>0&&r>0?t/r-1:t>0?1:r>0?-1:0}}).call(this,e(4))},98:function(t,r,e){"use strict";(function(t){e.d(r,"a",(function(){return l}));var n=e(7),a=e.n(n),i=e(13),o=e(99),c=e(100);function u(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function s(t){for(var r=1;r1&&void 0!==arguments[1]?arguments[1]:t,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,a=s(s({},f),r);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var u=Object(o.a)(a,e),l=Object(c.a)(a,e,u,n),d={},g=function(){for(var t=arguments.length,r=new Array(t),e=0;e0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(t))return!1;var r=t.split("-");if(3!==r.length)return!1;var e=new Date(t);return Object(n.isDate)(e)&&!isNaN(e)}function R(t){k()(Object(n.isDate)(t)&&!isNaN(t),"Date param must construct to a valid date instance or be a valid date instance itself.");var r="".concat(t.getMonth()+1),e="".concat(t.getDate());return[t.getFullYear(),r.length<2?"0".concat(r):r,e.length<2?"0".concat(e):e].join("-")}function T(t){k()(P(t),j);var r=t.split("-"),e=h()(r,3),n=e[0],a=e[1],i=e[2];return new Date(n,a-1,i)}function I(t,r){return R(C(t,r*A))}function L(t){var r=t.split("-");return 3===r.length&&"last"===r[0]&&!Number.isNaN(r[1])&&!Number.isNaN(parseFloat(r[1]))&&"days"===r[2]}function C(t,r){k()(P(t)||Object(n.isDate)(t)&&!isNaN(t),j);var e=P(t)?Date.parse(t):t.getTime();return new Date(e-1e3*r)}var M=e(97),V=e(81);function F(t){var r=parseFloat(t)||0;return!!Number.isInteger(r)&&r>0}function H(t){if("number"==typeof t)return!0;var r=(t||"").toString();return!!r&&!isNaN(r)}var U=e(27),q=e.n(U),J=function(t){return Array.isArray(t)?q()(t).sort():t},$=e(89);function K(t,r){var e=function(t){return"0"===t||0===t};if(e(t)&&e(r))return 0;if(e(t)||Number.isNaN(t))return null;var n=(r-t)/t;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var B=function(t){try{return JSON.parse(t)&&!!t}catch(t){return!1}},z=function(t){if(!t)return"";var r=t.replace(/&#(\d+);/g,(function(t,r){return String.fromCharCode(r)})).replace(/(\\)/g,"");return Object(n.unescape)(r)}},96:function(t,r,e){"use strict";(function(t){e(52),e(53)}).call(this,e(28))},97:function(t,r,e){"use strict";(function(t){e.d(r,"b",(function(){return i})),e.d(r,"a",(function(){return o}));var n=e(234),a=e(86),i=function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(r)))return"";var i=e.invertColor,o=void 0!==i&&i;return Object(n.a)(t.createElement(a.a,{direction:r>0?"up":"down",invertColor:o}))},o=function(t,r){return t>0&&r>0?t/r-1:t>0?1:r>0?-1:0}}).call(this,e(4))},98:function(t,r,e){"use strict";(function(t){e.d(r,"a",(function(){return l}));var n=e(7),a=e.n(n),i=e(14),o=e(99),c=e(100);function u(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function s(t){for(var r=1;r1&&void 0!==arguments[1]?arguments[1]:t,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,a=s(s({},f),r);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var u=Object(o.a)(a,e),l=Object(c.a)(a,e,u,n),d={},g=function(){for(var t=arguments.length,r=new Array(t),e=0;e=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw o}}}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug;p()(t,"slug is required.")}}),F={lastDismissedAt:void 0,dismissedTourSlugs:void 0,tours:D,currentTour:void 0,shownTour:void 0},V={dismissTour:Object(R.f)((function(e){p()(e,"A tour slug is required to dismiss a tour.")}),c.a.mark((function e(t){var r,n,i;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:if(r=e.sent,!(n=r.select)(S.a).isFetchingDismissTour(t)){e.next=7;break}return i=n(S.a).getDismissedFeatureTourSlugs(),e.abrupt("return",{response:i,error:void 0});case 7:return e.next=9,{type:"DISMISS_TOUR",payload:{slug:t}};case 9:return e.next=11,H.setLastDismissedAt(Date.now());case 11:return e.next=13,G.actions.fetchDismissTour(t);case 13:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}}),e)}))),receiveCurrentTour:function(e){return p()(Object(v.isPlainObject)(e)||Object(v.isNull)(e),"tour must be a plain object or null."),{payload:{tour:e},type:"RECEIVE_CURRENT_TOUR"}},receiveFeatureToursForView:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.viewContext;return p()(Array.isArray(e),"viewTours must be an array."),p()(r,"viewContext is required."),{payload:{viewTours:e,viewContext:r},type:"RECEIVE_READY_TOURS"}},receiveAllFeatureTours:function(e){return p()(Array.isArray(e),"tours must be an array."),{payload:{tours:e},type:"RECEIVE_TOURS"}},receiveLastDismissedAt:function(e){return p()(void 0!==e,"A timestamp is required."),{type:"RECEIVE_LAST_DISMISSED_AT",payload:{timestamp:e}}},setLastDismissedAt:Object(R.f)((function(e){p()(e,"A timestamp is required.")}),c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:return e.sent.dispatch(h.c).setCacheItem("feature_tour_last_dismissed_at",t,{ttl:7200}),e.next=6,{type:"RECEIVE_LAST_DISMISSED_AT",payload:{timestamp:t}};case 6:case"end":return e.stop()}}),e)}))),triggerTour:c.a.mark((function e(t){var r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:if(r=e.sent,(0,r.select)(S.a).getCurrentTour()){e.next=7;break}return e.next=7,V.receiveCurrentTour(t);case 7:case"end":return e.stop()}}),e)})),triggerOnDemandTour:c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{tour:t},type:"CHECK_ON_DEMAND_TOUR_REQUIREMENTS"};case 2:if(!e.sent){e.next=6;break}return e.next=6,V.triggerTour(t);case 6:case"end":return e.stop()}}),e)})),triggerTourForView:c.a.mark((function e(t){var r,n,i,o,s,a,u;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:return r=e.sent,n=r.select,i=r.resolveSelect,e.next=7,y.commonActions.await(i(S.a).getLastDismissedAt());case 7:if(!n(S.a).areFeatureToursOnCooldown()){e.next=9;break}return e.abrupt("return",{});case 9:o=n(S.a).getAllFeatureTours(),s=P(o),e.prev=11,s.s();case 13:if((a=s.n()).done){e.next=24;break}return u=a.value,e.next=17,{payload:{tour:u,viewContext:t},type:"CHECK_TOUR_REQUIREMENTS"};case 17:if(!e.sent){e.next=22;break}return e.next=21,V.triggerTour(u);case 21:return e.abrupt("return",u);case 22:e.next=13;break;case 24:e.next=29;break;case 26:e.prev=26,e.t0=e.catch(11),s.e(e.t0);case 29:return e.prev=29,s.f(),e.finish(29);case 32:return e.next=34,V.triggerTour(null);case 34:return e.abrupt("return",null);case 35:case"end":return e.stop()}}),e,null,[[11,26,29,32]])}))},q=(i={},l()(i,"CHECK_TOUR_REQUIREMENTS",Object(y.createRegistryControl)((function(e){return function(){var t=s()(c.a.mark((function t(r){var n,i,o,s;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.payload,i=n.tour,o=n.viewContext,i.contexts.includes(o)){t.next=4;break}return t.abrupt("return",!1);case 4:return t.next=6,e.resolveSelect(S.a).getInitialSiteKitVersion();case 6:if(s=t.sent){t.next=11;break}return t.abrupt("return",!1);case 11:if(!f.a.compare(s,i.version,">=")){t.next=13;break}return t.abrupt("return",!1);case 13:return t.next=15,e.resolveSelect(S.a).getDismissedFeatureTourSlugs();case 15:if(!e.select(S.a).isTourDismissed(i.slug)){t.next=17;break}return t.abrupt("return",!1);case 17:if(!i.checkRequirements){t.next=21;break}return t.next=20,i.checkRequirements(e);case 20:return t.abrupt("return",!!t.sent);case 21:return t.abrupt("return",!0);case 22:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()}))),l()(i,"CHECK_ON_DEMAND_TOUR_REQUIREMENTS",Object(y.createRegistryControl)((function(e){return function(){var t=s()(c.a.mark((function t(r){var n,i;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.payload,i=n.tour,t.next=4,e.resolveSelect(S.a).getDismissedFeatureTourSlugs();case 4:if(!e.select(S.a).isTourDismissed(i.slug)){t.next=6;break}return t.abrupt("return",!1);case 6:if(!i.checkRequirements){t.next=10;break}return t.next=9,i.checkRequirements(e);case 9:return t.abrupt("return",!!t.sent);case 10:return t.abrupt("return",!0);case 11:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()}))),i),K={getDismissedFeatureTourSlugs:c.a.mark((function e(){var t,r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:if(t=e.sent,r=t.select,void 0!==r(S.a).getDismissedFeatureTourSlugs()){e.next=8;break}return e.next=8,M.actions.fetchGetDismissedTours();case 8:case"end":return e.stop()}}),e)})),getLastDismissedAt:c.a.mark((function e(){var t,r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y.commonActions.await(Object(C.d)("feature_tour_last_dismissed_at"));case 2:return t=e.sent,r=t.value,e.next=6,H.receiveLastDismissedAt(r||null);case 6:case"end":return e.stop()}}),e)}))},B={getCurrentTour:function(e){return e.currentTour},getShownTour:function(e){return e.shownTour},getDismissedFeatureTourSlugs:function(e){return e.dismissedTourSlugs},getAllFeatureTours:function(e){return e.tours},isTourDismissed:Object(y.createRegistrySelector)((function(e){return function(t,r){var n=e(S.a).getDismissedFeatureTourSlugs();if(void 0!==n)return n.includes(r)}})),getLastDismissedAt:function(e){return e.lastDismissedAt},areFeatureToursOnCooldown:Object(y.createRegistrySelector)((function(e){return function(){var t=e(S.a).getLastDismissedAt();if(void 0!==t){if(null===t)return!1;var r=t+72e5;return Date.now()=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw o}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&void 0!==v[2]?v[2]:{},s=o.ttl,c=void 0===s?a.b:s,u=o.timestamp,l=void 0===u?Math.round(Date.now()/1e3):u,g=o.isError,d=void 0!==g&&g,t.next=3,b();case 3:if(!(p=t.sent)){t.next=14;break}return t.prev=5,p.setItem("".concat(f).concat(r),JSON.stringify({timestamp:l,ttl:c,value:n,isError:d})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,r){return t.apply(this,arguments)}}(),h=function(){var t=s()(i.a.mark((function t(r){var n,o;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}return t.prev=4,o=r.startsWith(g)?r:"".concat(f).concat(r),n.removeItem(o),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),S=function(){var t=s()(i.a.mark((function t(){var r,n,o,s;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(r=t.sent)){t.next=14;break}for(t.prev=4,n=[],o=0;o1&&void 0!==arguments[1]?arguments[1]:o;return t instanceof Set&&t.has(e)}}).call(this,r(28))},414:function(e,t,r){"use strict";function n(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?r-1:0),i=1;i3&&void 0!==arguments[3]?arguments[3]:{},a=o.client,u=void 0===a||a,d=o.server,v=void 0===d||d,b=o.storeName,m=void 0===b?void 0:b;c()(t,"type is required."),c()(r,"identifier is required."),c()(n,"datapoint is required.");var y=m||"".concat(t,"/").concat(r),O={serverNotifications:v?void 0:{},clientNotifications:u?void 0:{}},h=Object(f.a)({baseName:"getNotifications",controlCallback:function(){return l.a.get(t,r,n)},reducerCallback:function(e,t){return p(p({},e),{},{serverNotifications:t.reduce((function(e,t){return p(p({},e),{},s()({},t.id,t))}),{})})}}),S={addNotification:function(e){return c()(e,"notification is required."),{payload:{notification:e},type:"ADD_NOTIFICATION"}},removeNotification:function(e){return c()(e,"id is required."),{payload:{id:e},type:"REMOVE_NOTIFICATION"}}},j={},_=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O,r=arguments.length>1?arguments[1]:void 0,n=r.type,i=r.payload;switch(n){case"ADD_NOTIFICATION":var o=i.notification;return p(p({},t),{},{clientNotifications:p(p({},t.clientNotifications||{}),{},s()({},o.id,o))});case"REMOVE_NOTIFICATION":var a=i.id;if(void 0===t.clientNotifications||void 0===t.clientNotifications[a])return void 0!==t.serverNotifications&&void 0!==t.serverNotifications[a]&&e.console.warn('Cannot remove server-side notification with ID "'.concat(a,'"; this may be changed in a future release.')),t;var c=p({},t.clientNotifications);return delete c[a],p(p({},t),{},{clientNotifications:c});default:return t}},E={getNotifications:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,g.commonActions.getRegistry();case 2:if(t=e.sent,t.select(y).getNotifications()){e.next=7;break}return e.next=7,h.actions.fetchGetNotifications();case 7:case"end":return e.stop()}}),e)}))};v||delete E.getNotifications;var k={getNotifications:function(e){var t=e.serverNotifications,r=e.clientNotifications;return void 0===t&&void 0===r?t:Object.values(p(p({},t||{}),r||{}))}},w=Object(g.combineStores)(h,{initialState:O,actions:S,controls:j,reducer:_,resolvers:E,selectors:k});return p(p({},w),{},{STORE_NAME:y})}}).call(this,r(28))},57:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(39);function i(e){return function(){e[n.a]=e[n.a]||[],e[n.a].push(arguments)}}},6:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return i})),r.d(t,"e",(function(){return o})),r.d(t,"d",(function(){return s})),r.d(t,"c",(function(){return a})),r.d(t,"H",(function(){return c})),r.d(t,"M",(function(){return u})),r.d(t,"O",(function(){return l})),r.d(t,"K",(function(){return g})),r.d(t,"L",(function(){return f})),r.d(t,"J",(function(){return d})),r.d(t,"I",(function(){return p})),r.d(t,"N",(function(){return v})),r.d(t,"f",(function(){return b})),r.d(t,"g",(function(){return m})),r.d(t,"h",(function(){return y})),r.d(t,"j",(function(){return O})),r.d(t,"l",(function(){return h})),r.d(t,"m",(function(){return S})),r.d(t,"n",(function(){return j})),r.d(t,"o",(function(){return _})),r.d(t,"q",(function(){return E})),r.d(t,"s",(function(){return k})),r.d(t,"r",(function(){return w})),r.d(t,"t",(function(){return A})),r.d(t,"w",(function(){return T})),r.d(t,"u",(function(){return I})),r.d(t,"v",(function(){return D})),r.d(t,"x",(function(){return C})),r.d(t,"y",(function(){return R})),r.d(t,"A",(function(){return P})),r.d(t,"B",(function(){return x})),r.d(t,"C",(function(){return N})),r.d(t,"D",(function(){return U})),r.d(t,"k",(function(){return L})),r.d(t,"F",(function(){return M})),r.d(t,"z",(function(){return G})),r.d(t,"G",(function(){return F})),r.d(t,"E",(function(){return V})),r.d(t,"i",(function(){return q})),r.d(t,"p",(function(){return K})),r.d(t,"Q",(function(){return B})),r.d(t,"P",(function(){return W}));var n="core/user",i="connected_url_mismatch",o="__global",s="temporary_persist_permission_error",a="adblocker_active",c="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",g="googlesitekit_manage_options",f="googlesitekit_read_shared_module_data",d="googlesitekit_manage_module_sharing_options",p="googlesitekit_delegate_module_sharing_management",v="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",m="kmAnalyticsEngagedTrafficSource",y="kmAnalyticsLeastEngagingPages",O="kmAnalyticsNewVisitors",h="kmAnalyticsPopularAuthors",S="kmAnalyticsPopularContent",j="kmAnalyticsPopularProducts",_="kmAnalyticsReturningVisitors",E="kmAnalyticsTopCities",k="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",A="kmAnalyticsTopCitiesDrivingPurchases",T="kmAnalyticsTopDeviceDrivingPurchases",I="kmAnalyticsTopConvertingTrafficSource",D="kmAnalyticsTopCountries",C="kmAnalyticsTopPagesDrivingLeads",R="kmAnalyticsTopRecentTrendingPages",P="kmAnalyticsTopTrafficSource",x="kmAnalyticsTopTrafficSourceDrivingAddToCart",N="kmAnalyticsTopTrafficSourceDrivingLeads",U="kmAnalyticsTopTrafficSourceDrivingPurchases",L="kmAnalyticsPagesPerVisit",M="kmAnalyticsVisitLength",G="kmAnalyticsTopReturningVisitorPages",F="kmSearchConsolePopularKeywords",V="kmAnalyticsVisitsPerVisitor",q="kmAnalyticsMostEngagingPages",K="kmAnalyticsTopCategories",B=[b,m,y,O,h,S,j,_,K,E,k,w,A,T,I,D,R,P,x,L,M,G,V,q,K],W=[].concat(B,[F])},61:function(e,t,r){"use strict";r.d(t,"a",(function(){return w})),r.d(t,"b",(function(){return A})),r.d(t,"c",(function(){return T})),r.d(t,"d",(function(){return D})),r.d(t,"e",(function(){return C})),r.d(t,"g",(function(){return P})),r.d(t,"f",(function(){return x}));var n,i=r(5),o=r.n(i),s=r(27),a=r.n(s),c=r(7),u=r.n(c),l=r(12),g=r.n(l),f=r(60),d=r.n(f),p=r(13),v=r(114);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.reduce((function(e,r){return r(e,t)}),e)}},j=y,_=y,E=y,k=function(e){return e},w=function(){for(var e=arguments.length,t=new Array(e),r=0;r=1?r[i]+1:1,r[i]>1&&t.push(i)}return t},D={actions:A,controls:T,reducer:k},C=function(e){return function(t){return R(e(t))}},R=d()((function(e){return Object(p.mapValues)(e,(function(e,t){return function(){var r=e.apply(void 0,arguments);return g()(void 0!==r,"".concat(t,"(...) is not resolved")),r}}))}));function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.negate,n=void 0!==r&&r,i=Object(v.b)((function(t){return function(r){var i=!n,o=!!n;try{for(var s=arguments.length,a=new Array(s>1?s-1:0),c=1;c1?n-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:[];return u()(e,"error is required."),u()(t,"baseName is required."),u()(r&&Array.isArray(r),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:e,baseName:t,args:r}}},clearError:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return u()(e,"baseName is required."),u()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:e,args:t}}},clearErrors:function(e){return{type:"CLEAR_ERRORS",payload:{baseName:e}}}};function m(e){u()(e,"storeName must be defined.");var t={getErrorForSelector:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"selectorName is required."),t.getError(e,r,n)},getErrorForAction:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"actionName is required."),t.getError(e,r,n)},getError:function(e,t,r){var n=e.errors;return u()(t,"baseName is required."),n[v(t,r)]},getErrors:function(e){var t=new Set(Object.values(e.errors));return Array.from(t)},getMetaDataForError:function(e,t){var r=Object.keys(e.errors).find((function(r){return e.errors[r]===t}));return r?{baseName:r.substring(0,r.indexOf("::")),args:e.errorArgs[r]}:null},getSelectorDataForError:Object(a.b)((function(t){return function(r,n){var i=t(e).getMetaDataForError(n);if(i){var o=i.baseName,s=i.args;if(!!t(e)[o])return{storeName:e,name:o,args:s}}return null}})),hasErrors:function(e){return t.getErrors(e).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"RECEIVE_ERROR":var o=n.baseName,s=n.args,a=n.error,c=v(o,s);return p(p({},e),{},{errors:p(p({},e.errors||{}),{},i()({},c,a)),errorArgs:p(p({},e.errorArgs||{}),{},i()({},c,s))});case"CLEAR_ERROR":var u=n.baseName,l=n.args,g=p({},e),f=v(u,l);return g.errors=p({},e.errors||{}),g.errorArgs=p({},e.errorArgs||{}),delete g.errors[f],delete g.errorArgs[f],g;case"CLEAR_ERRORS":var d=n.baseName,b=p({},e);if(d)for(var m in b.errors=p({},e.errors||{}),b.errorArgs=p({},e.errorArgs||{}),b.errors)(m===d||m.startsWith("".concat(d,"::")))&&(delete b.errors[m],delete b.errorArgs[m]);else b.errors={},b.errorArgs={};return b;default:return e}},resolvers:{},selectors:t}}},72:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return a}));var n=r(33),i=r.n(n),o=r(82),s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:o.a.sanitize(e,t)}};function a(e){var t,r="object"===i()(e)?e.toString():e;return null==r||null===(t=r.replace)||void 0===t?void 0:t.call(r,/\/+$/,"")}},79:function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"a",(function(){return i})),r.d(t,"c",(function(){return o}));var n=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},i=function(e){return e.replace(/([a-z0-9]{1})([A-Z]{1})/g,"$1_$2").toUpperCase()};function o(e){return e.split("-").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}},8:function(e,t,r){"use strict";r.d(t,"r",(function(){return n})),r.d(t,"a",(function(){return i})),r.d(t,"s",(function(){return o})),r.d(t,"z",(function(){return s})),r.d(t,"o",(function(){return a})),r.d(t,"q",(function(){return c})),r.d(t,"g",(function(){return u})),r.d(t,"p",(function(){return l})),r.d(t,"j",(function(){return g})),r.d(t,"i",(function(){return f})),r.d(t,"k",(function(){return d})),r.d(t,"m",(function(){return p})),r.d(t,"n",(function(){return v})),r.d(t,"h",(function(){return b})),r.d(t,"x",(function(){return m})),r.d(t,"w",(function(){return y})),r.d(t,"y",(function(){return O})),r.d(t,"u",(function(){return h})),r.d(t,"v",(function(){return S})),r.d(t,"f",(function(){return j})),r.d(t,"l",(function(){return _})),r.d(t,"e",(function(){return E})),r.d(t,"t",(function(){return k})),r.d(t,"c",(function(){return w})),r.d(t,"d",(function(){return A})),r.d(t,"b",(function(){return T}));var n="modules/analytics-4",i="account_create",o="property_create",s="webdatastream_create",a="analyticsSetup",c=10,u=1,l="https://www.googleapis.com/auth/tagmanager.readonly",g="enhanced-measurement-form",f="enhanced-measurement-enabled",d="enhanced-measurement-should-dismiss-activation-banner",p="analyticsAccountCreate",v="analyticsCustomDimensionsCreate",b="https://www.googleapis.com/auth/analytics.edit",m="dashboardAllTrafficWidgetDimensionName",y="dashboardAllTrafficWidgetDimensionColor",O="dashboardAllTrafficWidgetDimensionValue",h="dashboardAllTrafficWidgetActiveRowIndex",S="dashboardAllTrafficWidgetLoaded",j={googlesitekit_post_date:{parameterName:"googlesitekit_post_date",displayName:"WordPress Post Date",description:"Created by Site Kit: Date when a post was published",scope:"EVENT"},googlesitekit_post_author:{parameterName:"googlesitekit_post_author",displayName:"WordPress Post Author",description:"Created by Site Kit: WordPress name of the post author",scope:"EVENT"},googlesitekit_post_categories:{parameterName:"googlesitekit_post_categories",displayName:"WordPress Post Categories",description:"Created by Site Kit: Names of categories assigned to a post",scope:"EVENT"},googlesitekit_post_type:{parameterName:"googlesitekit_post_type",displayName:"WordPress Post Type",description:"Created by Site Kit: Content type of a post",scope:"EVENT"}},_={ADD_TO_CART:"add_to_cart",PURCHASE:"purchase",SUBMIT_LEAD_FORM:"submit_lead_form",GENERATE_LEAD:"generate_lead",CONTACT:"contact"},E=[_.CONTACT,_.GENERATE_LEAD,_.SUBMIT_LEAD_FORM],k={"new-visitors":{description:"People who visited the site for the first time",displayName:"New visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"new"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:new_visitors"}}}}]}}]}}}}]},"returning-visitors":{description:"People who have visited your site at least once before",displayName:"Returning visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"returning"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:returning_visitors"}}}}]}}]}}}}]}},w="audiencePermissionsSetup",A="audienceTileCustomDimensionCreate",T="audience-selection-panel-expirable-new-badge-"},80:function(e,t,r){"use strict";r.d(t,"b",(function(){return i})),r.d(t,"a",(function(){return o})),r.d(t,"c",(function(){return s})),r.d(t,"d",(function(){return a}));var n=r(107);function i(e){try{return new URL(e).pathname}catch(e){}return null}function o(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function s(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function a(e,t){if(!Object(n.a)(e))return e;if(e.length<=t)return e;var r=new URL(e),i=e.replace(r.origin,"");if(i.length1&&void 0!==arguments[1]?arguments[1]:{},r=h(e,t),n=r.formatUnit,i=r.formatDecimal;try{return n()}catch(e){return i()}},y=function(e){var t=O(e),r=t.hours,n=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),n=("0"+n).slice(-2),"00"===(r=("0"+r).slice(-2))?"".concat(n,":").concat(i):"".concat(r,":").concat(n,":").concat(i)},O=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=O(e),n=r.hours,i=r.minutes,o=r.seconds;return{hours:n,minutes:i,seconds:o,formatUnit:function(){var r=t.unitDisplay,s=b(b({unitDisplay:void 0===r?"short":r},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(o,b(b({},s),{},{unit:"second"})):Object(p.sprintf)( +(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[13],{100:function(e,t,r){"use strict";r.d(t,"a",(function(){return f}));var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(16),c=r.n(a),u=r(58);function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw o}}}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug;p()(t,"slug is required.")}}),F={lastDismissedAt:void 0,dismissedTourSlugs:void 0,tours:D,currentTour:void 0,shownTour:void 0},V={dismissTour:Object(R.f)((function(e){p()(e,"A tour slug is required to dismiss a tour.")}),c.a.mark((function e(t){var r,n,i;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:if(r=e.sent,!(n=r.select)(S.a).isFetchingDismissTour(t)){e.next=7;break}return i=n(S.a).getDismissedFeatureTourSlugs(),e.abrupt("return",{response:i,error:void 0});case 7:return e.next=9,{type:"DISMISS_TOUR",payload:{slug:t}};case 9:return e.next=11,H.setLastDismissedAt(Date.now());case 11:return e.next=13,G.actions.fetchDismissTour(t);case 13:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}}),e)}))),receiveCurrentTour:function(e){return p()(Object(v.isPlainObject)(e)||Object(v.isNull)(e),"tour must be a plain object or null."),{payload:{tour:e},type:"RECEIVE_CURRENT_TOUR"}},receiveFeatureToursForView:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.viewContext;return p()(Array.isArray(e),"viewTours must be an array."),p()(r,"viewContext is required."),{payload:{viewTours:e,viewContext:r},type:"RECEIVE_READY_TOURS"}},receiveAllFeatureTours:function(e){return p()(Array.isArray(e),"tours must be an array."),{payload:{tours:e},type:"RECEIVE_TOURS"}},receiveLastDismissedAt:function(e){return p()(void 0!==e,"A timestamp is required."),{type:"RECEIVE_LAST_DISMISSED_AT",payload:{timestamp:e}}},setLastDismissedAt:Object(R.f)((function(e){p()(e,"A timestamp is required.")}),c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:return e.sent.dispatch(h.c).setCacheItem("feature_tour_last_dismissed_at",t,{ttl:7200}),e.next=6,{type:"RECEIVE_LAST_DISMISSED_AT",payload:{timestamp:t}};case 6:case"end":return e.stop()}}),e)}))),triggerTour:c.a.mark((function e(t){var r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:if(r=e.sent,(0,r.select)(S.a).getCurrentTour()){e.next=7;break}return e.next=7,V.receiveCurrentTour(t);case 7:case"end":return e.stop()}}),e)})),triggerOnDemandTour:c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{tour:t},type:"CHECK_ON_DEMAND_TOUR_REQUIREMENTS"};case 2:if(!e.sent){e.next=6;break}return e.next=6,V.triggerTour(t);case 6:case"end":return e.stop()}}),e)})),triggerTourForView:c.a.mark((function e(t){var r,n,i,o,s,a,u;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:return r=e.sent,n=r.select,i=r.resolveSelect,e.next=7,y.commonActions.await(i(S.a).getLastDismissedAt());case 7:if(!n(S.a).areFeatureToursOnCooldown()){e.next=9;break}return e.abrupt("return",{});case 9:o=n(S.a).getAllFeatureTours(),s=P(o),e.prev=11,s.s();case 13:if((a=s.n()).done){e.next=24;break}return u=a.value,e.next=17,{payload:{tour:u,viewContext:t},type:"CHECK_TOUR_REQUIREMENTS"};case 17:if(!e.sent){e.next=22;break}return e.next=21,V.triggerTour(u);case 21:return e.abrupt("return",u);case 22:e.next=13;break;case 24:e.next=29;break;case 26:e.prev=26,e.t0=e.catch(11),s.e(e.t0);case 29:return e.prev=29,s.f(),e.finish(29);case 32:return e.next=34,V.triggerTour(null);case 34:return e.abrupt("return",null);case 35:case"end":return e.stop()}}),e,null,[[11,26,29,32]])}))},q=(i={},l()(i,"CHECK_TOUR_REQUIREMENTS",Object(y.createRegistryControl)((function(e){return function(){var t=s()(c.a.mark((function t(r){var n,i,o,s;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.payload,i=n.tour,o=n.viewContext,i.contexts.includes(o)){t.next=4;break}return t.abrupt("return",!1);case 4:return t.next=6,e.resolveSelect(S.a).getInitialSiteKitVersion();case 6:if(s=t.sent){t.next=11;break}return t.abrupt("return",!1);case 11:if(!f.a.compare(s,i.version,">=")){t.next=13;break}return t.abrupt("return",!1);case 13:return t.next=15,e.resolveSelect(S.a).getDismissedFeatureTourSlugs();case 15:if(!e.select(S.a).isTourDismissed(i.slug)){t.next=17;break}return t.abrupt("return",!1);case 17:if(!i.checkRequirements){t.next=21;break}return t.next=20,i.checkRequirements(e);case 20:return t.abrupt("return",!!t.sent);case 21:return t.abrupt("return",!0);case 22:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()}))),l()(i,"CHECK_ON_DEMAND_TOUR_REQUIREMENTS",Object(y.createRegistryControl)((function(e){return function(){var t=s()(c.a.mark((function t(r){var n,i;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.payload,i=n.tour,t.next=4,e.resolveSelect(S.a).getDismissedFeatureTourSlugs();case 4:if(!e.select(S.a).isTourDismissed(i.slug)){t.next=6;break}return t.abrupt("return",!1);case 6:if(!i.checkRequirements){t.next=10;break}return t.next=9,i.checkRequirements(e);case 9:return t.abrupt("return",!!t.sent);case 10:return t.abrupt("return",!0);case 11:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()}))),i),K={getDismissedFeatureTourSlugs:c.a.mark((function e(){var t,r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:if(t=e.sent,r=t.select,void 0!==r(S.a).getDismissedFeatureTourSlugs()){e.next=8;break}return e.next=8,M.actions.fetchGetDismissedTours();case 8:case"end":return e.stop()}}),e)})),getLastDismissedAt:c.a.mark((function e(){var t,r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y.commonActions.await(Object(C.d)("feature_tour_last_dismissed_at"));case 2:return t=e.sent,r=t.value,e.next=6,H.receiveLastDismissedAt(r||null);case 6:case"end":return e.stop()}}),e)}))},B={getCurrentTour:function(e){return e.currentTour},getShownTour:function(e){return e.shownTour},getDismissedFeatureTourSlugs:function(e){return e.dismissedTourSlugs},getAllFeatureTours:function(e){return e.tours},isTourDismissed:Object(y.createRegistrySelector)((function(e){return function(t,r){var n=e(S.a).getDismissedFeatureTourSlugs();if(void 0!==n)return n.includes(r)}})),getLastDismissedAt:function(e){return e.lastDismissedAt},areFeatureToursOnCooldown:Object(y.createRegistrySelector)((function(e){return function(){var t=e(S.a).getLastDismissedAt();if(void 0!==t){if(null===t)return!1;var r=t+72e5;return Date.now()=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw o}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&void 0!==v[2]?v[2]:{},s=o.ttl,c=void 0===s?a.b:s,u=o.timestamp,l=void 0===u?Math.round(Date.now()/1e3):u,g=o.isError,d=void 0!==g&&g,t.next=3,b();case 3:if(!(p=t.sent)){t.next=14;break}return t.prev=5,p.setItem("".concat(f).concat(r),JSON.stringify({timestamp:l,ttl:c,value:n,isError:d})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,r){return t.apply(this,arguments)}}(),h=function(){var t=s()(i.a.mark((function t(r){var n,o;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}return t.prev=4,o=r.startsWith(g)?r:"".concat(f).concat(r),n.removeItem(o),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),S=function(){var t=s()(i.a.mark((function t(){var r,n,o,s;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(r=t.sent)){t.next=14;break}for(t.prev=4,n=[],o=0;o1&&void 0!==arguments[1]?arguments[1]:o;return t instanceof Set&&t.has(e)}}).call(this,r(28))},40:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return i}));var n="_googlesitekitDataLayer",i="data-googlesitekit-gtag"},419:function(e,t,r){"use strict";function n(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?r-1:0),i=1;i3&&void 0!==arguments[3]?arguments[3]:{},a=o.client,u=void 0===a||a,d=o.server,v=void 0===d||d,b=o.storeName,m=void 0===b?void 0:b;c()(t,"type is required."),c()(r,"identifier is required."),c()(n,"datapoint is required.");var y=m||"".concat(t,"/").concat(r),O={serverNotifications:v?void 0:{},clientNotifications:u?void 0:{}},h=Object(f.a)({baseName:"getNotifications",controlCallback:function(){return l.a.get(t,r,n)},reducerCallback:function(e,t){return p(p({},e),{},{serverNotifications:t.reduce((function(e,t){return p(p({},e),{},s()({},t.id,t))}),{})})}}),S={addNotification:function(e){return c()(e,"notification is required."),{payload:{notification:e},type:"ADD_NOTIFICATION"}},removeNotification:function(e){return c()(e,"id is required."),{payload:{id:e},type:"REMOVE_NOTIFICATION"}}},j={},_=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O,r=arguments.length>1?arguments[1]:void 0,n=r.type,i=r.payload;switch(n){case"ADD_NOTIFICATION":var o=i.notification;return p(p({},t),{},{clientNotifications:p(p({},t.clientNotifications||{}),{},s()({},o.id,o))});case"REMOVE_NOTIFICATION":var a=i.id;if(void 0===t.clientNotifications||void 0===t.clientNotifications[a])return void 0!==t.serverNotifications&&void 0!==t.serverNotifications[a]&&e.console.warn('Cannot remove server-side notification with ID "'.concat(a,'"; this may be changed in a future release.')),t;var c=p({},t.clientNotifications);return delete c[a],p(p({},t),{},{clientNotifications:c});default:return t}},E={getNotifications:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,g.commonActions.getRegistry();case 2:if(t=e.sent,t.select(y).getNotifications()){e.next=7;break}return e.next=7,h.actions.fetchGetNotifications();case 7:case"end":return e.stop()}}),e)}))};v||delete E.getNotifications;var k={getNotifications:function(e){var t=e.serverNotifications,r=e.clientNotifications;return void 0===t&&void 0===r?t:Object.values(p(p({},t||{}),r||{}))}},w=Object(g.combineStores)(h,{initialState:O,actions:S,controls:j,reducer:_,resolvers:E,selectors:k});return p(p({},w),{},{STORE_NAME:y})}}).call(this,r(28))},58:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(40);function i(e){return function(){e[n.a]=e[n.a]||[],e[n.a].push(arguments)}}},6:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return i})),r.d(t,"e",(function(){return o})),r.d(t,"d",(function(){return s})),r.d(t,"c",(function(){return a})),r.d(t,"H",(function(){return c})),r.d(t,"M",(function(){return u})),r.d(t,"O",(function(){return l})),r.d(t,"K",(function(){return g})),r.d(t,"L",(function(){return f})),r.d(t,"J",(function(){return d})),r.d(t,"I",(function(){return p})),r.d(t,"N",(function(){return v})),r.d(t,"f",(function(){return b})),r.d(t,"g",(function(){return m})),r.d(t,"h",(function(){return y})),r.d(t,"j",(function(){return O})),r.d(t,"l",(function(){return h})),r.d(t,"m",(function(){return S})),r.d(t,"n",(function(){return j})),r.d(t,"o",(function(){return _})),r.d(t,"q",(function(){return E})),r.d(t,"s",(function(){return k})),r.d(t,"r",(function(){return w})),r.d(t,"t",(function(){return A})),r.d(t,"w",(function(){return T})),r.d(t,"u",(function(){return I})),r.d(t,"v",(function(){return D})),r.d(t,"x",(function(){return C})),r.d(t,"y",(function(){return R})),r.d(t,"A",(function(){return P})),r.d(t,"B",(function(){return x})),r.d(t,"C",(function(){return N})),r.d(t,"D",(function(){return U})),r.d(t,"k",(function(){return L})),r.d(t,"F",(function(){return M})),r.d(t,"z",(function(){return G})),r.d(t,"G",(function(){return F})),r.d(t,"E",(function(){return V})),r.d(t,"i",(function(){return q})),r.d(t,"p",(function(){return K})),r.d(t,"Q",(function(){return B})),r.d(t,"P",(function(){return W}));var n="core/user",i="connected_url_mismatch",o="__global",s="temporary_persist_permission_error",a="adblocker_active",c="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",g="googlesitekit_manage_options",f="googlesitekit_read_shared_module_data",d="googlesitekit_manage_module_sharing_options",p="googlesitekit_delegate_module_sharing_management",v="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",m="kmAnalyticsEngagedTrafficSource",y="kmAnalyticsLeastEngagingPages",O="kmAnalyticsNewVisitors",h="kmAnalyticsPopularAuthors",S="kmAnalyticsPopularContent",j="kmAnalyticsPopularProducts",_="kmAnalyticsReturningVisitors",E="kmAnalyticsTopCities",k="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",A="kmAnalyticsTopCitiesDrivingPurchases",T="kmAnalyticsTopDeviceDrivingPurchases",I="kmAnalyticsTopConvertingTrafficSource",D="kmAnalyticsTopCountries",C="kmAnalyticsTopPagesDrivingLeads",R="kmAnalyticsTopRecentTrendingPages",P="kmAnalyticsTopTrafficSource",x="kmAnalyticsTopTrafficSourceDrivingAddToCart",N="kmAnalyticsTopTrafficSourceDrivingLeads",U="kmAnalyticsTopTrafficSourceDrivingPurchases",L="kmAnalyticsPagesPerVisit",M="kmAnalyticsVisitLength",G="kmAnalyticsTopReturningVisitorPages",F="kmSearchConsolePopularKeywords",V="kmAnalyticsVisitsPerVisitor",q="kmAnalyticsMostEngagingPages",K="kmAnalyticsTopCategories",B=[b,m,y,O,h,S,j,_,K,E,k,w,A,T,I,D,R,P,x,L,M,G,V,q,K],W=[].concat(B,[F])},61:function(e,t,r){"use strict";r.d(t,"a",(function(){return w})),r.d(t,"b",(function(){return A})),r.d(t,"c",(function(){return T})),r.d(t,"d",(function(){return D})),r.d(t,"e",(function(){return C})),r.d(t,"g",(function(){return P})),r.d(t,"f",(function(){return x}));var n,i=r(5),o=r.n(i),s=r(27),a=r.n(s),c=r(7),u=r.n(c),l=r(12),g=r.n(l),f=r(60),d=r.n(f),p=r(14),v=r(116);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.reduce((function(e,r){return r(e,t)}),e)}},j=y,_=y,E=y,k=function(e){return e},w=function(){for(var e=arguments.length,t=new Array(e),r=0;r=1?r[i]+1:1,r[i]>1&&t.push(i)}return t},D={actions:A,controls:T,reducer:k},C=function(e){return function(t){return R(e(t))}},R=d()((function(e){return Object(p.mapValues)(e,(function(e,t){return function(){var r=e.apply(void 0,arguments);return g()(void 0!==r,"".concat(t,"(...) is not resolved")),r}}))}));function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.negate,n=void 0!==r&&r,i=Object(v.b)((function(t){return function(r){var i=!n,o=!!n;try{for(var s=arguments.length,a=new Array(s>1?s-1:0),c=1;c1?n-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:[];return u()(e,"error is required."),u()(t,"baseName is required."),u()(r&&Array.isArray(r),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:e,baseName:t,args:r}}},clearError:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return u()(e,"baseName is required."),u()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:e,args:t}}},clearErrors:function(e){return{type:"CLEAR_ERRORS",payload:{baseName:e}}}};function m(e){u()(e,"storeName must be defined.");var t={getErrorForSelector:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"selectorName is required."),t.getError(e,r,n)},getErrorForAction:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"actionName is required."),t.getError(e,r,n)},getError:function(e,t,r){var n=e.errors;return u()(t,"baseName is required."),n[v(t,r)]},getErrors:function(e){var t=new Set(Object.values(e.errors));return Array.from(t)},getMetaDataForError:function(e,t){var r=Object.keys(e.errors).find((function(r){return e.errors[r]===t}));return r?{baseName:r.substring(0,r.indexOf("::")),args:e.errorArgs[r]}:null},getSelectorDataForError:Object(a.b)((function(t){return function(r,n){var i=t(e).getMetaDataForError(n);if(i){var o=i.baseName,s=i.args;if(!!t(e)[o])return{storeName:e,name:o,args:s}}return null}})),hasErrors:function(e){return t.getErrors(e).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"RECEIVE_ERROR":var o=n.baseName,s=n.args,a=n.error,c=v(o,s);return p(p({},e),{},{errors:p(p({},e.errors||{}),{},i()({},c,a)),errorArgs:p(p({},e.errorArgs||{}),{},i()({},c,s))});case"CLEAR_ERROR":var u=n.baseName,l=n.args,g=p({},e),f=v(u,l);return g.errors=p({},e.errors||{}),g.errorArgs=p({},e.errorArgs||{}),delete g.errors[f],delete g.errorArgs[f],g;case"CLEAR_ERRORS":var d=n.baseName,b=p({},e);if(d)for(var m in b.errors=p({},e.errors||{}),b.errorArgs=p({},e.errorArgs||{}),b.errors)(m===d||m.startsWith("".concat(d,"::")))&&(delete b.errors[m],delete b.errorArgs[m]);else b.errors={},b.errorArgs={};return b;default:return e}},resolvers:{},selectors:t}}},72:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return a}));var n=r(33),i=r.n(n),o=r(83),s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:o.a.sanitize(e,t)}};function a(e){var t,r="object"===i()(e)?e.toString():e;return null==r||null===(t=r.replace)||void 0===t?void 0:t.call(r,/\/+$/,"")}},8:function(e,t,r){"use strict";r.d(t,"r",(function(){return n})),r.d(t,"a",(function(){return i})),r.d(t,"s",(function(){return o})),r.d(t,"z",(function(){return s})),r.d(t,"o",(function(){return a})),r.d(t,"q",(function(){return c})),r.d(t,"g",(function(){return u})),r.d(t,"p",(function(){return l})),r.d(t,"j",(function(){return g})),r.d(t,"i",(function(){return f})),r.d(t,"k",(function(){return d})),r.d(t,"m",(function(){return p})),r.d(t,"n",(function(){return v})),r.d(t,"h",(function(){return b})),r.d(t,"x",(function(){return m})),r.d(t,"w",(function(){return y})),r.d(t,"y",(function(){return O})),r.d(t,"u",(function(){return h})),r.d(t,"v",(function(){return S})),r.d(t,"f",(function(){return j})),r.d(t,"l",(function(){return _})),r.d(t,"e",(function(){return E})),r.d(t,"t",(function(){return k})),r.d(t,"c",(function(){return w})),r.d(t,"d",(function(){return A})),r.d(t,"b",(function(){return T}));var n="modules/analytics-4",i="account_create",o="property_create",s="webdatastream_create",a="analyticsSetup",c=10,u=1,l="https://www.googleapis.com/auth/tagmanager.readonly",g="enhanced-measurement-form",f="enhanced-measurement-enabled",d="enhanced-measurement-should-dismiss-activation-banner",p="analyticsAccountCreate",v="analyticsCustomDimensionsCreate",b="https://www.googleapis.com/auth/analytics.edit",m="dashboardAllTrafficWidgetDimensionName",y="dashboardAllTrafficWidgetDimensionColor",O="dashboardAllTrafficWidgetDimensionValue",h="dashboardAllTrafficWidgetActiveRowIndex",S="dashboardAllTrafficWidgetLoaded",j={googlesitekit_post_date:{parameterName:"googlesitekit_post_date",displayName:"WordPress Post Date",description:"Created by Site Kit: Date when a post was published",scope:"EVENT"},googlesitekit_post_author:{parameterName:"googlesitekit_post_author",displayName:"WordPress Post Author",description:"Created by Site Kit: WordPress name of the post author",scope:"EVENT"},googlesitekit_post_categories:{parameterName:"googlesitekit_post_categories",displayName:"WordPress Post Categories",description:"Created by Site Kit: Names of categories assigned to a post",scope:"EVENT"},googlesitekit_post_type:{parameterName:"googlesitekit_post_type",displayName:"WordPress Post Type",description:"Created by Site Kit: Content type of a post",scope:"EVENT"}},_={ADD_TO_CART:"add_to_cart",PURCHASE:"purchase",SUBMIT_LEAD_FORM:"submit_lead_form",GENERATE_LEAD:"generate_lead",CONTACT:"contact"},E=[_.CONTACT,_.GENERATE_LEAD,_.SUBMIT_LEAD_FORM],k={"new-visitors":{description:"People who visited the site for the first time",displayName:"New visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"new"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:new_visitors"}}}}]}}]}}}}]},"returning-visitors":{description:"People who have visited your site at least once before",displayName:"Returning visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"returning"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:returning_visitors"}}}}]}}]}}}}]}},w="audiencePermissionsSetup",A="audienceTileCustomDimensionCreate",T="audience-selection-panel-expirable-new-badge-"},80:function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"a",(function(){return i})),r.d(t,"c",(function(){return o}));var n=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},i=function(e){return e.replace(/([a-z0-9]{1})([A-Z]{1})/g,"$1_$2").toUpperCase()};function o(e){return e.split("-").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}},81:function(e,t,r){"use strict";r.d(t,"b",(function(){return i})),r.d(t,"a",(function(){return o})),r.d(t,"c",(function(){return s})),r.d(t,"d",(function(){return a}));var n=r(107);function i(e){try{return new URL(e).pathname}catch(e){}return null}function o(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function s(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function a(e,t){if(!Object(n.a)(e))return e;if(e.length<=t)return e;var r=new URL(e),i=e.replace(r.origin,"");if(i.length1&&void 0!==arguments[1]?arguments[1]:{},r=h(e,t),n=r.formatUnit,i=r.formatDecimal;try{return n()}catch(e){return i()}},y=function(e){var t=O(e),r=t.hours,n=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),n=("0"+n).slice(-2),"00"===(r=("0"+r).slice(-2))?"".concat(n,":").concat(i):"".concat(r,":").concat(n,":").concat(i)},O=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=O(e),n=r.hours,i=r.minutes,o=r.seconds;return{hours:n,minutes:i,seconds:o,formatUnit:function(){var r=t.unitDisplay,s=b(b({unitDisplay:void 0===r?"short":r},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(o,b(b({},s),{},{unit:"second"})):Object(p.sprintf)( /* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),o?w(o,b(b({},s),{},{unit:"second"})):"",i?w(i,b(b({},s),{},{unit:"minute"})):"",n?w(n,b(b({},s),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(p.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. Object(p.__)("%ds","google-site-kit"),o);if(0===e)return t;var r=Object(p.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. @@ -9,6 +9,6 @@ Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),o? Object(p.__)("%sM","google-site-kit"),w(S(e),e%10==0?{}:t)):1e4<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. Object(p.__)("%sK","google-site-kit"),w(S(e))):1e3<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. Object(p.__)("%sK","google-site-kit"),w(S(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function _(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(g.isPlainObject)(e)&&(t=b({},e)),t}function E(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(g.isFinite)(e)?e:Number(e),Object(g.isFinite)(e)||(console.warn("Invalid number",e,s()(e)),e=0);var r=_(t),n=r.style,i=void 0===n?"metric":n;return"metric"===i?j(e):"duration"===i?m(e,r):"durationISO"===i?y(e):w(e,r)}var k=d()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.locale,n=void 0===r?T():r,o=l()(t,["locale"]);try{return new Intl.NumberFormat(n,o).format(e)}catch(t){k("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(n),", ").concat(JSON.stringify(o)," ).format( ").concat(s()(e)," )"),t.message)}for(var a={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},c=["signDisplay","compactDisplay"],u={},g=0,f=Object.entries(o);g1&&void 0!==arguments[1]?arguments[1]:{},r=t.locale,n=void 0===r?T():r,i=t.style,o=void 0===i?"long":i,s=t.type,a=void 0===s?"conjunction":s;if(Intl.ListFormat){var c=new Intl.ListFormat(n,{style:o,type:a});return c.format(e)} -/* translators: used between list items, there is a space after the comma. */var u=Object(p.__)(", ","google-site-kit");return e.join(u)},T=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,r=Object(g.get)(t,["_googlesitekitLegacyData","locale"]);if(r){var n=r.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,r(28))},82:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return i}));var n=r(145),i=r.n(n)()(e)}).call(this,r(28))},85:function(e,t,r){"use strict";(function(e){var n=r(1),i=r.n(n),o=r(11),s=r.n(o);function ChangeArrow(t){var r=t.direction,n=t.invertColor,i=t.width,o=t.height;return e.createElement("svg",{className:s()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(r),{"googlesitekit-change-arrow--inverted-color":n}),width:i,height:o,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,r(4))},88:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(12),i=r.n(n),o=function(e,t){var r=t.dateRangeLength;i()(Array.isArray(e),"report must be an array to partition."),i()(Number.isInteger(r)&&r>0,"dateRangeLength must be a positive integer.");var n=-1*r;return{currentRange:e.slice(n),compareRange:e.slice(2*n,n)}}},9:function(e,t,r){"use strict";r.d(t,"J",(function(){return i.b})),r.d(t,"K",(function(){return i.c})),r.d(t,"G",(function(){return o.a})),r.d(t,"L",(function(){return o.b})),r.d(t,"I",(function(){return l})),r.d(t,"n",(function(){return g.a})),r.d(t,"C",(function(){return g.d})),r.d(t,"D",(function(){return g.e})),r.d(t,"z",(function(){return g.c})),r.d(t,"s",(function(){return g.b})),r.d(t,"A",(function(){return v})),r.d(t,"k",(function(){return b})),r.d(t,"j",(function(){return m})),r.d(t,"d",(function(){return _})),r.d(t,"c",(function(){return E})),r.d(t,"e",(function(){return k})),r.d(t,"b",(function(){return w})),r.d(t,"a",(function(){return A})),r.d(t,"g",(function(){return T})),r.d(t,"f",(function(){return I})),r.d(t,"o",(function(){return D})),r.d(t,"x",(function(){return C})),r.d(t,"q",(function(){return R})),r.d(t,"H",(function(){return P})),r.d(t,"t",(function(){return x})),r.d(t,"w",(function(){return N})),r.d(t,"l",(function(){return U})),r.d(t,"p",(function(){return L.b})),r.d(t,"i",(function(){return L.a})),r.d(t,"u",(function(){return M.b})),r.d(t,"r",(function(){return M.a})),r.d(t,"B",(function(){return M.c})),r.d(t,"y",(function(){return G})),r.d(t,"v",(function(){return F})),r.d(t,"F",(function(){return K})),r.d(t,"E",(function(){return B.a})),r.d(t,"h",(function(){return W})),r.d(t,"M",(function(){return H})),r.d(t,"m",(function(){return $}));var n=r(13),i=r(37),o=r(72),s=r(33),a=r.n(s),c=r(92),u=r.n(c),l=function(e){return u()(JSON.stringify(function e(t){var r={};return Object.keys(t).sort().forEach((function(n){var i=t[n];i&&"object"===a()(i)&&!Array.isArray(i)&&(i=e(i)),r[n]=i})),r}(e)))};r(96);var g=r(81);function f(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function d(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function p(e){return e.replace(/\n/gi,"
")}function v(e){for(var t=e,r=0,n=[f,d,p];r0&&void 0!==arguments[0]?arguments[0]:e,r=Object(g.get)(t,["_googlesitekitLegacyData","locale"]);if(r){var n=r.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,r(28))},83:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return i}));var n=r(147),i=r.n(n)()(e)}).call(this,r(28))},86:function(e,t,r){"use strict";(function(e){var n=r(0),i=r.n(n),o=r(11),s=r.n(o);function ChangeArrow(t){var r=t.direction,n=t.invertColor,i=t.width,o=t.height;return e.createElement("svg",{className:s()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(r),{"googlesitekit-change-arrow--inverted-color":n}),width:i,height:o,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,r(4))},89:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(12),i=r.n(n),o=function(e,t){var r=t.dateRangeLength;i()(Array.isArray(e),"report must be an array to partition."),i()(Number.isInteger(r)&&r>0,"dateRangeLength must be a positive integer.");var n=-1*r;return{currentRange:e.slice(n),compareRange:e.slice(2*n,n)}}},9:function(e,t,r){"use strict";r.d(t,"J",(function(){return i.b})),r.d(t,"K",(function(){return i.c})),r.d(t,"G",(function(){return o.a})),r.d(t,"L",(function(){return o.b})),r.d(t,"I",(function(){return l})),r.d(t,"n",(function(){return g.a})),r.d(t,"C",(function(){return g.d})),r.d(t,"D",(function(){return g.e})),r.d(t,"z",(function(){return g.c})),r.d(t,"s",(function(){return g.b})),r.d(t,"A",(function(){return v})),r.d(t,"k",(function(){return b})),r.d(t,"j",(function(){return m})),r.d(t,"d",(function(){return _})),r.d(t,"c",(function(){return E})),r.d(t,"e",(function(){return k})),r.d(t,"b",(function(){return w})),r.d(t,"a",(function(){return A})),r.d(t,"g",(function(){return T})),r.d(t,"f",(function(){return I})),r.d(t,"o",(function(){return D})),r.d(t,"x",(function(){return C})),r.d(t,"q",(function(){return R})),r.d(t,"H",(function(){return P})),r.d(t,"t",(function(){return x})),r.d(t,"w",(function(){return N})),r.d(t,"l",(function(){return U})),r.d(t,"p",(function(){return L.b})),r.d(t,"i",(function(){return L.a})),r.d(t,"u",(function(){return M.b})),r.d(t,"r",(function(){return M.a})),r.d(t,"B",(function(){return M.c})),r.d(t,"y",(function(){return G})),r.d(t,"v",(function(){return F})),r.d(t,"F",(function(){return K})),r.d(t,"E",(function(){return B.a})),r.d(t,"h",(function(){return W})),r.d(t,"M",(function(){return H})),r.d(t,"m",(function(){return $}));var n=r(14),i=r(37),o=r(72),s=r(33),a=r.n(s),c=r(93),u=r.n(c),l=function(e){return u()(JSON.stringify(function e(t){var r={};return Object.keys(t).sort().forEach((function(n){var i=t[n];i&&"object"===a()(i)&&!Array.isArray(i)&&(i=e(i)),r[n]=i})),r}(e)))};r(96);var g=r(82);function f(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function d(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function p(e){return e.replace(/\n/gi,"
")}function v(e){for(var t=e,r=0,n=[f,d,p];r0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var r=new Date(e);return Object(n.isDate)(r)&&!isNaN(r)}function R(e){S()(Object(n.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),r="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,r.length<2?"0".concat(r):r].join("-")}function P(e){S()(C(e),_);var t=e.split("-"),r=O()(t,3),n=r[0],i=r[1],o=r[2];return new Date(n,i-1,o)}function x(e,t){return R(U(e,t*A))}function N(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function U(e,t){S()(C(e)||Object(n.isDate)(e)&&!isNaN(e),_);var r=C(e)?Date.parse(e):e.getTime();return new Date(r-1e3*t)}var L=r(97),M=r(80);function G(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function F(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var V=r(27),q=r.n(V),K=function(e){return Array.isArray(e)?q()(e).sort():e},B=r(88);function W(e,t){var r=function(e){return"0"===e||0===e};if(r(e)&&r(t))return 0;if(r(e)||Number.isNaN(e))return null;var n=(t-e)/e;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var H=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},$=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(n.unescape)(t)}},938:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return k}));var n=r(3),i=r(65),o=r(939),s=r(941),a=r(942),c=r(6),u=r(943),l=r(944),g=r(945),f=r(946),d=r(1180),p=r(951),v=r(952),b=r(953),m=r(954),y=r(956),O=r(957),h=r(958),S=r(959),j=r(960),_=r(961),E=Object(n.combineStores)(n.commonStore,Object(i.b)(c.a),o.a,s.a,a.a,u.a,l.a,g.a,f.a,d.a,p.a,v.a,m.a,y.a,b.a,O.a,h.a,S.a,j.a,_.a),k=(E.initialState,E.actions,E.controls,E.reducer,E.resolvers,E.selectors,function(t){var r;t.registerStore(c.a,E),(null===(r=e._googlesitekitBaseData)||void 0===r?void 0:r.referenceDate)&&t.dispatch(c.a).setReferenceDate(e._googlesitekitBaseData.referenceDate)})}).call(this,r(28))},939:function(e,t,r){"use strict";var n=r(7),i=r.n(n),o=r(15),s=r.n(o),a=r(5),c=r.n(a),u=r(12),l=r.n(u),g=r(940),f=r(3),d=r(6);function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};l()(Object(g.isPlainObject)(e),"audience settings should be an object to save.")}),i.a.mark((function e(){var t,r,n,o,a,c,u,l,g,f=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},e.next=3,E("saveAudienceSettings",[]);case 3:return e.next=5,p.commonActions.getRegistry();case 5:return r=e.sent,e.next=8,p.commonActions.await(r.resolveSelect(h.a).getAudienceSettings());case 8:return n=e.sent,o=j(j({},n),t),e.next=12,p.commonActions.await(r.resolveSelect(v.r).getAvailableAudiences());case 12:return a=e.sent,c=s()(o.configuredAudiences).sort((function(e,t){var r=a.findIndex((function(t){return t.name===e})),n=a.findIndex((function(e){return e.name===t}));return-1===r||-1===n?0:r-n})),o.configuredAudiences=c,e.next=17,A.actions.fetchSaveAudienceSettings(o);case 17:if(u=e.sent,l=u.response,!(g=u.error)){e.next=23;break}return e.next=23,_(g,"saveAudienceSettings",[]);case 23:return e.abrupt("return",{response:l,error:g});case 24:case"end":return e.stop()}}),e)}))),resetAudienceSettings:i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:return t=e.sent,r=t.dispatch,e.next=6,{payload:{},type:"RESET_AUDIENCE_SETTINGS"};case 6:return e.next=8,O.a.clearErrors("getAudienceSettings");case 8:return e.abrupt("return",r(h.a).invalidateResolutionForStoreSelector("getAudienceSettings"));case 9:case"end":return e.stop()}}),e)})),setConfiguredAudiences:function(e){return l()(Array.isArray(e),"Configured audiences should be an array."),{type:"SET_CONFIGURED_AUDIENCES",payload:{audienceResourceNames:e}}},setAudienceSegmentationWidgetHidden:function(e){return l()("boolean"==typeof e,"Audience segmentation widget visibility should be a boolean."),{type:"SET_AUDIENCE_SEGMENTATION_WIDGET_HIDDEN",payload:{isWidgetHidden:e}}}},D=Object(y.a)((function(e,t){var r=t.type,n=t.payload;switch(r){case"RESET_AUDIENCE_SETTINGS":e.audienceSettings=T.audienceSettings;break;case"SET_CONFIGURED_AUDIENCES":var i=n.audienceResourceNames;e.audienceSettings||(e.audienceSettings={}),e.audienceSettings.settings=j(j({},e.audienceSettings.settings),{},{configuredAudiences:i});break;case"SET_AUDIENCE_SEGMENTATION_WIDGET_HIDDEN":var o=n.isWidgetHidden;e.audienceSettings||(e.audienceSettings={}),e.audienceSettings.settings=j(j({},e.audienceSettings.settings),{},{isAudienceSegmentationWidgetHidden:o})}})),C={getAudienceSettings:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:if(t=e.sent,void 0!==t.select(h.a).getAudienceSettings()){e.next=7;break}return e.next=7,w.actions.fetchGetAudienceSettings();case 7:case"end":return e.stop()}}),e)}))},R={getAudienceSettings:function(e){var t;return null===(t=e.audienceSettings)||void 0===t?void 0:t.settings},getConfiguredAudiences:Object(p.createRegistrySelector)((function(e){return function(){var t=e(h.a).getAudienceSettings();return null==t?void 0:t.configuredAudiences}})),isAudienceSegmentationWidgetHidden:Object(p.createRegistrySelector)((function(e){return function(){var t=e(h.a).getAudienceSettings();return null==t?void 0:t.isAudienceSegmentationWidgetHidden}})),didSetAudiences:Object(p.createRegistrySelector)((function(e){return function(){var t=e(h.a).getAudienceSettings();return null==t?void 0:t.didSetAudiences}})),haveConfiguredAudiencesChanged:function(e){var t=e.audienceSettings||{},r=t.settings,n=t.savedSettings;return!Object(g.isEqual)(null==r?void 0:r.configuredAudiences,null==n?void 0:n.configuredAudiences)},isSavingAudienceSettings:function(e){return Object.values(e.isFetchingSaveAudienceSettings).some(Boolean)}},P=Object(p.combineStores)(w,A,{initialState:T,actions:I,controls:{},reducer:D,resolvers:C,selectors:R});P.initialState,P.actions,P.controls,P.reducer,P.resolvers,P.selectors;t.a=P},942:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(44),c=r.n(a),u=r(3),l=r(6),g=r(48);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=r.compare,i=void 0!==n&&n,o=r.offsetDays,s=r.referenceDate,c=void 0===s?t.referenceDate:s;void 0===o&&(e.console.warn("getDateRangeDates was called without offsetDays"),o=0);var u=f.getDateRange(t),l=Object(a.t)(c,o),g=u.match("-(.*)-"),d=Number(g?g[1]:28),p=Object(a.t)(l,d-1),v={startDate:p,endDate:l};if(i){var b=Object(a.t)(p,1),m=Object(a.t)(b,d-1);v.compareStartDate=m,v.compareEndDate=b}return v},getDateRangeNumberOfDays:function(e){var t=f.getDateRange(e).match(/-(\d+)-/);return parseInt(t?t[1]:28,10)},getReferenceDate:function(e){return e.referenceDate}};t.a={initialState:l,actions:g,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_DATE_RANGE":return u(u({},e),{},{dateRange:n.slug});case"SET_REFERENCE_DATE":return u(u({},e),{},{referenceDate:n.dateString});default:return e}},resolvers:{},selectors:f}}).call(this,r(28))},944:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(44),c=r.n(a),u=r(3),l=r(6),g=r(48);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:0;return{slug:e,expiresInSeconds:t}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug,r=e.expiresInSeconds;c()(t,"slug is required."),c()(Number.isInteger(r),"expiresInSeconds must be an integer.")}}),j={dismissedItems:void 0,isDismissingItems:{}},_={dismissItem:Object(p.f)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.expiresInSeconds,n=void 0===r?0:r;c()(e,"A tour slug is required to dismiss a tour."),c()(Number.isInteger(n),"expiresInSeconds must be an integer.")}),i.a.mark((function e(t){var r,n,o,s,a,c,u,l=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.length>1&&void 0!==l[1]?l[1]:{},n=r.expiresInSeconds,o=void 0===n?0:n,e.next=4,g.commonActions.getRegistry();case 4:return(s=e.sent).dispatch(f.a).setIsItemDimissing(t,!0),e.next=8,S.actions.fetchDismissItem(t,o);case 8:return a=e.sent,c=a.response,u=a.error,s.dispatch(f.a).setIsItemDimissing(t,!1),e.abrupt("return",{response:c,error:u});case 13:case"end":return e.stop()}}),e)}))),removeDismissedItems:Object(p.f)((function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one slug must be provided."),c()(t.every((function(e){return"string"==typeof e})),"All slugs must be strings.")}),(function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:[];return e.map((function(e){return{slug:e.slug,expiration:e.expiresInSeconds}}))},validateParams:function(e){c()(Array.isArray(e),"items are required."),e.forEach((function(e){var t=e.slug,r=e.expiresInSeconds,n=void 0===r?0:r;c()(t,"slug is required."),c()(Number.isInteger(n),"expiresInSeconds must be an integer.")}))}}),S={expirableItems:void 0},j={setExpirableItemTimers:Object(p.f)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach((function(e){var t=e.slug,r=e.expiresInSeconds;c()(t,"An item slug is required."),c()(Number.isInteger(r),"expiresInSeconds must be an integer.")}))}),(function(e){return h.actions.fetchSetExpirableItemTimers(e)}))},_={getExpirableItems:i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m();case 2:if(t=e.sent,r=t.select,void 0!==r(f.a).getExpirableItems()){e.next=8;break}return e.next=8,O.actions.fetchGetExpirableItems();case 8:case"end":return e.stop()}}),e)}))},E={getExpirableItems:function(e){return e.expirableItems},hasExpirableItem:Object(g.createRegistrySelector)((function(e){return function(t,r){var n=e(f.a).getExpirableItems();if(void 0!==n)return n.hasOwnProperty(r)}})),isExpirableItemActive:Object(g.createRegistrySelector)((function(e){return function(t,r){var n=e(f.a).getExpirableItems();if(void 0!==n){var i=n[r];return void 0!==i&&i>Math.floor(Date.now()/1e3)}}}))},k=Object(g.combineStores)({initialState:S,actions:j,resolvers:_,selectors:E},O,h),w=k.actions,A=k.controls,T=k.initialState,I=k.reducer,D=k.resolvers,C=k.selectors;t.a={actions:w,controls:A,initialState:T,reducer:I,resolvers:D,selectors:C}},951:function(e,t,r){"use strict";var n=r(27),i=r.n(n),o=r(5),s=r.n(o),a=r(7),c=r.n(a),u=r(12),l=r.n(u),g=r(13),f=r(44),d=r.n(f),p=r(3),v=r(6),b=r(14),m=r(19),y=r(46),O=r(8),h=r(48),S=r(65),j=r(140),_=r(40);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function k(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},l()(Object(g.isPlainObject)(t),"key metric settings should be an object to save."),e.next=4,A("saveKeyMetricsSettings",[]);case 4:return e.next=6,p.commonActions.getRegistry();case 6:return r=e.sent,n=r.select(v.a).getKeyMetricsSettings(),e.next=10,D.actions.fetchSaveKeyMetricsSettings(k(k({},n),t));case 10:if(i=e.sent,o=i.response,!(a=i.error)){e.next=18;break}return e.next=16,w(a,"saveKeyMetricsSettings",[]);case 16:e.next=19;break;case 18:(Object(g.isEmpty)(t)||t.widgetSlugs)&&r.dispatch(b.c).setKeyMetricsSetupCompletedBy(r.select(v.a).getID());case 19:return e.abrupt("return",{response:o,error:a});case 20:case"end":return e.stop()}}),e)}))},R={getKeyMetricsSettings:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:if(t=e.sent,!t.select(v.a).getKeyMetricsSettings()){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,I.actions.fetchGetKeyMetricsSettings();case 8:case"end":return e.stop()}}),e)}))},P={getKeyMetrics:Object(p.createRegistrySelector)((function(e){return function(){var t=e(v.a),r=t.getAnswerBasedMetrics,n=(0,t.getUserPickedMetrics)();if(void 0!==n){if(n.length)return n;var i=r();if(void 0!==i)return i.length?i:e(b.c).isKeyMetricsSetupCompleted()?[v.j,v.A,v.g,v.G]:[]}}})),getRegularKeyMetricsWidgetIDs:Object(p.createRegistrySelector)((function(e){return function(){var t=(e(b.c).getPostTypes()||[]).some((function(e){return"product"===e.slug}));return{publish_blog:[v.o,v.j,v.A,v.g],publish_news:[v.k,v.F,v.E,v.i],monetize_content:[v.m,v.g,v.j,v.A],sell_products_or_service:[t?v.n:v.m,v.g,v.G,v.A],sell_products:[t?v.n:v.m,v.f,v.G,v.u],provide_services:[v.A,v.g,v.G,v.m],share_portfolio:[v.j,v.A,v.g,v.G]}}})),getConversionTailoredKeyMetricsWidgetIDs:Object(p.createRegistrySelector)((function(e){return function(t,r){var n,o=(null!==(n=e(b.c).getPostTypes())&&void 0!==n?n:[]).some((function(e){return"product"===e.slug})),s=e(v.a).getUserInputSettings(),a=function(e){return e.some((function(e){var t,n;return(null==s||null===(t=s.includeConversionEvents)||void 0===t||null===(n=t.values)||void 0===n?void 0:n.includes(e))||Array.isArray(r)&&(null==r?void 0:r.includes(e))}))};return{publish_blog:[v.p,v.u,v.z,v.G,v.y,v.A].concat(i()(a([O.l.CONTACT,O.l.GENERATE_LEAD,O.l.SUBMIT_LEAD_FORM])?[v.x,v.C]:[])),publish_news:[v.g,v.l,v.q,v.G,v.y,v.A].concat(i()(a([O.l.CONTACT,O.l.GENERATE_LEAD,O.l.SUBMIT_LEAD_FORM])?[v.x,v.C]:[])),monetize_content:[v.i,v.m,v.j,v.f,v.F,v.E,v.g,v.G],sell_products_or_service:[o?v.n:v.m].concat(i()(a([O.l.PURCHASE])?[v.t,v.w,v.D]:[]),i()(a([O.l.ADD_TO_CART])?[v.B]:[]),[v.f,v.u,v.G]),sell_products:[o?v.n:v.m].concat(i()(a([O.l.PURCHASE])?[v.t,v.w,v.D]:[]),i()(a([O.l.ADD_TO_CART])?[v.B]:[]),[v.f,v.u,v.G]),provide_services:[].concat(i()(a([O.l.CONTACT,O.l.GENERATE_LEAD,O.l.SUBMIT_LEAD_FORM])?[v.s,v.x,v.C]:[]),[v.A,v.g,v.G,v.m,v.z]),share_portfolio:[v.u,v.z,v.l].concat(i()(a([O.l.CONTACT,O.l.GENERATE_LEAD,O.l.SUBMIT_LEAD_FORM])?[v.s,v.x,v.C]:[]),[v.m,v.G])}}})),getAnswerBasedMetrics:Object(p.createRegistrySelector)((function(e){return function(t,r,n){var i,o,s=e(v.a).getUserInputSettings();if(void 0!==s){var a=Object(_.b)("conversionReporting"),c=null!=r?r:null==s||null===(i=s.purpose)||void 0===i||null===(o=i.values)||void 0===o?void 0:o[0];return(a?e(v.a).getConversionTailoredKeyMetricsWidgetIDs(n):e(v.a).getRegularKeyMetricsWidgetIDs())[c]||[]}}})),getUserPickedMetrics:Object(p.createRegistrySelector)((function(e){return function(){var t=e(v.a).getKeyMetricsSettings();if(void 0!==t){if(!Array.isArray(t.widgetSlugs))return[];var r=!e(v.a).isAuthenticated(),n=t.widgetSlugs.filter((function(t){var n=j.a[t];return!!n&&(!n.displayInWidgetArea||"function"!=typeof n.displayInWidgetArea||n.displayInWidgetArea(e,r,t))}));return 1===n.length?[]:n}}})),isKeyMetricActive:Object(p.createRegistrySelector)((function(e){return function(t,r){var n=e(v.a).getKeyMetrics();if(void 0!==n)return n.includes(r)}})),isKeyMetricsWidgetHidden:Object(p.createRegistrySelector)((function(e){return function(){var t=e(v.a).getKeyMetricsSettings();if(void 0!==t)return t.isWidgetHidden}})),getKeyMetricsSettings:function(e){var t=e.keyMetricsSettings;if(t)return t},isSavingKeyMetricsSettings:function(e){return Object.values(e.isFetchingSaveKeyMetricsSettings).some(Boolean)},isKeyMetricAvailable:Object(p.createRegistrySelector)((function(e){return function(t,r){l()(r,"Key metric widget slug required.");var n=e(v.a).isAuthenticated();if(void 0!==n){var i=e(y.a).getWidget(r);if(!i)return!1;var o=e(m.a).getModule,s=e(v.a).canViewSharedModule;return i.modules.every((function(e){var t=o(e);return!!t&&!(!n&&(null==t?void 0:t.shareable)&&!s(e))}))}}}))},x=Object(p.combineStores)(I,D,{initialState:T,actions:C,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_KEY_METRICS_SETTING":return k(k({},e),{},{keyMetricsSettings:k(k({},e.keyMetricsSettings),{},c()({},n.settingID,n.value))});default:return e}},resolvers:R,selectors:P});x.initialState,x.actions,x.controls,x.reducer,x.resolvers,x.selectors;t.a=x},952:function(e,t,r){"use strict";var n=r(555),i=Object(n.a)("core","user","notifications",{server:!1});t.a=i},953:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(44),c=r.n(a),u=r(3),l=r(6),g=r(48);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t2?i-2:0),s=2;s0&&(r=b.a.apply(void 0,[r].concat(o))),n)return!!n[r]}})),canViewSharedModule:Object(d.createRegistrySelector)((function(e){return function(t,r){var n=e(v.a).getModule(r);if(void 0!==n)return!(null===n||!n.shareable)&&e(p.a).hasCapability(p.L,n.slug)}})),hasAccessToShareableModule:Object(d.createRegistrySelector)((function(e){return function(t,r){var n=e(v.a).isModuleAvailable(r);if(void 0!==n)return!1!==n&&(!!e(p.a).isAuthenticated()||e(p.a).canViewSharedModule(r))}}))},k=Object(d.combineStores)(h,{initialState:S,actions:j,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"CLEAR_PERMISSION_SCOPE_ERROR":return O(O({},e),{},{permissionError:null});case"SET_PERMISSION_SCOPE_ERROR":var i=n.permissionError;return O(O({},e),{},{permissionError:i});case"RECEIVE_CAPABILITIES":var o=n.capabilities;return O(O({},e),{},{capabilities:o});default:return e}},resolvers:_,selectors:E});k.initialState,k.actions,k.controls,k.reducer,k.resolvers,k.selectors;t.a=k}).call(this,r(28))},955:function(e,t,r){"use strict";function n(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:0;return{slug:e,expiresInSeconds:t}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug,r=e.expiresInSeconds;f()(t,"slug is required."),f()(Number.isInteger(r),"expiresInSeconds must be an integer.")}}),k={dismissedPrompts:void 0,isDismissingPrompts:{}},w={dismissPrompt:Object(y.f)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.expiresInSeconds,n=void 0===r?0:r;f()(e,"A tour slug is required to dismiss a tour."),f()(Number.isInteger(n),"expiresInSeconds must be an integer.")}),s.a.mark((function e(t){var r,n,i,o,a,c,u,l=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.length>1&&void 0!==l[1]?l[1]:{},n=r.expiresInSeconds,i=void 0===n?0:n,e.next=4,v.commonActions.getRegistry();case 4:return(o=e.sent).dispatch(b.a).setIsPromptDimissing(t,!0),e.next=8,E.actions.fetchDismissPrompt(t,i);case 8:return a=e.sent,c=a.response,u=a.error,o.dispatch(b.a).setIsPromptDimissing(t,!1),e.abrupt("return",{response:c,error:u});case 13:case"end":return e.stop()}}),e)}))),setIsPromptDimissing:function(e,t){return{payload:{slug:e,isDismissing:t},type:"SET_IS_PROMPT_DISMISSING"}}},A={getDismissedPrompts:s.a.mark((function e(){var t,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:if(t=e.sent,r=t.select,void 0!==r(b.a).getDismissedPrompts()){e.next=8;break}return e.next=8,_.actions.fetchGetDismissedPrompts();case 8:case"end":return e.stop()}}),e)}))},T={getDismissedPrompts:function(e){if(void 0!==e.dismissedPrompts){var t=Math.floor(Date.now()/1e3);return Object.entries(e.dismissedPrompts).reduce((function(e,r){var n=i()(r,2),o=n[0],s=n[1].expires;return(0===s||s>t)&&e.push(o),e}),[])}},getPromptDismissCount:Object(v.createRegistrySelector)((function(){return function(e,t){var r;if(e.dismissedPrompts)return(null===(r=e.dismissedPrompts[t])||void 0===r?void 0:r.count)||0}})),isPromptDismissed:Object(v.createRegistrySelector)((function(e){return function(t,r){var n;return null===(n=e(b.a).getDismissedPrompts())||void 0===n?void 0:n.includes(r)}})),isDismissingPrompt:function(e,t){return!!e.isDismissingPrompts[t]}},I=Object(v.combineStores)({initialState:k,actions:w,resolvers:A,selectors:T,reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_IS_PROMPT_DISMISSING":var i=n.slug,o=n.isDismissing;return h(h({},e),{},{isDismissingPrompts:l()({},i,o)});default:return e}}},E,_),D=I.actions,C=I.controls,R=I.initialState,P=I.reducer,x=I.resolvers,N=I.selectors;t.a={actions:D,controls:C,initialState:R,reducer:P,resolvers:x,selectors:N}},957:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(12),c=r.n(a),u=r(13),l=r(44),g=r.n(l),f=r(3),d=r(6),p=r(48),v=r(61);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.triggerID;c()("string"==typeof t&&t.length,"triggerID is required and must be a string")}}),O=Object(p.a)({baseName:"sendSurveyEvent",controlCallback:function(e){var t=e.event,r=e.session;return g.a.set("core","user","survey-event",{event:t,session:r})},argsToParams:function(e,t){return{event:e,session:t}}}),h=Object(p.a)({baseName:"getSurveyTimeouts",controlCallback:function(){return g.a.get("core","user","survey-timeouts",{},{useCache:!1})},reducerCallback:function(e,t){return m(m({},e),{},{surveyTimeouts:Array.isArray(t)?t:[]})}}),S=Object(p.a)({baseName:"setSurveyTimeout",controlCallback:function(e){var t=e.slug,r=e.timeout;return g.a.set("core","user","survey-timeout",{slug:t,timeout:r})},reducerCallback:function(e,t){return m(m({},e),{},{surveyTimeouts:Array.isArray(t)?t:[]})},argsToParams:function(e,t){return{slug:e,timeout:t}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug,r=e.timeout;c()(t,"slug is required."),c()(Number.isInteger(r),"timeout must be an integer.")}}),j=Object(p.a)({baseName:"getSurvey",controlCallback:function(){return g.a.get("core","user","survey",{})},reducerCallback:function(e,t){var r=t.survey,n=r||{},i=n.survey_payload,o=void 0===i?null:i,s=n.session,a=void 0===s?null:s;return m(m({},e),{},{currentSurvey:o,currentSurveySession:a})}}),_={currentSurvey:void 0,currentSurveySession:void 0,surveyTimeouts:void 0},E={setSurveyTimeout:Object(v.f)((function(e,t){c()("string"==typeof e&&e.length,"triggerID is required and must be a string"),c()("number"==typeof t,"timeout must be a number")}),i.a.mark((function e(t,r){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S.actions.fetchSetSurveyTimeout(t,r);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),triggerSurvey:Object(v.f)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.ttl,n=void 0===r?0:r;c()("string"==typeof e&&e.length,"triggerID is required and must be a string"),c()(Object(u.isPlainObject)(t),"options must be an object"),c()("number"==typeof n,"options.ttl must be a number")}),i.a.mark((function e(t){var r,n,o,s,a,c,u,l,g,p,v,b,m=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=m.length>1&&void 0!==m[1]?m[1]:{},n=r.ttl,o=void 0===n?0:n,e.next=4,f.commonActions.getRegistry();case 4:return s=e.sent,a=s.select,c=s.dispatch,u=s.resolveSelect,e.next=10,f.commonActions.await(u(d.a).getAuthentication());case 10:if(a(d.a).isAuthenticated()){e.next=12;break}return e.abrupt("return",{});case 12:return e.next=14,f.commonActions.await(u(d.a).getSurveyTimeouts());case 14:if(l=a(d.a).isSurveyTimedOut(t),g=a(d.a).isTimingOutSurvey(t,o),l||g){e.next=29;break}return e.next=19,y.actions.fetchTriggerSurvey(t);case 19:if(p=e.sent,v=p.response,!(b=p.error)){e.next=24;break}return e.abrupt("return",{response:v,error:b});case 24:if(!(o>0)){e.next=29;break}return e.next=27,new Promise((function(e){setTimeout(e,3e4)}));case 27:return e.next=29,f.commonActions.await(c(d.a).setSurveyTimeout(t,o));case 29:return e.abrupt("return",{response:{},error:!1});case 30:case"end":return e.stop()}}),e)}))),sendSurveyEvent:Object(v.f)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c()("string"==typeof e&&e.length,"eventID is required and must be a string"),c()(Object(u.isPlainObject)(t),"eventData must be an object")}),i.a.mark((function e(t){var r,n,o,a,c,u,l,g,p=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=p.length>1&&void 0!==p[1]?p[1]:{},n=s()({},t,r),e.next=4,f.commonActions.getRegistry();case 4:if(o=e.sent,a=o.select,!(c=a(d.a).getCurrentSurveySession())){e.next=14;break}return e.next=10,O.actions.fetchSendSurveyEvent(n,c);case 10:return u=e.sent,l=u.response,g=u.error,e.abrupt("return",{response:l,error:g});case 14:case"end":return e.stop()}}),e)})))},k={getCurrentSurvey:i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,r=t.select,void 0!==r(d.a).getCurrentSurvey()){e.next=8;break}return e.next=8,j.actions.fetchGetSurvey();case 8:case"end":return e.stop()}}),e)})),getSurveyTimeouts:i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,r=t.select,void 0!==r(d.a).getSurveyTimeouts()){e.next=8;break}return e.next=8,h.actions.fetchGetSurveyTimeouts();case 8:case"end":return e.stop()}}),e)}))},w={getCurrentSurvey:function(e){return e.currentSurvey},getCurrentSurveySession:function(e){return e.currentSurveySession},getCurrentSurveyCompletions:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getCurrentSurvey();return(null==t?void 0:t.completion)||null}})),getCurrentSurveyQuestions:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getCurrentSurvey();return(null==t?void 0:t.question)||null}})),getSurveyTimeouts:function(e){return e.surveyTimeouts},isSurveyTimedOut:Object(f.createRegistrySelector)((function(e){return function(t,r){var n=e(d.a).getSurveyTimeouts();return void 0===n?void 0:n.includes(r)}})),isTimingOutSurvey:Object(f.createRegistrySelector)((function(e){return function(t,r,n){return e(d.a).isFetchingSetSurveyTimeout(r,n)}})),areSurveysOnCooldown:Object(f.createRegistrySelector)((function(e){return function(){return e(d.a).isSurveyTimedOut(d.e)}}))},A=Object(f.combineStores)(y,O,h,S,j,{initialState:_,actions:E,resolvers:k,selectors:w});A.initialState,A.actions,A.resolvers,A.selectors;t.a=A},958:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(44),c=r.n(a),u=r(3),l=r(6),g=r(48),f=r(65);function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=t.additionalScopes,n=void 0===r?[]:r,i=t.redirectURL,o=void 0===i?void 0:i,s=t.errorRedirectURL,a=void 0===s?void 0:s,c=e.connectURL,u={redirect:o,errorRedirect:a};if(void 0!==c){if(null==n?void 0:n.length){var l=n.map((function(e){return e.replace(/^http(s)?:/,"gttp$1:")}));return Object(g.a)(c,m(m({},u),{},{additional_scopes:l}))}return Object(g.a)(c,u)}},getID:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();return void 0!==t?t.id:t}})),getName:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();return void 0!==t?t.name:t}})),getEmail:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();return void 0!==t?t.email:t}})),getPicture:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();return void 0!==t?t.picture:t}})),getFullName:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();if(void 0!==t)return t.full_name}})),getAccountChooserURL:Object(f.createRegistrySelector)((function(e){return function(t,r){l()(r,"destinationURL is required");var n=e(d.a).getEmail();if(void 0!==n)return Object(p.a)(v(),r,n)}})),getInitialSiteKitVersion:function(e){return e.initialVersion},isVerified:function(e){return e.verified},isUserInputCompleted:function(e){var t=e.isUserInputCompleted;return t}};t.a={initialState:y,actions:O,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"RECEIVE_CONNECT_URL":var i=n.connectURL;return m(m({},e),{},{connectURL:i});case"RECEIVE_USER_INFO":var o=n.user;return m(m({},e),{},{user:o});case"RECEIVE_USER_INITIAL_SITE_KIT_VERSION":var s=n.initialVersion;return m(m({},e),{},{initialVersion:s});case"RECEIVE_USER_IS_VERIFIED":var a=n.verified;return m(m({},e),{},{verified:a});case"RECEIVE_IS_USER_INPUT_COMPLETED":var c=n.isUserInputCompleted;return m(m({},e),{},{isUserInputCompleted:c});default:return e}},resolvers:h,selectors:S}}).call(this,r(28))},96:function(e,t,r){"use strict";(function(e){r(51),r(53)}).call(this,r(28))},960:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(12),c=r.n(a),u=r(13),l=r(44),g=r.n(l),f=r(3),d=r(6),p=r(48),v=r(65);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t0},o=t.select(d.a).getUserInputSettings(),a=Object.keys(o).reduce((function(e,t){var i;return m(m({},e),{},s()({},t,((null===(i=o[t])||void 0===i?void 0:i.values)||[]).map(r).filter(n)))}),{}),e.next=11,{type:"SET_USER_INPUT_SETTINGS_SAVING_FLAG",payload:{isSaving:!0}};case 11:return e.next=13,j.actions.fetchSaveUserInputSettings(a);case 13:if(c=e.sent,u=c.response,!(l=c.error)){e.next=19;break}return e.next=19,y(l,"saveUserInputSettings",[]);case 19:if(l){e.next=22;break}return e.next=22,E.maybeTriggerUserInputSurvey();case 22:return e.next=24,{type:"SET_USER_INPUT_SETTINGS_SAVING_FLAG",payload:{isSaving:!1}};case 24:return e.abrupt("return",{response:u,error:l});case 25:case"end":return e.stop()}}),e)})),resetUserInputSettings:i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{type:"RESET_USER_INPUT_SETTINGS",payload:{}});case 1:case"end":return e.stop()}}),e)})),maybeTriggerUserInputSurvey:i.a.mark((function e(){var t,r,n,o,s,a,c,u,l;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:return t=e.sent,r=t.resolveSelect,n=t.dispatch,e.next=7,f.commonActions.await(r(d.a).getUserInputSettings());case 7:if(o=e.sent,!(!(s=Object.keys(o).filter((function(e){return o[e].values.includes("other")}))).length>0)){e.next=11;break}return e.abrupt("return");case 11:return a="userInput_answered_other__".concat(s.join("_")),e.next=14,f.commonActions.await(n(d.a).triggerSurvey(a));case 14:return c=e.sent,u=c.response,l=c.error,e.abrupt("return",{response:u,error:l});case 18:case"end":return e.stop()}}),e)}))},k={getUserInputSettings:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,(0,t.select)(d.a).getUserInputSettings()){e.next=7;break}return e.next=7,S.actions.fetchGetUserInputSettings();case 7:case"end":return e.stop()}}),e)}))},w={isSavingUserInputSettings:function(e){return!!(null==e?void 0:e.isSavingInputSettings)},getUserInputSettings:function(e){return e.inputSettings},getSavedUserInputSettings:function(e){return e.savedInputSettings},getUserInputSetting:Object(f.createRegistrySelector)((function(e){return function(t,r){var n,i=null===(n=(e(d.a).getUserInputSettings()||{})[r])||void 0===n?void 0:n.values;return Array.isArray(i)?i:[]}})),getUserInputSettingScope:Object(f.createRegistrySelector)((function(e){return function(t,r){var n;return null===(n=(e(d.a).getUserInputSettings()||{})[r])||void 0===n?void 0:n.scope}})),getUserInputSettingAuthor:Object(f.createRegistrySelector)((function(e){return function(t,r){var n;return null===(n=(e(d.a).getUserInputSettings()||{})[r])||void 0===n?void 0:n.author}})),haveUserInputSettingsChanged:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=e.inputSettings,n=e.savedInputSettings;return t?!Object(u.isEqual)(Object(u.pick)(r,t),Object(u.pick)(n,t)):!Object(u.isEqual)(r,n)},hasUserInputSettingChanged:function(e,t){return c()(t,"setting is required."),w.haveUserInputSettingsChanged(e,[t])}},A=Object(f.combineStores)(S,j,{initialState:_,actions:E,reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_USER_INPUT_SETTING":return m(m({},e),{},{inputSettings:m(m({},e.inputSettings),{},s()({},n.settingID,m(m({},(e.inputSettings||{})[n.settingID]||{}),{},{values:n.values})))});case"SET_USER_INPUT_SETTINGS_SAVING_FLAG":return m(m({},e),{},{isSavingInputSettings:n.isSaving});case"RESET_USER_INPUT_SETTINGS":return m(m({},e),{},{inputSettings:e.savedInputSettings});default:return e}},resolvers:k,selectors:w});A.initialState,A.actions,A.controls,A.reducer,A.resolvers,A.selectors;t.a=A},961:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(12),c=r.n(a),u=r(13),l=r(44),g=r.n(l),f=r(3),d=r(6),p=r(48),v=r(61);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};c()(Object(u.isPlainObject)(e),"Conversion reporting settings should be an object to save.")}),i.a.mark((function e(){var t,r=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:{},e.next=3,h.actions.fetchSaveConversionReportingSettings(t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))},j={getConversionReportingSettings:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,void 0!==t.select(d.a).getConversionReportingSettings()){e.next=7;break}return e.next=7,O.actions.fetchGetConversionReportingSettings();case 7:case"end":return e.stop()}}),e)}))},_={getConversionReportingSettings:function(e){return e.conversionReportingSettings},isSavingConversionReportingSettings:function(e){return Object.values(e.isFetchingSaveConversionReportingSettings).some(Boolean)},haveNewConversionEventsAfterDismiss:Object(f.createRegistrySelector)((function(e){return function(t,r){var n=(0,e(d.a).getConversionReportingSettings)();return!!n&&r>n.newEventsCalloutDismissedAt}})),haveLostConversionEventsAfterDismiss:Object(f.createRegistrySelector)((function(e){return function(t,r){var n=(0,e(d.a).getConversionReportingSettings)();return!!n&&r>n.lostEventsCalloutDismissedAt}}))},E=Object(f.combineStores)(O,h,{initialState:y,actions:S,resolvers:j,selectors:_});E.initialState,E.actions,E.controls,E.reducer,E.resolvers,E.selectors;t.a=E},97:function(e,t,r){"use strict";(function(e){r.d(t,"b",(function(){return o})),r.d(t,"a",(function(){return s}));var n=r(231),i=r(85),o=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var o=r.invertColor,s=void 0!==o&&o;return Object(n.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:s}))},s=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,r(4))},98:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return g}));var n=r(7),i=r.n(n),o=r(13),s=r(99),a=r(100);function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=u(u({},l),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var c=Object(s.a)(i,r),g=Object(a.a)(i,r,c,n),f={},d=function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var r=new Date(e);return Object(n.isDate)(r)&&!isNaN(r)}function R(e){S()(Object(n.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),r="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,r.length<2?"0".concat(r):r].join("-")}function P(e){S()(C(e),_);var t=e.split("-"),r=O()(t,3),n=r[0],i=r[1],o=r[2];return new Date(n,i-1,o)}function x(e,t){return R(U(e,t*A))}function N(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function U(e,t){S()(C(e)||Object(n.isDate)(e)&&!isNaN(e),_);var r=C(e)?Date.parse(e):e.getTime();return new Date(r-1e3*t)}var L=r(97),M=r(81);function G(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function F(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var V=r(27),q=r.n(V),K=function(e){return Array.isArray(e)?q()(e).sort():e},B=r(89);function W(e,t){var r=function(e){return"0"===e||0===e};if(r(e)&&r(t))return 0;if(r(e)||Number.isNaN(e))return null;var n=(t-e)/e;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var H=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},$=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(n.unescape)(t)}},943:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return k}));var n=r(3),i=r(65),o=r(944),s=r(946),a=r(947),c=r(6),u=r(948),l=r(949),g=r(950),f=r(951),d=r(1188),p=r(956),v=r(957),b=r(958),m=r(959),y=r(961),O=r(962),h=r(963),S=r(964),j=r(965),_=r(966),E=Object(n.combineStores)(n.commonStore,Object(i.b)(c.a),o.a,s.a,a.a,u.a,l.a,g.a,f.a,d.a,p.a,v.a,m.a,y.a,b.a,O.a,h.a,S.a,j.a,_.a),k=(E.initialState,E.actions,E.controls,E.reducer,E.resolvers,E.selectors,function(t){var r;t.registerStore(c.a,E),(null===(r=e._googlesitekitBaseData)||void 0===r?void 0:r.referenceDate)&&t.dispatch(c.a).setReferenceDate(e._googlesitekitBaseData.referenceDate)})}).call(this,r(28))},944:function(e,t,r){"use strict";var n=r(7),i=r.n(n),o=r(16),s=r.n(o),a=r(5),c=r.n(a),u=r(12),l=r.n(u),g=r(945),f=r(3),d=r(6);function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};l()(Object(g.isPlainObject)(e),"audience settings should be an object to save.")}),i.a.mark((function e(){var t,r,n,o,a,c,u,l,g,f=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},e.next=3,E("saveAudienceSettings",[]);case 3:return e.next=5,p.commonActions.getRegistry();case 5:return r=e.sent,e.next=8,p.commonActions.await(r.resolveSelect(h.a).getAudienceSettings());case 8:return n=e.sent,o=j(j({},n),t),e.next=12,p.commonActions.await(r.resolveSelect(v.r).getAvailableAudiences());case 12:return a=e.sent,c=s()(o.configuredAudiences).sort((function(e,t){var r=a.findIndex((function(t){return t.name===e})),n=a.findIndex((function(e){return e.name===t}));return-1===r||-1===n?0:r-n})),o.configuredAudiences=c,e.next=17,A.actions.fetchSaveAudienceSettings(o);case 17:if(u=e.sent,l=u.response,!(g=u.error)){e.next=23;break}return e.next=23,_(g,"saveAudienceSettings",[]);case 23:return e.abrupt("return",{response:l,error:g});case 24:case"end":return e.stop()}}),e)}))),resetAudienceSettings:i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:return t=e.sent,r=t.dispatch,e.next=6,{payload:{},type:"RESET_AUDIENCE_SETTINGS"};case 6:return e.next=8,O.a.clearErrors("getAudienceSettings");case 8:return e.abrupt("return",r(h.a).invalidateResolutionForStoreSelector("getAudienceSettings"));case 9:case"end":return e.stop()}}),e)})),setConfiguredAudiences:function(e){return l()(Array.isArray(e),"Configured audiences should be an array."),{type:"SET_CONFIGURED_AUDIENCES",payload:{audienceResourceNames:e}}},setAudienceSegmentationWidgetHidden:function(e){return l()("boolean"==typeof e,"Audience segmentation widget visibility should be a boolean."),{type:"SET_AUDIENCE_SEGMENTATION_WIDGET_HIDDEN",payload:{isWidgetHidden:e}}}},D=Object(y.a)((function(e,t){var r=t.type,n=t.payload;switch(r){case"RESET_AUDIENCE_SETTINGS":e.audienceSettings=T.audienceSettings;break;case"SET_CONFIGURED_AUDIENCES":var i=n.audienceResourceNames;e.audienceSettings||(e.audienceSettings={}),e.audienceSettings.settings=j(j({},e.audienceSettings.settings),{},{configuredAudiences:i});break;case"SET_AUDIENCE_SEGMENTATION_WIDGET_HIDDEN":var o=n.isWidgetHidden;e.audienceSettings||(e.audienceSettings={}),e.audienceSettings.settings=j(j({},e.audienceSettings.settings),{},{isAudienceSegmentationWidgetHidden:o})}})),C={getAudienceSettings:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:if(t=e.sent,void 0!==t.select(h.a).getAudienceSettings()){e.next=7;break}return e.next=7,w.actions.fetchGetAudienceSettings();case 7:case"end":return e.stop()}}),e)}))},R={getAudienceSettings:function(e){var t;return null===(t=e.audienceSettings)||void 0===t?void 0:t.settings},getConfiguredAudiences:Object(p.createRegistrySelector)((function(e){return function(){var t=e(h.a).getAudienceSettings();return null==t?void 0:t.configuredAudiences}})),isAudienceSegmentationWidgetHidden:Object(p.createRegistrySelector)((function(e){return function(){var t=e(h.a).getAudienceSettings();return null==t?void 0:t.isAudienceSegmentationWidgetHidden}})),didSetAudiences:Object(p.createRegistrySelector)((function(e){return function(){var t=e(h.a).getAudienceSettings();return null==t?void 0:t.didSetAudiences}})),haveConfiguredAudiencesChanged:function(e){var t=e.audienceSettings||{},r=t.settings,n=t.savedSettings;return!Object(g.isEqual)(null==r?void 0:r.configuredAudiences,null==n?void 0:n.configuredAudiences)},isSavingAudienceSettings:function(e){return Object.values(e.isFetchingSaveAudienceSettings).some(Boolean)}},P=Object(p.combineStores)(w,A,{initialState:T,actions:I,controls:{},reducer:D,resolvers:C,selectors:R});P.initialState,P.actions,P.controls,P.reducer,P.resolvers,P.selectors;t.a=P},947:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(44),c=r.n(a),u=r(3),l=r(6),g=r(48);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=r.compare,i=void 0!==n&&n,o=r.offsetDays,s=r.referenceDate,c=void 0===s?t.referenceDate:s;void 0===o&&(e.console.warn("getDateRangeDates was called without offsetDays"),o=0);var u=f.getDateRange(t),l=Object(a.t)(c,o),g=u.match("-(.*)-"),d=Number(g?g[1]:28),p=Object(a.t)(l,d-1),v={startDate:p,endDate:l};if(i){var b=Object(a.t)(p,1),m=Object(a.t)(b,d-1);v.compareStartDate=m,v.compareEndDate=b}return v},getDateRangeNumberOfDays:function(e){var t=f.getDateRange(e).match(/-(\d+)-/);return parseInt(t?t[1]:28,10)},getReferenceDate:function(e){return e.referenceDate}};t.a={initialState:l,actions:g,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_DATE_RANGE":return u(u({},e),{},{dateRange:n.slug});case"SET_REFERENCE_DATE":return u(u({},e),{},{referenceDate:n.dateString});default:return e}},resolvers:{},selectors:f}}).call(this,r(28))},949:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(44),c=r.n(a),u=r(3),l=r(6),g=r(48);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:0;return{slug:e,expiresInSeconds:t}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug,r=e.expiresInSeconds;c()(t,"slug is required."),c()(Number.isInteger(r),"expiresInSeconds must be an integer.")}}),j={dismissedItems:void 0,isDismissingItems:{}},_={dismissItem:Object(p.f)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.expiresInSeconds,n=void 0===r?0:r;c()(e,"A slug is required to dismiss an item."),c()("string"==typeof e,"A slug must be a string."),c()(Number.isInteger(n),"expiresInSeconds must be an integer.")}),i.a.mark((function e(t){var r,n,o,s,a,c,u,l=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.length>1&&void 0!==l[1]?l[1]:{},n=r.expiresInSeconds,o=void 0===n?0:n,e.next=4,g.commonActions.getRegistry();case 4:return(s=e.sent).dispatch(f.a).setIsItemDimissing(t,!0),e.next=8,S.actions.fetchDismissItem(t,o);case 8:return a=e.sent,c=a.response,u=a.error,s.dispatch(f.a).setIsItemDimissing(t,!1),e.abrupt("return",{response:c,error:u});case 13:case"end":return e.stop()}}),e)}))),removeDismissedItems:Object(p.f)((function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one slug must be provided."),c()(t.every((function(e){return"string"==typeof e})),"All slugs must be strings.")}),(function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:[];return e.map((function(e){return{slug:e.slug,expiration:e.expiresInSeconds}}))},validateParams:function(e){c()(Array.isArray(e),"items are required."),e.forEach((function(e){var t=e.slug,r=e.expiresInSeconds,n=void 0===r?0:r;c()(t,"slug is required."),c()(Number.isInteger(n),"expiresInSeconds must be an integer.")}))}}),S={expirableItems:void 0},j={setExpirableItemTimers:Object(p.f)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach((function(e){var t=e.slug,r=e.expiresInSeconds;c()(t,"An item slug is required."),c()(Number.isInteger(r),"expiresInSeconds must be an integer.")}))}),(function(e){return h.actions.fetchSetExpirableItemTimers(e)}))},_={getExpirableItems:i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m();case 2:if(t=e.sent,r=t.select,void 0!==r(f.a).getExpirableItems()){e.next=8;break}return e.next=8,O.actions.fetchGetExpirableItems();case 8:case"end":return e.stop()}}),e)}))},E={getExpirableItems:function(e){return e.expirableItems},hasExpirableItem:Object(g.createRegistrySelector)((function(e){return function(t,r){var n=e(f.a).getExpirableItems();if(void 0!==n)return n.hasOwnProperty(r)}})),isExpirableItemActive:Object(g.createRegistrySelector)((function(e){return function(t,r){var n=e(f.a).getExpirableItems();if(void 0!==n){var i=n[r];return void 0!==i&&i>Math.floor(Date.now()/1e3)}}}))},k=Object(g.combineStores)({initialState:S,actions:j,resolvers:_,selectors:E},O,h),w=k.actions,A=k.controls,T=k.initialState,I=k.reducer,D=k.resolvers,C=k.selectors;t.a={actions:w,controls:A,initialState:T,reducer:I,resolvers:D,selectors:C}},956:function(e,t,r){"use strict";var n=r(27),i=r.n(n),o=r(5),s=r.n(o),a=r(7),c=r.n(a),u=r(12),l=r.n(u),g=r(14),f=r(44),d=r.n(f),p=r(3),v=r(6),b=r(13),m=r(19),y=r(47),O=r(8),h=r(48),S=r(65),j=r(143),_=r(38);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function k(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},l()(Object(g.isPlainObject)(t),"key metric settings should be an object to save."),e.next=4,A("saveKeyMetricsSettings",[]);case 4:return e.next=6,p.commonActions.getRegistry();case 6:return r=e.sent,n=r.select(v.a).getKeyMetricsSettings(),e.next=10,D.actions.fetchSaveKeyMetricsSettings(k(k({},n),t));case 10:if(i=e.sent,o=i.response,!(a=i.error)){e.next=18;break}return e.next=16,w(a,"saveKeyMetricsSettings",[]);case 16:e.next=19;break;case 18:(Object(g.isEmpty)(t)||t.widgetSlugs)&&r.dispatch(b.c).setKeyMetricsSetupCompletedBy(r.select(v.a).getID());case 19:return e.abrupt("return",{response:o,error:a});case 20:case"end":return e.stop()}}),e)}))},R={getKeyMetricsSettings:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:if(t=e.sent,!t.select(v.a).getKeyMetricsSettings()){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,I.actions.fetchGetKeyMetricsSettings();case 8:case"end":return e.stop()}}),e)}))},P={getKeyMetrics:Object(p.createRegistrySelector)((function(e){return function(){var t=e(v.a),r=t.getAnswerBasedMetrics,n=(0,t.getUserPickedMetrics)();if(void 0!==n){if(n.length)return n;var i=r();if(void 0!==i)return i.length?i:e(b.c).isKeyMetricsSetupCompleted()?[v.j,v.A,v.g,v.G]:[]}}})),getRegularKeyMetricsWidgetIDs:Object(p.createRegistrySelector)((function(e){return function(){var t=(e(b.c).getPostTypes()||[]).some((function(e){return"product"===e.slug}));return{publish_blog:[v.o,v.j,v.A,v.g],publish_news:[v.k,v.F,v.E,v.i],monetize_content:[v.m,v.g,v.j,v.A],sell_products_or_service:[t?v.n:v.m,v.g,v.G,v.A],sell_products:[t?v.n:v.m,v.f,v.G,v.u],provide_services:[v.A,v.g,v.G,v.m],share_portfolio:[v.j,v.A,v.g,v.G]}}})),getConversionTailoredKeyMetricsWidgetIDs:Object(p.createRegistrySelector)((function(e){return function(t,r){var n,o=(null!==(n=e(b.c).getPostTypes())&&void 0!==n?n:[]).some((function(e){return"product"===e.slug})),s=e(v.a).getUserInputSettings(),a=function(e){return e.some((function(e){var t,n;return(null==s||null===(t=s.includeConversionEvents)||void 0===t||null===(n=t.values)||void 0===n?void 0:n.includes(e))||Array.isArray(r)&&(null==r?void 0:r.includes(e))}))};return{publish_blog:[v.p,v.u,v.z,v.G,v.y,v.A].concat(i()(a([O.l.CONTACT,O.l.GENERATE_LEAD,O.l.SUBMIT_LEAD_FORM])?[v.x,v.C]:[])),publish_news:[v.g,v.l,v.q,v.G,v.y,v.A].concat(i()(a([O.l.CONTACT,O.l.GENERATE_LEAD,O.l.SUBMIT_LEAD_FORM])?[v.x,v.C]:[])),monetize_content:[v.i,v.m,v.j,v.f,v.F,v.E,v.g,v.G],sell_products_or_service:[o?v.n:v.m].concat(i()(a([O.l.PURCHASE])?[v.t,v.w,v.D]:[]),i()(a([O.l.ADD_TO_CART])?[v.B]:[]),[v.f,v.u,v.G]),sell_products:[o?v.n:v.m].concat(i()(a([O.l.PURCHASE])?[v.t,v.w,v.D]:[]),i()(a([O.l.ADD_TO_CART])?[v.B]:[]),[v.f,v.u,v.G]),provide_services:[].concat(i()(a([O.l.CONTACT,O.l.GENERATE_LEAD,O.l.SUBMIT_LEAD_FORM])?[v.s,v.x,v.C]:[]),[v.A,v.g,v.G,v.m,v.z]),share_portfolio:[v.u,v.z,v.l].concat(i()(a([O.l.CONTACT,O.l.GENERATE_LEAD,O.l.SUBMIT_LEAD_FORM])?[v.s,v.x,v.C]:[]),[v.m,v.G])}}})),getAnswerBasedMetrics:Object(p.createRegistrySelector)((function(e){return function(t,r,n){var i,o,s=e(v.a).getUserInputSettings();if(void 0!==s){var a=Object(_.b)("conversionReporting"),c=null!=r?r:null==s||null===(i=s.purpose)||void 0===i||null===(o=i.values)||void 0===o?void 0:o[0];return(a?e(v.a).getConversionTailoredKeyMetricsWidgetIDs(n):e(v.a).getRegularKeyMetricsWidgetIDs())[c]||[]}}})),getUserPickedMetrics:Object(p.createRegistrySelector)((function(e){return function(){var t=e(v.a).getKeyMetricsSettings();if(void 0!==t){if(!Array.isArray(t.widgetSlugs))return[];var r=!e(v.a).isAuthenticated(),n=t.widgetSlugs.filter((function(t){var n=j.a[t];return!!n&&(!n.displayInWidgetArea||"function"!=typeof n.displayInWidgetArea||n.displayInWidgetArea(e,r,t))}));return 1===n.length?[]:n}}})),isKeyMetricActive:Object(p.createRegistrySelector)((function(e){return function(t,r){var n=e(v.a).getKeyMetrics();if(void 0!==n)return n.includes(r)}})),isKeyMetricsWidgetHidden:Object(p.createRegistrySelector)((function(e){return function(){var t=e(v.a).getKeyMetricsSettings();if(void 0!==t)return t.isWidgetHidden}})),getKeyMetricsSettings:function(e){var t=e.keyMetricsSettings;if(t)return t},isSavingKeyMetricsSettings:function(e){return Object.values(e.isFetchingSaveKeyMetricsSettings).some(Boolean)},isKeyMetricAvailable:Object(p.createRegistrySelector)((function(e){return function(t,r){l()(r,"Key metric widget slug required.");var n=e(v.a).isAuthenticated();if(void 0!==n){var i=e(y.a).getWidget(r);if(!i)return!1;var o=e(m.a).getModule,s=e(v.a).canViewSharedModule;return i.modules.every((function(e){var t=o(e);return!!t&&!(!n&&(null==t?void 0:t.shareable)&&!s(e))}))}}}))},x=Object(p.combineStores)(I,D,{initialState:T,actions:C,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_KEY_METRICS_SETTING":return k(k({},e),{},{keyMetricsSettings:k(k({},e.keyMetricsSettings),{},c()({},n.settingID,n.value))});default:return e}},resolvers:R,selectors:P});x.initialState,x.actions,x.controls,x.reducer,x.resolvers,x.selectors;t.a=x},957:function(e,t,r){"use strict";var n=r(557),i=Object(n.a)("core","user","notifications",{server:!1});t.a=i},958:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(44),c=r.n(a),u=r(3),l=r(6),g=r(48);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t2?i-2:0),s=2;s0&&(r=b.a.apply(void 0,[r].concat(o))),n)return!!n[r]}})),canViewSharedModule:Object(d.createRegistrySelector)((function(e){return function(t,r){var n=e(v.a).getModule(r);if(void 0!==n)return!(null===n||!n.shareable)&&e(p.a).hasCapability(p.L,n.slug)}})),hasAccessToShareableModule:Object(d.createRegistrySelector)((function(e){return function(t,r){var n=e(v.a).isModuleAvailable(r);if(void 0!==n)return!1!==n&&(!!e(p.a).isAuthenticated()||e(p.a).canViewSharedModule(r))}}))},k=Object(d.combineStores)(h,{initialState:S,actions:j,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"CLEAR_PERMISSION_SCOPE_ERROR":return O(O({},e),{},{permissionError:null});case"SET_PERMISSION_SCOPE_ERROR":var i=n.permissionError;return O(O({},e),{},{permissionError:i});case"RECEIVE_CAPABILITIES":var o=n.capabilities;return O(O({},e),{},{capabilities:o});default:return e}},resolvers:_,selectors:E});k.initialState,k.actions,k.controls,k.reducer,k.resolvers,k.selectors;t.a=k}).call(this,r(28))},96:function(e,t,r){"use strict";(function(e){r(52),r(53)}).call(this,r(28))},960:function(e,t,r){"use strict";function n(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:0;return{slug:e,expiresInSeconds:t}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug,r=e.expiresInSeconds;f()(t,"slug is required."),f()(Number.isInteger(r),"expiresInSeconds must be an integer.")}}),k={dismissedPrompts:void 0,isDismissingPrompts:{}},w={dismissPrompt:Object(y.f)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.expiresInSeconds,n=void 0===r?0:r;f()(e,"A tour slug is required to dismiss a tour."),f()(Number.isInteger(n),"expiresInSeconds must be an integer.")}),s.a.mark((function e(t){var r,n,i,o,a,c,u,l=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.length>1&&void 0!==l[1]?l[1]:{},n=r.expiresInSeconds,i=void 0===n?0:n,e.next=4,v.commonActions.getRegistry();case 4:return(o=e.sent).dispatch(b.a).setIsPromptDimissing(t,!0),e.next=8,E.actions.fetchDismissPrompt(t,i);case 8:return a=e.sent,c=a.response,u=a.error,o.dispatch(b.a).setIsPromptDimissing(t,!1),e.abrupt("return",{response:c,error:u});case 13:case"end":return e.stop()}}),e)}))),setIsPromptDimissing:function(e,t){return{payload:{slug:e,isDismissing:t},type:"SET_IS_PROMPT_DISMISSING"}}},A={getDismissedPrompts:s.a.mark((function e(){var t,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:if(t=e.sent,r=t.select,void 0!==r(b.a).getDismissedPrompts()){e.next=8;break}return e.next=8,_.actions.fetchGetDismissedPrompts();case 8:case"end":return e.stop()}}),e)}))},T={getDismissedPrompts:function(e){if(void 0!==e.dismissedPrompts){var t=Math.floor(Date.now()/1e3);return Object.entries(e.dismissedPrompts).reduce((function(e,r){var n=i()(r,2),o=n[0],s=n[1].expires;return(0===s||s>t)&&e.push(o),e}),[])}},getPromptDismissCount:Object(v.createRegistrySelector)((function(){return function(e,t){var r;if(e.dismissedPrompts)return(null===(r=e.dismissedPrompts[t])||void 0===r?void 0:r.count)||0}})),isPromptDismissed:Object(v.createRegistrySelector)((function(e){return function(t,r){var n;return null===(n=e(b.a).getDismissedPrompts())||void 0===n?void 0:n.includes(r)}})),isDismissingPrompt:function(e,t){return!!e.isDismissingPrompts[t]}},I=Object(v.combineStores)({initialState:k,actions:w,resolvers:A,selectors:T,reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_IS_PROMPT_DISMISSING":var i=n.slug,o=n.isDismissing;return h(h({},e),{},{isDismissingPrompts:l()({},i,o)});default:return e}}},E,_),D=I.actions,C=I.controls,R=I.initialState,P=I.reducer,x=I.resolvers,N=I.selectors;t.a={actions:D,controls:C,initialState:R,reducer:P,resolvers:x,selectors:N}},962:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(12),c=r.n(a),u=r(14),l=r(44),g=r.n(l),f=r(3),d=r(6),p=r(48),v=r(61);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.triggerID;c()("string"==typeof t&&t.length,"triggerID is required and must be a string")}}),O=Object(p.a)({baseName:"sendSurveyEvent",controlCallback:function(e){var t=e.event,r=e.session;return g.a.set("core","user","survey-event",{event:t,session:r})},argsToParams:function(e,t){return{event:e,session:t}}}),h=Object(p.a)({baseName:"getSurveyTimeouts",controlCallback:function(){return g.a.get("core","user","survey-timeouts",{},{useCache:!1})},reducerCallback:function(e,t){return m(m({},e),{},{surveyTimeouts:Array.isArray(t)?t:[]})}}),S=Object(p.a)({baseName:"setSurveyTimeout",controlCallback:function(e){var t=e.slug,r=e.timeout;return g.a.set("core","user","survey-timeout",{slug:t,timeout:r})},reducerCallback:function(e,t){return m(m({},e),{},{surveyTimeouts:Array.isArray(t)?t:[]})},argsToParams:function(e,t){return{slug:e,timeout:t}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug,r=e.timeout;c()(t,"slug is required."),c()(Number.isInteger(r),"timeout must be an integer.")}}),j=Object(p.a)({baseName:"getSurvey",controlCallback:function(){return g.a.get("core","user","survey",{})},reducerCallback:function(e,t){var r=t.survey,n=r||{},i=n.survey_payload,o=void 0===i?null:i,s=n.session,a=void 0===s?null:s;return m(m({},e),{},{currentSurvey:o,currentSurveySession:a})}}),_={currentSurvey:void 0,currentSurveySession:void 0,surveyTimeouts:void 0},E={setSurveyTimeout:Object(v.f)((function(e,t){c()("string"==typeof e&&e.length,"triggerID is required and must be a string"),c()("number"==typeof t,"timeout must be a number")}),i.a.mark((function e(t,r){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S.actions.fetchSetSurveyTimeout(t,r);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),triggerSurvey:Object(v.f)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.ttl,n=void 0===r?0:r;c()("string"==typeof e&&e.length,"triggerID is required and must be a string"),c()(Object(u.isPlainObject)(t),"options must be an object"),c()("number"==typeof n,"options.ttl must be a number")}),i.a.mark((function e(t){var r,n,o,s,a,c,u,l,g,p,v,b,m=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=m.length>1&&void 0!==m[1]?m[1]:{},n=r.ttl,o=void 0===n?0:n,e.next=4,f.commonActions.getRegistry();case 4:return s=e.sent,a=s.select,c=s.dispatch,u=s.resolveSelect,e.next=10,f.commonActions.await(u(d.a).getAuthentication());case 10:if(a(d.a).isAuthenticated()){e.next=12;break}return e.abrupt("return",{});case 12:return e.next=14,f.commonActions.await(u(d.a).getSurveyTimeouts());case 14:if(l=a(d.a).isSurveyTimedOut(t),g=a(d.a).isTimingOutSurvey(t,o),l||g){e.next=29;break}return e.next=19,y.actions.fetchTriggerSurvey(t);case 19:if(p=e.sent,v=p.response,!(b=p.error)){e.next=24;break}return e.abrupt("return",{response:v,error:b});case 24:if(!(o>0)){e.next=29;break}return e.next=27,new Promise((function(e){setTimeout(e,3e4)}));case 27:return e.next=29,f.commonActions.await(c(d.a).setSurveyTimeout(t,o));case 29:return e.abrupt("return",{response:{},error:!1});case 30:case"end":return e.stop()}}),e)}))),sendSurveyEvent:Object(v.f)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c()("string"==typeof e&&e.length,"eventID is required and must be a string"),c()(Object(u.isPlainObject)(t),"eventData must be an object")}),i.a.mark((function e(t){var r,n,o,a,c,u,l,g,p=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=p.length>1&&void 0!==p[1]?p[1]:{},n=s()({},t,r),e.next=4,f.commonActions.getRegistry();case 4:if(o=e.sent,a=o.select,!(c=a(d.a).getCurrentSurveySession())){e.next=14;break}return e.next=10,O.actions.fetchSendSurveyEvent(n,c);case 10:return u=e.sent,l=u.response,g=u.error,e.abrupt("return",{response:l,error:g});case 14:case"end":return e.stop()}}),e)})))},k={getCurrentSurvey:i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,r=t.select,void 0!==r(d.a).getCurrentSurvey()){e.next=8;break}return e.next=8,j.actions.fetchGetSurvey();case 8:case"end":return e.stop()}}),e)})),getSurveyTimeouts:i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,r=t.select,void 0!==r(d.a).getSurveyTimeouts()){e.next=8;break}return e.next=8,h.actions.fetchGetSurveyTimeouts();case 8:case"end":return e.stop()}}),e)}))},w={getCurrentSurvey:function(e){return e.currentSurvey},getCurrentSurveySession:function(e){return e.currentSurveySession},getCurrentSurveyCompletions:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getCurrentSurvey();return(null==t?void 0:t.completion)||null}})),getCurrentSurveyQuestions:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getCurrentSurvey();return(null==t?void 0:t.question)||null}})),getSurveyTimeouts:function(e){return e.surveyTimeouts},isSurveyTimedOut:Object(f.createRegistrySelector)((function(e){return function(t,r){var n=e(d.a).getSurveyTimeouts();return void 0===n?void 0:n.includes(r)}})),isTimingOutSurvey:Object(f.createRegistrySelector)((function(e){return function(t,r,n){return e(d.a).isFetchingSetSurveyTimeout(r,n)}})),areSurveysOnCooldown:Object(f.createRegistrySelector)((function(e){return function(){return e(d.a).isSurveyTimedOut(d.e)}}))},A=Object(f.combineStores)(y,O,h,S,j,{initialState:_,actions:E,resolvers:k,selectors:w});A.initialState,A.actions,A.resolvers,A.selectors;t.a=A},963:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(44),c=r.n(a),u=r(3),l=r(6),g=r(48),f=r(65);function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=t.additionalScopes,n=void 0===r?[]:r,i=t.redirectURL,o=void 0===i?void 0:i,s=t.errorRedirectURL,a=void 0===s?void 0:s,c=e.connectURL,u={redirect:o,errorRedirect:a};if(void 0!==c){if(null==n?void 0:n.length){var l=n.map((function(e){return e.replace(/^http(s)?:/,"gttp$1:")}));return Object(g.a)(c,m(m({},u),{},{additional_scopes:l}))}return Object(g.a)(c,u)}},getID:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();return void 0!==t?t.id:t}})),getName:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();return void 0!==t?t.name:t}})),getEmail:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();return void 0!==t?t.email:t}})),getPicture:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();return void 0!==t?t.picture:t}})),getFullName:Object(f.createRegistrySelector)((function(e){return function(){var t=e(d.a).getUser();if(void 0!==t)return t.full_name}})),getAccountChooserURL:Object(f.createRegistrySelector)((function(e){return function(t,r){l()(r,"destinationURL is required");var n=e(d.a).getEmail();if(void 0!==n)return Object(p.a)(v(),r,n)}})),getInitialSiteKitVersion:function(e){return e.initialVersion},isVerified:function(e){return e.verified},isUserInputCompleted:function(e){var t=e.isUserInputCompleted;return t}};t.a={initialState:y,actions:O,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"RECEIVE_CONNECT_URL":var i=n.connectURL;return m(m({},e),{},{connectURL:i});case"RECEIVE_USER_INFO":var o=n.user;return m(m({},e),{},{user:o});case"RECEIVE_USER_INITIAL_SITE_KIT_VERSION":var s=n.initialVersion;return m(m({},e),{},{initialVersion:s});case"RECEIVE_USER_IS_VERIFIED":var a=n.verified;return m(m({},e),{},{verified:a});case"RECEIVE_IS_USER_INPUT_COMPLETED":var c=n.isUserInputCompleted;return m(m({},e),{},{isUserInputCompleted:c});default:return e}},resolvers:h,selectors:S}}).call(this,r(28))},965:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(12),c=r.n(a),u=r(14),l=r(44),g=r.n(l),f=r(3),d=r(6),p=r(48),v=r(65);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t0},o=t.select(d.a).getUserInputSettings(),a=Object.keys(o).reduce((function(e,t){var i;return m(m({},e),{},s()({},t,((null===(i=o[t])||void 0===i?void 0:i.values)||[]).map(r).filter(n)))}),{}),e.next=11,{type:"SET_USER_INPUT_SETTINGS_SAVING_FLAG",payload:{isSaving:!0}};case 11:return e.next=13,j.actions.fetchSaveUserInputSettings(a);case 13:if(c=e.sent,u=c.response,!(l=c.error)){e.next=19;break}return e.next=19,y(l,"saveUserInputSettings",[]);case 19:if(l){e.next=22;break}return e.next=22,E.maybeTriggerUserInputSurvey();case 22:return e.next=24,{type:"SET_USER_INPUT_SETTINGS_SAVING_FLAG",payload:{isSaving:!1}};case 24:return e.abrupt("return",{response:u,error:l});case 25:case"end":return e.stop()}}),e)})),resetUserInputSettings:i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{type:"RESET_USER_INPUT_SETTINGS",payload:{}});case 1:case"end":return e.stop()}}),e)})),maybeTriggerUserInputSurvey:i.a.mark((function e(){var t,r,n,o,s,a,c,u,l;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:return t=e.sent,r=t.resolveSelect,n=t.dispatch,e.next=7,f.commonActions.await(r(d.a).getUserInputSettings());case 7:if(o=e.sent,!(!(s=Object.keys(o).filter((function(e){return o[e].values.includes("other")}))).length>0)){e.next=11;break}return e.abrupt("return");case 11:return a="userInput_answered_other__".concat(s.join("_")),e.next=14,f.commonActions.await(n(d.a).triggerSurvey(a));case 14:return c=e.sent,u=c.response,l=c.error,e.abrupt("return",{response:u,error:l});case 18:case"end":return e.stop()}}),e)}))},k={getUserInputSettings:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,(0,t.select)(d.a).getUserInputSettings()){e.next=7;break}return e.next=7,S.actions.fetchGetUserInputSettings();case 7:case"end":return e.stop()}}),e)}))},w={isSavingUserInputSettings:function(e){return!!(null==e?void 0:e.isSavingInputSettings)},getUserInputSettings:function(e){return e.inputSettings},getSavedUserInputSettings:function(e){return e.savedInputSettings},getUserInputSetting:Object(f.createRegistrySelector)((function(e){return function(t,r){var n,i=null===(n=(e(d.a).getUserInputSettings()||{})[r])||void 0===n?void 0:n.values;return Array.isArray(i)?i:[]}})),getUserInputSettingScope:Object(f.createRegistrySelector)((function(e){return function(t,r){var n;return null===(n=(e(d.a).getUserInputSettings()||{})[r])||void 0===n?void 0:n.scope}})),getUserInputSettingAuthor:Object(f.createRegistrySelector)((function(e){return function(t,r){var n;return null===(n=(e(d.a).getUserInputSettings()||{})[r])||void 0===n?void 0:n.author}})),haveUserInputSettingsChanged:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=e.inputSettings,n=e.savedInputSettings;return t?!Object(u.isEqual)(Object(u.pick)(r,t),Object(u.pick)(n,t)):!Object(u.isEqual)(r,n)},hasUserInputSettingChanged:function(e,t){return c()(t,"setting is required."),w.haveUserInputSettingsChanged(e,[t])}},A=Object(f.combineStores)(S,j,{initialState:_,actions:E,reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_USER_INPUT_SETTING":return m(m({},e),{},{inputSettings:m(m({},e.inputSettings),{},s()({},n.settingID,m(m({},(e.inputSettings||{})[n.settingID]||{}),{},{values:n.values})))});case"SET_USER_INPUT_SETTINGS_SAVING_FLAG":return m(m({},e),{},{isSavingInputSettings:n.isSaving});case"RESET_USER_INPUT_SETTINGS":return m(m({},e),{},{inputSettings:e.savedInputSettings});default:return e}},resolvers:k,selectors:w});A.initialState,A.actions,A.controls,A.reducer,A.resolvers,A.selectors;t.a=A},966:function(e,t,r){"use strict";var n=r(5),i=r.n(n),o=r(7),s=r.n(o),a=r(12),c=r.n(a),u=r(14),l=r(44),g=r.n(l),f=r(3),d=r(6),p=r(48),v=r(61);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};c()(Object(u.isPlainObject)(e),"Conversion reporting settings should be an object to save.")}),i.a.mark((function e(){var t,r=arguments;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:{},e.next=3,h.actions.fetchSaveConversionReportingSettings(t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))},j={getConversionReportingSettings:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,void 0!==t.select(d.a).getConversionReportingSettings()){e.next=7;break}return e.next=7,O.actions.fetchGetConversionReportingSettings();case 7:case"end":return e.stop()}}),e)}))},_={getConversionReportingSettings:function(e){return e.conversionReportingSettings},isSavingConversionReportingSettings:function(e){return Object.values(e.isFetchingSaveConversionReportingSettings).some(Boolean)},haveNewConversionEventsAfterDismiss:Object(f.createRegistrySelector)((function(e){return function(t,r){var n=(0,e(d.a).getConversionReportingSettings)();return!!n&&r>n.newEventsCalloutDismissedAt}})),haveLostConversionEventsAfterDismiss:Object(f.createRegistrySelector)((function(e){return function(t,r){var n=(0,e(d.a).getConversionReportingSettings)();return!!n&&r>n.lostEventsCalloutDismissedAt}}))},E=Object(f.combineStores)(O,h,{initialState:y,actions:S,resolvers:j,selectors:_});E.initialState,E.actions,E.controls,E.reducer,E.resolvers,E.selectors;t.a=E},97:function(e,t,r){"use strict";(function(e){r.d(t,"b",(function(){return o})),r.d(t,"a",(function(){return s}));var n=r(234),i=r(86),o=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var o=r.invertColor,s=void 0!==o&&o;return Object(n.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:s}))},s=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,r(4))},98:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return g}));var n=r(7),i=r.n(n),o=r(14),s=r(99),a=r(100);function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=u(u({},l),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var c=Object(s.a)(i,r),g=Object(a.a)(i,r,c,n),f={},d=function(){for(var e=arguments.length,t=new Array(e),r=0;rNote: %s","google-site-kit"),S),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:g,disabled:N},Object(s.__)("Cancel","google-site-kit")),B?e.createElement(u.Button,{href:B,onClick:O,target:"_blank",danger:x},j):e.createElement(u.SpinnerButton,{onClick:O,danger:x,disabled:N,isSaving:N},j||Object(s.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:a.a.string,dialogActive:a.a.bool,handleDialog:a.a.func,handleConfirm:a.a.func.isRequired,onOpen:a.a.func,onClose:a.a.func,title:a.a.string,confirmButton:a.a.string,danger:a.a.bool,small:a.a.bool,medium:a.a.bool,buttonLink:a.a.string},t.a=ModalDialog}).call(this,n(4))},1147:function(e,t,n){"use strict";(function(e){var r=n(11),a=n.n(r),i=n(0),o=n(38),c=n(2),l=n(3),s=n(224),u=n(70),d=n(418),f=n(702),g=n(707),m=n(225),p=n(22),h=n(14),v=n(6),b=n(20),E=n(103),_=n(17),O=n(356),y=n(185),k=n(46),j=n(709),S=n(616),w=n(1148),x=n(690),C=n(35),N=n(617),A=n(720),T=n(713),D=n(618);t.a=function DashboardEntityApp(){var t=Object(C.a)(),n=Object(l.useSelect)((function(e){return t?e(v.a).getViewableModules():null})),r=Object(l.useSelect)((function(e){return e(h.c).getCurrentEntityURL()})),R=Object(l.useSelect)((function(e){return e(h.c).getPermaLinkParam()})),M=Object(l.useSelect)((function(e){return e(h.c).getAdminURL("googlesitekit-dashboard")})),B={modules:n||void 0},L=Object(l.useSelect)((function(e){return e(k.a).isWidgetContextActive(u.CONTEXT_ENTITY_DASHBOARD_TRAFFIC,B)})),F=Object(l.useSelect)((function(e){return e(k.a).isWidgetContextActive(u.CONTEXT_ENTITY_DASHBOARD_CONTENT,B)})),I=Object(l.useSelect)((function(e){return e(k.a).isWidgetContextActive(u.CONTEXT_ENTITY_DASHBOARD_SPEED,B)})),P=Object(l.useSelect)((function(e){return e(k.a).isWidgetContextActive(u.CONTEXT_ENTITY_DASHBOARD_MONETIZATION,B)})),z=Object(l.useSelect)((function(e){return e(h.c).getDocumentationLinkURL("url-not-part-of-this-site")}));Object(A.a)();var H=null;return P?H=p.c:I?H=p.d:F?H=p.a:L&&(H=p.e),null===r?e.createElement("div",{className:"googlesitekit-widget-context googlesitekit-module-page googlesitekit-entity-dashboard"},e.createElement(S.a,null),e.createElement(D.a,null),e.createElement(_.e,null,e.createElement(_.k,null,e.createElement(_.a,{size:12},e.createElement(i.Fragment,null,e.createElement(b.a,{href:M,back:!0,small:!0},Object(c.__)("Back to the Site Kit Dashboard","google-site-kit")),e.createElement(O.a,{title:Object(c.__)("Detailed Page Stats","google-site-kit"),className:"googlesitekit-heading-2 googlesitekit-entity-dashboard__heading",fullWidth:!0}),e.createElement(y.a,{className:"googlesitekit-entity-dashboard__entity-header"},e.createElement(_.e,null,e.createElement(_.k,null,e.createElement(_.a,{size:12},e.createElement("p",null,Object(o.a)(Object(c.sprintf)( -/* translators: %s: current entity URL. */ -Object(c.__)("It looks like the URL %s is not part of this site or is not based on standard WordPress content types, therefore there is no data available to display. Visit our support forums or Site Kit website for support or further information.","google-site-kit"),"".concat(R,"")),{strong:e.createElement("strong",null),link1:e.createElement(b.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0}),link2:e.createElement(b.a,{href:z,external:!0}),VisuallyHidden:e.createElement(E.a,null)})))))))))),e.createElement(N.a,null)):e.createElement(i.Fragment,null,e.createElement(S.a,null),e.createElement(D.a,null),e.createElement(s.a,{subHeader:e.createElement(w.a,null),showNavigation:!0},e.createElement(f.a,null),e.createElement(g.a,null),!t&&e.createElement(x.a,null),e.createElement(m.a,null)),!t&&e.createElement(j.a,null),e.createElement(T.a,null),e.createElement(d.a,{id:p.e,slug:u.CONTEXT_ENTITY_DASHBOARD_TRAFFIC,className:a()({"googlesitekit-widget-context--last":H===p.e})}),e.createElement(d.a,{id:p.a,slug:u.CONTEXT_ENTITY_DASHBOARD_CONTENT,className:a()({"googlesitekit-widget-context--last":H===p.a})}),e.createElement(d.a,{id:p.d,slug:u.CONTEXT_ENTITY_DASHBOARD_SPEED,className:a()({"googlesitekit-widget-context--last":H===p.d})}),e.createElement(d.a,{id:p.c,slug:u.CONTEXT_ENTITY_DASHBOARD_MONETIZATION,className:a()({"googlesitekit-widget-context--last":H===p.c})}),e.createElement(N.a,null))}}).call(this,n(4))},1148:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return EntityBannerNotifications}));var r=n(0),a=n(166),i=n(47);function EntityBannerNotifications(){return e.createElement(r.Fragment,null,e.createElement(a.a,{areaSlug:i.b.BANNERS_ABOVE_NAV}))}}).call(this,n(4))},115:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(380),a=function(e,t,n){Object(r.a)((function(n){return e.includes(n.keyCode)&&t.current.contains(n.target)}),n)}},117:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(21),a=n.n(r),i=n(155),o=n.n(i),c=n(11),l=n.n(c),s=n(1),u=n.n(s),d=n(2),f=n(10),g=n(156),m=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,s=t.primaryProps,u=t.size,p=t.step,h=t.tooltipProps,v=u>1?Object(g.a)(u):[],b=function(e){return l()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",a()({className:l()("googlesitekit-tour-tooltip",p.className)},h),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(i.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},v.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:b(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(f.Button,a()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,s.title&&e.createElement(f.Button,a()({className:"googlesitekit-tooltip-button",text:!0},s),s.title))),e.createElement(f.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(13),a=function(e){return Object(r.isFinite)(e)?e:0}},119:function(e,t,n){"use strict";var r=n(0),a=n(40),i=Object(r.createContext)(a.a);t.a=i},120:function(e,t,n){"use strict";n.d(t,"c",(function(){return s})),n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r,a=n(7),i=n.n(a),o=n(46),c=n(174),l=n(161),s=(r={},i()(r,o.c.QUARTER,3),i()(r,o.c.HALF,6),i()(r,o.c.FULL,12),r),u="googlesitekit-hidden",d=[c.a,l.a]},122:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),a=n(119),i=n(40),o=function(e){var t=Object(r.useContext)(a.a);return Object(i.b)(e,t)}},123:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(21),a=n.n(r),i=n(7),o=n.n(i),c=n(24),l=n.n(c),s=n(1),u=n.n(s),d=n(11),f=n.n(d);function Cell(t){var n,r=t.className,i=t.alignTop,c=t.alignMiddle,s=t.alignBottom,u=t.alignRight,d=t.alignLeft,g=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,h=t.smSize,v=t.smStart,b=t.smOrder,E=t.mdSize,_=t.mdStart,O=t.mdOrder,y=t.lgSize,k=t.lgStart,j=t.lgOrder,S=t.size,w=t.children,x=l()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",a()({},x,{className:f()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":i,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":s,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":g,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},o()(n,"mdc-layout-grid__cell--span-".concat(S),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(y,"-desktop"),12>=y&&y>0),o()(n,"mdc-layout-grid__cell--start-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--order-".concat(j,"-desktop"),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(E,"-tablet"),8>=E&&E>0),o()(n,"mdc-layout-grid__cell--start-".concat(_,"-tablet"),8>=_&&_>0),o()(n,"mdc-layout-grid__cell--order-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--span-".concat(h,"-phone"),4>=h&&h>0),o()(n,"mdc-layout-grid__cell--start-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--order-".concat(b,"-phone"),4>=b&&b>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},124:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(1),l=n.n(c),s=n(11),u=n.n(s),d=n(0),f=Object(d.forwardRef)((function(t,n){var r=t.className,i=t.children,c=o()(t,["className","children"]);return e.createElement("div",a()({ref:n,className:u()("mdc-layout-grid__inner",r)},c),i)}));f.displayName="Row",f.propTypes={className:l.a.string,children:l.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(1),l=n.n(c),s=n(11),u=n.n(s),d=n(0),f=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,i=t.fill,c=t.className,l=t.children,s=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",a()({className:u()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":s,"mdc-layout-grid--fill":i})},d,{ref:n}),l)}));f.displayName="Grid",f.propTypes={alignLeft:l.a.bool,fill:l.a.bool,className:l.a.string,collapsed:l.a.bool,children:l.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},1258:function(e,t,n){"use strict";n.r(t),function(e){var t=n(326),r=n(141),a=n(1147),i=n(216),o=n(22);Object(t.a)((function(){var t=document.getElementById("js-googlesitekit-entity-dashboard");if(t){var n=t.dataset.viewOnly;Object(r.render)(e.createElement(i.a,{viewContext:n?o.m:o.l},e.createElement(a.a,null)),t)}}))}.call(this,n(4))},126:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=e.sent,i=a.cacheHit,o=a.value,!i){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e)})),createSnapshot:l.a.mark((function e(){var t;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},i=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(g.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(g.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(g.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:i,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,i=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return e}}}},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(h(e).map((function(e){return e.getActions().createSnapshot()})))},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(h(e).map((function(e){return e.getActions().restoreSnapshot()})))}},132:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(11),o=n.n(i),c=n(38),l=n(2),s=n(20),u=n(35);function SourceLink(t){var n=t.name,r=t.href,a=t.className,i=t.external;return Object(u.a)()?null:e.createElement("div",{className:o()("googlesitekit-source-link",a)},Object(c.a)(Object(l.sprintf)( -/* translators: %s: source link */ -Object(l.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(s.a,{key:"link",href:r,external:i})}))}SourceLink.propTypes={name:a.a.string,href:a.a.string,className:a.a.string,external:a.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},133:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportErrorActions}));var r=n(7),a=n.n(r),i=n(1),o=n.n(i),c=n(0),l=n(38),s=n(2),u=n(3),d=n(10),f=n(14),g=n(19),m=n(36),p=n(35),h=n(20);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(h.a,{href:A,external:!0,hideExternalIndicator:!0},Object(s.__)("Get help","google-site-kit"))}))),!N&&!i&&e.createElement("div",{className:_},"function"==typeof a?e.createElement(a,{linkURL:A}):e.createElement(h.a,{href:A,external:!0,hideExternalIndicator:!0},Object(s.__)("Get help","google-site-kit"))))}ReportErrorActions.propTypes={moduleSlug:o.a.string.isRequired,error:o.a.oneOfType([o.a.arrayOf(o.a.object),o.a.object]).isRequired,GetHelpLink:o.a.elementType,hideGetHelpLink:o.a.bool,buttonVariant:o.a.string,onRetry:o.a.func,onRequestAccess:o.a.func,getHelpClassName:o.a.string,RequestAccessButton:o.a.elementType,RetryButton:o.a.elementType}}).call(this,n(4))},135:function(e,t,n){"use strict";var r=n(0),a=Object(r.createContext)(!1);t.a=a},137:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},a=n.slug,i=void 0===a?"":a,o=n.name,c=void 0===o?"":o,l=n.owner,s=void 0===l?{}:l;if(!i||!c)return e;var u="",d="";return"analytics-4"===i?e.match(/account/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===i&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),u||(u=Object(r.sprintf)( -/* translators: %s: module name */ -Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),c)),s&&s.login&&(d=Object(r.sprintf)( -/* translators: %s: owner name */ -Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),s.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(u," ").concat(d)}},169:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportError}));var r=n(7),a=n.n(r),i=n(1),o=n.n(i),c=n(13),l=n(0),s=n(2),u=n(3),d=n(19),f=n(36),g=n(168),m=n(82),p=n(59),h=n(91),v=n(133),b=n(35);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;t1&&(n=Object(s.sprintf)( -/* translators: %s: module name */ -Object(s.__)("Data errors in %s","google-site-kit"),null==o?void 0:o.name)):n=Object(s.sprintf)( -/* translators: %s: module name */ -Object(s.__)("Data error in %s","google-site-kit"),null==o?void 0:o.name);var j=e.createElement(l.Fragment,null,y.map((function(t){var n,r=null==a||null===(n=a.data)||void 0===n?void 0:n.reconnectURL;return r?e.createElement(p.a,{key:t.message,message:t.message,reconnectURL:r}):e.createElement("p",{key:t.message},m.a.sanitize(t.message,{ALLOWED_TAGS:[]}))})));return e.createElement(h.a,{title:n,description:j,error:!0},e.createElement(v.a,{moduleSlug:r,error:a}))}ReportError.propTypes={moduleSlug:o.a.string.isRequired,error:o.a.oneOfType([o.a.arrayOf(o.a.object),o.a.object]).isRequired}}).call(this,n(4))},17:function(e,t,n){"use strict";var r=n(243);n.d(t,"i",(function(){return r.a}));var a=n(312);n.d(t,"f",(function(){return a.a}));var i=n(313);n.d(t,"h",(function(){return i.a}));var o=n(314);n.d(t,"j",(function(){return o.a}));var c=n(311);n.d(t,"g",(function(){return c.a}));var l=n(89),s=n.n(l);n.d(t,"b",(function(){return s.a})),n.d(t,"c",(function(){return l.DialogContent})),n.d(t,"d",(function(){return l.DialogFooter}));var u=n(102);n.d(t,"a",(function(){return u.a})),n.d(t,"e",(function(){return u.b})),n.d(t,"k",(function(){return u.c}))},170:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GenericErrorHandlerActions}));var r=n(1),a=n.n(r),i=n(2),o=n(20),c=n(189);function GenericErrorHandlerActions(t){var n=t.message,r=t.componentStack;return e.createElement("div",{className:"googlesitekit-generic-error-handler-actions"},e.createElement(c.a,{message:n,componentStack:r}),e.createElement(o.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0},Object(i.__)("Report this problem","google-site-kit")))}GenericErrorHandlerActions.propTypes={message:a.a.string,componentStack:a.a.string}}).call(this,n(4))},171:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(22),a=function(e){return r.f.includes(e)}},172:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(11),o=n.n(i),c=n(0),l=n(139),s=n(66),u=n(17),d=Object(c.forwardRef)((function(t,n){var r=t.className,a=t.title,i=t.description,c=t.dismissCTA,d=t.additionalCTA,f=t.type,g=void 0===f?"success":f,m=t.icon;return e.createElement(u.e,{ref:n},e.createElement(u.k,null,e.createElement(u.a,{alignMiddle:!0,size:12,className:o()("googlesitekit-subtle-notification",r,{"googlesitekit-subtle-notification--success":"success"===g,"googlesitekit-subtle-notification--warning":"warning"===g})},e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},m,"success"===g&&!m&&e.createElement(l.a,{width:24,height:24}),"warning"===g&&!m&&e.createElement(s.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,a),e.createElement("p",{className:"googlesitekit-subtle-notification__secondary_description"},i)),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},c,d))))}));d.propTypes={className:a.a.string,title:a.a.node.isRequired,description:a.a.node,dismissCTA:a.a.node,additionalCTA:a.a.node,type:a.a.string,icon:a.a.object},t.a=d}).call(this,n(4))},173:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LoadingWrapper}));var r=n(7),a=n.n(r),i=n(24),o=n.n(i),c=n(1),l=n.n(c),s=n(42);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function LoadingWrapper(t){var n=t.loading,r=t.children,a=o()(t,["loading","children"]);return n?e.createElement(s.a,a):r}LoadingWrapper.propTypes=function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:e,i=Object(c.useState)(Object(l.a)(r.location.href,t)||n),u=o()(i,2),d=u[0],f=u[1],g=function(e){f(e);var n=Object(s.a)(r.location.href,a()({},t,e));r.history.replaceState(null,"",n)};return[d,g]}}).call(this,n(28))},188:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t=0;)3===e[n]?(t-=3,e[n]=4):6===e[n]&&(t-=6,e[n]=8),n--;return[e,t]}function d(e,t){return(Array.isArray(t.width)?t.width:[t.width]).map((function(t){return{counter:e+c.c[t],width:t}}))}function f(e,t){var n=[],r=[];if(!(null==e?void 0:e.length))return{columnWidths:n,rowIndexes:r};var i=0,o=0,l=function(e,t){return e.counter-t.counter},f=function(e,t){var n=e.counter;return t.counter-n},g=function(e){return e.counter<=12};if(e.forEach((function(m,p){if(s(t[m.slug]))return n.push(0),void r.push(o);var h=d(i,m),v=function(e,t,n){for(;++e12){if(i-=c.c[b],r[p]++,9===i){var E=u(n,i),_=a()(E,2);n=_[0],i=_[1]}i=c.c[b],o++}else 12===i&&(i=0,o++);n.push(c.c[b])})),9===i){var m=u(n,i),p=a()(m,2);n=p[0],i=p[1]}return{columnWidths:n,rowIndexes:r}}var g=n(13);function m(e,t,n){var r=n.columnWidths,a=n.rowIndexes,i=[],l=o()(r);if(!(null==e?void 0:e.length))return{gridColumnWidths:l,overrideComponents:i};var s=null,u=-1,d=[];if(function(e,t){for(var n={},r=0;r1)}(e,t)){var f=Array.from({length:e.length-1}).fill(0);return{overrideComponents:[t[e[0].slug]],gridColumnWidths:[12].concat(o()(f))}}return e.forEach((function(n,o){var c,f,m,p,h;if(i.push(null),s=t[n.slug],u=a[o],s)if(f=s,m=t[null===(c=e[o+1])||void 0===c?void 0:c.slug],p=u,h=a[o+1],p===h&&Object(g.isEqual)(f,m))d.push(r[o]),l[o]=0;else if(d.length>0){d.push(r[o]);var v=d.reduce((function(e,t){return e+t}),0);i[o]=s,l[o]=v,d=[]}})),{gridColumnWidths:l,overrideComponents:i}}var p=n(233);function h(e){return(Array.isArray(e)?e:[e]).filter((function(e){return"string"==typeof e&&e.length>0}))}},212:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return OptIn}));var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(1),l=n.n(c),s=n(11),u=n.n(s),d=n(0),f=n(38),g=n(2),m=n(3),p=n(10),h=n(6),v=n(37),b=n(20),E=n(18);function OptIn(t){var n=t.id,r=void 0===n?"googlesitekit-opt-in":n,i=t.name,c=void 0===i?"optIn":i,l=t.className,s=t.trackEventCategory,_=t.alignLeftCheckbox,O=void 0!==_&&_,y=Object(m.useSelect)((function(e){return e(h.a).isTrackingEnabled()})),k=Object(m.useSelect)((function(e){return e(h.a).isSavingTrackingEnabled()})),j=Object(m.useSelect)((function(e){return e(h.a).getErrorForAction("setTrackingEnabled",[!y])})),S=Object(m.useDispatch)(h.a).setTrackingEnabled,w=Object(E.a)(),x=Object(d.useCallback)(function(){var e=o()(a.a.mark((function e(t){var n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S(!!t.target.checked);case 2:n=e.sent,r=n.response,n.error||(Object(v.a)(r.enabled),r.enabled&&Object(v.b)(s||w,"tracking_optin"));case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[S,s,w]);return e.createElement("div",{className:u()("googlesitekit-opt-in",l)},e.createElement(p.Checkbox,{id:r,name:c,value:"1",checked:y,disabled:k,onChange:x,loading:void 0===y,alignLeft:O},Object(f.a)(Object(g.__)("Help us improve Site Kit by sharing anonymous usage data. All collected data is treated in accordance with the Google Privacy Policy.","google-site-kit"),{a:e.createElement(b.a,{key:"link",href:"https://policies.google.com/privacy",external:!0}),span:e.createElement("span",null)})),(null==j?void 0:j.message)&&e.createElement("div",{className:"googlesitekit-error-text"},null==j?void 0:j.message))}OptIn.propTypes={id:l.a.string,name:l.a.string,className:l.a.string,trackEventCategory:l.a.string,alignLeftCheckbox:l.a.bool}}).call(this,n(4))},213:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Item}));var r=n(1),a=n.n(r);function Item(t){var n=t.icon,r=t.label;return e.createElement("div",{className:"googlesitekit-user-menu__item"},e.createElement("div",{className:"googlesitekit-user-menu__item-icon"},n),e.createElement("span",{className:"googlesitekit-user-menu__item-label"},r))}Item.propTypes={icon:a.a.node,label:a.a.string}}).call(this,n(4))},214:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(0),l=n(3),s=n(14),u=n(23);function d(e){var t=Object(l.useDispatch)(u.b).setValue,n=Object(l.useSelect)((function(e){return e(s.c).hasMinimumWordPressVersion("6.2")})),r=Object(l.useSelect)((function(e){return e(s.c).hasMinimumWordPressVersion("6.4")}));return Object(c.useCallback)(o()(a.a.mark((function i(){var o,c,l,s;return a.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(o=document.querySelector("#adminmenu").offsetHeight>0){a.next=7;break}if(!(c=document.getElementById("wp-admin-bar-menu-toggle"))){a.next=7;break}return c.firstChild.click(),a.next=7,new Promise((function(e){setTimeout(e,0)}));case 7:"#adminmenu [href*='page=googlesitekit-dashboard']",(l=!!document.querySelector("".concat("#adminmenu [href*='page=googlesitekit-dashboard']","[aria-haspopup=true]")))&&document.querySelector("#adminmenu [href*='page=googlesitekit-dashboard']").click(),n&&!r&&(s=document.hasFocus,document.hasFocus=function(){return document.hasFocus=s,!1}),t(e,{isTooltipVisible:!0,rehideAdminMenu:!o,rehideAdminSubMenu:l});case 12:case"end":return a.stop()}}),i)}))),[n,r,t,e])}},215:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdminMenuTooltip}));var r=n(7),a=n.n(r),i=n(21),o=n.n(i),c=n(5),l=n.n(c),s=n(15),u=n.n(s),d=n(24),f=n.n(d),g=n(0),m=n(1),p=n.n(m),h=n(3),v=n(202),b=n(23),E=n(154);function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t0&&(null===(t=document.getElementById("wp-admin-bar-menu-toggle"))||void 0===t||t.click()),d&&document.querySelector("body").click(),e.next=4,null==n?void 0:n();case 4:i(r,void 0);case 5:case"end":return e.stop()}}),e)}))),[n,s,d,i,r]);return e.createElement(v.a,o()({slug:"ga4-activation-banner-admin-menu-tooltip",onDismiss:m},a))}AdminMenuTooltip.propTypes=O(O({},v.a.propTypes),{},{target:p.a.string,tooltipStateKey:p.a.string.isRequired}),AdminMenuTooltip.defaultProps={target:'#adminmenu [href*="page=googlesitekit-settings"]'}}).call(this,n(4))},216:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Root}));var r=n(16),a=n.n(r),i=n(1),o=n.n(i),c=n(420),l=n(527),s=n(0),u=n(3),d=n.n(u),f=n(217),g=n(218),m=n(40),p=n(219),h=n(221),v=n(222),b=n(58),E=n(157),_=n(171);function Root(t){var n=t.children,r=t.registry,i=t.viewContext,o=void 0===i?null:i,d=c.a,O=Object(s.useState)({key:"Root",value:!0}),y=a()(O,1)[0];return e.createElement(s.StrictMode,null,e.createElement(E.a,{value:y},e.createElement(u.RegistryProvider,{value:r},e.createElement(g.a,{value:m.a},e.createElement(b.a,{value:o},e.createElement(l.a,{theme:d()},e.createElement(f.a,null,e.createElement(h.a,null,n,o&&e.createElement(v.a,null)),Object(_.a)(o)&&e.createElement(p.a,null))))))))}Root.propTypes={children:o.a.node,registry:o.a.object,viewContext:o.a.string.isRequired},Root.defaultProps={registry:d.a}}).call(this,n(4))},217:function(e,t,n){"use strict";(function(e,r){var a=n(51),i=n.n(a),o=n(53),c=n.n(o),l=n(68),s=n.n(l),u=n(69),d=n.n(u),f=n(49),g=n.n(f),m=n(1),p=n.n(m),h=n(0),v=n(2),b=n(170),E=n(58),_=n(90),O=n(9);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var a=g()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return d()(this,n)}}var k=function(t){s()(ErrorHandler,t);var n=y(ErrorHandler);function ErrorHandler(e){var t;return i()(this,ErrorHandler),(t=n.call(this,e)).state={error:null,info:null,copied:!1},t}return c()(ErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Caught an error:",t,n),this.setState({error:t,info:n}),Object(O.J)("react_error","handle_".concat(this.context||"unknown","_error"),"".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,a=t.info;return n?r.createElement(_.b,{id:"googlesitekit-error",className:"googlesitekit-error-handler",title:Object(v.__)("Site Kit encountered an error","google-site-kit"),description:r.createElement(b.a,{message:n.message,componentStack:a.componentStack}),isDismissible:!1,format:"small",type:"win-error"},r.createElement("pre",{className:"googlesitekit-overflow-auto"},n.message,a.componentStack)):e}}]),ErrorHandler}(h.Component);k.contextType=E.b,k.propTypes={children:p.a.node.isRequired},t.a=k}).call(this,n(28),n(4))},218:function(e,t,n){"use strict";var r=n(119),a=(r.a.Consumer,r.a.Provider);t.a=a},219:function(e,t,n){"use strict";(function(e){var r=n(3),a=n(220),i=n(6);t.a=function PermissionsModal(){return Object(r.useSelect)((function(e){return e(i.a).isAuthenticated()}))?e.createElement(a.a,null):null}}).call(this,n(4))},22:function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return a})),n.d(t,"o",(function(){return i})),n.d(t,"m",(function(){return o})),n.d(t,"t",(function(){return c})),n.d(t,"h",(function(){return l})),n.d(t,"s",(function(){return s})),n.d(t,"i",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return f})),n.d(t,"k",(function(){return g})),n.d(t,"u",(function(){return m})),n.d(t,"v",(function(){return p})),n.d(t,"q",(function(){return h})),n.d(t,"p",(function(){return v})),n.d(t,"b",(function(){return b})),n.d(t,"e",(function(){return E})),n.d(t,"a",(function(){return _})),n.d(t,"d",(function(){return O})),n.d(t,"c",(function(){return y})),n.d(t,"f",(function(){return k})),n.d(t,"g",(function(){return j}));var r="mainDashboard",a="entityDashboard",i="mainDashboardViewOnly",o="entityDashboardViewOnly",c="userInput",l="activation",s="splash",u="adminBar",d="adminBarViewOnly",f="settings",g="adBlockingRecovery",m="wpDashboard",p="wpDashboardViewOnly",h="moduleSetup",v="metricSelection",b="key-metrics",E="traffic",_="content",O="speed",y="monetization",k=[r,a,i,o,c,s,f,h,v],j=[i,o,d,p]},220:function(e,t,n){"use strict";(function(e,r){var a=n(5),i=n.n(a),o=n(15),c=n.n(o),l=n(2),s=n(0),u=n(3),d=n(112),f=n(29),g=n(32),m=n(6),p=n(130),h=n(73);t.a=function AuthenticatedPermissionsModal(){var t,n,a,o,v=Object(u.useRegistry)(),b=Object(u.useSelect)((function(e){return e(m.a).getPermissionScopeError()})),E=Object(u.useSelect)((function(e){return e(m.a).getUnsatisfiedScopes()})),_=Object(u.useSelect)((function(t){var n,r,a;return t(m.a).getConnectURL({additionalScopes:null==b||null===(n=b.data)||void 0===n?void 0:n.scopes,redirectURL:(null==b||null===(r=b.data)||void 0===r?void 0:r.redirectURL)||e.location.href,errorRedirectURL:null==b||null===(a=b.data)||void 0===a?void 0:a.errorRedirectURL})})),O=Object(u.useDispatch)(m.a).clearPermissionScopeError,y=Object(u.useDispatch)(g.a).navigateTo,k=Object(u.useDispatch)(f.a).setValues,j=Object(s.useCallback)((function(){O()}),[O]),S=Object(s.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(m.d,{permissionsError:b}),e.next=3,Object(p.c)(v);case 3:y(_);case 4:case"end":return e.stop()}}),e)}))),[v,_,y,b,k]);return Object(s.useEffect)((function(){(function(){var e=c()(i.a.mark((function e(){var t,n,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(null==b||null===(t=b.data)||void 0===t?void 0:t.skipModal)||!(null==b||null===(n=b.data)||void 0===n||null===(r=n.scopes)||void 0===r?void 0:r.length)){e.next=3;break}return e.next=3,S();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}),[S,b]),b?(null==b||null===(t=b.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.length)?(null==b||null===(a=b.data)||void 0===a?void 0:a.skipModal)||E&&(null==b||null===(o=b.data)||void 0===o?void 0:o.scopes.every((function(e){return E.includes(e)})))?null:r.createElement(h.a,null,r.createElement(d.a,{title:Object(l.__)("Additional Permissions Required","google-site-kit"),subtitle:b.message,confirmButton:Object(l.__)("Proceed","google-site-kit"),dialogActive:!0,handleConfirm:S,handleDialog:j,medium:!0})):(e.console.warn("permissionsError lacks scopes array to use for redirect, so not showing the PermissionsModal. permissionsError was:",b),null):null}}).call(this,n(28),n(4))},221:function(e,t,n){"use strict";var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(16),l=n.n(c),s=n(0),u=n(3),d=n(130);t.a=function RestoreSnapshots(e){var t=e.children,n=Object(u.useRegistry)(),r=Object(s.useState)(!1),i=l()(r,2),c=i[0],f=i[1];return Object(s.useEffect)((function(){c||o()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(n);case 2:f(!0);case 3:case"end":return e.stop()}}),e)})))()}),[n,c]),c?t:null}},222:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return FeatureTours}));var a=n(84),i=n(0),o=n(3),c=n(6),l=n(18),s=n(94);function FeatureTours(){var t=Object(l.a)(),n=Object(o.useDispatch)(c.a).triggerTourForView;Object(a.a)((function(){n(t)}));var u=Object(o.useSelect)((function(e){return e(c.a).getCurrentTour()}));return Object(i.useEffect)((function(){if(u){var t=document.getElementById("js-googlesitekit-main-dashboard");if(t){var n=new ResizeObserver((function(){e.dispatchEvent(new Event("resize"))}));return n.observe(t),function(){n.disconnect()}}}}),[u]),u?r.createElement(s.a,{tourID:u.slug,steps:u.steps,gaEventCategory:u.gaEventCategory,callback:u.callback}):null}}).call(this,n(28),n(4))},223:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WarningNotice}));var r=n(11),a=n.n(r),i=n(1),o=n.n(i);function WarningNotice(t){var n=t.children,r=t.className;return e.createElement("div",{className:a()("googlesitekit-warning-notice",r)},n)}WarningNotice.propTypes={children:o.a.node.isRequired,className:o.a.string}}).call(this,n(4))},224:function(e,t,n){"use strict";(function(e){var r=n(16),a=n.n(r),i=n(1),o=n.n(i),c=n(11),l=n.n(c),s=n(581),u=n(2),d=n(0),f=n(3),g=n(244),m=n(265),p=n(269),h=n(6),v=n(17),b=n(274),E=n(281),_=n(283),O=n(35),y=n(54),k=n(20),j=n(289),S=n(14),w=n(290);function Header(t){var n,r=t.children,i=t.subHeader,o=t.showNavigation,c=!!Object(y.c)(),x=Object(O.a)();Object(w.a)();var C=Object(f.useSelect)((function(e){return e(S.c).getAdminURL("googlesitekit-dashboard")})),N=Object(f.useSelect)((function(e){return e(h.a).isAuthenticated()})),A=Object(s.a)({childList:!0}),T=a()(A,2),D=T[0],R=!!(null===(n=T[1].target)||void 0===n?void 0:n.childElementCount);return e.createElement(d.Fragment,null,e.createElement("header",{className:l()("googlesitekit-header",{"googlesitekit-header--has-subheader":R,"googlesitekit-header--has-navigation":o})},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{smSize:1,mdSize:2,lgSize:4,className:"googlesitekit-header__logo",alignMiddle:!0},e.createElement(k.a,{"aria-label":Object(u.__)("Go to dashboard","google-site-kit"),className:"googlesitekit-header__logo-link",href:C},e.createElement(g.a,null))),e.createElement(v.a,{smSize:3,mdSize:6,lgSize:8,className:"googlesitekit-header__children",alignMiddle:!0},r,!N&&c&&x&&e.createElement(_.a,null),N&&!x&&e.createElement(m.a,null))))),e.createElement("div",{className:"googlesitekit-subheader",ref:D},e.createElement(p.a,null),i),o&&e.createElement(b.a,null),c&&e.createElement(j.a,null),e.createElement(E.a,null))}Header.displayName="Header",Header.propTypes={children:o.a.node,subHeader:o.a.element,showNavigation:o.a.bool},Header.defaultProps={children:null,subHeader:null},t.a=Header}).call(this,n(4))},225:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return HelpMenu}));var r=n(16),a=n.n(r),i=n(1),o=n.n(i),c=n(207),l=n(0),s=n(56),u=n(2),d=n(3),f=n(10),g=n(291),m=n(115),p=n(9),h=n(162),v=n(19),b=n(18),E=n(14);function HelpMenu(t){var n=t.children,r=Object(l.useState)(!1),i=a()(r,2),o=i[0],_=i[1],O=Object(l.useRef)(),y=Object(b.a)();Object(c.a)(O,(function(){return _(!1)})),Object(m.a)([s.c,s.f],O,(function(){return _(!1)}));var k=Object(d.useSelect)((function(e){return e(v.a).isModuleActive("adsense")})),j=Object(l.useCallback)((function(){o||Object(p.J)("".concat(y,"_headerbar"),"open_helpmenu"),_(!o)}),[o,y]),S=Object(l.useCallback)((function(){_(!1)}),[]),w=Object(d.useSelect)((function(e){return e(E.c).getDocumentationLinkURL("fix-common-issues")}));return e.createElement("div",{ref:O,className:"googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},e.createElement(f.Button,{"aria-controls":"googlesitekit-help-menu","aria-expanded":o,"aria-label":Object(u.__)("Help","google-site-kit"),"aria-haspopup":"menu",className:"googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon googlesitekit-help-menu__button mdc-button--dropdown",icon:e.createElement(g.a,{width:"20",height:"20"}),onClick:j,text:!0,tooltipEnterDelayInMS:500}),e.createElement(f.Menu,{className:"googlesitekit-width-auto",menuOpen:o,id:"googlesitekit-help-menu",onSelected:S},n,e.createElement(h.a,{gaEventLabel:"fix_common_issues",href:w},Object(u.__)("Fix common issues","google-site-kit")),e.createElement(h.a,{gaEventLabel:"documentation",href:"https://sitekit.withgoogle.com/documentation/"},Object(u.__)("Read help docs","google-site-kit")),e.createElement(h.a,{gaEventLabel:"support_forum",href:"https://wordpress.org/support/plugin/google-site-kit/"},Object(u.__)("Get support","google-site-kit")),k&&e.createElement(h.a,{gaEventLabel:"adsense_help",href:"https://support.google.com/adsense/"},Object(u.__)("Get help with AdSense","google-site-kit"))))}HelpMenu.propTypes={children:o.a.node}}).call(this,n(4))},227:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return OverlayNotification}));var r=n(582),a=n(11),i=n.n(a),o=n(1),c=n.n(o),l=n(0),s=n(3),u=n(23),d=n(26);function OverlayNotification(t){var n=t.className,a=t.children,o=t.GraphicDesktop,c=t.GraphicMobile,f=t.notificationID,g=t.onShow,m=t.shouldShowNotification,p=Object(d.e)(),h=Object(s.useSelect)((function(e){return e(u.b).isShowingOverlayNotification(f)})),v=Object(s.useDispatch)(u.b).setOverlayNotificationToShow;if(Object(l.useEffect)((function(){m&&!h&&(v(f),null==g||g())}),[h,f,g,v,m]),!m||!h)return null;var b=i()("googlesitekit-overlay-notification",n);return p===d.b?e.createElement("div",{className:b},a,c&&e.createElement(c,null)):e.createElement(r.a,{direction:"up",in:h},e.createElement("div",{className:b},o&&e.createElement(o,null),a))}OverlayNotification.propTypes={className:c.a.string,children:c.a.node,GraphicDesktop:c.a.elementType,GraphicMobile:c.a.elementType,onShow:c.a.func,notificationID:c.a.string.isRequired,shouldShowNotification:c.a.bool}}).call(this,n(4))},23:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}));var r="core/ui",a="activeContextID"},233:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return m})),n.d(t,"c",(function(){return h})),n.d(t,"b",(function(){return v}));var r=n(21),a=n.n(r),i=n(60),o=n.n(i),c=n(256),l=n(315),s=n(316),u=n(234),d=n(257),f=n(317),g=n(0),m=o()((function(e){return{widgetSlug:e,Widget:p(e)(c.a),WidgetRecoverableModules:p(e)(d.a),WidgetReportZero:p(e)(l.a),WidgetReportError:p(e)(s.a),WidgetNull:p(e)(u.a)}}));function p(t){return function(n){var r=Object(g.forwardRef)((function(r,i){return e.createElement(n,a()({},r,{ref:i,widgetSlug:t}))}));return r.displayName="WithWidgetSlug",(n.displayName||n.name)&&(r.displayName+="(".concat(n.displayName||n.name,")")),r}}var h=function(t){var n=m(t);return function(t){function DecoratedComponent(r){return e.createElement(t,a()({},r,n))}return DecoratedComponent.displayName="WithWidgetComponentProps",(t.displayName||t.name)&&(DecoratedComponent.displayName+="(".concat(t.displayName||t.name,")")),DecoratedComponent}},v=function(t){return function(n){function DecoratedComponent(r){return e.createElement(n,a()({},r,{WPDashboardReportError:p(t)(f.a)}))}return DecoratedComponent.displayName="WithWPDashboardWidgetComponentProps",(n.displayName||n.name)&&(DecoratedComponent.displayName+="(".concat(n.displayName||n.name,")")),DecoratedComponent}}}).call(this,n(4))},234:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetNull}));var r=n(7),a=n.n(r),i=n(1),o=n.n(i),c=n(138),l=n(74);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var u={};function WidgetNull(t){var n=t.widgetSlug;return Object(c.a)(n,l.a,u),e.createElement(l.a,null)}WidgetNull.propTypes=function(e){for(var t=1;t1280?a:e>960?i:e>600?o:c}},263:function(e,t,n){"use strict";(function(e){var r=n(55),a=n.n(r),i=n(264),o=e._googlesitekitAPIFetchData||{},c=o.nonce,l=o.nonceEndpoint,s=o.preloadedData,u=o.rootURL;a.a.nonceEndpoint=l,a.a.nonceMiddleware=a.a.createNonceMiddleware(c),a.a.rootURLMiddleware=a.a.createRootURLMiddleware(u),a.a.preloadingMiddleware=Object(i.a)(s),a.a.use(a.a.nonceMiddleware),a.a.use(a.a.mediaUploadMiddleware),a.a.use(a.a.rootURLMiddleware),a.a.use(a.a.preloadingMiddleware),t.default=a.a}).call(this,n(28))},264:function(e,t,n){"use strict";var r=n(250);t.a=function(e){var t=Object.keys(e).reduce((function(t,n){return t[Object(r.getStablePath)(n)]=e[n],t}),{}),n=!1;return function(e,a){if(n)return a(e);setTimeout((function(){n=!0}),3e3);var i=e.parse,o=void 0===i||i,c=e.path;if("string"==typeof e.path){var l,s=(null===(l=e.method)||void 0===l?void 0:l.toUpperCase())||"GET",u=Object(r.getStablePath)(c);if(o&&"GET"===s&&t[u]){var d=Promise.resolve(t[u].body);return delete t[u],d}if("OPTIONS"===s&&t[s]&&t[s][u]){var f=Promise.resolve(t[s][u]);return delete t[s][u],f}}return a(e)}}},265:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return UserMenu}));var a=n(5),i=n.n(a),o=n(15),c=n.n(o),l=n(16),s=n.n(l),u=n(207),d=n(0),f=n(2),g=n(56),m=n(3),p=n(10),h=n(112),v=n(9),b=n(34),E=n(73),_=n(266),O=n(213),y=n(267),k=n(268),j=n(29),S=n(14),w=n(6),x=n(32),C=n(8),N=n(115),A=n(18);function UserMenu(){var t=Object(m.useSelect)((function(e){return e(S.c).getProxyPermissionsURL()})),n=Object(m.useSelect)((function(e){return e(w.a).getEmail()})),a=Object(m.useSelect)((function(e){return e(w.a).getPicture()})),o=Object(m.useSelect)((function(e){return e(w.a).getFullName()})),l=Object(m.useSelect)((function(e){return e(S.c).getAdminURL("googlesitekit-splash",{googlesitekit_context:"revoked"})})),T=Object(m.useSelect)((function(e){return e(j.a).getValue(C.d,"isAutoCreatingCustomDimensionsForAudience")})),D=Object(d.useState)(!1),R=s()(D,2),M=R[0],B=R[1],L=Object(d.useState)(!1),F=s()(L,2),I=F[0],P=F[1],z=Object(d.useRef)(),H=Object(d.useRef)(),W=Object(A.a)(),G=Object(m.useDispatch)(x.a).navigateTo;Object(u.a)(z,(function(){return P(!1)})),Object(N.a)([g.c,g.f],z,(function(){var e;P(!1),null===(e=H.current)||void 0===e||e.focus()})),Object(d.useEffect)((function(){var t=function(e){g.c===e.keyCode&&(B(!1),P(!1))};return e.addEventListener("keyup",t),function(){e.removeEventListener("keyup",t)}}),[]);var V,U=Object(d.useCallback)((function(){I||Object(v.J)("".concat(W,"_headerbar"),"open_usermenu"),P(!I)}),[I,W]),q=Object(d.useCallback)((function(){B(!M),P(!1)}),[M]),K=Object(d.useCallback)(function(){var e=c()(i.a.mark((function e(n,r){var a;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=r.detail.item,e.t0=null==a?void 0:a.id,e.next="manage-sites"===e.t0?4:"disconnect"===e.t0?9:11;break;case 4:if(!t){e.next=8;break}return e.next=7,Object(v.J)("".concat(W,"_headerbar_usermenu"),"manage_sites");case 7:G(t);case 8:return e.abrupt("break",12);case 9:return q(),e.abrupt("break",12);case 11:U();case 12:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),[t,U,q,G,W]),J=Object(d.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return B(!1),e.next=3,Object(b.b)();case 3:return e.next=5,Object(v.J)("".concat(W,"_headerbar_usermenu"),"disconnect_user");case 5:G(l);case 6:case"end":return e.stop()}}),e)}))),[l,G,W]);return n?(o&&n&&(V=Object(f.sprintf)( -/* translators: Account info text. 1: User's (full) name 2: User's email address. */ -Object(f.__)("Google Account for %1$s (Email: %2$s)","google-site-kit"),o,n)),o&&!n&&(V=Object(f.sprintf)( -/* translators: Account info text. 1: User's (full) name. */ -Object(f.__)("Google Account for %1$s","google-site-kit"),o)),!o&&n&&(V=Object(f.sprintf)( -/* translators: Account info text. 1: User's email address. */ -Object(f.__)("Google Account (Email: %1$s)","google-site-kit"),n)),r.createElement(d.Fragment,null,r.createElement("div",{ref:z,className:"googlesitekit-user-selector googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},r.createElement(p.Button,{disabled:T,ref:H,className:"googlesitekit-header__dropdown mdc-button--dropdown googlesitekit-border-radius-round--tablet googlesitekit-border-radius-round--phone googlesitekit-border-radius-round googlesitekit-button-icon",text:!0,onClick:U,icon:!!a&&r.createElement("i",{className:"mdc-button__icon mdc-button__account","aria-hidden":"true"},r.createElement("img",{className:"mdc-button__icon--image",src:a,alt:Object(f.__)("User Avatar","google-site-kit")})),"aria-haspopup":"menu","aria-expanded":I,"aria-controls":"user-menu","aria-label":T?void 0:Object(f.__)("Account","google-site-kit"),tooltip:!0,tooltipEnterDelayInMS:500,customizedTooltip:T?null:r.createElement("span",{"aria-label":V},r.createElement("strong",null,Object(f.__)("Google Account","google-site-kit")),r.createElement("br",null),r.createElement("br",null),o,o&&r.createElement("br",null),n)}),r.createElement(p.Menu,{className:"googlesitekit-user-menu",menuOpen:I,onSelected:K,id:"user-menu"},r.createElement("li",null,r.createElement(_.a,null)),!!t&&r.createElement("li",{id:"manage-sites",className:"mdc-list-item",role:"menuitem"},r.createElement(O.a,{icon:r.createElement(k.a,{width:"22"}),label:Object(f.__)("Manage Sites","google-site-kit")})),r.createElement("li",{id:"disconnect",className:"mdc-list-item",role:"menuitem"},r.createElement(O.a,{icon:r.createElement(y.a,{width:"22"}),label:Object(f.__)("Disconnect","google-site-kit")})))),r.createElement(E.a,null,r.createElement(h.a,{dialogActive:M,handleConfirm:J,handleDialog:q,title:Object(f.__)("Disconnect","google-site-kit"),subtitle:Object(f.__)("Disconnecting Site Kit by Google will remove your access to all services. After disconnecting, you will need to re-authorize to restore service.","google-site-kit"),confirmButton:Object(f.__)("Disconnect","google-site-kit"),danger:!0,small:!0})))):null}}).call(this,n(28),n(4))},266:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Details}));var r=n(2),a=n(3),i=n(6);function Details(){var t=Object(a.useSelect)((function(e){return e(i.a).getPicture()})),n=Object(a.useSelect)((function(e){return e(i.a).getFullName()})),o=Object(a.useSelect)((function(e){return e(i.a).getEmail()}));return e.createElement("div",{className:"googlesitekit-user-menu__details","aria-label":Object(r.__)("Google account","google-site-kit")},!!t&&e.createElement("img",{className:"googlesitekit-user-menu__details-avatar",src:t,alt:""}),e.createElement("div",{className:"googlesitekit-user-menu__details-info"},e.createElement("p",{className:"googlesitekit-user-menu__details-info__name"},n),e.createElement("p",{className:"googlesitekit-user-menu__details-info__email","aria-label":Object(r.__)("Email","google-site-kit")},o)))}}).call(this,n(4))},267:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nSign in to connect more services and control sharing access.","google-site-kit"),{strong:e.createElement("strong",null)}):Object(l.a)(Object(s.__)("You can see stats from all shared Google services, but you can't make any changes. Learn more","google-site-kit"),{a:e.createElement(h.a,{href:i,external:!0,onClick:O,"aria-label":Object(s.__)("Learn more about dashboard sharing","google-site-kit")})});return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item googlesitekit-view-only-menu__description"},e.createElement("p",null,y),n&&e.createElement(d.Button,{onClick:_},Object(s._x)("Sign in with Google","Service name","google-site-kit")))}}).call(this,n(4))},286:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SharedServices}));var r=n(2),a=n(3),i=n(6),o=n(287);function SharedServices(){var t=Object(a.useSelect)((function(e){return e(i.a).getViewableModules()}));return void 0===t?null:e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("h4",null,Object(r.__)("Shared services","google-site-kit")),e.createElement("ul",null,t.map((function(t){return e.createElement(o.a,{key:t,module:t})}))))}}).call(this,n(4))},287:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Service}));var r=n(1),a=n.n(r),i=n(38),o=n(2),c=n(3),l=n(19),s=n(6);function Service(t){var n=t.module,r=Object(c.useSelect)((function(e){return e(s.a).hasCapability(s.H)})),a=Object(c.useSelect)((function(e){return e(l.a).getModule(n)||{}})),u=a.name,d=a.owner,f=Object(c.useSelect)((function(e){return e(l.a).getModuleIcon(n)}));return e.createElement("li",{className:"googlesitekit-view-only-menu__service"},e.createElement("span",{className:"googlesitekit-view-only-menu__service--icon"},e.createElement(f,{height:26})),e.createElement("span",{className:"googlesitekit-view-only-menu__service--name"},u),r&&(null==d?void 0:d.login)&&e.createElement("span",{className:"googlesitekit-view-only-menu__service--owner"},Object(i.a)(Object(o.sprintf)( -/* translators: %s: module owner Google Account email address */ -Object(o.__)("Shared by %s","google-site-kit"),d.login),{strong:e.createElement("strong",{title:d.login})})))}Service.propTypes={module:a.a.string.isRequired}}).call(this,n(4))},288:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Tracking}));var r=n(38),a=n(2),i=n(212),o=n(18);function Tracking(){var t=Object(o.a)();return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("p",null,Object(r.a)(Object(a.__)("Thanks for using Site Kit!
Help us make it even better","google-site-kit"),{br:e.createElement("br",null)})),e.createElement(i.a,{trackEventCategory:"".concat(t,"_headerbar_viewonly"),alignCheckboxLeft:!0}))}}).call(this,n(4))},289:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SubtleNotifications}));var r=n(166),a=n(47);function SubtleNotifications(){return e.createElement(r.a,{areaSlug:a.b.BANNERS_BELOW_NAV})}}).call(this,n(4))},29:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/forms"},290:function(e,t,n){"use strict";n.d(t,"a",(function(){return g}));var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(0),l=n(3),s=n(14),u=n(18),d=n(34),f=n(9),g=function(){var e=Object(u.a)(),t=Object(l.useSelect)((function(e){return e(s.c).isUsingProxy()})),n=Object(l.useSelect)((function(e){return e(s.c).getSetupErrorMessage()}));Object(c.useEffect)((function(){n||void 0===t||function(){var n=o()(a.a.mark((function n(){var r,i;return a.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Object(d.d)("start_user_setup");case 2:return r=n.sent,n.next=5,Object(d.d)("start_site_setup");case 5:if(i=n.sent,!r.cacheHit){n.next=10;break}return n.next=9,Object(d.c)("start_user_setup");case 9:Object(f.J)("".concat(e,"_setup"),"complete_user_setup",t?"proxy":"custom-oauth");case 10:if(!i.cacheHit){n.next=14;break}return n.next=13,Object(d.c)("start_site_setup");case 13:Object(f.J)("".concat(e,"_setup"),"complete_site_setup",t?"proxy":"custom-oauth");case 14:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()}),[e,t,n])}},291:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},o=i.ttl,l=void 0===o?c.b:o,s=i.timestamp,u=void 0===s?Math.round(Date.now()/1e3):s,d=i.isError,g=void 0!==d&&d,t.next=3,h();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(f).concat(n),JSON.stringify({timestamp:u,ttl:l,value:r,isError:g})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),_=function(){var t=o()(a.a.mark((function t(n){var r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,i=n.startsWith(d)?n:"".concat(f).concat(n),r.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),O=function(){var t=o()(a.a.mark((function t(){var n,r,i,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:0;Object(r.useEffect)((function(){var r,a=!1,i=function(){r=e.setTimeout((function(){a=!0}),n)},o=function(){e.clearTimeout(r),a&&(a=!1,t())};return e.addEventListener("focus",o),e.addEventListener("blur",i),function(){e.removeEventListener("focus",o),e.removeEventListener("blur",i),e.clearTimeout(r)}}),[n,t])}}).call(this,n(28))},35:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(22),a=n(18);function i(){var e=Object(a.a)();return r.g.includes(e)}},356:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PageHeader}));var r=n(11),a=n.n(r),i=n(1),o=n.n(i),c=n(17),l=n(304),s=n(305),u=n(76);function PageHeader(t){var n=t.title,r=t.icon,i=t.className,o=t.status,d=t.statusText,f=t.fullWidth,g=t.children,m=f?{size:12}:{smSize:4,mdSize:4,lgSize:6},p=""!==o||Boolean(g);return e.createElement("header",{className:"googlesitekit-page-header"},e.createElement(c.k,null,n&&e.createElement(c.a,m,r,e.createElement("h1",{className:a()("googlesitekit-page-header__title",i)},n)),p&&e.createElement(c.a,{alignBottom:!0,mdAlignRight:!0,smSize:4,mdSize:4,lgSize:6},e.createElement("div",{className:"googlesitekit-page-header__details"},o&&e.createElement("span",{className:a()("googlesitekit-page-header__status","googlesitekit-page-header__status--".concat(o))},d,e.createElement(u.a,null,"connected"===o?e.createElement(l.a,{width:10,height:8}):e.createElement(s.a,{width:2,height:12}))),g))))}PageHeader.propTypes={title:o.a.string,icon:o.a.node,className:o.a.string,status:o.a.string,statusText:o.a.string,fullWidth:o.a.bool},PageHeader.defaultProps={title:"",icon:null,className:"googlesitekit-heading-3",status:"",statusText:"",fullWidth:!1}}).call(this,n(4))},36:function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"f",(function(){return c})),n.d(t,"e",(function(){return l})),n.d(t,"c",(function(){return s})),n.d(t,"d",(function(){return u})),n.d(t,"b",(function(){return d}));n(13);var r=n(2),a="missing_required_scopes",i="insufficientPermissions",o="forbidden";function c(e){return(null==e?void 0:e.code)===a}function l(e){var t;return[i,o].includes(null==e||null===(t=e.data)||void 0===t?void 0:t.reason)}function s(e){var t;return!!(null==e||null===(t=e.data)||void 0===t?void 0:t.reconnectURL)}function u(e,t){return!(!(null==t?void 0:t.storeName)||l(e)||c(e)||s(e))}function d(e){return"internal_server_error"===(null==e?void 0:e.code)?Object(r.__)("There was a critical error on this website while fetching data","google-site-kit"):"invalid_json"===(null==e?void 0:e.code)?Object(r.__)("The server provided an invalid response","google-site-kit"):null==e?void 0:e.message}},361:function(e,t,n){"use strict";(function(e,r){var a=n(2),i=n(10),o=n(3),c=n(390),l=n(391),s=n(227),u=n(86),d=n(26),f=n(23),g=n(6),m=n(19),p=n(18),h=n(35),v=n(9),b=n(8),E=n(54),_=n(50);t.a=Object(_.a)({moduleName:"analytics-4"})((function AudienceSegmentationIntroductoryOverlayNotification(){var t=Object(p.a)(),n=Object(h.a)(),_=Object(d.e)(),O=Object(E.c)(),y=Object(o.useSelect)((function(e){return e(g.a).isDismissingItem("audienceSegmentationIntroductoryOverlayNotification")})),k=Object(o.useSelect)((function(e){var t=e(g.a).isItemDismissed("audienceSegmentationIntroductoryOverlayNotification"),r=e(g.a).isAudienceSegmentationWidgetHidden(),a=e(m.a).isModuleActive("analytics-4"),i=!n||e(g.a).canViewSharedModule("analytics-4"),o=e(b.r).getAudienceSegmentationSetupCompletedBy(),c=e(g.a).getID();return E.b===O&&!1===t&&!1===r&&a&&i&&Number.isInteger(o)&&o!==c})),j=Object(o.useDispatch)(f.b).dismissOverlayNotification,S=function(){j("audienceSegmentationIntroductoryOverlayNotification")};return r.createElement(s.a,{shouldShowNotification:k,GraphicDesktop:c.a,GraphicMobile:l.a,notificationID:"audienceSegmentationIntroductoryOverlayNotification",onShow:function(){Object(v.J)("".concat(t,"_audiences-secondary-user-intro"),"view_notification")}},r.createElement("div",{className:"googlesitekit-overlay-notification__body"},r.createElement("h3",null,Object(a.__)("New! Visitor groups","google-site-kit")),r.createElement("p",null,Object(a.__)("You can now learn more about your site visitor groups by comparing different metrics","google-site-kit"))),r.createElement("div",{className:"googlesitekit-overlay-notification__actions"},r.createElement(i.Button,{tertiary:!0,disabled:y,onClick:function(){Object(v.J)("".concat(t,"_audiences-secondary-user-intro"),"dismiss_notification").finally((function(){S()}))}},Object(a.__)("Got it","google-site-kit")),r.createElement(i.Button,{disabled:y,onClick:function(n){n.preventDefault();setTimeout((function(){e.scrollTo({top:Object(u.a)(".googlesitekit-widget-area--mainDashboardTrafficAudienceSegmentation",_),behavior:"smooth"})}),0),Object(v.J)("".concat(t,"_audiences-secondary-user-intro"),"confirm_notification").finally((function(){S()}))}},Object(a.__)("Show me","google-site-kit"))))}))}).call(this,n(28),n(4))},362:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ActionsCTALinkDismiss}));var r=n(1),a=n.n(r),i=n(2),o=n(0),c=n(3),l=n(32),s=n(158),u=n(258);function ActionsCTALinkDismiss(t){var n=t.id,r=t.className,a=void 0===r?"googlesitekit-publisher-win__actions":r,d=t.ctaLink,f=t.ctaLabel,g=t.onCTAClick,m=t.ctaDismissOptions,p=t.onDismiss,h=void 0===p?function(){}:p,v=t.dismissLabel,b=void 0===v?Object(i.__)("OK, Got it!","google-site-kit"):v,E=t.dismissOnCTAClick,_=void 0===E||E,O=t.dismissExpires,y=void 0===O?0:O,k=t.dismissOptions,j=void 0===k?{}:k,S=Object(c.useSelect)((function(e){return!!d&&e(l.a).isNavigatingTo(d)}));return e.createElement(o.Fragment,null,e.createElement("div",{className:a},e.createElement(u.a,{id:n,ctaLink:d,ctaLabel:f,onCTAClick:g,dismissOnCTAClick:_,dismissExpires:y,dismissOptions:m}),e.createElement(s.a,{id:n,primary:!1,dismissLabel:b,dismissExpires:y,disabled:S,onDismiss:h,dismissOptions:j})))}ActionsCTALinkDismiss.propTypes={id:a.a.string,className:a.a.string,ctaLink:a.a.string,ctaLabel:a.a.string,onCTAClick:a.a.func,onDismiss:a.a.func,ctaDismissOptions:a.a.object,dismissLabel:a.a.string,dismissOnCTAClick:a.a.bool,dismissExpires:a.a.number,dismissOptions:a.a.object}}).call(this,n(4))},37:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return _})),n.d(t,"b",(function(){return b})),n.d(t,"c",(function(){return E}));var r=n(98),a=e._googlesitekitTrackingData||{},i=a.activeModules,o=void 0===i?[]:i,c=a.isSiteKitScreen,l=a.trackingEnabled,s=a.trackingID,u=a.referenceSiteURL,d=a.userIDHash,f=a.isAuthenticated,g={activeModules:o,trackingEnabled:l,trackingID:s,referenceSiteURL:u,userIDHash:d,isSiteKitScreen:c,userRoles:a.userRoles,isAuthenticated:f,pluginVersion:"1.145.0"},m=Object(r.a)(g),p=m.enableTracking,h=m.disableTracking,v=(m.isTrackingEnabled,m.initializeSnippet),b=m.trackEvent,E=m.trackEventOnce;function _(e){e?p():h()}c&&l&&v()}).call(this,n(28))},381:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(13);function a(e){var t;if(void 0!==e)return!((null==e?void 0:e.rows)&&(null==e?void 0:e.totals)&&!(null==e||null===(t=e.totals)||void 0===t?void 0:t.every(r.isEmpty)))||!e.totals.some((function(e){return!!e.metricValues&&e.metricValues.some((function(e){return e.value>0}))}))}},385:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return NotificationWithSVG}));var r=n(21),a=n.n(r),i=n(11),o=n.n(i),c=n(26),l=n(17),s=n(386);function NotificationWithSVG(t){var n=t.id,r=t.title,i=t.description,u=t.actions,d=t.SVG,f=Object(c.e)(),g={mdSize:8,lgSize:6};return f===c.c&&(g={mdSize:8}),f===c.b&&(g={smSize:12}),e.createElement("div",{className:"googlesitekit-widget-context"},e.createElement(l.e,{className:"googlesitekit-widget-area"},e.createElement(l.k,null,e.createElement(l.a,{size:12},e.createElement("div",{className:o()("googlesitekit-widget","googlesitekit-widget--no-padding","googlesitekit-setup-cta-banner","googlesitekit-setup-cta-banner--".concat(n))},e.createElement("div",{className:"googlesitekit-widget__body"},e.createElement(l.e,{collapsed:!0},e.createElement(l.k,null,e.createElement(l.a,{smSize:12,mdSize:8,lgSize:6,className:"googlesitekit-setup-cta-banner__primary-cell"},e.createElement("h3",{className:"googlesitekit-setup-cta-banner__title"},r),i,e.createElement(s.a,{id:n}),u),e.createElement(l.a,a()({alignBottom:!0,className:"googlesitekit-setup-cta-banner__svg-wrapper--".concat(n)},g),e.createElement(d,null))))))))))}}).call(this,n(4))},386:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Error}));var r=n(1),a=n.n(r),i=n(0),o=n(3),c=n(14),l=n(59);function Error(t){var n=t.id,r=Object(o.useSelect)((function(e){return e(c.c).getError("notificationAction",[n])})),a=Object(o.useDispatch)(c.c).clearError;return Object(i.useEffect)((function(){return function(){a("notificationAction",[n])}}),[a,n]),r?e.createElement(l.a,{message:r.message}):null}Error.propTypes={id:a.a.string}}).call(this,n(4))},39:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a}));var r="_googlesitekitDataLayer",a="data-googlesitekit-gtag"},390:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,n(28))},405:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"),{a:e.createElement(O.a,{id:r,label:Object(s.__)("Learn more","google-site-kit"),url:"https://readerrevenue.withgoogle.com"})}),e.createElement("br",null),e.createElement("br",null),Object(s.__)("* Support for subscriptions coming soon","google-site-kit"))),actions:e.createElement(y.a,{id:r,className:"googlesitekit-setup-cta-banner__actions-wrapper",ctaLabel:Object(s.__)("Set up Reader Revenue Manager","google-site-kit"),onCTAClick:j,dismissLabel:C?Object(s.__)("Don’t show again","google-site-kit"):Object(s.__)("Maybe later","google-site-kit"),onDismiss:S,dismissOptions:{skipHidingFromQueue:!0},dismissExpires:2*k.g}),SVG:D[o]||p.a}))}ReaderRevenueManagerSetupCTABanner.propTypes={id:o.a.string,Notification:o.a.elementType}}).call(this,n(4))},554:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return RRMSetupSuccessSubtleNotification}));var a=n(21),i=n.n(a),o=n(5),c=n.n(o),l=n(15),s=n.n(l),u=n(7),d=n.n(u),f=n(16),g=n.n(f),m=n(0),p=n(2),h=n(3),v=n(186),b=n(348),E=n(29),_=n(52),O=n(172),y=n(246),k=n(158),j=n(23),S=_.d.ONBOARDING_COMPLETE,w=_.d.PENDING_VERIFICATION,x=_.d.ONBOARDING_ACTION_REQUIRED;function RRMSetupSuccessSubtleNotification(t){var n=t.id,a=t.Notification,o=Object(v.a)("notification"),l=g()(o,2)[1],u=Object(v.a)("slug"),f=g()(u,2)[1],C=[w,x],N=Object(h.useSelect)((function(e){return e(_.c).getPublicationOnboardingState()})),A=Object(h.useSelect)((function(e){return e(_.c).getPublicationID()})),T=Object(h.useSelect)((function(e){return e(_.c).getServiceURL({path:"reader-revenue-manager",query:{publication:A}})})),D=Object(h.useSelect)((function(e){return e(E.a).getValue(_.f,_.j)&&C.includes(N)})),R=Object(h.useDispatch)(E.a).setValues,M=Object(h.useDispatch)(j.b).setValue,B=Object(h.useDispatch)(_.c).syncPublicationOnboardingState,L=function(){l(void 0),f(void 0)},F=function(t){t.preventDefault(),C.includes(N)&&R(_.f,d()({},_.j,!0)),e.open(T,"_blank")},I=Object(h.useSelect)((function(e){return e(_.c).getPublicationOnboardingState()})),P=Object(m.useCallback)(s()(c.a.mark((function e(){var t,n,r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(D){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,B();case 4:t=e.sent,n=t.response,r=null==n?void 0:n.publicationOnboardingState,I&&r!==I&&r===_.d.ONBOARDING_COMPLETE&&M(_.k,!0);case 8:case"end":return e.stop()}}),e)}))),[I,M,D,B]);Object(b.a)(P,15e3);var z={gaTrackingEventArgs:{label:N}};return N===S?r.createElement(a,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up!","google-site-kit"),description:Object(p.__)("Unlock your full reader opportunity by enabling features like subscriptions, contributions and newsletter sign ups in the Reader Revenue Manager settings.","google-site-kit"),dismissCTA:r.createElement(k.a,i()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:L},z)),additionalCTA:r.createElement(y.a,i()({id:n,ctaLabel:Object(p.__)("Customize settings","google-site-kit"),ctaLink:T,onCTAClick:F,isCTALinkExternal:!0},z))})):N===w?r.createElement(a,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up!","google-site-kit"),description:Object(p.__)("Your publication is still awaiting review, you can check its status in Reader Revenue Manager.","google-site-kit"),dismissCTA:r.createElement(k.a,i()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:L},z)),additionalCTA:r.createElement(y.a,i()({id:n,ctaLabel:Object(p.__)("Check publication status","google-site-kit"),ctaLink:T,onCTAClick:F,isCTALinkExternal:!0},z))})):N===x?r.createElement(a,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up, but your publication still requires further setup in Reader Revenue Manager.","google-site-kit"),dismissCTA:r.createElement(k.a,i()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:L},z)),additionalCTA:r.createElement(y.a,i()({id:n,ctaLabel:Object(p.__)("Complete publication setup","google-site-kit"),ctaLink:T,onCTAClick:F,isCTALinkExternal:!0},z)),type:"warning"})):null}}).call(this,n(28),n(4))},563:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;tredo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(l,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:a.a.string.isRequired,reconnectURL:a.a.string,noPrefix:a.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},596:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetNewBadge}));var r=n(1),a=n.n(r),i=n(0),o=n(3),c=n(6),l=n(292),s=n(9),u=n(46);function WidgetNewBadge(t){var n=t.slug,r=Object(o.useSelect)((function(e){return e(u.a).getWidgetArea(n)})).hasNewBadge,a="widget-area-expirable-new-badge-".concat(n),d=Object(o.useSelect)((function(e){return e(c.a).hasExpirableItem(a)})),f=Object(o.useSelect)((function(e){return e(c.a).isExpirableItemActive(a)})),g=r&&(!1===d||f),m=Object(o.useDispatch)(c.a).setExpirableItemTimers;return Object(i.useEffect)((function(){void 0!==d&&void 0!==f&&r&&!d&&m([{slug:a,expiresInSeconds:4*s.g}])}),[r,a,d,f,m]),!!g&&e.createElement(l.a,null)}WidgetNewBadge.propTypes={slug:a.a.string.isRequired}}).call(this,n(4))},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"e",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return l})),n.d(t,"M",(function(){return s})),n.d(t,"O",(function(){return u})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return f})),n.d(t,"J",(function(){return g})),n.d(t,"I",(function(){return m})),n.d(t,"N",(function(){return p})),n.d(t,"f",(function(){return h})),n.d(t,"g",(function(){return v})),n.d(t,"h",(function(){return b})),n.d(t,"j",(function(){return E})),n.d(t,"l",(function(){return _})),n.d(t,"m",(function(){return O})),n.d(t,"n",(function(){return y})),n.d(t,"o",(function(){return k})),n.d(t,"q",(function(){return j})),n.d(t,"s",(function(){return S})),n.d(t,"r",(function(){return w})),n.d(t,"t",(function(){return x})),n.d(t,"w",(function(){return C})),n.d(t,"u",(function(){return N})),n.d(t,"v",(function(){return A})),n.d(t,"x",(function(){return T})),n.d(t,"y",(function(){return D})),n.d(t,"A",(function(){return R})),n.d(t,"B",(function(){return M})),n.d(t,"C",(function(){return B})),n.d(t,"D",(function(){return L})),n.d(t,"k",(function(){return F})),n.d(t,"F",(function(){return I})),n.d(t,"z",(function(){return P})),n.d(t,"G",(function(){return z})),n.d(t,"E",(function(){return H})),n.d(t,"i",(function(){return W})),n.d(t,"p",(function(){return G})),n.d(t,"Q",(function(){return V})),n.d(t,"P",(function(){return U}));var r="core/user",a="connected_url_mismatch",i="__global",o="temporary_persist_permission_error",c="adblocker_active",l="googlesitekit_authenticate",s="googlesitekit_setup",u="googlesitekit_view_dashboard",d="googlesitekit_manage_options",f="googlesitekit_read_shared_module_data",g="googlesitekit_manage_module_sharing_options",m="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",h="kmAnalyticsAdSenseTopEarningContent",v="kmAnalyticsEngagedTrafficSource",b="kmAnalyticsLeastEngagingPages",E="kmAnalyticsNewVisitors",_="kmAnalyticsPopularAuthors",O="kmAnalyticsPopularContent",y="kmAnalyticsPopularProducts",k="kmAnalyticsReturningVisitors",j="kmAnalyticsTopCities",S="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",x="kmAnalyticsTopCitiesDrivingPurchases",C="kmAnalyticsTopDeviceDrivingPurchases",N="kmAnalyticsTopConvertingTrafficSource",A="kmAnalyticsTopCountries",T="kmAnalyticsTopPagesDrivingLeads",D="kmAnalyticsTopRecentTrendingPages",R="kmAnalyticsTopTrafficSource",M="kmAnalyticsTopTrafficSourceDrivingAddToCart",B="kmAnalyticsTopTrafficSourceDrivingLeads",L="kmAnalyticsTopTrafficSourceDrivingPurchases",F="kmAnalyticsPagesPerVisit",I="kmAnalyticsVisitLength",P="kmAnalyticsTopReturningVisitorPages",z="kmSearchConsolePopularKeywords",H="kmAnalyticsVisitsPerVisitor",W="kmAnalyticsMostEngagingPages",G="kmAnalyticsTopCategories",V=[h,v,b,E,_,O,y,k,G,j,S,w,x,C,N,A,D,R,M,F,I,P,H,W,G],U=[].concat(V,[z])},616:function(e,t,n){"use strict";n.d(t,"a",(function(){return ScrollEffect}));var r=n(712);function ScrollEffect(){return Object(r.a)(),null}},617:function(e,t,n){"use strict";(function(e){var r=n(16),a=n.n(r),i=n(11),o=n.n(i),c=n(0),l=n(2),s=n(3),u=n(143),d=n(23),f=n(196),g=n(10);t.a=function OfflineNotification(){var t=Object(c.useState)(!1),n=a()(t,2),r=n[0],i=n[1],m=Object(s.useSelect)((function(e){return e(d.b).getIsOnline()}));return Object(c.useEffect)((function(){m&&r&&i(!1)}),[m,r]),e.createElement("div",{"aria-live":"polite"},!m&&!r&&e.createElement("div",{className:o()("googlesitekit-margin-top-0","googlesitekit-margin-bottom-0","googlesitekit-settings-notice-offline-notice","googlesitekit-settings-notice","googlesitekit-settings-notice--single-row","googlesitekit-settings-notice--".concat(u.b))},e.createElement("div",{className:"googlesitekit-settings-notice__body"},e.createElement(f.a,{notice:Object(l.__)("You are currently offline. Some features may not be available.","google-site-kit")})),e.createElement("div",{className:"googlesitekit-settings-notice__button"},e.createElement(g.Button,{onClick:function(){i(!0)}},Object(l.__)("OK, Got it!","google-site-kit")))))}}).call(this,n(4))},618:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ModuleDashboardEffects}));var r,a=n(27),i=n.n(a),o=n(7),c=n.n(o),l=n(3),s=n(19),u=n(54),d=(r={},c()(r,u.b,"DashboardMainEffectComponent"),c()(r,u.a,"DashboardEntityEffectComponent"),r);function ModuleDashboardEffects(){var t=Object(u.c)(),n=Object(l.useSelect)((function(e){return e(s.a).getModules()}));if(!n)return null;var r=d[t];return Object.values(n).reduce((function(t,n){var a=n[r];return n.active&&a?[].concat(i()(t),[e.createElement(a,{key:n.slug})]):t}),[])}}).call(this,n(4))},63:function(e,t,n){"use strict";n.d(t,"c",(function(){return p})),n.d(t,"a",(function(){return h})),n.d(t,"b",(function(){return v})),n.d(t,"d",(function(){return E}));var r=n(7),a=n.n(r),i=n(0);function o(){return(o=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"),{a:e.createElement(k.a,{"aria-label":Object(o.__)("Learn more about dashboard sharing","google-site-kit"),href:D,external:!0})}),N&&Object(o.__)("Warning: Resetting these permissions will remove view-only access for all users. Are you sure you want to reset all Dashboard Sharing permissions?","google-site-kit")))),C&&e.createElement("div",{className:"googlesitekit-dialog__main"},e.createElement(j.a,null))),e.createElement(O.d,{className:"googlesitekit-dialog__footer"},e.createElement(S.a,{closeDialog:z,openResetDialog:I}))))}}).call(this,n(4))},692:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return DashboardSharingSettings}));var a=n(11),i=n.n(a),o=n(2),c=n(3),l=n(693),s=n(19),u=n(14),d=n(6);function DashboardSharingSettings(){var t=Object(c.useSelect)((function(e){return e(s.a).hasRecoverableModules()})),n=Object(c.useSelect)((function(e){return e(u.c).hasMultipleAdmins()})),a=t||n,f=Object(c.useSelect)((function(t){for(var n=t(d.a).getID(),r=t(s.a).getShareableModules(),a=[],i=[],o=[],c=0,l=Object.values(r);cLearn more","google-site-kit"),{Link:e.createElement(w.a,{href:W,external:!0,hideExternalIndicator:!0})})),!I&&!o&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},Object(s.__)("Contact managing user to manage view access","google-site-kit"))),B&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__column--manage"},V&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},e.createElement("span",null,Object(s.__)("Any admin signed in with Google","google-site-kit")),e.createElement(m.Tooltip,{title:Object(s.__)("This service requires general access to Google APIs rather than access to a specific user-owned property/entity, so view access is manageable by any admin signed in with Google.","google-site-kit")},e.createElement("span",{className:"googlesitekit-dashboard-sharing-settings__tooltip-icon"},e.createElement(u.a,{icon:d.a,size:18})))),!V&&F&&e.createElement(m.Select,{className:"googlesitekit-dashboard-sharing-settings__select",value:T,options:x,onChange:q,onClick:q,outlined:!0}),!V&&!F&&i&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},Object(g.a)(Object(s.sprintf)( -/* translators: %s: user who manages the module. */ -Object(s.__)("Managed by %s","google-site-kit"),i),{span:e.createElement("span",null),strong:e.createElement("strong",null)}),e.createElement(m.Tooltip,{title:I?Object(s.sprintf)( -/* translators: %s: name of the user who manages the module. */ -Object(s.__)("%s has connected this and given managing permissions to all admins. You can change who can view this on the dashboard.","google-site-kit"),i):Object(s.sprintf)( -/* translators: %s: name of the user who manages the module. */ -Object(s.__)("Contact %s to change who can manage view access for this module","google-site-kit"),i)},e.createElement("span",{className:"googlesitekit-dashboard-sharing-settings__tooltip-icon"},e.createElement(u.a,{icon:d.a,size:18}))))))}Module.propTypes={moduleSlug:o.a.string.isRequired,moduleName:o.a.string.isRequired,ownerUsername:o.a.string}}).call(this,n(4))},694:function(e,t,n){"use strict";(function(e){var r=n(27),a=n.n(r),i=n(1),o=n.n(i),c=n(11),l=n.n(c),s=n(2),u=n(56),d=n(0),f=n(3),g=n(10),m=n(20),p=n(405),h=n(571),v=n(18),b=n(115),E=n(9),_=n(19),O=n(23),y=n(151),k=Object(s.__)("All","google-site-kit"),j=Object(d.forwardRef)((function(t,n){var r=t.moduleSlug,i=t.isLocked,o=void 0!==i&&i,c=Object(v.a)(),j=Object(d.useRef)(),S=Object(f.useDispatch)(_.a).setSharedRoles,w=Object(f.useDispatch)(O.b).setValue,x=Object(f.useSelect)((function(e){return e(_.a).getShareableRoles()})),C=Object(f.useSelect)((function(e){return e(_.a).getSharedRoles(r)})),N=Object(f.useSelect)((function(e){return e(O.b).getValue(y.a)}))===r;Object(b.a)([u.c],n,(function(){N&&w(y.a,void 0)}));var A=Object(f.useSelect)((function(e){return e(_.a).haveModuleSharingSettingsChanged(r,"sharedRoles")})),T=Object(d.useCallback)((function(){N?(w(y.a,void 0),A&&Object(E.J)("".concat(c,"_sharing"),"change_shared_roles",r)):w(y.a,r)}),[N,A,r,w,c]);Object(d.useEffect)((function(){j.current&&(N?j.current.firstChild.focus():j.current.focus())}),[N]);var D=Object(d.useCallback)((function(e){var t,n=e.type,i=e.target,o=e.keyCode;if("keydown"!==n||o===u.b){var c,l=i.closest(".mdc-chip"),s=null==l||null===(t=l.dataset)||void 0===t?void 0:t.chipId;if(s)c="all"===s?(null==C?void 0:C.length)===(null==x?void 0:x.length)?[]:x.map((function(e){return e.id})):null===C?[s]:C.includes(s)?C.filter((function(e){return e!==s})):[].concat(a()(C),[s]),S(r,c)}}),[r,S,C,x]);return x?e.createElement("div",{className:l()("googlesitekit-user-role-select",{"googlesitekit-user-role-select--open":N})},!N&&e.createElement(g.Button,{"aria-label":Object(s.__)("Edit roles","google-site-kit"),className:"googlesitekit-user-role-select__button",onClick:T,icon:e.createElement(p.a,{width:23,height:23}),tabIndex:o?-1:void 0,ref:j}),!N&&(null==C?void 0:C.length)>0&&e.createElement("span",{className:"googlesitekit-user-role-select__current-roles"},(null==x?void 0:x.reduce((function(e,t){return C.includes(t.id)&&e.push(t.displayName),e}),[])).join(", ")),!N&&(!C||0===(null==C?void 0:C.length))&&e.createElement("span",{className:"googlesitekit-user-role-select__add-roles"},e.createElement(m.a,{onClick:T,tabIndex:o?-1:void 0},Object(s.__)("Add roles","google-site-kit"))),N&&e.createElement(d.Fragment,null,e.createElement("div",{className:"googlesitekit-user-role-select__chipset",ref:j},e.createElement(g.Chip,{id:"all",label:k,onClick:D,onKeyDown:D,selected:(null==C?void 0:C.length)===(null==x?void 0:x.length),className:"googlesitekit-user-role-select__chip--all"}),x.map((function(t,n){var r=t.id,a=t.displayName;return e.createElement(g.Chip,{key:n,id:r,label:a,onClick:D,onKeyDown:D,selected:null==C?void 0:C.includes(r)})}))),e.createElement(g.Button,{"aria-label":Object(s.__)("Done editing roles","google-site-kit"),title:Object(s.__)("Done","google-site-kit"),className:"googlesitekit-user-role-select__button",onClick:T,icon:e.createElement(h.a,{width:18,height:18}),tabIndex:o?-1:void 0}))):null}));j.propTypes={moduleSlug:o.a.string.isRequired,isLocked:o.a.bool},t.a=j}).call(this,n(4))},695:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Footer}));var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(16),l=n.n(c),s=n(1),u=n.n(s),d=n(2),f=n(0),g=n(10),m=n(3),p=n(19),h=n(23),v=n(151),b=n(18),E=n(9),_=n(20),O=n(696),y=n(59);function Footer(t){var n=t.closeDialog,r=t.openResetDialog,i=Object(b.a)(),c=Object(f.useState)(null),s=l()(c,2),u=s[0],k=s[1],j=Object(f.useState)(!1),S=l()(j,2),w=S[0],x=S[1],C=Object(m.useSelect)((function(e){return e(p.a).canSubmitSharingChanges()})),N=Object(m.useSelect)((function(e){return e(p.a).isDoingSubmitSharingChanges()})),A=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsExpanded("management")})),T=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsExpanded("sharedRoles")})),D=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsUpdated()})),R=Object(m.useSelect)((function(e){return!!e(h.b).getValue(v.c)})),M=Object(m.useSelect)((function(e){return!!e(h.b).getValue(v.b)})),B=Object(m.useDispatch)(p.a),L=B.resetSharingSettings,F=B.saveSharingSettings,I=Object(m.useDispatch)(h.b).setValue,P=Object(f.useCallback)(o()(a.a.mark((function e(){var t,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(null),e.next=3,F();case 3:if(t=e.sent,!(r=t.error)){e.next=8;break}return k(r.message),e.abrupt("return");case 8:Object(E.J)("".concat(i,"_sharing"),"settings_confirm"),I(v.a,void 0),n();case 11:case"end":return e.stop()}}),e)}))),[i,F,I,n]),z=Object(f.useCallback)(o()(a.a.mark((function e(){var t,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(null),x(!0),e.next=4,L();case 4:if(t=e.sent,!(r=t.error)){e.next=9;break}return k(r.message),e.abrupt("return");case 9:x(!1),n();case 11:case"end":return e.stop()}}),e)}))),[n,L]),H=Object(f.useCallback)((function(){Object(E.J)("".concat(i,"_sharing"),"settings_cancel"),n()}),[n,i]),W=u||A||T;return e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer"},W&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-notice"},u&&e.createElement(y.a,{message:u}),!u&&e.createElement(O.a,null)),e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions"},D&&R&&!W&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions-left"},e.createElement(_.a,{onClick:r,danger:!0},Object(d.__)("Reset sharing permissions","google-site-kit"))),e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions-right"},e.createElement(g.Button,{tertiary:!0,onClick:H},Object(d.__)("Cancel","google-site-kit")),R&&e.createElement(g.SpinnerButton,{onClick:P,disabled:N||!C,isSaving:N},Object(d.__)("Apply","google-site-kit")),M&&e.createElement(g.SpinnerButton,{onClick:z,disabled:w,isSaving:w,danger:!0},Object(d.__)("Reset","google-site-kit")))))}Footer.propTypes={closeDialog:u.a.func.isRequired}}).call(this,n(4))},696:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Notice}));var r=n(2),a=n(38),i=n(3),o=n(19);function Notice(){var t=Object(i.useSelect)((function(e){return e(o.a).canSubmitSharingChanges()})),n=Object(i.useSelect)((function(e){return e(o.a).haveSharingSettingsExpanded("management")})),c=Object(i.useSelect)((function(e){return e(o.a).haveSharingSettingsExpanded("sharedRoles")}));return e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__notice"},n&&t&&Object(a.a)(Object(r.__)("By clicking Apply, you will give other authenticated admins of your site permission to manage view-only access to Site Kit Dashboard data from the chosen Google service","google-site-kit"),{span:e.createElement("span",null),strong:e.createElement("strong",null)}),!n&&t&&c&&Object(a.a)(Object(r.__)("By clicking Apply, you’re granting the selected roles view-only access to data from the Google services you’ve connected via your account","google-site-kit"),{span:e.createElement("span",null),strong:e.createElement("strong",null)}))}}).call(this,n(4))},697:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetAreaRenderer}));var r=n(16),a=n.n(r),i=n(7),o=n.n(i),c=n(1),l=n.n(c),s=n(11),u=n.n(s),d=n(93),f=n(0),g=n(3),m=n(210),p=n(86),h=n(46),v=n(23),b=n(17),E=n(26),_=n(157),O=n(698),y=n(699),k=n(700),j=n(35),S=n(6),w=n(239),x=n(701);function C(e){var t,n=(t={},o()(t,E.d,48),o()(t,E.a,48),o()(t,E.c,32),o()(t,E.b,32),t)[e],r=Math.abs(Object(p.b)(e)+n);return"".concat(-r,"px ").concat(-n,"px ").concat(-n,"px ").concat(-n,"px")}function WidgetAreaRenderer(t){var n,r=t.slug,i=t.contextID,c=Object(j.a)(),l=Object(g.useSelect)((function(e){return c?e(S.a).getViewableModules():null})),s=Object(d.a)(),p=Object(E.e)(),N=Object(f.useRef)(),A=Object(w.a)(N,{rootMargin:C(p),threshold:0}),T=Object(g.useSelect)((function(e){return e(h.a).getWidgetArea(r)})),D=T.Icon,R=T.title,M=T.style,B=T.subtitle,L=T.CTA,F=T.Footer,I=Object(g.useSelect)((function(e){return e(h.a).getWidgets(r,{modules:l||void 0})})),P=Object(g.useSelect)((function(e){return e(h.a).getWidgetStates()})),z=Object(g.useSelect)((function(e){return e(h.a).isWidgetAreaActive(r,{modules:l||void 0})})),H=Object(g.useSelect)((function(e){return e(v.b).getValue(v.a)})),W=Object(f.useState)({key:"WidgetAreaRenderer-".concat(r),value:H?H===i:!!(null==A?void 0:A.intersectionRatio)}),G=a()(W,2),V=G[0],U=G[1];Object(f.useEffect)((function(){U({key:"WidgetAreaRenderer-".concat(r),value:H?H===i:!!(null==A?void 0:A.intersectionRatio)})}),[A,r,H,i]);var q=L&&s<=782;if(void 0===l)return null;var K=Object(m.d)(I,P),J=K.columnWidths,X=K.rowIndexes,Y=Object(m.b)(I,P,{columnWidths:J,rowIndexes:X}),$=Y.gridColumnWidths,Z=Y.overrideComponents,Q=I.map((function(t,n){return e.createElement(y.a,{key:"".concat(t.slug,"-wrapper"),gridColumnWidth:$[n]},e.createElement(k.a,{slug:t.slug},e.createElement(O.a,{OverrideComponent:Z[n]?function(){var t=Z[n],r=t.Component,a=t.metadata;return e.createElement(r,a)}:void 0,slug:t.slug})))}));return e.createElement(_.a,{value:V},!!z&&e.createElement(b.e,{className:u()("googlesitekit-widget-area","googlesitekit-widget-area--".concat(r),"googlesitekit-widget-area--".concat(M)),ref:N},e.createElement(b.k,null,e.createElement(b.a,{className:"googlesitekit-widget-area-header",size:12},e.createElement(x.a,{slug:r,Icon:D,title:R,subtitle:B,CTA:L}))),e.createElement("div",{className:"googlesitekit-widget-area-widgets"},e.createElement(b.k,null,M===h.b.BOXES&&Q,M===h.b.COMPOSITE&&e.createElement(b.a,{size:12},e.createElement(b.e,null,e.createElement(b.k,null,Q))))),e.createElement(b.k,null,q&&e.createElement(b.a,{className:"googlesitekit-widget-area-footer",lgSize:12,mdSize:4,smSize:2},e.createElement("div",{className:"googlesitekit-widget-area-footer__cta"},e.createElement(L,null))),F&&e.createElement(b.a,{className:"googlesitekit-widget-area-footer",lgSize:12,mdSize:q?4:8,smSize:q?2:4},e.createElement(F,null)))),!z&&e.createElement(b.e,{className:u()(m.a,"googlesitekit-widget-area",(n={},o()(n,"googlesitekit-widget-area--".concat(r),!!r),o()(n,"googlesitekit-widget-area--".concat(M),!!M),n)),ref:N},Q))}WidgetAreaRenderer.propTypes={slug:l.a.string.isRequired,contextID:l.a.string}}).call(this,n(4))},698:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(13),o=n(0),c=n(3),l=n(46),s=n(19),u=n(256),d=n(257),f=n(210),g=n(120),m=n(35),p=n(26);function WidgetRenderer(t){var n,r=t.slug,a=t.OverrideComponent,h=Object(c.useSelect)((function(e){return e(l.a).getWidget(r)})),v=Object(p.e)(),b=Object(f.c)(r),E=b.Widget,_=b.WidgetNull,O=Object(c.useSelect)((function(e){return e(s.a).getRecoverableModules()})),y=Object(m.a)(),k=Object(o.useMemo)((function(){return h&&O&&Object(i.intersection)(h.modules,Object.keys(O))}),[O,h]),j=Object(c.useSelect)((function(e){return e(l.a).isWidgetPreloaded(r)}));if(!h||void 0===k||(null==h||null===(n=h.hideOnBreakpoints)||void 0===n?void 0:n.includes(v)))return e.createElement(_,null);var S=h.Component,w=h.wrapWidget,x=e.createElement(S,b);return y&&(null==k?void 0:k.length)&&(x=e.createElement(d.a,{widgetSlug:r,moduleSlugs:k})),a?x=e.createElement(o.Fragment,null,e.createElement(u.a,{widgetSlug:"overridden"},e.createElement(a,null)),e.createElement("div",{className:g.a},x)):w&&(x=e.createElement(E,null,x)),j?e.createElement("div",{className:g.a},x):x}WidgetRenderer.propTypes={slug:a.a.string.isRequired,OverrideComponent:a.a.elementType},t.a=WidgetRenderer}).call(this,n(4))},699:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(120),o=n(17);function WidgetCellWrapper(t){var n=t.gridColumnWidth,r=t.children;return 0===n?e.createElement("div",{className:i.a},r):n<6?e.createElement(o.a,{lgSize:n,mdSize:4,smSize:2},r):n<8?e.createElement(o.a,{lgSize:n,mdSize:8},r):e.createElement(o.a,{size:n},r)}WidgetCellWrapper.propTypes={gridColumnWidth:a.a.number.isRequired,children:a.a.element.isRequired},t.a=WidgetCellWrapper}).call(this,n(4))},70:function(e,t,n){"use strict";n.r(t),n.d(t,"CONTEXT_MAIN_DASHBOARD_KEY_METRICS",(function(){return r})),n.d(t,"CONTEXT_MAIN_DASHBOARD_TRAFFIC",(function(){return a})),n.d(t,"CONTEXT_MAIN_DASHBOARD_CONTENT",(function(){return i})),n.d(t,"CONTEXT_MAIN_DASHBOARD_SPEED",(function(){return o})),n.d(t,"CONTEXT_MAIN_DASHBOARD_MONETIZATION",(function(){return c})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_TRAFFIC",(function(){return l})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_CONTENT",(function(){return s})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_SPEED",(function(){return u})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_MONETIZATION",(function(){return d}));var r="mainDashboardKeyMetrics",a="mainDashboardTraffic",i="mainDashboardContent",o="mainDashboardSpeed",c="mainDashboardMonetization",l="entityDashboardTraffic",s="entityDashboardContent",u="entityDashboardSpeed",d="entityDashboardMonetization";t.default={CONTEXT_MAIN_DASHBOARD_KEY_METRICS:r,CONTEXT_MAIN_DASHBOARD_TRAFFIC:a,CONTEXT_MAIN_DASHBOARD_CONTENT:i,CONTEXT_MAIN_DASHBOARD_SPEED:o,CONTEXT_MAIN_DASHBOARD_MONETIZATION:c,CONTEXT_ENTITY_DASHBOARD_TRAFFIC:l,CONTEXT_ENTITY_DASHBOARD_CONTENT:s,CONTEXT_ENTITY_DASHBOARD_SPEED:u,CONTEXT_ENTITY_DASHBOARD_MONETIZATION:d}},700:function(e,t,n){"use strict";(function(e,r){var a=n(51),i=n.n(a),o=n(53),c=n.n(o),l=n(229),s=n.n(l),u=n(68),d=n.n(u),f=n(69),g=n.n(f),m=n(49),p=n.n(m),h=n(190),v=n.n(h),b=n(1),E=n.n(b),_=n(0),O=n(2),y=n(91),k=n(170),j=n(58),S=n(9);function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var a=p()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return g()(this,n)}}var x=function(t){d()(WidgetErrorHandler,t);var n=w(WidgetErrorHandler);function WidgetErrorHandler(e){var t;return i()(this,WidgetErrorHandler),(t=n.call(this,e)).state={error:null,info:null},t.onErrorClick=t.onErrorClick.bind(s()(t)),t}return c()(WidgetErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Widget error:",t,n),this.setState({error:t,info:n}),Object(S.J)("widget_error","handle_".concat(this.context||"unknown","_error"),"".concat(this.props.slug,"_").concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500-this.props.slug.length-1))}},{key:"onErrorClick",value:function(){var e=this.state,t=e.error,n=e.info;v()("`".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack,"`"))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,a=t.info;return n?r.createElement("div",{className:"googlesitekit-widget-error-handler"},r.createElement(y.a,{description:r.createElement(_.Fragment,null,r.createElement("p",null,Object(O.__)("An error prevented this Widget from being displayed properly. Report the exact contents of the error on the support forum to find out what caused it.","google-site-kit")),r.createElement(k.a,{message:n.message,componentStack:a.componentStack})),error:!0,onErrorClick:this.onErrorClick,onClick:this.onErrorClick,title:Object(O.__)("Error in Widget","google-site-kit")})):e}}]),WidgetErrorHandler}(_.Component);x.contextType=j.b,x.propTypes={children:E.a.node.isRequired},t.a=x}).call(this,n(28),n(4))},701:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetAreaHeader}));var r=n(1),a=n.n(r),i=n(93),o=n(0),c=n(596);function WidgetAreaHeader(t){var n=t.slug,r=t.Icon,a=void 0!==r&&r,l=t.title,s=void 0===l?"":l,u=t.subtitle,d=void 0===u?"":u,f=t.CTA,g=Object(i.a)(),m=f&&g>=783,p="function"==typeof d?d:void 0;return e.createElement(o.Fragment,null,a&&e.createElement(a,{width:33,height:33}),s&&e.createElement("h3",{className:"googlesitekit-widget-area-header__title googlesitekit-heading-3"},s,e.createElement(c.a,{slug:n})),(d||f)&&e.createElement("div",{className:"googlesitekit-widget-area-header__details"},d&&e.createElement("h4",{className:"googlesitekit-widget-area-header__subtitle"},p&&e.createElement(p,null),!p&&d,!s&&e.createElement(c.a,{slug:n})),m&&e.createElement("div",{className:"googlesitekit-widget-area-header__cta"},e.createElement(f,null))))}WidgetAreaHeader.propTypes={slug:a.a.string.isRequired,Icon:a.a.bool,title:a.a.oneOfType([a.a.string,a.a.element]),subtitle:a.a.oneOfType([a.a.string,a.a.elementType]),CTA:a.a.elementType}}).call(this,n(4))},702:function(e,t,n){"use strict";(function(e){var r=n(16),a=n.n(r),i=n(84),o=n(528),c=n(205),l=n(0),s=n(2),u=n(3),d=n(10),f=n(103),g=n(703),m=n(704),p=n(705),h=n(14),v=n(32),b=n(9),E=n(54),_=n(18);t.a=function EntitySearchInput(){var t=Object(c.a)(EntitySearchInput,"EntitySearchInput"),n=Object(l.useState)(!1),r=a()(n,2),O=r[0],y=r[1],k=Object(l.useState)(!1),j=a()(k,2),S=j[0],w=j[1],x=Object(l.useState)(!1),C=a()(x,2),N=C[0],A=C[1],T=Object(_.a)(),D=Object(E.c)(),R=Object(l.useRef)(),M=Object(l.useCallback)((function(){Object(b.J)("".concat(T,"_headerbar"),"open_urlsearch"),y(!0)}),[T]),B=Object(l.useCallback)((function(){Object(b.J)("".concat(T,"_headerbar"),"close_urlsearch"),y(!1)}),[T]),L=Object(l.useState)({}),F=a()(L,2),I=F[0],P=F[1],z=Object(u.useSelect)((function(e){return(null==I?void 0:I.url)?e(h.c).getAdminURL("googlesitekit-dashboard",{permaLink:I.url}):null})),H=Object(u.useDispatch)(v.a).navigateTo;return Object(l.useEffect)((function(){z&&Object(b.J)("".concat(T,"_headerbar_urlsearch"),"open_urldetails").finally((function(){H(z)}))}),[z,H,T]),Object(i.a)((function(){D===E.a&&y(!0)})),Object(o.a)((function(){var e;O||(null==R||null===(e=R.current)||void 0===e||e.focus())}),[O]),O?e.createElement("div",{className:"googlesitekit-entity-search googlesitekit-entity-search--is-open"},e.createElement(f.a,null,e.createElement("label",{htmlFor:t},Object(s.__)("Page/URL Search","google-site-kit"))),e.createElement(p.a,{id:t,match:I,setIsActive:A,setMatch:P,placeholder:Object(s.__)("Enter title or URL…","google-site-kit"),isLoading:S,setIsLoading:w,showDropdown:N,onClose:B,autoFocus:!0}),S&&N&&e.createElement(d.ProgressBar,{className:"googlesitekit-entity-search__loading",compress:!0}),e.createElement("div",{className:"googlesitekit-entity-search__actions"},e.createElement(d.Button,{onClick:B,trailingIcon:e.createElement(m.a,{width:"30",height:"20"}),className:"googlesitekit-entity-search__close",title:Object(s.__)("Close","google-site-kit"),text:!0,tooltip:!0,tooltipEnterDelayInMS:500}))):e.createElement("div",{className:"googlesitekit-entity-search"},e.createElement(d.Button,{className:"googlesitekit-border-radius-round--phone googlesitekit-button-icon--phone",onClick:M,text:!0,ref:R,title:Object(s.__)("Search","google-site-kit"),trailingIcon:e.createElement(g.a,{width:"20",height:"20"}),tooltip:!0,tooltipEnterDelayInMS:500},Object(s.__)("URL Search","google-site-kit")))}}).call(this,n(4))},703:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&e.createElement(d.e,{portal:!1},e.createElement(d.c,{className:"autocomplete__menu autocomplete__menu--inline"},z.map((function(t){var n=t.id,r=t.title;return e.createElement(d.d,{key:n,value:r,className:"autocomplete__option autocomplete__option--result"})})))))}PostSearcherAutoSuggest.propTypes={id:u.a.string,match:u.a.object,setCanSubmit:u.a.func,setMatch:u.a.func,isLoading:u.a.bool,setIsLoading:u.a.func,onKeyDown:u.a.func,autoFocus:u.a.bool,placeholder:u.a.string}}).call(this,n(4))},706:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(16),a=n.n(r),i=n(0);function o(e,t){var n=Object(i.useState)(e),r=a()(n,2),o=r[0],c=r[1];return Object(i.useEffect)((function(){var n=setTimeout((function(){c(e)}),t);return function(){clearTimeout(n)}}),[e,t]),o}},707:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DateRangeSelector}));var r=n(16),a=n.n(r),i=n(207),o=n(11),c=n.n(o),l=n(0),s=n(56),u=n(2),d=n(3),f=n(10),g=n(708),m=n(6),p=n(115),h=n(9),v=n(23),b=n(18);function DateRangeSelector(){var t,n=Object(h.o)(),r=Object(d.useSelect)((function(e){return e(m.a).getDateRange()})),o=Object(d.useDispatch)(m.a).setDateRange,E=Object(d.useDispatch)(v.b).resetInViewHook,_=Object(l.useState)(!1),O=a()(_,2),y=O[0],k=O[1],j=Object(l.useRef)(),S=Object(b.a)();Object(i.a)(j,(function(){return k(!1)})),Object(p.a)([s.c,s.f],j,(function(){return k(!1)}));var w=Object(l.useCallback)((function(){k(!y)}),[y]),x=Object(l.useCallback)((function(e){var t=Object.values(n)[e].slug;r!==t&&Object(h.J)("".concat(S,"_headerbar"),"change_daterange",t),E(),o(t),k(!1)}),[n,r,E,o,S]),C=null===(t=n[r])||void 0===t?void 0:t.label,N=Object.values(n).map((function(e){return e.label}));return e.createElement("div",{ref:j,className:"googlesitekit-date-range-selector googlesitekit-dropdown-menu mdc-menu-surface--anchor"},e.createElement(f.Button,{className:c()("mdc-button--dropdown","googlesitekit-header__dropdown","googlesitekit-header__date-range-selector-menu","googlesitekit-border-radius-round--phone","googlesitekit-button-icon--phone"),text:!0,onClick:w,icon:e.createElement(g.a,{width:"20",height:"20"}),"aria-haspopup":"menu","aria-expanded":y,"aria-controls":"date-range-selector-menu",title:Object(u.__)("Date range","google-site-kit"),tooltip:!0,tooltipEnterDelayInMS:500},C),e.createElement(f.Menu,{menuOpen:y,menuItems:N,onSelected:x,id:"date-range-selector-menu",className:"googlesitekit-width-auto"}))}}).call(this,n(4))},708:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"),{a:e.createElement(w.a,{href:z,external:!0,"aria-label":Object(f.__)("Learn more about consent mode","google-site-kit")})}))),R&&e.createElement(S.a,{message:R.message}),e.createElement("div",{className:"googlesitekit-setup-cta-banner__actions-wrapper"},e.createElement(g.Fragment,null,e.createElement(h.SpinnerButton,{onClick:le,isSaving:s},Object(f.__)("Enable consent mode","google-site-kit")),e.createElement(h.Button,{tertiary:!0,onClick:se},U<2?Object(f.__)("Maybe later","google-site-kit"):Object(f.__)("Don’t show again","google-site-kit"))))),e.createElement("div",{className:"googlesitekit-setup-cta-banner__svg-wrapper"},B!==T.b&&B!==T.d?e.createElement(k.a,null):e.createElement(y.a,null))))))))}ConsentModeSetupCTAWidget.propTypes={Widget:u.a.elementType.isRequired,WidgetNull:u.a.elementType.isRequired},t.a=Object(_.g)("consent-mode-setup-cta")(ConsentModeSetupCTAWidget)}).call(this,n(4))},71:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r={EXTERNAL:"external",INTERNAL:"internal"}},710:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&!c?l(!0):0===t&&c&&l(!1),c}}).call(this,n(28))},713:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return OverlayNotificationsRenderer}));var r=n(0),a=n(122),i=n(361),o=n(714),c=n(717),l=n(540);function OverlayNotificationsRenderer(){var t=Object(a.a)("audienceSegmentation"),n=Object(a.a)("rrmModule");return e.createElement(r.Fragment,null,e.createElement(c.a,null),e.createElement(o.a,null),t&&e.createElement(i.a,null),n&&e.createElement(l.a,null))}}).call(this,n(4))},714:function(e,t,n){"use strict";(function(e,r){var a=n(370),i=n(0),o=n(2),c=n(10),l=n(3),s=n(715),u=n(716),d=n(22),f=n(23),g=n(6),m=n(19),p=n(26),h=n(54),v=n(31),b=n(8),E=n(86),_=n(227),O=n(381),y=n(9),k=n(18),j=n(50);t.a=Object(a.a)(Object(j.a)({moduleName:"analytics-4"}),Object(j.a)({moduleName:"adsense"}))((function AnalyticsAndAdSenseAccountsDetectedAsLinkedOverlayNotification(){var t=Object(p.e)(),n=Object(h.c)()===h.b,a=Object(k.a)(),j=Object(l.useSelect)((function(e){return e(g.a).isItemDismissed("AnalyticsAndAdSenseLinkedOverlayNotification")})),S=Object(l.useSelect)((function(e){return e(g.a).isDismissingItem("AnalyticsAndAdSenseLinkedOverlayNotification")})),w=Object(l.useSelect)((function(e){return!n||j?null:e(m.a).isModuleConnected("analytics-4")})),x=Object(l.useSelect)((function(e){return!n||j?null:e(m.a).isModuleConnected("adsense")})),C=Object(l.useSelect)((function(e){return!n||j?null:e(g.a).hasAccessToShareableModule("analytics-4")})),N=Object(l.useSelect)((function(e){return!n||j?null:e(g.a).hasAccessToShareableModule("adsense")})),A=Object(l.useSelect)((function(e){return!n||j?null:e(b.r).getAdSenseLinked()})),T=Object(l.useSelect)((function(e){return x?e(v.m).getAccountID():null})),D=Object(l.useSelect)((function(e){return e(g.a).getDateRangeDates({offsetDays:b.g})})),R={startDate:D.startDate,endDate:D.endDate,dimensions:["pagePath","adSourceName"],metrics:[{name:"totalAdRevenue"}],dimensionFilters:{adSourceName:"Google AdSense account (".concat(T,")")},orderby:[{metric:{metricName:"totalAdRevenue"},desc:!0}],limit:1},M=Object(l.useSelect)((function(e){return n&&!1===j&&A&&x&&w&&N&&C?e(b.r).getReport(R):null})),B=!1===Object(O.a)(M),L=n&&!1===j&&w&&x&&C&&N&&A&&B,F=Object(l.useDispatch)(f.b).dismissOverlayNotification,I=Object(i.useCallback)((function(){Object(y.J)("".concat(a,"_top-earning-pages-widget"),"view_overlay_CTA")}),[a]),P=function(){F("AnalyticsAndAdSenseLinkedOverlayNotification")};return r.createElement(_.a,{shouldShowNotification:L,GraphicDesktop:s.a,GraphicMobile:u.a,notificationID:"AnalyticsAndAdSenseLinkedOverlayNotification",onShow:I},r.createElement("div",{className:"googlesitekit-overlay-notification__body"},r.createElement("h3",null,Object(o.__)("See your top earning content","google-site-kit")),r.createElement("p",null,Object(o.__)("Data is now available for the pages that earn the most AdSense revenue.","google-site-kit"))),r.createElement("div",{className:"googlesitekit-overlay-notification__actions"},r.createElement(c.Button,{tertiary:!0,disabled:S,onClick:function(){P(),Object(y.J)("".concat(a,"_top-earning-pages-widget"),"dismiss_overlay_CTA")}},Object(o.__)("Maybe later","google-site-kit")),r.createElement(c.Button,{disabled:S,onClick:function(n){!function(n){n.preventDefault(),P(),setTimeout((function(){e.history.replaceState({},"","#".concat(d.c)),e.scrollTo({top:Object(E.a)(".googlesitekit-widget--adsenseTopEarningPagesGA4",t),behavior:"smooth"})}),50)}(n),Object(y.J)("".concat(a,"_top-earning-pages-widget"),"confirm_overlay_CTA")}},Object(o.__)("Show me","google-site-kit"))))}))}).call(this,n(28),n(4))},715:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,n="object"===a()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},720:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return g}));var r=n(5),a=n.n(r),i=n(15),o=n.n(i),c=n(545),l=n(421),s=n(263),u=n(0),d=n(3),f=n(23);function g(){var t=Object(d.useDispatch)(f.b).setIsOnline,n=Object(d.useSelect)((function(e){return e(f.b).getIsOnline()})),r=Object(u.useCallback)(o()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(navigator.onLine){e.next=3;break}return t(!1),e.abrupt("return");case 3:return e.prev=3,e.next=6,Object(s.default)({path:"/google-site-kit/v1/"});case 6:e.next=13;break;case 8:if(e.prev=8,e.t0=e.catch(3),"fetch_error"!==(null===e.t0||void 0===e.t0?void 0:e.t0.code)){e.next=13;break}return t(!1),e.abrupt("return");case 13:t(!0);case 14:case"end":return e.stop()}}),e,null,[[3,8]])}))),[t]);Object(c.a)((function(){e.addEventListener("online",r),e.addEventListener("offline",r)}),(function(){e.removeEventListener("online",r),e.removeEventListener("offline",r)})),Object(l.a)(r,n?12e4:15e3)}}).call(this,n(28))},73:function(e,t,n){"use strict";var r=n(16),a=n.n(r),i=n(254),o=n(1),c=n.n(o),l=n(0),s=n(141);function Portal(e){var t=e.children,n=e.slug,r=Object(l.useState)(document.createElement("div")),o=a()(r,1)[0];return Object(i.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(s.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},74:function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},75:function(e,t,n){"use strict";(function(e){var r=n(21),a=n.n(r),i=n(24),o=n.n(i),c=n(11),l=n.n(c),s=n(1),u=n.n(s),d=n(0),f=Object(d.forwardRef)((function(t,n){var r=t.label,i=t.className,c=t.hasLeftSpacing,s=void 0!==c&&c,u=o()(t,["label","className","hasLeftSpacing"]);return e.createElement("span",a()({ref:n},u,{className:l()("googlesitekit-badge",i,{"googlesitekit-badge--has-left-spacing":s})}),r)}));f.displayName="Badge",f.propTypes={label:u.a.string.isRequired,hasLeftSpacing:u.a.bool},t.a=f}).call(this,n(4))},76:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(1),a=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,a=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:a}},n)}IconWrapper.propTypes={children:a.a.node.isRequired,marginLeft:a.a.number,marginRight:a.a.number}}).call(this,n(4))},77:function(e,t,n){"use strict";var r=n(0);function a(){return(a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=_(e,t),r=n.formatUnit,a=n.formatDecimal;try{return r()}catch(e){return a()}},b=function(e){var t=E(e),n=t.hours,r=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(a):"".concat(n,":").concat(r,":").concat(a)},E=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=E(e),r=n.hours,a=n.minutes,i=n.seconds;return{hours:r,minutes:a,seconds:i,formatUnit:function(){var n=t.unitDisplay,o=h(h({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(i,h(h({},o),{},{unit:"second"})):Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?w(i,h(h({},o),{},{unit:"second"})):"",a?w(a,h(h({},o),{},{unit:"minute"})):"",r?w(r,h(h({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. -Object(m.__)("%ds","google-site-kit"),i);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. -Object(m.__)("%dm","google-site-kit"),a),o=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. -Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",a?n:"",r?o:"").trim()}}},O=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},y=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. -Object(m.__)("%sM","google-site-kit"),w(O(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),w(O(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),w(O(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function k(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=h({},e)),t}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=k(t),r=n.style,a=void 0===r?"metric":r;return"metric"===a?y(e):"duration"===a?v(e,n):"durationISO"===a?b(e):w(e,n)}var S=g()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?C():n,i=u()(t,["locale"]);try{return new Intl.NumberFormat(r,i).format(e)}catch(t){S("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},l=["signDisplay","compactDisplay"],s={},d=0,f=Object.entries(i);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?C():n,a=t.style,i=void 0===a?"long":a,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var l=new Intl.ListFormat(r,{style:i,type:c});return l.format(e)} -/* translators: used between list items, there is a space after the comma. */var s=Object(m.__)(", ","google-site-kit");return e.join(s)},C=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},82:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a}));var r=n(145),a=n.n(r)()(e)}).call(this,n(28))},85:function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),i=n(11),o=n.n(i);function ChangeArrow(t){var n=t.direction,r=t.invertColor,a=t.width,i=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},86:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(26),a=n(118);function i(t,n){var r=document.querySelector(t);if(!r)return 0;var a=r.getBoundingClientRect().top,i=o(n);return a+e.scrollY-i}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,i=document.querySelector(".googlesitekit-header");return n=!!i&&"sticky"===e.getComputedStyle(i).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(a.a)(n))<0?0:n}}).call(this,n(28))},88:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(12),a=n.n(r),i=function(e,t){var n=t.dateRangeLength;a()(Array.isArray(e),"report must be an array to partition."),a()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return a.b})),n.d(t,"K",(function(){return a.c})),n.d(t,"G",(function(){return i.a})),n.d(t,"L",(function(){return i.b})),n.d(t,"I",(function(){return u})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return p})),n.d(t,"k",(function(){return h})),n.d(t,"j",(function(){return v})),n.d(t,"d",(function(){return k})),n.d(t,"c",(function(){return j})),n.d(t,"e",(function(){return S})),n.d(t,"b",(function(){return w})),n.d(t,"a",(function(){return x})),n.d(t,"g",(function(){return C})),n.d(t,"f",(function(){return N})),n.d(t,"o",(function(){return A})),n.d(t,"x",(function(){return T})),n.d(t,"q",(function(){return D})),n.d(t,"H",(function(){return R})),n.d(t,"t",(function(){return M})),n.d(t,"w",(function(){return B})),n.d(t,"l",(function(){return L})),n.d(t,"p",(function(){return F.b})),n.d(t,"i",(function(){return F.a})),n.d(t,"u",(function(){return I.b})),n.d(t,"r",(function(){return I.a})),n.d(t,"B",(function(){return I.c})),n.d(t,"y",(function(){return P})),n.d(t,"v",(function(){return z})),n.d(t,"F",(function(){return G})),n.d(t,"E",(function(){return V.a})),n.d(t,"h",(function(){return U})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(13),a=n(37),i=n(72),o=n(33),c=n.n(o),l=n(92),s=n.n(l),u=function(e){return s()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var a=t[r];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=e(a)),n[r]=a})),n}(e)))};n(96);var d=n(81);function f(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function g(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[f,g,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function D(e){O()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function R(e){O()(T(e),k);var t=e.split("-"),n=E()(t,3),r=n[0],a=n[1],i=n[2];return new Date(r,a-1,i)}function M(e,t){return D(L(e,t*x))}function B(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function L(e,t){O()(T(e)||Object(r.isDate)(e)&&!isNaN(e),k);var n=T(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var F=n(97),I=n(80);function P(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function z(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var H=n(27),W=n.n(H),G=function(e){return Array.isArray(e)?W()(e).sort():e},V=n(88);function U(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},90:function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return BannerNotification}));var r=n(21),a=n.n(r),i=n(7),o=n.n(i),c=n(5),l=n.n(c),s=n(15),u=n.n(s),d=n(16),f=n.n(d),g=n(1),m=n.n(g),p=n(11),h=n.n(p),v=n(204),b=n(206),E=n(84),_=n(93),O=n(0),y=n(107),k=n(3),j=n(17),S=n(86),w=n(34),x=n(26),C=n(191),N=n(192),A=n(193),T=n(199),D=n(200),R=n(71),M=n(108),B=n(118),L=n(32),F=n(201);function BannerNotification(t){var n,r=t.badgeLabel,i=t.children,c=t.className,s=void 0===c?"":c,d=t.ctaLabel,g=t.ctaLink,m=t.ctaTarget,p=t.description,I=t.dismiss,P=t.dismissExpires,z=void 0===P?0:P,H=t.format,W=void 0===H?"":H,G=t.id,V=t.isDismissible,U=void 0===V||V,q=t.learnMoreDescription,K=t.learnMoreLabel,J=t.learnMoreURL,X=t.learnMoreTarget,Y=void 0===X?R.a.EXTERNAL:X,$=t.logo,Z=t.module,Q=t.moduleName,ee=t.onCTAClick,te=t.onView,ne=t.onDismiss,re=t.onLearnMoreClick,ae=t.showOnce,ie=void 0!==ae&&ae,oe=t.SmallImageSVG,ce=t.title,le=t.type,se=t.WinImageSVG,ue=t.showSmallWinImage,de=void 0===ue||ue,fe=t.smallWinImageSVGWidth,ge=void 0===fe?75:fe,me=t.smallWinImageSVGHeight,pe=void 0===me?75:me,he=t.mediumWinImageSVGWidth,ve=void 0===he?105:he,be=t.mediumWinImageSVGHeight,Ee=void 0===be?105:be,_e=t.rounded,Oe=void 0!==_e&&_e,ye=t.footer,ke=t.secondaryPane,je=t.ctaComponent,Se=Object(O.useState)(!1),we=f()(Se,2),xe=we[0],Ce=we[1],Ne=Object(O.useState)(!1),Ae=f()(Ne,2),Te=Ae[0],De=Ae[1],Re="notification::dismissed::".concat(G),Me=function(){return Object(w.f)(Re,new Date,{ttl:null})},Be=Object(_.a)(),Le=Object(x.e)(),Fe=Object(v.a)(),Ie=Object(O.useState)(!1),Pe=f()(Ie,2),ze=Pe[0],He=Pe[1],We=Object(O.useRef)(),Ge=Object(b.a)(We,{rootMargin:"".concat(-Object(B.a)(Object(S.c)(Le)),"px 0px 0px 0px"),threshold:0});Object(O.useEffect)((function(){!ze&&(null==Ge?void 0:Ge.isIntersecting)&&("function"==typeof te&&te(),He(!0))}),[G,te,ze,Ge]);var Ve=Be>=600;Object(E.a)(u()(l.a.mark((function e(){var t,n;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(z>0)){e.next=3;break}return e.next=3,$e();case 3:if(!U){e.next=9;break}return e.next=6,Object(w.d)(Re);case 6:t=e.sent,n=t.cacheHit,De(n);case 9:if(!ie){e.next=12;break}return e.next=12,Me();case 12:case"end":return e.stop()}}),e)}))));var Ue=function(){var e=u()(l.a.mark((function e(t){return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(y.a)(g)&&"_blank"!==m,Ke=function(){return qe||Ce(!0),new Promise((function(e){setTimeout(u()(l.a.mark((function t(){var n;return l.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Me();case 2:Fe()&&De(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Je=Object(k.useSelect)((function(e){return!!g&&e(L.a).isNavigatingTo(g)})),Xe=Object(k.useDispatch)(L.a).navigateTo,Ye=function(){var e=u()(l.a.mark((function e(t){var n,r,a;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,a=r.dismissOnCTAClick,n=void 0===a||a;case 12:if(!U||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Xe(g);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),$e=function(){var e=u()(l.a.mark((function e(){var t,n,r;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(w.d)(Re);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(z,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=n.invertColor,o=void 0!==i&&i;return Object(r.a)(e.createElement(a.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),a=n.n(r),i=n(13),o=n(99),c=n(100);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=s(s({},u),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var l=Object(o.a)(a,n),d=Object(c.a)(a,n,l,r),f={},g=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),S),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:g,disabled:N},Object(s.__)("Cancel","google-site-kit")),B?e.createElement(u.Button,{href:B,onClick:O,target:"_blank",danger:x},j):e.createElement(u.SpinnerButton,{onClick:O,danger:x,disabled:N,isSaving:N},j||Object(s.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:a.a.string,dialogActive:a.a.bool,handleDialog:a.a.func,handleConfirm:a.a.func.isRequired,onOpen:a.a.func,onClose:a.a.func,title:a.a.string,confirmButton:a.a.string,danger:a.a.bool,small:a.a.bool,medium:a.a.bool,buttonLink:a.a.string},t.a=ModalDialog}).call(this,n(4))},115:function(e,t,n){"use strict";var r=n(1),a=n(38),i=Object(r.createContext)(a.a);t.a=i},1155:function(e,t,n){"use strict";(function(e){var r=n(11),a=n.n(r),i=n(1),o=n(39),c=n(2),l=n(3),s=n(227),u=n(70),d=n(423),f=n(710),g=n(715),m=n(228),p=n(22),h=n(13),v=n(6),b=n(21),E=n(103),_=n(17),O=n(360),y=n(188),k=n(47),j=n(650),S=n(619),w=n(1156),x=n(698),C=n(36),N=n(620),A=n(725),T=n(718),D=n(621);t.a=function DashboardEntityApp(){var t=Object(C.a)(),n=Object(l.useSelect)((function(e){return t?e(v.a).getViewableModules():null})),r=Object(l.useSelect)((function(e){return e(h.c).getCurrentEntityURL()})),R=Object(l.useSelect)((function(e){return e(h.c).getPermaLinkParam()})),M=Object(l.useSelect)((function(e){return e(h.c).getAdminURL("googlesitekit-dashboard")})),B={modules:n||void 0},L=Object(l.useSelect)((function(e){return e(k.a).isWidgetContextActive(u.CONTEXT_ENTITY_DASHBOARD_TRAFFIC,B)})),F=Object(l.useSelect)((function(e){return e(k.a).isWidgetContextActive(u.CONTEXT_ENTITY_DASHBOARD_CONTENT,B)})),I=Object(l.useSelect)((function(e){return e(k.a).isWidgetContextActive(u.CONTEXT_ENTITY_DASHBOARD_SPEED,B)})),P=Object(l.useSelect)((function(e){return e(k.a).isWidgetContextActive(u.CONTEXT_ENTITY_DASHBOARD_MONETIZATION,B)})),z=Object(l.useSelect)((function(e){return e(h.c).getDocumentationLinkURL("url-not-part-of-this-site")}));Object(A.a)();var H=null;return P?H=p.c:I?H=p.d:F?H=p.a:L&&(H=p.e),null===r?e.createElement("div",{className:"googlesitekit-widget-context googlesitekit-module-page googlesitekit-entity-dashboard"},e.createElement(S.a,null),e.createElement(D.a,null),e.createElement(_.e,null,e.createElement(_.k,null,e.createElement(_.a,{size:12},e.createElement(i.Fragment,null,e.createElement(b.a,{href:M,back:!0,small:!0},Object(c.__)("Back to the Site Kit Dashboard","google-site-kit")),e.createElement(O.a,{title:Object(c.__)("Detailed Page Stats","google-site-kit"),className:"googlesitekit-heading-2 googlesitekit-entity-dashboard__heading",fullWidth:!0}),e.createElement(y.a,{className:"googlesitekit-entity-dashboard__entity-header"},e.createElement(_.e,null,e.createElement(_.k,null,e.createElement(_.a,{size:12},e.createElement("p",null,Object(o.a)(Object(c.sprintf)( +/* translators: %s: current entity URL. */ +Object(c.__)("It looks like the URL %s is not part of this site or is not based on standard WordPress content types, therefore there is no data available to display. Visit our support forums or Site Kit website for support or further information.","google-site-kit"),"".concat(R,"")),{strong:e.createElement("strong",null),link1:e.createElement(b.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0}),link2:e.createElement(b.a,{href:z,external:!0}),VisuallyHidden:e.createElement(E.a,null)})))))))))),e.createElement(N.a,null)):e.createElement(i.Fragment,null,e.createElement(S.a,null),e.createElement(D.a,null),e.createElement(s.a,{subHeader:e.createElement(w.a,null),showNavigation:!0},e.createElement(f.a,null),e.createElement(g.a,null),!t&&e.createElement(x.a,null),e.createElement(m.a,null)),!t&&e.createElement(j.a,null),e.createElement(T.a,null),e.createElement(d.a,{id:p.e,slug:u.CONTEXT_ENTITY_DASHBOARD_TRAFFIC,className:a()({"googlesitekit-widget-context--last":H===p.e})}),e.createElement(d.a,{id:p.a,slug:u.CONTEXT_ENTITY_DASHBOARD_CONTENT,className:a()({"googlesitekit-widget-context--last":H===p.a})}),e.createElement(d.a,{id:p.d,slug:u.CONTEXT_ENTITY_DASHBOARD_SPEED,className:a()({"googlesitekit-widget-context--last":H===p.d})}),e.createElement(d.a,{id:p.c,slug:u.CONTEXT_ENTITY_DASHBOARD_MONETIZATION,className:a()({"googlesitekit-widget-context--last":H===p.c})}),e.createElement(N.a,null))}}).call(this,n(4))},1156:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return EntityBannerNotifications}));var r=n(1),a=n(167),i=n(45);function EntityBannerNotifications(){return e.createElement(r.Fragment,null,e.createElement(a.a,{areaSlug:i.b.BANNERS_ABOVE_NAV}))}}).call(this,n(4))},117:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(386),a=function(e,t,n){Object(r.a)((function(n){return e.includes(n.keyCode)&&t.current.contains(n.target)}),n)}},120:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(20),a=n.n(r),i=n(157),o=n.n(i),c=n(11),l=n.n(c),s=n(0),u=n.n(s),d=n(2),f=n(10),g=n(158),m=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,s=t.primaryProps,u=t.size,p=t.step,h=t.tooltipProps,v=u>1?Object(g.a)(u):[],b=function(e){return l()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",a()({className:l()("googlesitekit-tour-tooltip",p.className)},h),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(i.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},v.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:b(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(f.Button,a()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,s.title&&e.createElement(f.Button,a()({className:"googlesitekit-tooltip-button",text:!0},s),s.title))),e.createElement(f.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},121:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(14),a=function(e){return Object(r.isFinite)(e)?e:0}},123:function(e,t,n){"use strict";n.d(t,"c",(function(){return s})),n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r,a=n(7),i=n.n(a),o=n(47),c=n(175),l=n(162),s=(r={},i()(r,o.c.QUARTER,3),i()(r,o.c.HALF,6),i()(r,o.c.FULL,12),r),u="googlesitekit-hidden",d=[c.a,l.a]},124:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(20),a=n.n(r),i=n(7),o=n.n(i),c=n(25),l=n.n(c),s=n(0),u=n.n(s),d=n(11),f=n.n(d);function Cell(t){var n,r=t.className,i=t.alignTop,c=t.alignMiddle,s=t.alignBottom,u=t.alignRight,d=t.alignLeft,g=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,h=t.smSize,v=t.smStart,b=t.smOrder,E=t.mdSize,_=t.mdStart,O=t.mdOrder,y=t.lgSize,k=t.lgStart,j=t.lgOrder,S=t.size,w=t.children,x=l()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",a()({},x,{className:f()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":i,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":s,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":g,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},o()(n,"mdc-layout-grid__cell--span-".concat(S),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(y,"-desktop"),12>=y&&y>0),o()(n,"mdc-layout-grid__cell--start-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--order-".concat(j,"-desktop"),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(E,"-tablet"),8>=E&&E>0),o()(n,"mdc-layout-grid__cell--start-".concat(_,"-tablet"),8>=_&&_>0),o()(n,"mdc-layout-grid__cell--order-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--span-".concat(h,"-phone"),4>=h&&h>0),o()(n,"mdc-layout-grid__cell--start-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--order-".concat(b,"-phone"),4>=b&&b>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(20),a=n.n(r),i=n(25),o=n.n(i),c=n(0),l=n.n(c),s=n(11),u=n.n(s),d=n(1),f=Object(d.forwardRef)((function(t,n){var r=t.className,i=t.children,c=o()(t,["className","children"]);return e.createElement("div",a()({ref:n,className:u()("mdc-layout-grid__inner",r)},c),i)}));f.displayName="Row",f.propTypes={className:l.a.string,children:l.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},126:function(e,t,n){"use strict";(function(e){var r=n(20),a=n.n(r),i=n(25),o=n.n(i),c=n(0),l=n.n(c),s=n(11),u=n.n(s),d=n(1),f=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,i=t.fill,c=t.className,l=t.children,s=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",a()({className:u()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":s,"mdc-layout-grid--fill":i})},d,{ref:n}),l)}));f.displayName="Grid",f.propTypes={alignLeft:l.a.bool,fill:l.a.bool,className:l.a.string,collapsed:l.a.bool,children:l.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},1266:function(e,t,n){"use strict";n.r(t),function(e){var t=n(332),r=n(144),a=n(1155),i=n(219),o=n(22);Object(t.a)((function(){var t=document.getElementById("js-googlesitekit-entity-dashboard");if(t){var n=t.dataset.viewOnly;Object(r.render)(e.createElement(i.a,{viewContext:n?o.m:o.l},e.createElement(a.a,null)),t)}}))}.call(this,n(4))},127:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(a=e.sent,i=a.cacheHit,o=a.value,!i){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e)})),createSnapshot:l.a.mark((function e(){var t;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},i=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(g.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(g.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(g.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:i,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,i=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=i.snapshot,c=(o.error,a()(o,["error"]));return c;default:return e}}}},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(h(e).map((function(e){return e.getActions().createSnapshot()})))},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(h(e).map((function(e){return e.getActions().restoreSnapshot()})))}},133:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i),c=n(39),l=n(2),s=n(21),u=n(36);function SourceLink(t){var n=t.name,r=t.href,a=t.className,i=t.external;return Object(u.a)()?null:e.createElement("div",{className:o()("googlesitekit-source-link",a)},Object(c.a)(Object(l.sprintf)( +/* translators: %s: source link */ +Object(l.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(s.a,{key:"link",href:r,external:i})}))}SourceLink.propTypes={name:a.a.string,href:a.a.string,className:a.a.string,external:a.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},134:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportErrorActions}));var r=n(7),a=n.n(r),i=n(0),o=n.n(i),c=n(1),l=n(39),s=n(2),u=n(3),d=n(10),f=n(13),g=n(19),m=n(35),p=n(36),h=n(21);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(h.a,{href:A,external:!0,hideExternalIndicator:!0},Object(s.__)("Get help","google-site-kit"))}))),!N&&!i&&e.createElement("div",{className:_},"function"==typeof a?e.createElement(a,{linkURL:A}):e.createElement(h.a,{href:A,external:!0,hideExternalIndicator:!0},Object(s.__)("Get help","google-site-kit"))))}ReportErrorActions.propTypes={moduleSlug:o.a.string.isRequired,error:o.a.oneOfType([o.a.arrayOf(o.a.object),o.a.object]).isRequired,GetHelpLink:o.a.elementType,hideGetHelpLink:o.a.bool,buttonVariant:o.a.string,onRetry:o.a.func,onRequestAccess:o.a.func,getHelpClassName:o.a.string,RequestAccessButton:o.a.elementType,RetryButton:o.a.elementType}}).call(this,n(4))},136:function(e,t,n){"use strict";var r=n(1),a=Object(r.createContext)(!1);t.a=a},138:function(e,t,n){"use strict";var r=n(166);n.d(t,"c",(function(){return r.a}));var a=n(63);n.d(t,"b",(function(){return a.c})),n.d(t,"a",(function(){return a.a}))},139:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},a=n.slug,i=void 0===a?"":a,o=n.name,c=void 0===o?"":o,l=n.owner,s=void 0===l?{}:l;if(!i||!c)return e;var u="",d="";return"analytics-4"===i?e.match(/account/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===i&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),u||(u=Object(r.sprintf)( +/* translators: %s: module name */ +Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),c)),s&&s.login&&(d=Object(r.sprintf)( +/* translators: %s: owner name */ +Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),s.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(u," ").concat(d)}},17:function(e,t,n){"use strict";var r=n(248);n.d(t,"i",(function(){return r.a}));var a=n(318);n.d(t,"f",(function(){return a.a}));var i=n(319);n.d(t,"h",(function(){return i.a}));var o=n(320);n.d(t,"j",(function(){return o.a}));var c=n(317);n.d(t,"g",(function(){return c.a}));var l=n(91),s=n.n(l);n.d(t,"b",(function(){return s.a})),n.d(t,"c",(function(){return l.DialogContent})),n.d(t,"d",(function(){return l.DialogFooter}));var u=n(102);n.d(t,"a",(function(){return u.a})),n.d(t,"e",(function(){return u.b})),n.d(t,"k",(function(){return u.c}))},170:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportError}));var r=n(7),a=n.n(r),i=n(0),o=n.n(i),c=n(14),l=n(1),s=n(2),u=n(3),d=n(19),f=n(35),g=n(169),m=n(83),p=n(57),h=n(92),v=n(134),b=n(36);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;t1&&(n=Object(s.sprintf)( +/* translators: %s: module name */ +Object(s.__)("Data errors in %s","google-site-kit"),null==o?void 0:o.name)):n=Object(s.sprintf)( +/* translators: %s: module name */ +Object(s.__)("Data error in %s","google-site-kit"),null==o?void 0:o.name);var j=e.createElement(l.Fragment,null,y.map((function(t){var n,r=null==a||null===(n=a.data)||void 0===n?void 0:n.reconnectURL;return r?e.createElement(p.a,{key:t.message,message:t.message,reconnectURL:r}):e.createElement("p",{key:t.message},m.a.sanitize(t.message,{ALLOWED_TAGS:[]}))})));return e.createElement(h.a,{title:n,description:j,error:!0},e.createElement(v.a,{moduleSlug:r,error:a}))}ReportError.propTypes={moduleSlug:o.a.string.isRequired,error:o.a.oneOfType([o.a.arrayOf(o.a.object),o.a.object]).isRequired}}).call(this,n(4))},171:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GenericErrorHandlerActions}));var r=n(0),a=n.n(r),i=n(2),o=n(21),c=n(191);function GenericErrorHandlerActions(t){var n=t.message,r=t.componentStack;return e.createElement("div",{className:"googlesitekit-generic-error-handler-actions"},e.createElement(c.a,{message:n,componentStack:r}),e.createElement(o.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0},Object(i.__)("Report this problem","google-site-kit")))}GenericErrorHandlerActions.propTypes={message:a.a.string,componentStack:a.a.string}}).call(this,n(4))},172:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(22),a=function(e){return r.f.includes(e)}},173:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i),c=n(1),l=n(141),s=n(66),u=n(17),d=Object(c.forwardRef)((function(t,n){var r=t.className,a=t.title,i=t.description,c=t.dismissCTA,d=t.additionalCTA,f=t.type,g=void 0===f?"success":f,m=t.icon;return e.createElement(u.e,{ref:n},e.createElement(u.k,null,e.createElement(u.a,{alignMiddle:!0,size:12,className:o()("googlesitekit-subtle-notification",r,{"googlesitekit-subtle-notification--success":"success"===g,"googlesitekit-subtle-notification--warning":"warning"===g})},e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},m,"success"===g&&!m&&e.createElement(l.a,{width:24,height:24}),"warning"===g&&!m&&e.createElement(s.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,a),e.createElement("p",{className:"googlesitekit-subtle-notification__secondary_description"},i)),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},c,d))))}));d.propTypes={className:a.a.string,title:a.a.node.isRequired,description:a.a.node,dismissCTA:a.a.node,additionalCTA:a.a.node,type:a.a.string,icon:a.a.object},t.a=d}).call(this,n(4))},174:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LoadingWrapper}));var r=n(7),a=n.n(r),i=n(25),o=n.n(i),c=n(0),l=n.n(c),s=n(42);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function LoadingWrapper(t){var n=t.loading,r=t.children,a=o()(t,["loading","children"]);return n?e.createElement(s.a,a):r}LoadingWrapper.propTypes=function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:e,i=Object(c.useState)(Object(l.a)(r.location.href,t)||n),u=o()(i,2),d=u[0],f=u[1],g=function(e){f(e);var n=Object(s.a)(r.location.href,a()({},t,e));r.history.replaceState(null,"",n)};return[d,g]}}).call(this,n(28))},19:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a}));var r="core/modules",a="insufficient_module_dependencies"},190:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;tHelp us improve Site Kit by sharing anonymous usage data. All collected data is treated in accordance with the Google Privacy Policy.","google-site-kit"),{a:e.createElement(b.a,{key:"link",href:"https://policies.google.com/privacy",external:!0}),span:e.createElement("span",null)})),(null==j?void 0:j.message)&&e.createElement("div",{className:"googlesitekit-error-text"},null==j?void 0:j.message))}OptIn.propTypes={id:l.a.string,name:l.a.string,className:l.a.string,trackEventCategory:l.a.string,alignLeftCheckbox:l.a.bool}}).call(this,n(4))},215:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Item}));var r=n(0),a=n.n(r);function Item(t){var n=t.icon,r=t.label;return e.createElement("div",{className:"googlesitekit-user-menu__item"},e.createElement("div",{className:"googlesitekit-user-menu__item-icon"},n),e.createElement("span",{className:"googlesitekit-user-menu__item-label"},r))}Item.propTypes={icon:a.a.node,label:a.a.string}}).call(this,n(4))},217:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(5),a=n.n(r),i=n(16),o=n.n(i),c=n(1),l=n(3),s=n(13),u=n(23);function d(e){var t=Object(l.useDispatch)(u.b).setValue,n=Object(l.useSelect)((function(e){return e(s.c).hasMinimumWordPressVersion("6.2")})),r=Object(l.useSelect)((function(e){return e(s.c).hasMinimumWordPressVersion("6.4")}));return Object(c.useCallback)(o()(a.a.mark((function i(){var o,c,l,s;return a.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(o=document.querySelector("#adminmenu").offsetHeight>0){a.next=7;break}if(!(c=document.getElementById("wp-admin-bar-menu-toggle"))){a.next=7;break}return c.firstChild.click(),a.next=7,new Promise((function(e){setTimeout(e,0)}));case 7:"#adminmenu [href*='page=googlesitekit-dashboard']",(l=!!document.querySelector("".concat("#adminmenu [href*='page=googlesitekit-dashboard']","[aria-haspopup=true]")))&&document.querySelector("#adminmenu [href*='page=googlesitekit-dashboard']").click(),n&&!r&&(s=document.hasFocus,document.hasFocus=function(){return document.hasFocus=s,!1}),t(e,{isTooltipVisible:!0,rehideAdminMenu:!o,rehideAdminSubMenu:l});case 12:case"end":return a.stop()}}),i)}))),[n,r,t,e])}},218:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdminMenuTooltip}));var r=n(7),a=n.n(r),i=n(20),o=n.n(i),c=n(5),l=n.n(c),s=n(16),u=n.n(s),d=n(25),f=n.n(d),g=n(1),m=n(0),p=n.n(m),h=n(3),v=n(205),b=n(23),E=n(156);function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t0&&(null===(t=document.getElementById("wp-admin-bar-menu-toggle"))||void 0===t||t.click()),d&&document.querySelector("body").click(),e.next=4,null==n?void 0:n();case 4:i(r,void 0);case 5:case"end":return e.stop()}}),e)}))),[n,s,d,i,r]);return e.createElement(v.a,o()({slug:"ga4-activation-banner-admin-menu-tooltip",onDismiss:m},a))}AdminMenuTooltip.propTypes=O(O({},v.a.propTypes),{},{target:p.a.string,tooltipStateKey:p.a.string.isRequired}),AdminMenuTooltip.defaultProps={target:'#adminmenu [href*="page=googlesitekit-settings"]'}}).call(this,n(4))},219:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Root}));var r=n(15),a=n.n(r),i=n(0),o=n.n(i),c=n(425),l=n(529),s=n(1),u=n(3),d=n.n(u),f=n(220),g=n(221),m=n(38),p=n(222),h=n(224),v=n(225),b=n(59),E=n(159),_=n(172);function Root(t){var n=t.children,r=t.registry,i=t.viewContext,o=void 0===i?null:i,d=c.a,O=Object(s.useState)({key:"Root",value:!0}),y=a()(O,1)[0];return e.createElement(s.StrictMode,null,e.createElement(E.a,{value:y},e.createElement(u.RegistryProvider,{value:r},e.createElement(g.a,{value:m.a},e.createElement(b.a,{value:o},e.createElement(l.a,{theme:d()},e.createElement(f.a,null,e.createElement(h.a,null,n,o&&e.createElement(v.a,null)),Object(_.a)(o)&&e.createElement(p.a,null))))))))}Root.propTypes={children:o.a.node,registry:o.a.object,viewContext:o.a.string.isRequired},Root.defaultProps={registry:d.a}}).call(this,n(4))},22:function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return a})),n.d(t,"o",(function(){return i})),n.d(t,"m",(function(){return o})),n.d(t,"t",(function(){return c})),n.d(t,"h",(function(){return l})),n.d(t,"s",(function(){return s})),n.d(t,"i",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return f})),n.d(t,"k",(function(){return g})),n.d(t,"u",(function(){return m})),n.d(t,"v",(function(){return p})),n.d(t,"q",(function(){return h})),n.d(t,"p",(function(){return v})),n.d(t,"b",(function(){return b})),n.d(t,"e",(function(){return E})),n.d(t,"a",(function(){return _})),n.d(t,"d",(function(){return O})),n.d(t,"c",(function(){return y})),n.d(t,"f",(function(){return k})),n.d(t,"g",(function(){return j}));var r="mainDashboard",a="entityDashboard",i="mainDashboardViewOnly",o="entityDashboardViewOnly",c="userInput",l="activation",s="splash",u="adminBar",d="adminBarViewOnly",f="settings",g="adBlockingRecovery",m="wpDashboard",p="wpDashboardViewOnly",h="moduleSetup",v="metricSelection",b="key-metrics",E="traffic",_="content",O="speed",y="monetization",k=[r,a,i,o,c,s,f,h,v],j=[i,o,d,p]},220:function(e,t,n){"use strict";(function(e,r){var a=n(52),i=n.n(a),o=n(53),c=n.n(o),l=n(68),s=n.n(l),u=n(69),d=n.n(u),f=n(49),g=n.n(f),m=n(0),p=n.n(m),h=n(1),v=n(2),b=n(171),E=n(59),_=n(95),O=n(9);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var a=g()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return d()(this,n)}}var k=function(t){s()(ErrorHandler,t);var n=y(ErrorHandler);function ErrorHandler(e){var t;return i()(this,ErrorHandler),(t=n.call(this,e)).state={error:null,info:null,copied:!1},t}return c()(ErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Caught an error:",t,n),this.setState({error:t,info:n}),Object(O.J)("react_error","handle_".concat(this.context||"unknown","_error"),"".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,a=t.info;return n?r.createElement(_.b,{id:"googlesitekit-error",className:"googlesitekit-error-handler",title:Object(v.__)("Site Kit encountered an error","google-site-kit"),description:r.createElement(b.a,{message:n.message,componentStack:a.componentStack}),isDismissible:!1,format:"small",type:"win-error"},r.createElement("pre",{className:"googlesitekit-overflow-auto"},n.message,a.componentStack)):e}}]),ErrorHandler}(h.Component);k.contextType=E.b,k.propTypes={children:p.a.node.isRequired},t.a=k}).call(this,n(28),n(4))},221:function(e,t,n){"use strict";var r=n(115),a=(r.a.Consumer,r.a.Provider);t.a=a},222:function(e,t,n){"use strict";(function(e){var r=n(3),a=n(223),i=n(6);t.a=function PermissionsModal(){return Object(r.useSelect)((function(e){return e(i.a).isAuthenticated()}))?e.createElement(a.a,null):null}}).call(this,n(4))},223:function(e,t,n){"use strict";(function(e,r){var a=n(5),i=n.n(a),o=n(16),c=n.n(o),l=n(2),s=n(1),u=n(3),d=n(112),f=n(29),g=n(32),m=n(6),p=n(130),h=n(73);t.a=function AuthenticatedPermissionsModal(){var t,n,a,o,v=Object(u.useRegistry)(),b=Object(u.useSelect)((function(e){return e(m.a).getPermissionScopeError()})),E=Object(u.useSelect)((function(e){return e(m.a).getUnsatisfiedScopes()})),_=Object(u.useSelect)((function(t){var n,r,a;return t(m.a).getConnectURL({additionalScopes:null==b||null===(n=b.data)||void 0===n?void 0:n.scopes,redirectURL:(null==b||null===(r=b.data)||void 0===r?void 0:r.redirectURL)||e.location.href,errorRedirectURL:null==b||null===(a=b.data)||void 0===a?void 0:a.errorRedirectURL})})),O=Object(u.useDispatch)(m.a).clearPermissionScopeError,y=Object(u.useDispatch)(g.a).navigateTo,k=Object(u.useDispatch)(f.a).setValues,j=Object(s.useCallback)((function(){O()}),[O]),S=Object(s.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(m.d,{permissionsError:b}),e.next=3,Object(p.c)(v);case 3:y(_);case 4:case"end":return e.stop()}}),e)}))),[v,_,y,b,k]);return Object(s.useEffect)((function(){(function(){var e=c()(i.a.mark((function e(){var t,n,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(null==b||null===(t=b.data)||void 0===t?void 0:t.skipModal)||!(null==b||null===(n=b.data)||void 0===n||null===(r=n.scopes)||void 0===r?void 0:r.length)){e.next=3;break}return e.next=3,S();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}),[S,b]),b?(null==b||null===(t=b.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.length)?(null==b||null===(a=b.data)||void 0===a?void 0:a.skipModal)||E&&(null==b||null===(o=b.data)||void 0===o?void 0:o.scopes.every((function(e){return E.includes(e)})))?null:r.createElement(h.a,null,r.createElement(d.a,{title:Object(l.__)("Additional Permissions Required","google-site-kit"),subtitle:b.message,confirmButton:Object(l.__)("Proceed","google-site-kit"),dialogActive:!0,handleConfirm:S,handleDialog:j,medium:!0})):(e.console.warn("permissionsError lacks scopes array to use for redirect, so not showing the PermissionsModal. permissionsError was:",b),null):null}}).call(this,n(28),n(4))},224:function(e,t,n){"use strict";var r=n(5),a=n.n(r),i=n(16),o=n.n(i),c=n(15),l=n.n(c),s=n(1),u=n(3),d=n(130);t.a=function RestoreSnapshots(e){var t=e.children,n=Object(u.useRegistry)(),r=Object(s.useState)(!1),i=l()(r,2),c=i[0],f=i[1];return Object(s.useEffect)((function(){c||o()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(n);case 2:f(!0);case 3:case"end":return e.stop()}}),e)})))()}),[n,c]),c?t:null}},225:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return FeatureTours}));var a=n(85),i=n(1),o=n(3),c=n(6),l=n(18),s=n(94);function FeatureTours(){var t=Object(l.a)(),n=Object(o.useDispatch)(c.a).triggerTourForView;Object(a.a)((function(){n(t)}));var u=Object(o.useSelect)((function(e){return e(c.a).getCurrentTour()}));return Object(i.useEffect)((function(){if(u){var t=document.getElementById("js-googlesitekit-main-dashboard");if(t){var n=new ResizeObserver((function(){e.dispatchEvent(new Event("resize"))}));return n.observe(t),function(){n.disconnect()}}}}),[u]),u?r.createElement(s.a,{tourID:u.slug,steps:u.steps,gaEventCategory:u.gaEventCategory,callback:u.callback}):null}}).call(this,n(28),n(4))},226:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WarningNotice}));var r=n(11),a=n.n(r),i=n(0),o=n.n(i);function WarningNotice(t){var n=t.children,r=t.className;return e.createElement("div",{className:a()("googlesitekit-warning-notice",r)},n)}WarningNotice.propTypes={children:o.a.node.isRequired,className:o.a.string}}).call(this,n(4))},227:function(e,t,n){"use strict";(function(e){var r=n(15),a=n.n(r),i=n(0),o=n.n(i),c=n(11),l=n.n(c),s=n(583),u=n(2),d=n(1),f=n(3),g=n(249),m=n(271),p=n(275),h=n(6),v=n(17),b=n(280),E=n(287),_=n(289),O=n(36),y=n(54),k=n(21),j=n(295),S=n(13),w=n(296);function Header(t){var n,r=t.children,i=t.subHeader,o=t.showNavigation,c=!!Object(y.c)(),x=Object(O.a)();Object(w.a)();var C=Object(f.useSelect)((function(e){return e(S.c).getAdminURL("googlesitekit-dashboard")})),N=Object(f.useSelect)((function(e){return e(h.a).isAuthenticated()})),A=Object(s.a)({childList:!0}),T=a()(A,2),D=T[0],R=!!(null===(n=T[1].target)||void 0===n?void 0:n.childElementCount);return e.createElement(d.Fragment,null,e.createElement("header",{className:l()("googlesitekit-header",{"googlesitekit-header--has-subheader":R,"googlesitekit-header--has-navigation":o})},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{smSize:1,mdSize:2,lgSize:4,className:"googlesitekit-header__logo",alignMiddle:!0},e.createElement(k.a,{"aria-label":Object(u.__)("Go to dashboard","google-site-kit"),className:"googlesitekit-header__logo-link",href:C},e.createElement(g.a,null))),e.createElement(v.a,{smSize:3,mdSize:6,lgSize:8,className:"googlesitekit-header__children",alignMiddle:!0},r,!N&&c&&x&&e.createElement(_.a,null),N&&!x&&e.createElement(m.a,null))))),e.createElement("div",{className:"googlesitekit-subheader",ref:D},e.createElement(p.a,null),i),o&&e.createElement(b.a,null),c&&e.createElement(j.a,null),e.createElement(E.a,null))}Header.displayName="Header",Header.propTypes={children:o.a.node,subHeader:o.a.element,showNavigation:o.a.bool},Header.defaultProps={children:null,subHeader:null},t.a=Header}).call(this,n(4))},228:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return HelpMenu}));var r=n(15),a=n.n(r),i=n(0),o=n.n(i),c=n(210),l=n(1),s=n(56),u=n(2),d=n(3),f=n(10),g=n(297),m=n(117),p=n(9),h=n(163),v=n(19),b=n(18),E=n(13);function HelpMenu(t){var n=t.children,r=Object(l.useState)(!1),i=a()(r,2),o=i[0],_=i[1],O=Object(l.useRef)(),y=Object(b.a)();Object(c.a)(O,(function(){return _(!1)})),Object(m.a)([s.c,s.f],O,(function(){return _(!1)}));var k=Object(d.useSelect)((function(e){return e(v.a).isModuleActive("adsense")})),j=Object(l.useCallback)((function(){o||Object(p.J)("".concat(y,"_headerbar"),"open_helpmenu"),_(!o)}),[o,y]),S=Object(l.useCallback)((function(){_(!1)}),[]),w=Object(d.useSelect)((function(e){return e(E.c).getDocumentationLinkURL("fix-common-issues")}));return e.createElement("div",{ref:O,className:"googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},e.createElement(f.Button,{"aria-controls":"googlesitekit-help-menu","aria-expanded":o,"aria-label":Object(u.__)("Help","google-site-kit"),"aria-haspopup":"menu",className:"googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon googlesitekit-help-menu__button mdc-button--dropdown",icon:e.createElement(g.a,{width:"20",height:"20"}),onClick:j,text:!0,tooltipEnterDelayInMS:500}),e.createElement(f.Menu,{className:"googlesitekit-width-auto",menuOpen:o,id:"googlesitekit-help-menu",onSelected:S},n,e.createElement(h.a,{gaEventLabel:"fix_common_issues",href:w},Object(u.__)("Fix common issues","google-site-kit")),e.createElement(h.a,{gaEventLabel:"documentation",href:"https://sitekit.withgoogle.com/documentation/"},Object(u.__)("Read help docs","google-site-kit")),e.createElement(h.a,{gaEventLabel:"support_forum",href:"https://wordpress.org/support/plugin/google-site-kit/"},Object(u.__)("Get support","google-site-kit")),k&&e.createElement(h.a,{gaEventLabel:"adsense_help",href:"https://support.google.com/adsense/"},Object(u.__)("Get help with AdSense","google-site-kit"))))}HelpMenu.propTypes={children:o.a.node}}).call(this,n(4))},23:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}));var r="core/ui",a="activeContextID"},230:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return OverlayNotification}));var r=n(584),a=n(11),i=n.n(a),o=n(0),c=n.n(o),l=n(1),s=n(3),u=n(23),d=n(24);function OverlayNotification(t){var n=t.className,a=t.children,o=t.GraphicDesktop,c=t.GraphicMobile,f=t.notificationID,g=t.onShow,m=t.shouldShowNotification,p=Object(d.e)(),h=Object(s.useSelect)((function(e){return e(u.b).isShowingOverlayNotification(f)})),v=Object(s.useDispatch)(u.b).setOverlayNotificationToShow;if(Object(l.useEffect)((function(){m&&!h&&(v(f),null==g||g())}),[h,f,g,v,m]),!m||!h)return null;var b=i()("googlesitekit-overlay-notification",n);return p===d.b?e.createElement("div",{className:b},a,c&&e.createElement(c,null)):e.createElement(r.a,{direction:"up",in:h},e.createElement("div",{className:b},o&&e.createElement(o,null),a))}OverlayNotification.propTypes={className:c.a.string,children:c.a.node,GraphicDesktop:c.a.elementType,GraphicMobile:c.a.elementType,onShow:c.a.func,notificationID:c.a.string.isRequired,shouldShowNotification:c.a.bool}}).call(this,n(4))},236:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return m})),n.d(t,"c",(function(){return h})),n.d(t,"b",(function(){return v}));var r=n(20),a=n.n(r),i=n(60),o=n.n(i),c=n(261),l=n(321),s=n(322),u=n(237),d=n(262),f=n(323),g=n(1),m=o()((function(e){return{widgetSlug:e,Widget:p(e)(c.a),WidgetRecoverableModules:p(e)(d.a),WidgetReportZero:p(e)(l.a),WidgetReportError:p(e)(s.a),WidgetNull:p(e)(u.a)}}));function p(t){return function(n){var r=Object(g.forwardRef)((function(r,i){return e.createElement(n,a()({},r,{ref:i,widgetSlug:t}))}));return r.displayName="WithWidgetSlug",(n.displayName||n.name)&&(r.displayName+="(".concat(n.displayName||n.name,")")),r}}var h=function(t){var n=m(t);return function(t){function DecoratedComponent(r){return e.createElement(t,a()({},r,n))}return DecoratedComponent.displayName="WithWidgetComponentProps",(t.displayName||t.name)&&(DecoratedComponent.displayName+="(".concat(t.displayName||t.name,")")),DecoratedComponent}},v=function(t){return function(n){function DecoratedComponent(r){return e.createElement(n,a()({},r,{WPDashboardReportError:p(t)(f.a)}))}return DecoratedComponent.displayName="WithWPDashboardWidgetComponentProps",(n.displayName||n.name)&&(DecoratedComponent.displayName+="(".concat(n.displayName||n.name,")")),DecoratedComponent}}}).call(this,n(4))},237:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetNull}));var r=n(7),a=n.n(r),i=n(0),o=n.n(i),c=n(140),l=n(74);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var u={};function WidgetNull(t){var n=t.widgetSlug;return Object(c.a)(n,l.a,u),e.createElement(l.a,null)}WidgetNull.propTypes=function(e){for(var t=1;t=0;)3===e[n]?(t-=3,e[n]=4):6===e[n]&&(t-=6,e[n]=8),n--;return[e,t]}function d(e,t){return(Array.isArray(t.width)?t.width:[t.width]).map((function(t){return{counter:e+c.c[t],width:t}}))}function f(e,t){var n=[],r=[];if(!(null==e?void 0:e.length))return{columnWidths:n,rowIndexes:r};var i=0,o=0,l=function(e,t){return e.counter-t.counter},f=function(e,t){var n=e.counter;return t.counter-n},g=function(e){return e.counter<=12};if(e.forEach((function(m,p){if(s(t[m.slug]))return n.push(0),void r.push(o);var h=d(i,m),v=function(e,t,n){for(;++e12){if(i-=c.c[b],r[p]++,9===i){var E=u(n,i),_=a()(E,2);n=_[0],i=_[1]}i=c.c[b],o++}else 12===i&&(i=0,o++);n.push(c.c[b])})),9===i){var m=u(n,i),p=a()(m,2);n=p[0],i=p[1]}return{columnWidths:n,rowIndexes:r}}var g=n(14);function m(e,t,n){var r=n.columnWidths,a=n.rowIndexes,i=[],l=o()(r);if(!(null==e?void 0:e.length))return{gridColumnWidths:l,overrideComponents:i};var s=null,u=-1,d=[];if(function(e,t){for(var n={},r=0;r1)}(e,t)){var f=Array.from({length:e.length-1}).fill(0);return{overrideComponents:[t[e[0].slug]],gridColumnWidths:[12].concat(o()(f))}}return e.forEach((function(n,o){var c,f,m,p,h;if(i.push(null),s=t[n.slug],u=a[o],s)if(f=s,m=t[null===(c=e[o+1])||void 0===c?void 0:c.slug],p=u,h=a[o+1],p===h&&Object(g.isEqual)(f,m))d.push(r[o]),l[o]=0;else if(d.length>0){d.push(r[o]);var v=d.reduce((function(e,t){return e+t}),0);i[o]=s,l[o]=v,d=[]}})),{gridColumnWidths:l,overrideComponents:i}}var p=n(236);function h(e){return(Array.isArray(e)?e:[e]).filter((function(e){return"string"==typeof e&&e.length>0}))}},24:function(e,t,n){"use strict";n.d(t,"d",(function(){return a})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"b",(function(){return c})),n.d(t,"e",(function(){return l}));var r=n(77),a="xlarge",i="desktop",o="tablet",c="small";function l(){var e=Object(r.a)();return e>1280?a:e>960?i:e>600?o:c}},243:function(e,t,n){"use strict";(function(e){var r=n(15),a=n.n(r),i=n(1);t.a=function(t,n){var r=Object(i.useState)(null),o=a()(r,2),c=o[0],l=o[1];return Object(i.useEffect)((function(){if(t.current&&"function"==typeof e.IntersectionObserver){var r=new e.IntersectionObserver((function(e){l(e[e.length-1])}),n);return r.observe(t.current),function(){l(null),r.disconnect()}}return function(){}}),[t.current,n.threshold,n.root,n.rootMargin]),c}}).call(this,n(28))},244:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Description}));var r=n(0),a=n.n(r),i=n(1),o=n(9),c=n(57);function Description(t){var n=t.className,r=void 0===n?"googlesitekit-publisher-win__desc":n,a=t.text,l=t.learnMoreLink,s=t.errorText;return e.createElement(i.Fragment,null,e.createElement("div",{className:r},e.createElement("p",null,e.createElement("span",{dangerouslySetInnerHTML:Object(o.G)(a,{ALLOWED_TAGS:["strong","em","br","a"],ALLOWED_ATTR:["href"]})})," ",l)),s&&e.createElement(c.a,{message:s}))}Description.propTypes={className:a.a.string,text:a.a.string,learnMoreLink:a.a.node,errorText:a.a.string}}).call(this,n(4))},249:function(e,t,n){"use strict";(function(e){var r=n(2),a=n(139),i=n(250),o=n(103);t.a=function Logo(){return e.createElement("div",{className:"googlesitekit-logo","aria-hidden":"true"},e.createElement(a.a,{className:"googlesitekit-logo__logo-g",height:"34",width:"32"}),e.createElement(i.a,{className:"googlesitekit-logo__logo-sitekit",height:"26",width:"99"}),e.createElement(o.a,null,Object(r.__)("Site Kit by Google Logo","google-site-kit")))}}).call(this,n(4))},250:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nSign in to connect more services and control sharing access.","google-site-kit"),{strong:e.createElement("strong",null)}):Object(l.a)(Object(s.__)("You can see stats from all shared Google services, but you can't make any changes. Learn more","google-site-kit"),{a:e.createElement(h.a,{href:i,external:!0,onClick:O,"aria-label":Object(s.__)("Learn more about dashboard sharing","google-site-kit")})});return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item googlesitekit-view-only-menu__description"},e.createElement("p",null,y),n&&e.createElement(d.Button,{onClick:_},Object(s._x)("Sign in with Google","Service name","google-site-kit")))}}).call(this,n(4))},292:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SharedServices}));var r=n(2),a=n(3),i=n(6),o=n(293);function SharedServices(){var t=Object(a.useSelect)((function(e){return e(i.a).getViewableModules()}));return void 0===t?null:e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("h4",null,Object(r.__)("Shared services","google-site-kit")),e.createElement("ul",null,t.map((function(t){return e.createElement(o.a,{key:t,module:t})}))))}}).call(this,n(4))},293:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Service}));var r=n(0),a=n.n(r),i=n(39),o=n(2),c=n(3),l=n(19),s=n(6);function Service(t){var n=t.module,r=Object(c.useSelect)((function(e){return e(s.a).hasCapability(s.H)})),a=Object(c.useSelect)((function(e){return e(l.a).getModule(n)||{}})),u=a.name,d=a.owner,f=Object(c.useSelect)((function(e){return e(l.a).getModuleIcon(n)}));return e.createElement("li",{className:"googlesitekit-view-only-menu__service"},e.createElement("span",{className:"googlesitekit-view-only-menu__service--icon"},e.createElement(f,{height:26})),e.createElement("span",{className:"googlesitekit-view-only-menu__service--name"},u),r&&(null==d?void 0:d.login)&&e.createElement("span",{className:"googlesitekit-view-only-menu__service--owner"},Object(i.a)(Object(o.sprintf)( +/* translators: %s: module owner Google Account email address */ +Object(o.__)("Shared by %s","google-site-kit"),d.login),{strong:e.createElement("strong",{title:d.login})})))}Service.propTypes={module:a.a.string.isRequired}}).call(this,n(4))},294:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Tracking}));var r=n(39),a=n(2),i=n(214),o=n(18);function Tracking(){var t=Object(o.a)();return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("p",null,Object(r.a)(Object(a.__)("Thanks for using Site Kit!
Help us make it even better","google-site-kit"),{br:e.createElement("br",null)})),e.createElement(i.a,{trackEventCategory:"".concat(t,"_headerbar_viewonly"),alignCheckboxLeft:!0}))}}).call(this,n(4))},295:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SubtleNotifications}));var r=n(167),a=n(45);function SubtleNotifications(){return e.createElement(r.a,{areaSlug:a.b.BANNERS_BELOW_NAV})}}).call(this,n(4))},296:function(e,t,n){"use strict";n.d(t,"a",(function(){return g}));var r=n(5),a=n.n(r),i=n(16),o=n.n(i),c=n(1),l=n(3),s=n(13),u=n(18),d=n(34),f=n(9),g=function(){var e=Object(u.a)(),t=Object(l.useSelect)((function(e){return e(s.c).isUsingProxy()})),n=Object(l.useSelect)((function(e){return e(s.c).getSetupErrorMessage()}));Object(c.useEffect)((function(){n||void 0===t||function(){var n=o()(a.a.mark((function n(){var r,i;return a.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Object(d.d)("start_user_setup");case 2:return r=n.sent,n.next=5,Object(d.d)("start_site_setup");case 5:if(i=n.sent,!r.cacheHit){n.next=10;break}return n.next=9,Object(d.c)("start_user_setup");case 9:Object(f.J)("".concat(e,"_setup"),"complete_user_setup",t?"proxy":"custom-oauth");case 10:if(!i.cacheHit){n.next=14;break}return n.next=13,Object(d.c)("start_site_setup");case 13:Object(f.J)("".concat(e,"_setup"),"complete_site_setup",t?"proxy":"custom-oauth");case 14:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()}),[e,t,n])}},297:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},o=i.ttl,l=void 0===o?c.b:o,s=i.timestamp,u=void 0===s?Math.round(Date.now()/1e3):s,d=i.isError,g=void 0!==d&&d,t.next=3,h();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(f).concat(n),JSON.stringify({timestamp:u,ttl:l,value:r,isError:g})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),_=function(){var t=o()(a.a.mark((function t(n){var r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,i=n.startsWith(d)?n:"".concat(f).concat(n),r.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),O=function(){var t=o()(a.a.mark((function t(){var n,r,i,o;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:0;Object(r.useEffect)((function(){var r,a=!1,i=function(){r=e.setTimeout((function(){a=!0}),n)},o=function(){e.clearTimeout(r),a&&(a=!1,t())};return e.addEventListener("focus",o),e.addEventListener("blur",i),function(){e.removeEventListener("focus",o),e.removeEventListener("blur",i),e.clearTimeout(r)}}),[n,t])}}).call(this,n(28))},36:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(22),a=n(18);function i(){var e=Object(a.a)();return r.g.includes(e)}},360:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PageHeader}));var r=n(11),a=n.n(r),i=n(0),o=n.n(i),c=n(17),l=n(310),s=n(311),u=n(78);function PageHeader(t){var n=t.title,r=t.icon,i=t.className,o=t.status,d=t.statusText,f=t.fullWidth,g=t.children,m=f?{size:12}:{smSize:4,mdSize:4,lgSize:6},p=""!==o||Boolean(g);return e.createElement("header",{className:"googlesitekit-page-header"},e.createElement(c.k,null,n&&e.createElement(c.a,m,r,e.createElement("h1",{className:a()("googlesitekit-page-header__title",i)},n)),p&&e.createElement(c.a,{alignBottom:!0,mdAlignRight:!0,smSize:4,mdSize:4,lgSize:6},e.createElement("div",{className:"googlesitekit-page-header__details"},o&&e.createElement("span",{className:a()("googlesitekit-page-header__status","googlesitekit-page-header__status--".concat(o))},d,e.createElement(u.a,null,"connected"===o?e.createElement(l.a,{width:10,height:8}):e.createElement(s.a,{width:2,height:12}))),g))))}PageHeader.propTypes={title:o.a.string,icon:o.a.node,className:o.a.string,status:o.a.string,statusText:o.a.string,fullWidth:o.a.bool},PageHeader.defaultProps={title:"",icon:null,className:"googlesitekit-heading-3",status:"",statusText:"",fullWidth:!1}}).call(this,n(4))},365:function(e,t,n){"use strict";(function(e,r){var a=n(2),i=n(10),o=n(3),c=n(394),l=n(395),s=n(230),u=n(87),d=n(24),f=n(23),g=n(6),m=n(19),p=n(18),h=n(36),v=n(9),b=n(8),E=n(54),_=n(50);t.a=Object(_.a)({moduleName:"analytics-4"})((function AudienceSegmentationIntroductoryOverlayNotification(){var t=Object(p.a)(),n=Object(h.a)(),_=Object(d.e)(),O=Object(E.c)(),y=Object(o.useSelect)((function(e){return e(g.a).isDismissingItem("audienceSegmentationIntroductoryOverlayNotification")})),k=Object(o.useSelect)((function(e){var t=e(g.a).isItemDismissed("audienceSegmentationIntroductoryOverlayNotification"),r=e(g.a).isAudienceSegmentationWidgetHidden(),a=e(m.a).isModuleActive("analytics-4"),i=!n||e(g.a).canViewSharedModule("analytics-4"),o=e(b.r).getAudienceSegmentationSetupCompletedBy(),c=e(g.a).getID();return E.b===O&&!1===t&&!1===r&&a&&i&&Number.isInteger(o)&&o!==c})),j=Object(o.useDispatch)(f.b).dismissOverlayNotification,S=function(){j("audienceSegmentationIntroductoryOverlayNotification")};return r.createElement(s.a,{shouldShowNotification:k,GraphicDesktop:c.a,GraphicMobile:l.a,notificationID:"audienceSegmentationIntroductoryOverlayNotification",onShow:function(){Object(v.J)("".concat(t,"_audiences-secondary-user-intro"),"view_notification")}},r.createElement("div",{className:"googlesitekit-overlay-notification__body"},r.createElement("h3",null,Object(a.__)("New! Visitor groups","google-site-kit")),r.createElement("p",null,Object(a.__)("You can now learn more about your site visitor groups by comparing different metrics","google-site-kit"))),r.createElement("div",{className:"googlesitekit-overlay-notification__actions"},r.createElement(i.Button,{tertiary:!0,disabled:y,onClick:function(){Object(v.J)("".concat(t,"_audiences-secondary-user-intro"),"dismiss_notification").finally((function(){S()}))}},Object(a.__)("Got it","google-site-kit")),r.createElement(i.Button,{disabled:y,onClick:function(n){n.preventDefault();setTimeout((function(){e.scrollTo({top:Object(u.a)(".googlesitekit-widget-area--mainDashboardTrafficAudienceSegmentation",_),behavior:"smooth"})}),0),Object(v.J)("".concat(t,"_audiences-secondary-user-intro"),"confirm_notification").finally((function(){S()}))}},Object(a.__)("Show me","google-site-kit"))))}))}).call(this,n(28),n(4))},37:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return _})),n.d(t,"b",(function(){return b})),n.d(t,"c",(function(){return E}));var r=n(98),a=e._googlesitekitTrackingData||{},i=a.activeModules,o=void 0===i?[]:i,c=a.isSiteKitScreen,l=a.trackingEnabled,s=a.trackingID,u=a.referenceSiteURL,d=a.userIDHash,f=a.isAuthenticated,g={activeModules:o,trackingEnabled:l,trackingID:s,referenceSiteURL:u,userIDHash:d,isSiteKitScreen:c,userRoles:a.userRoles,isAuthenticated:f,pluginVersion:"1.146.0"},m=Object(r.a)(g),p=m.enableTracking,h=m.disableTracking,v=(m.isTrackingEnabled,m.initializeSnippet),b=m.trackEvent,E=m.trackEventOnce;function _(e){e?p():h()}c&&l&&v()}).call(this,n(28))},38:function(e,t,n){"use strict";(function(e){var r,a;n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o}));var i=new Set((null===(r=e)||void 0===r||null===(a=r._googlesitekitBaseData)||void 0===a?void 0:a.enabledFeatures)||[]),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,n(28))},382:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="consent-mode-setup-cta-widget"},387:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(14);function a(e){var t;if(void 0!==e)return!((null==e?void 0:e.rows)&&(null==e?void 0:e.totals)&&!(null==e||null===(t=e.totals)||void 0===t?void 0:t.every(r.isEmpty)))||!e.totals.some((function(e){return!!e.metricValues&&e.metricValues.some((function(e){return e.value>0}))}))}},394:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"):Object(s.__)("Turn casual visitors into loyal readers and earn more from your content with voluntary contributions, surveys, newsletter sign-ups and reader insight tools. Learn more","google-site-kit"),{a:e.createElement(y.a,{id:r,label:Object(s.__)("Learn more","google-site-kit"),url:"https://readerrevenue.withgoogle.com"})}),!S&&e.createElement(c.Fragment,null,e.createElement("br",null),e.createElement("br",null),Object(s.__)("* Support for subscriptions coming soon","google-site-kit")))),actions:e.createElement(k.a,{id:r,className:"googlesitekit-setup-cta-banner__actions-wrapper",ctaLabel:Object(s.__)("Set up Reader Revenue Manager","google-site-kit"),onCTAClick:w,dismissLabel:A?Object(s.__)("Don’t show again","google-site-kit"):Object(s.__)("Maybe later","google-site-kit"),onDismiss:x,dismissOptions:{skipHidingFromQueue:!0},dismissExpires:2*j.g}),SVG:M[o]||h.a}))}ReaderRevenueManagerSetupCTABanner.propTypes={id:o.a.string,Notification:o.a.elementType}}).call(this,n(4))},556:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return RRMSetupSuccessSubtleNotification}));var a=n(20),i=n.n(a),o=n(5),c=n.n(o),l=n(16),s=n.n(l),u=n(7),d=n.n(u),f=n(15),g=n.n(f),m=n(1),p=n(2),h=n(3),v=n(189),b=n(352),E=n(29),_=n(51),O=n(173),y=n(251),k=n(142),j=n(23),S=_.d.ONBOARDING_COMPLETE,w=_.d.PENDING_VERIFICATION,x=_.d.ONBOARDING_ACTION_REQUIRED;function RRMSetupSuccessSubtleNotification(t){var n=t.id,a=t.Notification,o=Object(v.a)("notification"),l=g()(o,2)[1],u=Object(v.a)("slug"),f=g()(u,2)[1],C=[w,x],N=Object(h.useSelect)((function(e){return e(_.c).getPublicationOnboardingState()})),A=Object(h.useSelect)((function(e){return e(_.c).getPublicationID()})),T=Object(h.useSelect)((function(e){return e(_.c).getServiceURL({path:"reader-revenue-manager",query:{publication:A}})})),D=Object(h.useSelect)((function(e){return e(E.a).getValue(_.f,_.j)&&C.includes(N)})),R=Object(h.useDispatch)(E.a).setValues,M=Object(h.useDispatch)(j.b).setValue,B=Object(h.useDispatch)(_.c).syncPublicationOnboardingState,L=function(){l(void 0),f(void 0)},F=function(t){t.preventDefault(),C.includes(N)&&R(_.f,d()({},_.j,!0)),e.open(T,"_blank")},I=Object(h.useSelect)((function(e){return e(_.c).getPublicationOnboardingState()})),P=Object(m.useCallback)(s()(c.a.mark((function e(){var t,n,r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(D){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,B();case 4:t=e.sent,n=t.response,r=null==n?void 0:n.publicationOnboardingState,I&&r!==I&&r===_.d.ONBOARDING_COMPLETE&&M(_.k,!0);case 8:case"end":return e.stop()}}),e)}))),[I,M,D,B]);Object(b.a)(P,15e3);var z={gaTrackingEventArgs:{label:N}};return N===S?r.createElement(a,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up!","google-site-kit"),description:Object(p.__)("Unlock your full reader opportunity by enabling features like subscriptions, contributions and newsletter sign ups in the Reader Revenue Manager settings.","google-site-kit"),dismissCTA:r.createElement(k.a,i()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:L},z)),additionalCTA:r.createElement(y.a,i()({id:n,ctaLabel:Object(p.__)("Customize settings","google-site-kit"),ctaLink:T,onCTAClick:F,isCTALinkExternal:!0},z))})):N===w?r.createElement(a,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up!","google-site-kit"),description:Object(p.__)("Your publication is still awaiting review, you can check its status in Reader Revenue Manager.","google-site-kit"),dismissCTA:r.createElement(k.a,i()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:L},z)),additionalCTA:r.createElement(y.a,i()({id:n,ctaLabel:Object(p.__)("Check publication status","google-site-kit"),ctaLink:T,onCTAClick:F,isCTALinkExternal:!0},z))})):N===x?r.createElement(a,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up, but your publication still requires further setup in Reader Revenue Manager.","google-site-kit"),dismissCTA:r.createElement(k.a,i()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:L},z)),additionalCTA:r.createElement(y.a,i()({id:n,ctaLabel:Object(p.__)("Complete publication setup","google-site-kit"),ctaLink:T,onCTAClick:F,isCTALinkExternal:!0},z)),type:"warning"})):null}}).call(this,n(28),n(4))},565:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;tredo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(l,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:a.a.string.isRequired,reconnectURL:a.a.string,noPrefix:a.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},573:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"),{a:e.createElement(k.a,{"aria-label":Object(o.__)("Learn more about dashboard sharing","google-site-kit"),href:D,external:!0})}),N&&Object(o.__)("Warning: Resetting these permissions will remove view-only access for all users. Are you sure you want to reset all Dashboard Sharing permissions?","google-site-kit")))),C&&e.createElement("div",{className:"googlesitekit-dialog__main"},e.createElement(j.a,null))),e.createElement(O.d,{className:"googlesitekit-dialog__footer"},e.createElement(S.a,{closeDialog:z,openResetDialog:I}))))}}).call(this,n(4))},70:function(e,t,n){"use strict";n.r(t),n.d(t,"CONTEXT_MAIN_DASHBOARD_KEY_METRICS",(function(){return r})),n.d(t,"CONTEXT_MAIN_DASHBOARD_TRAFFIC",(function(){return a})),n.d(t,"CONTEXT_MAIN_DASHBOARD_CONTENT",(function(){return i})),n.d(t,"CONTEXT_MAIN_DASHBOARD_SPEED",(function(){return o})),n.d(t,"CONTEXT_MAIN_DASHBOARD_MONETIZATION",(function(){return c})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_TRAFFIC",(function(){return l})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_CONTENT",(function(){return s})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_SPEED",(function(){return u})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_MONETIZATION",(function(){return d}));var r="mainDashboardKeyMetrics",a="mainDashboardTraffic",i="mainDashboardContent",o="mainDashboardSpeed",c="mainDashboardMonetization",l="entityDashboardTraffic",s="entityDashboardContent",u="entityDashboardSpeed",d="entityDashboardMonetization";t.default={CONTEXT_MAIN_DASHBOARD_KEY_METRICS:r,CONTEXT_MAIN_DASHBOARD_TRAFFIC:a,CONTEXT_MAIN_DASHBOARD_CONTENT:i,CONTEXT_MAIN_DASHBOARD_SPEED:o,CONTEXT_MAIN_DASHBOARD_MONETIZATION:c,CONTEXT_ENTITY_DASHBOARD_TRAFFIC:l,CONTEXT_ENTITY_DASHBOARD_CONTENT:s,CONTEXT_ENTITY_DASHBOARD_SPEED:u,CONTEXT_ENTITY_DASHBOARD_MONETIZATION:d}},700:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return DashboardSharingSettings}));var a=n(11),i=n.n(a),o=n(2),c=n(3),l=n(701),s=n(19),u=n(13),d=n(6);function DashboardSharingSettings(){var t=Object(c.useSelect)((function(e){return e(s.a).hasRecoverableModules()})),n=Object(c.useSelect)((function(e){return e(u.c).hasMultipleAdmins()})),a=t||n,f=Object(c.useSelect)((function(t){for(var n=t(d.a).getID(),r=t(s.a).getShareableModules(),a=[],i=[],o=[],c=0,l=Object.values(r);cLearn more","google-site-kit"),{Link:e.createElement(w.a,{href:W,external:!0,hideExternalIndicator:!0})})),!I&&!o&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},Object(s.__)("Contact managing user to manage view access","google-site-kit"))),B&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__column--manage"},V&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},e.createElement("span",null,Object(s.__)("Any admin signed in with Google","google-site-kit")),e.createElement(m.Tooltip,{title:Object(s.__)("This service requires general access to Google APIs rather than access to a specific user-owned property/entity, so view access is manageable by any admin signed in with Google.","google-site-kit")},e.createElement("span",{className:"googlesitekit-dashboard-sharing-settings__tooltip-icon"},e.createElement(u.a,{icon:d.a,size:18})))),!V&&F&&e.createElement(m.Select,{className:"googlesitekit-dashboard-sharing-settings__select",value:T,options:x,onChange:q,onClick:q,outlined:!0}),!V&&!F&&i&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},Object(g.a)(Object(s.sprintf)( +/* translators: %s: user who manages the module. */ +Object(s.__)("Managed by %s","google-site-kit"),i),{span:e.createElement("span",null),strong:e.createElement("strong",null)}),e.createElement(m.Tooltip,{title:I?Object(s.sprintf)( +/* translators: %s: name of the user who manages the module. */ +Object(s.__)("%s has connected this and given managing permissions to all admins. You can change who can view this on the dashboard.","google-site-kit"),i):Object(s.sprintf)( +/* translators: %s: name of the user who manages the module. */ +Object(s.__)("Contact %s to change who can manage view access for this module","google-site-kit"),i)},e.createElement("span",{className:"googlesitekit-dashboard-sharing-settings__tooltip-icon"},e.createElement(u.a,{icon:d.a,size:18}))))))}Module.propTypes={moduleSlug:o.a.string.isRequired,moduleName:o.a.string.isRequired,ownerUsername:o.a.string}}).call(this,n(4))},702:function(e,t,n){"use strict";(function(e){var r=n(27),a=n.n(r),i=n(0),o=n.n(i),c=n(11),l=n.n(c),s=n(2),u=n(56),d=n(1),f=n(3),g=n(10),m=n(21),p=n(409),h=n(573),v=n(18),b=n(117),E=n(9),_=n(19),O=n(23),y=n(153),k=Object(s.__)("All","google-site-kit"),j=Object(d.forwardRef)((function(t,n){var r=t.moduleSlug,i=t.isLocked,o=void 0!==i&&i,c=Object(v.a)(),j=Object(d.useRef)(),S=Object(f.useDispatch)(_.a).setSharedRoles,w=Object(f.useDispatch)(O.b).setValue,x=Object(f.useSelect)((function(e){return e(_.a).getShareableRoles()})),C=Object(f.useSelect)((function(e){return e(_.a).getSharedRoles(r)})),N=Object(f.useSelect)((function(e){return e(O.b).getValue(y.a)}))===r;Object(b.a)([u.c],n,(function(){N&&w(y.a,void 0)}));var A=Object(f.useSelect)((function(e){return e(_.a).haveModuleSharingSettingsChanged(r,"sharedRoles")})),T=Object(d.useCallback)((function(){N?(w(y.a,void 0),A&&Object(E.J)("".concat(c,"_sharing"),"change_shared_roles",r)):w(y.a,r)}),[N,A,r,w,c]);Object(d.useEffect)((function(){j.current&&(N?j.current.firstChild.focus():j.current.focus())}),[N]);var D=Object(d.useCallback)((function(e){var t,n=e.type,i=e.target,o=e.keyCode;if("keydown"!==n||o===u.b){var c,l=i.closest(".mdc-chip"),s=null==l||null===(t=l.dataset)||void 0===t?void 0:t.chipId;if(s)c="all"===s?(null==C?void 0:C.length)===(null==x?void 0:x.length)?[]:x.map((function(e){return e.id})):null===C?[s]:C.includes(s)?C.filter((function(e){return e!==s})):[].concat(a()(C),[s]),S(r,c)}}),[r,S,C,x]);return x?e.createElement("div",{className:l()("googlesitekit-user-role-select",{"googlesitekit-user-role-select--open":N})},!N&&e.createElement(g.Button,{"aria-label":Object(s.__)("Edit roles","google-site-kit"),className:"googlesitekit-user-role-select__button",onClick:T,icon:e.createElement(p.a,{width:23,height:23}),tabIndex:o?-1:void 0,ref:j}),!N&&(null==C?void 0:C.length)>0&&e.createElement("span",{className:"googlesitekit-user-role-select__current-roles"},(null==x?void 0:x.reduce((function(e,t){return C.includes(t.id)&&e.push(t.displayName),e}),[])).join(", ")),!N&&(!C||0===(null==C?void 0:C.length))&&e.createElement("span",{className:"googlesitekit-user-role-select__add-roles"},e.createElement(m.a,{onClick:T,tabIndex:o?-1:void 0},Object(s.__)("Add roles","google-site-kit"))),N&&e.createElement(d.Fragment,null,e.createElement("div",{className:"googlesitekit-user-role-select__chipset",ref:j},e.createElement(g.Chip,{id:"all",label:k,onClick:D,onKeyDown:D,selected:(null==C?void 0:C.length)===(null==x?void 0:x.length),className:"googlesitekit-user-role-select__chip--all"}),x.map((function(t,n){var r=t.id,a=t.displayName;return e.createElement(g.Chip,{key:n,id:r,label:a,onClick:D,onKeyDown:D,selected:null==C?void 0:C.includes(r)})}))),e.createElement(g.Button,{"aria-label":Object(s.__)("Done editing roles","google-site-kit"),title:Object(s.__)("Done","google-site-kit"),className:"googlesitekit-user-role-select__button",onClick:T,icon:e.createElement(h.a,{width:18,height:18}),tabIndex:o?-1:void 0}))):null}));j.propTypes={moduleSlug:o.a.string.isRequired,isLocked:o.a.bool},t.a=j}).call(this,n(4))},703:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Footer}));var r=n(5),a=n.n(r),i=n(16),o=n.n(i),c=n(15),l=n.n(c),s=n(0),u=n.n(s),d=n(2),f=n(1),g=n(10),m=n(3),p=n(19),h=n(23),v=n(153),b=n(18),E=n(9),_=n(21),O=n(704),y=n(57);function Footer(t){var n=t.closeDialog,r=t.openResetDialog,i=Object(b.a)(),c=Object(f.useState)(null),s=l()(c,2),u=s[0],k=s[1],j=Object(f.useState)(!1),S=l()(j,2),w=S[0],x=S[1],C=Object(m.useSelect)((function(e){return e(p.a).canSubmitSharingChanges()})),N=Object(m.useSelect)((function(e){return e(p.a).isDoingSubmitSharingChanges()})),A=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsExpanded("management")})),T=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsExpanded("sharedRoles")})),D=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsUpdated()})),R=Object(m.useSelect)((function(e){return!!e(h.b).getValue(v.c)})),M=Object(m.useSelect)((function(e){return!!e(h.b).getValue(v.b)})),B=Object(m.useDispatch)(p.a),L=B.resetSharingSettings,F=B.saveSharingSettings,I=Object(m.useDispatch)(h.b).setValue,P=Object(f.useCallback)(o()(a.a.mark((function e(){var t,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(null),e.next=3,F();case 3:if(t=e.sent,!(r=t.error)){e.next=8;break}return k(r.message),e.abrupt("return");case 8:Object(E.J)("".concat(i,"_sharing"),"settings_confirm"),I(v.a,void 0),n();case 11:case"end":return e.stop()}}),e)}))),[i,F,I,n]),z=Object(f.useCallback)(o()(a.a.mark((function e(){var t,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(null),x(!0),e.next=4,L();case 4:if(t=e.sent,!(r=t.error)){e.next=9;break}return k(r.message),e.abrupt("return");case 9:x(!1),n();case 11:case"end":return e.stop()}}),e)}))),[n,L]),H=Object(f.useCallback)((function(){Object(E.J)("".concat(i,"_sharing"),"settings_cancel"),n()}),[n,i]),W=u||A||T;return e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer"},W&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-notice"},u&&e.createElement(y.a,{message:u}),!u&&e.createElement(O.a,null)),e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions"},D&&R&&!W&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions-left"},e.createElement(_.a,{onClick:r,danger:!0},Object(d.__)("Reset sharing permissions","google-site-kit"))),e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions-right"},e.createElement(g.Button,{tertiary:!0,onClick:H},Object(d.__)("Cancel","google-site-kit")),R&&e.createElement(g.SpinnerButton,{onClick:P,disabled:N||!C,isSaving:N},Object(d.__)("Apply","google-site-kit")),M&&e.createElement(g.SpinnerButton,{onClick:z,disabled:w,isSaving:w,danger:!0},Object(d.__)("Reset","google-site-kit")))))}Footer.propTypes={closeDialog:u.a.func.isRequired}}).call(this,n(4))},704:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Notice}));var r=n(2),a=n(39),i=n(3),o=n(19);function Notice(){var t=Object(i.useSelect)((function(e){return e(o.a).canSubmitSharingChanges()})),n=Object(i.useSelect)((function(e){return e(o.a).haveSharingSettingsExpanded("management")})),c=Object(i.useSelect)((function(e){return e(o.a).haveSharingSettingsExpanded("sharedRoles")}));return e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__notice"},n&&t&&Object(a.a)(Object(r.__)("By clicking Apply, you will give other authenticated admins of your site permission to manage view-only access to Site Kit Dashboard data from the chosen Google service","google-site-kit"),{span:e.createElement("span",null),strong:e.createElement("strong",null)}),!n&&t&&c&&Object(a.a)(Object(r.__)("By clicking Apply, you’re granting the selected roles view-only access to data from the Google services you’ve connected via your account","google-site-kit"),{span:e.createElement("span",null),strong:e.createElement("strong",null)}))}}).call(this,n(4))},705:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetAreaRenderer}));var r=n(15),a=n.n(r),i=n(7),o=n.n(i),c=n(0),l=n.n(c),s=n(11),u=n.n(s),d=n(1),f=n(3),g=n(239),m=n(87),p=n(47),h=n(23),v=n(17),b=n(24),E=n(159),_=n(706),O=n(707),y=n(708),k=n(36),j=n(6),S=n(243),w=n(709),x=n(77);function C(e){var t,n=(t={},o()(t,b.d,48),o()(t,b.a,48),o()(t,b.c,32),o()(t,b.b,32),t)[e],r=Math.abs(Object(m.b)(e)+n);return"".concat(-r,"px ").concat(-n,"px ").concat(-n,"px ").concat(-n,"px")}function WidgetAreaRenderer(t){var n,r=t.slug,i=t.contextID,c=Object(k.a)(),l=Object(f.useSelect)((function(e){return c?e(j.a).getViewableModules():null})),s=Object(x.a)(),m=Object(b.e)(),N=Object(d.useRef)(),A=Object(S.a)(N,{rootMargin:C(m),threshold:0}),T=Object(f.useSelect)((function(e){return e(p.a).getWidgetArea(r)})),D=T.Icon,R=T.title,M=T.style,B=T.subtitle,L=T.CTA,F=T.Footer,I=Object(f.useSelect)((function(e){return e(p.a).getWidgets(r,{modules:l||void 0})})),P=Object(f.useSelect)((function(e){return e(p.a).getWidgetStates()})),z=Object(f.useSelect)((function(e){return e(p.a).isWidgetAreaActive(r,{modules:l||void 0})})),H=Object(f.useSelect)((function(e){return e(h.b).getValue(h.a)})),W=Object(d.useState)({key:"WidgetAreaRenderer-".concat(r),value:H?H===i:!!(null==A?void 0:A.intersectionRatio)}),G=a()(W,2),V=G[0],U=G[1];Object(d.useEffect)((function(){U({key:"WidgetAreaRenderer-".concat(r),value:H?H===i:!!(null==A?void 0:A.intersectionRatio)})}),[A,r,H,i]);var q=L&&s<=782;if(void 0===l)return null;var K=Object(g.d)(I,P),J=K.columnWidths,X=K.rowIndexes,Y=Object(g.b)(I,P,{columnWidths:J,rowIndexes:X}),$=Y.gridColumnWidths,Z=Y.overrideComponents,Q=I.map((function(t,n){return e.createElement(O.a,{key:"".concat(t.slug,"-wrapper"),gridColumnWidth:$[n]},e.createElement(y.a,{slug:t.slug},e.createElement(_.a,{OverrideComponent:Z[n]?function(){var t=Z[n],r=t.Component,a=t.metadata;return e.createElement(r,a)}:void 0,slug:t.slug})))}));return e.createElement(E.a,{value:V},!!z&&e.createElement(v.e,{className:u()("googlesitekit-widget-area","googlesitekit-widget-area--".concat(r),"googlesitekit-widget-area--".concat(M)),ref:N},e.createElement(v.k,null,e.createElement(v.a,{className:"googlesitekit-widget-area-header",size:12},e.createElement(w.a,{slug:r,Icon:D,title:R,subtitle:B,CTA:L}))),e.createElement("div",{className:"googlesitekit-widget-area-widgets"},e.createElement(v.k,null,M===p.b.BOXES&&Q,M===p.b.COMPOSITE&&e.createElement(v.a,{size:12},e.createElement(v.e,null,e.createElement(v.k,null,Q))))),e.createElement(v.k,null,q&&e.createElement(v.a,{className:"googlesitekit-widget-area-footer",lgSize:12,mdSize:4,smSize:2},e.createElement("div",{className:"googlesitekit-widget-area-footer__cta"},e.createElement(L,null))),F&&e.createElement(v.a,{className:"googlesitekit-widget-area-footer",lgSize:12,mdSize:q?4:8,smSize:q?2:4},e.createElement(F,null)))),!z&&e.createElement(v.e,{className:u()(g.a,"googlesitekit-widget-area",(n={},o()(n,"googlesitekit-widget-area--".concat(r),!!r),o()(n,"googlesitekit-widget-area--".concat(M),!!M),n)),ref:N},Q))}WidgetAreaRenderer.propTypes={slug:l.a.string.isRequired,contextID:l.a.string}}).call(this,n(4))},706:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(14),o=n(1),c=n(3),l=n(47),s=n(19),u=n(261),d=n(262),f=n(239),g=n(123),m=n(36),p=n(24);function WidgetRenderer(t){var n,r=t.slug,a=t.OverrideComponent,h=Object(c.useSelect)((function(e){return e(l.a).getWidget(r)})),v=Object(p.e)(),b=Object(f.c)(r),E=b.Widget,_=b.WidgetNull,O=Object(c.useSelect)((function(e){return e(s.a).getRecoverableModules()})),y=Object(m.a)(),k=Object(o.useMemo)((function(){return h&&O&&Object(i.intersection)(h.modules,Object.keys(O))}),[O,h]),j=Object(c.useSelect)((function(e){return e(l.a).isWidgetPreloaded(r)}));if(!h||void 0===k||(null==h||null===(n=h.hideOnBreakpoints)||void 0===n?void 0:n.includes(v)))return e.createElement(_,null);var S=h.Component,w=h.wrapWidget,x=e.createElement(S,b);return y&&(null==k?void 0:k.length)&&(x=e.createElement(d.a,{widgetSlug:r,moduleSlugs:k})),a?x=e.createElement(o.Fragment,null,e.createElement(u.a,{widgetSlug:"overridden"},e.createElement(a,null)),e.createElement("div",{className:g.a},x)):w&&(x=e.createElement(E,null,x)),j?e.createElement("div",{className:g.a},x):x}WidgetRenderer.propTypes={slug:a.a.string.isRequired,OverrideComponent:a.a.elementType},t.a=WidgetRenderer}).call(this,n(4))},707:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(123),o=n(17);function WidgetCellWrapper(t){var n=t.gridColumnWidth,r=t.children;return 0===n?e.createElement("div",{className:i.a},r):n<6?e.createElement(o.a,{lgSize:n,mdSize:4,smSize:2},r):n<8?e.createElement(o.a,{lgSize:n,mdSize:8},r):e.createElement(o.a,{size:n},r)}WidgetCellWrapper.propTypes={gridColumnWidth:a.a.number.isRequired,children:a.a.element.isRequired},t.a=WidgetCellWrapper}).call(this,n(4))},708:function(e,t,n){"use strict";(function(e,r){var a=n(52),i=n.n(a),o=n(53),c=n.n(o),l=n(232),s=n.n(l),u=n(68),d=n.n(u),f=n(69),g=n.n(f),m=n(49),p=n.n(m),h=n(192),v=n.n(h),b=n(0),E=n.n(b),_=n(1),O=n(2),y=n(92),k=n(171),j=n(59),S=n(9);function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var a=p()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return g()(this,n)}}var x=function(t){d()(WidgetErrorHandler,t);var n=w(WidgetErrorHandler);function WidgetErrorHandler(e){var t;return i()(this,WidgetErrorHandler),(t=n.call(this,e)).state={error:null,info:null},t.onErrorClick=t.onErrorClick.bind(s()(t)),t}return c()(WidgetErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Widget error:",t,n),this.setState({error:t,info:n}),Object(S.J)("widget_error","handle_".concat(this.context||"unknown","_error"),"".concat(this.props.slug,"_").concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500-this.props.slug.length-1))}},{key:"onErrorClick",value:function(){var e=this.state,t=e.error,n=e.info;v()("`".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack,"`"))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,a=t.info;return n?r.createElement("div",{className:"googlesitekit-widget-error-handler"},r.createElement(y.a,{description:r.createElement(_.Fragment,null,r.createElement("p",null,Object(O.__)("An error prevented this Widget from being displayed properly. Report the exact contents of the error on the support forum to find out what caused it.","google-site-kit")),r.createElement(k.a,{message:n.message,componentStack:a.componentStack})),error:!0,onErrorClick:this.onErrorClick,onClick:this.onErrorClick,title:Object(O.__)("Error in Widget","google-site-kit")})):e}}]),WidgetErrorHandler}(_.Component);x.contextType=j.b,x.propTypes={children:E.a.node.isRequired},t.a=x}).call(this,n(28),n(4))},709:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetAreaHeader}));var r=n(0),a=n.n(r),i=n(1),o=n(599),c=n(77);function WidgetAreaHeader(t){var n=t.slug,r=t.Icon,a=void 0!==r&&r,l=t.title,s=void 0===l?"":l,u=t.subtitle,d=void 0===u?"":u,f=t.CTA,g=Object(c.a)(),m=f&&g>=783,p="function"==typeof d?d:void 0;return e.createElement(i.Fragment,null,a&&e.createElement(a,{width:33,height:33}),s&&e.createElement("h3",{className:"googlesitekit-widget-area-header__title googlesitekit-heading-3"},s,e.createElement(o.a,{slug:n})),(d||f)&&e.createElement("div",{className:"googlesitekit-widget-area-header__details"},d&&e.createElement("h4",{className:"googlesitekit-widget-area-header__subtitle"},p&&e.createElement(p,null),!p&&d,!s&&e.createElement(o.a,{slug:n})),m&&e.createElement("div",{className:"googlesitekit-widget-area-header__cta"},e.createElement(f,null))))}WidgetAreaHeader.propTypes={slug:a.a.string.isRequired,Icon:a.a.bool,title:a.a.oneOfType([a.a.string,a.a.element]),subtitle:a.a.oneOfType([a.a.string,a.a.elementType]),CTA:a.a.elementType}}).call(this,n(4))},71:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r={EXTERNAL:"external",INTERNAL:"internal"}},710:function(e,t,n){"use strict";(function(e){var r=n(15),a=n.n(r),i=n(85),o=n(530),c=n(209),l=n(1),s=n(2),u=n(3),d=n(10),f=n(103),g=n(711),m=n(712),p=n(713),h=n(13),v=n(32),b=n(9),E=n(54),_=n(18);t.a=function EntitySearchInput(){var t=Object(c.a)(EntitySearchInput,"EntitySearchInput"),n=Object(l.useState)(!1),r=a()(n,2),O=r[0],y=r[1],k=Object(l.useState)(!1),j=a()(k,2),S=j[0],w=j[1],x=Object(l.useState)(!1),C=a()(x,2),N=C[0],A=C[1],T=Object(_.a)(),D=Object(E.c)(),R=Object(l.useRef)(),M=Object(l.useCallback)((function(){Object(b.J)("".concat(T,"_headerbar"),"open_urlsearch"),y(!0)}),[T]),B=Object(l.useCallback)((function(){Object(b.J)("".concat(T,"_headerbar"),"close_urlsearch"),y(!1)}),[T]),L=Object(l.useState)({}),F=a()(L,2),I=F[0],P=F[1],z=Object(u.useSelect)((function(e){return(null==I?void 0:I.url)?e(h.c).getAdminURL("googlesitekit-dashboard",{permaLink:I.url}):null})),H=Object(u.useDispatch)(v.a).navigateTo;return Object(l.useEffect)((function(){z&&Object(b.J)("".concat(T,"_headerbar_urlsearch"),"open_urldetails").finally((function(){H(z)}))}),[z,H,T]),Object(i.a)((function(){D===E.a&&y(!0)})),Object(o.a)((function(){var e;O||(null==R||null===(e=R.current)||void 0===e||e.focus())}),[O]),O?e.createElement("div",{className:"googlesitekit-entity-search googlesitekit-entity-search--is-open"},e.createElement(f.a,null,e.createElement("label",{htmlFor:t},Object(s.__)("Page/URL Search","google-site-kit"))),e.createElement(p.a,{id:t,match:I,setIsActive:A,setMatch:P,placeholder:Object(s.__)("Enter title or URL…","google-site-kit"),isLoading:S,setIsLoading:w,showDropdown:N,onClose:B,autoFocus:!0}),S&&N&&e.createElement(d.ProgressBar,{className:"googlesitekit-entity-search__loading",compress:!0}),e.createElement("div",{className:"googlesitekit-entity-search__actions"},e.createElement(d.Button,{onClick:B,trailingIcon:e.createElement(m.a,{width:"30",height:"20"}),className:"googlesitekit-entity-search__close",title:Object(s.__)("Close","google-site-kit"),text:!0,tooltip:!0,tooltipEnterDelayInMS:500}))):e.createElement("div",{className:"googlesitekit-entity-search"},e.createElement(d.Button,{className:"googlesitekit-border-radius-round--phone googlesitekit-button-icon--phone",onClick:M,text:!0,ref:R,title:Object(s.__)("Search","google-site-kit"),trailingIcon:e.createElement(g.a,{width:"20",height:"20"}),tooltip:!0,tooltipEnterDelayInMS:500},Object(s.__)("URL Search","google-site-kit")))}}).call(this,n(4))},711:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&e.createElement(d.e,{portal:!1},e.createElement(d.c,{className:"autocomplete__menu autocomplete__menu--inline"},z.map((function(t){var n=t.id,r=t.title;return e.createElement(d.d,{key:n,value:r,className:"autocomplete__option autocomplete__option--result"})})))))}PostSearcherAutoSuggest.propTypes={id:u.a.string,match:u.a.object,setCanSubmit:u.a.func,setMatch:u.a.func,isLoading:u.a.bool,setIsLoading:u.a.func,onKeyDown:u.a.func,autoFocus:u.a.bool,placeholder:u.a.string}}).call(this,n(4))},714:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(15),a=n.n(r),i=n(1);function o(e,t){var n=Object(i.useState)(e),r=a()(n,2),o=r[0],c=r[1];return Object(i.useEffect)((function(){var n=setTimeout((function(){c(e)}),t);return function(){clearTimeout(n)}}),[e,t]),o}},715:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DateRangeSelector}));var r=n(15),a=n.n(r),i=n(210),o=n(11),c=n.n(o),l=n(1),s=n(56),u=n(2),d=n(3),f=n(10),g=n(716),m=n(6),p=n(117),h=n(9),v=n(23),b=n(18);function DateRangeSelector(){var t,n=Object(h.o)(),r=Object(d.useSelect)((function(e){return e(m.a).getDateRange()})),o=Object(d.useDispatch)(m.a).setDateRange,E=Object(d.useDispatch)(v.b).resetInViewHook,_=Object(l.useState)(!1),O=a()(_,2),y=O[0],k=O[1],j=Object(l.useRef)(),S=Object(b.a)();Object(i.a)(j,(function(){return k(!1)})),Object(p.a)([s.c,s.f],j,(function(){return k(!1)}));var w=Object(l.useCallback)((function(){k(!y)}),[y]),x=Object(l.useCallback)((function(e){var t=Object.values(n)[e].slug;r!==t&&Object(h.J)("".concat(S,"_headerbar"),"change_daterange",t),E(),o(t),k(!1)}),[n,r,E,o,S]),C=null===(t=n[r])||void 0===t?void 0:t.label,N=Object.values(n).map((function(e){return e.label}));return e.createElement("div",{ref:j,className:"googlesitekit-date-range-selector googlesitekit-dropdown-menu mdc-menu-surface--anchor"},e.createElement(f.Button,{className:c()("mdc-button--dropdown","googlesitekit-header__dropdown","googlesitekit-header__date-range-selector-menu","googlesitekit-border-radius-round--phone","googlesitekit-button-icon--phone"),text:!0,onClick:w,icon:e.createElement(g.a,{width:"20",height:"20"}),"aria-haspopup":"menu","aria-expanded":y,"aria-controls":"date-range-selector-menu",title:Object(u.__)("Date range","google-site-kit"),tooltip:!0,tooltipEnterDelayInMS:500},C),e.createElement(f.Menu,{menuOpen:y,menuItems:N,onSelected:x,id:"date-range-selector-menu",className:"googlesitekit-width-auto"}))}}).call(this,n(4))},716:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&!c?l(!0):0===t&&c&&l(!1),c}}).call(this,n(28))},718:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return OverlayNotificationsRenderer}));var r=n(1),a=n(105),i=n(365),o=n(719),c=n(722),l=n(542);function OverlayNotificationsRenderer(){var t=Object(a.a)("audienceSegmentation"),n=Object(a.a)("rrmModule");return e.createElement(r.Fragment,null,e.createElement(c.a,null),e.createElement(o.a,null),t&&e.createElement(i.a,null),n&&e.createElement(l.a,null))}}).call(this,n(4))},719:function(e,t,n){"use strict";(function(e,r){var a=n(372),i=n(1),o=n(2),c=n(10),l=n(3),s=n(720),u=n(721),d=n(22),f=n(23),g=n(6),m=n(19),p=n(24),h=n(54),v=n(31),b=n(8),E=n(87),_=n(230),O=n(387),y=n(9),k=n(18),j=n(50);t.a=Object(a.a)(Object(j.a)({moduleName:"analytics-4"}),Object(j.a)({moduleName:"adsense"}))((function AnalyticsAndAdSenseAccountsDetectedAsLinkedOverlayNotification(){var t=Object(p.e)(),n=Object(h.c)()===h.b,a=Object(k.a)(),j=Object(l.useSelect)((function(e){return e(g.a).isItemDismissed("AnalyticsAndAdSenseLinkedOverlayNotification")})),S=Object(l.useSelect)((function(e){return e(g.a).isDismissingItem("AnalyticsAndAdSenseLinkedOverlayNotification")})),w=Object(l.useSelect)((function(e){return!n||j?null:e(m.a).isModuleConnected("analytics-4")})),x=Object(l.useSelect)((function(e){return!n||j?null:e(m.a).isModuleConnected("adsense")})),C=Object(l.useSelect)((function(e){return!n||j?null:e(g.a).hasAccessToShareableModule("analytics-4")})),N=Object(l.useSelect)((function(e){return!n||j?null:e(g.a).hasAccessToShareableModule("adsense")})),A=Object(l.useSelect)((function(e){return!n||j?null:e(b.r).getAdSenseLinked()})),T=Object(l.useSelect)((function(e){return x?e(v.m).getAccountID():null})),D=Object(l.useSelect)((function(e){return e(g.a).getDateRangeDates({offsetDays:b.g})})),R={startDate:D.startDate,endDate:D.endDate,dimensions:["pagePath","adSourceName"],metrics:[{name:"totalAdRevenue"}],dimensionFilters:{adSourceName:"Google AdSense account (".concat(T,")")},orderby:[{metric:{metricName:"totalAdRevenue"},desc:!0}],limit:1},M=Object(l.useSelect)((function(e){return n&&!1===j&&A&&x&&w&&N&&C?e(b.r).getReport(R):null})),B=!1===Object(O.a)(M),L=n&&!1===j&&w&&x&&C&&N&&A&&B,F=Object(l.useDispatch)(f.b).dismissOverlayNotification,I=Object(i.useCallback)((function(){Object(y.J)("".concat(a,"_top-earning-pages-widget"),"view_overlay_CTA")}),[a]),P=function(){F("AnalyticsAndAdSenseLinkedOverlayNotification")};return r.createElement(_.a,{shouldShowNotification:L,GraphicDesktop:s.a,GraphicMobile:u.a,notificationID:"AnalyticsAndAdSenseLinkedOverlayNotification",onShow:I},r.createElement("div",{className:"googlesitekit-overlay-notification__body"},r.createElement("h3",null,Object(o.__)("See your top earning content","google-site-kit")),r.createElement("p",null,Object(o.__)("Data is now available for the pages that earn the most AdSense revenue.","google-site-kit"))),r.createElement("div",{className:"googlesitekit-overlay-notification__actions"},r.createElement(c.Button,{tertiary:!0,disabled:S,onClick:function(){P(),Object(y.J)("".concat(a,"_top-earning-pages-widget"),"dismiss_overlay_CTA")}},Object(o.__)("Maybe later","google-site-kit")),r.createElement(c.Button,{disabled:S,onClick:function(n){!function(n){n.preventDefault(),P(),setTimeout((function(){e.history.replaceState({},"","#".concat(d.c)),e.scrollTo({top:Object(E.a)(".googlesitekit-widget--adsenseTopEarningPagesGA4",t),behavior:"smooth"})}),50)}(n),Object(y.J)("".concat(a,"_top-earning-pages-widget"),"confirm_overlay_CTA")}},Object(o.__)("Show me","google-site-kit"))))}))}).call(this,n(28),n(4))},72:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return c}));var r=n(33),a=n.n(r),i=n(83),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,n="object"===a()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},720:function(e,t,n){"use strict";var r=n(1);function a(){return(a=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:c,t=e.fps,n=e.leading,r=e.initialWidth,u=void 0===r?0:r,d=e.initialHeight,f=void 0===d?0:d,g=Object(i.a)("undefined"==typeof document?[u,f]:s,t,n),m=a()(g,2),p=m[0],h=m[1],v=function(){return h(s)};return Object(o.a)(l,"resize",v),Object(o.a)(l,"orientationchange",v),p},d=function(e){return u(e)[0]}}).call(this,n(28))},78:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(0),a=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,a=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:a}},n)}IconWrapper.propTypes={children:a.a.node.isRequired,marginLeft:a.a.number,marginRight:a.a.number}}).call(this,n(4))},8:function(e,t,n){"use strict";n.d(t,"r",(function(){return r})),n.d(t,"a",(function(){return a})),n.d(t,"s",(function(){return i})),n.d(t,"z",(function(){return o})),n.d(t,"o",(function(){return c})),n.d(t,"q",(function(){return l})),n.d(t,"g",(function(){return s})),n.d(t,"p",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"i",(function(){return f})),n.d(t,"k",(function(){return g})),n.d(t,"m",(function(){return m})),n.d(t,"n",(function(){return p})),n.d(t,"h",(function(){return h})),n.d(t,"x",(function(){return v})),n.d(t,"w",(function(){return b})),n.d(t,"y",(function(){return E})),n.d(t,"u",(function(){return _})),n.d(t,"v",(function(){return O})),n.d(t,"f",(function(){return y})),n.d(t,"l",(function(){return k})),n.d(t,"e",(function(){return j})),n.d(t,"t",(function(){return S})),n.d(t,"c",(function(){return w})),n.d(t,"d",(function(){return x})),n.d(t,"b",(function(){return C}));var r="modules/analytics-4",a="account_create",i="property_create",o="webdatastream_create",c="analyticsSetup",l=10,s=1,u="https://www.googleapis.com/auth/tagmanager.readonly",d="enhanced-measurement-form",f="enhanced-measurement-enabled",g="enhanced-measurement-should-dismiss-activation-banner",m="analyticsAccountCreate",p="analyticsCustomDimensionsCreate",h="https://www.googleapis.com/auth/analytics.edit",v="dashboardAllTrafficWidgetDimensionName",b="dashboardAllTrafficWidgetDimensionColor",E="dashboardAllTrafficWidgetDimensionValue",_="dashboardAllTrafficWidgetActiveRowIndex",O="dashboardAllTrafficWidgetLoaded",y={googlesitekit_post_date:{parameterName:"googlesitekit_post_date",displayName:"WordPress Post Date",description:"Created by Site Kit: Date when a post was published",scope:"EVENT"},googlesitekit_post_author:{parameterName:"googlesitekit_post_author",displayName:"WordPress Post Author",description:"Created by Site Kit: WordPress name of the post author",scope:"EVENT"},googlesitekit_post_categories:{parameterName:"googlesitekit_post_categories",displayName:"WordPress Post Categories",description:"Created by Site Kit: Names of categories assigned to a post",scope:"EVENT"},googlesitekit_post_type:{parameterName:"googlesitekit_post_type",displayName:"WordPress Post Type",description:"Created by Site Kit: Content type of a post",scope:"EVENT"}},k={ADD_TO_CART:"add_to_cart",PURCHASE:"purchase",SUBMIT_LEAD_FORM:"submit_lead_form",GENERATE_LEAD:"generate_lead",CONTACT:"contact"},j=[k.CONTACT,k.GENERATE_LEAD,k.SUBMIT_LEAD_FORM],S={"new-visitors":{description:"People who visited the site for the first time",displayName:"New visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"new"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:new_visitors"}}}}]}}]}}}}]},"returning-visitors":{description:"People who have visited your site at least once before",displayName:"Returning visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"returning"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:returning_visitors"}}}}]}}]}}}}]}},w="audiencePermissionsSetup",x="audienceTileCustomDimensionCreate",C="audience-selection-panel-expirable-new-badge-"},80:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return i}));var r=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},a=function(e){return e.replace(/([a-z0-9]{1})([A-Z]{1})/g,"$1_$2").toUpperCase()};function i(e){return e.split("-").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}},81:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(107);function a(e){try{return new URL(e).pathname}catch(e){}return null}function i(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function o(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(e,t){if(!Object(r.a)(e))return e;if(e.length<=t)return e;var n=new URL(e),a=e.replace(n.origin,"");if(a.length1&&void 0!==arguments[1]?arguments[1]:{},n=_(e,t),r=n.formatUnit,a=n.formatDecimal;try{return r()}catch(e){return a()}},b=function(e){var t=E(e),n=t.hours,r=t.minutes,a=t.seconds;return a=("0"+a).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(a):"".concat(n,":").concat(r,":").concat(a)},E=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=E(e),r=n.hours,a=n.minutes,i=n.seconds;return{hours:r,minutes:a,seconds:i,formatUnit:function(){var n=t.unitDisplay,o=h(h({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(i,h(h({},o),{},{unit:"second"})):Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?w(i,h(h({},o),{},{unit:"second"})):"",a?w(a,h(h({},o),{},{unit:"minute"})):"",r?w(r,h(h({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. +Object(m.__)("%ds","google-site-kit"),i);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. +Object(m.__)("%dm","google-site-kit"),a),o=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. +Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",a?n:"",r?o:"").trim()}}},O=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},y=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. +Object(m.__)("%sM","google-site-kit"),w(O(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),w(O(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),w(O(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function k(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=h({},e)),t}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=k(t),r=n.style,a=void 0===r?"metric":r;return"metric"===a?y(e):"duration"===a?v(e,n):"durationISO"===a?b(e):w(e,n)}var S=g()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?C():n,i=u()(t,["locale"]);try{return new Intl.NumberFormat(r,i).format(e)}catch(t){S("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},l=["signDisplay","compactDisplay"],s={},d=0,f=Object.entries(i);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?C():n,a=t.style,i=void 0===a?"long":a,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var l=new Intl.ListFormat(r,{style:i,type:c});return l.format(e)} +/* translators: used between list items, there is a space after the comma. */var s=Object(m.__)(", ","google-site-kit");return e.join(s)},C=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},83:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a}));var r=n(147),a=n.n(r)()(e)}).call(this,n(28))},86:function(e,t,n){"use strict";(function(e){var r=n(0),a=n.n(r),i=n(11),o=n.n(i);function ChangeArrow(t){var n=t.direction,r=t.invertColor,a=t.width,i=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:a,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:a.a.string,invertColor:a.a.bool,width:a.a.number,height:a.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},87:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(24),a=n(121);function i(t,n){var r=document.querySelector(t);if(!r)return 0;var a=r.getBoundingClientRect().top,i=o(n);return a+e.scrollY-i}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,i=document.querySelector(".googlesitekit-header");return n=!!i&&"sticky"===e.getComputedStyle(i).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(a.a)(n))<0?0:n}}).call(this,n(28))},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(12),a=n.n(r),i=function(e,t){var n=t.dateRangeLength;a()(Array.isArray(e),"report must be an array to partition."),a()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return a.b})),n.d(t,"K",(function(){return a.c})),n.d(t,"G",(function(){return i.a})),n.d(t,"L",(function(){return i.b})),n.d(t,"I",(function(){return u})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return p})),n.d(t,"k",(function(){return h})),n.d(t,"j",(function(){return v})),n.d(t,"d",(function(){return k})),n.d(t,"c",(function(){return j})),n.d(t,"e",(function(){return S})),n.d(t,"b",(function(){return w})),n.d(t,"a",(function(){return x})),n.d(t,"g",(function(){return C})),n.d(t,"f",(function(){return N})),n.d(t,"o",(function(){return A})),n.d(t,"x",(function(){return T})),n.d(t,"q",(function(){return D})),n.d(t,"H",(function(){return R})),n.d(t,"t",(function(){return M})),n.d(t,"w",(function(){return B})),n.d(t,"l",(function(){return L})),n.d(t,"p",(function(){return F.b})),n.d(t,"i",(function(){return F.a})),n.d(t,"u",(function(){return I.b})),n.d(t,"r",(function(){return I.a})),n.d(t,"B",(function(){return I.c})),n.d(t,"y",(function(){return P})),n.d(t,"v",(function(){return z})),n.d(t,"F",(function(){return G})),n.d(t,"E",(function(){return V.a})),n.d(t,"h",(function(){return U})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(14),a=n(37),i=n(72),o=n(33),c=n.n(o),l=n(93),s=n.n(l),u=function(e){return s()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var a=t[r];a&&"object"===c()(a)&&!Array.isArray(a)&&(a=e(a)),n[r]=a})),n}(e)))};n(96);var d=n(82);function f(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function g(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[f,g,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function D(e){O()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function R(e){O()(T(e),k);var t=e.split("-"),n=E()(t,3),r=n[0],a=n[1],i=n[2];return new Date(r,a-1,i)}function M(e,t){return D(L(e,t*x))}function B(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function L(e,t){O()(T(e)||Object(r.isDate)(e)&&!isNaN(e),k);var n=T(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var F=n(97),I=n(81);function P(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function z(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var H=n(27),W=n.n(H),G=function(e){return Array.isArray(e)?W()(e).sort():e},V=n(89);function U(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},90:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(1),a=n(18),i=n(9);function o(e,t){var n=Object(a.a)(),o=null!=t?t:"".concat(n,"_").concat(e);return{view:Object(r.useCallback)((function(){for(var e=arguments.length,t=new Array(e),n=0;n=600;Object(E.a)(u()(l.a.mark((function e(){var t,n;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(z>0)){e.next=3;break}return e.next=3,$e();case 3:if(!U){e.next=9;break}return e.next=6,Object(S.d)(Re);case 6:t=e.sent,n=t.cacheHit,De(n);case 9:if(!ie){e.next=12;break}return e.next=12,Me();case 12:case"end":return e.stop()}}),e)}))));var Ue=function(){var e=u()(l.a.mark((function e(t){return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(O.a)(g)&&"_blank"!==m,Ke=function(){return qe||Ce(!0),new Promise((function(e){setTimeout(u()(l.a.mark((function t(){var n;return l.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Me();case 2:Fe()&&De(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Je=Object(y.useSelect)((function(e){return!!g&&e(B.a).isNavigatingTo(g)})),Xe=Object(y.useDispatch)(B.a).navigateTo,Ye=function(){var e=u()(l.a.mark((function e(t){var n,r,a;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,a=r.dismissOnCTAClick,n=void 0===a||a;case 12:if(!U||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Xe(g);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),$e=function(){var e=u()(l.a.mark((function e(){var t,n,r;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.d)(Re);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(z,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=n.invertColor,o=void 0!==i&&i;return Object(r.a)(e.createElement(a.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),a=n.n(r),i=n(14),o=n(99),c=n(100);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=s(s({},u),t);a.referenceSiteURL&&(a.referenceSiteURL=a.referenceSiteURL.toString().replace(/\/+$/,""));var l=Object(o.a)(a,n),d=Object(c.a)(a,n,l,r),f={},g=function(){for(var e=arguments.length,t=new Array(e),n=0;n$1')}function g(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[f,g,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function D(e){O()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function M(e){O()(T(e),k);var t=e.split("-"),n=E()(t,3),r=n[0],i=n[1],a=n[2];return new Date(r,i-1,a)}function R(e,t){return D(I(e,t*C))}function B(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function I(e,t){O()(T(e)||Object(r.isDate)(e)&&!isNaN(e),k);var n=T(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var P=n(97),L=n(80);function F(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function z(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var V=n(27),W=n.n(V),G=function(e){return Array.isArray(e)?W()(e).sort():e},U=n(88);function H(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},function(e,t){e.exports=googlesitekit.components},,,,function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var r="core/site",i="primary",a="secondary"},,,function(e,t,n){"use strict";var r=n(243);n.d(t,"i",(function(){return r.a}));var i=n(312);n.d(t,"f",(function(){return i.a}));var a=n(313);n.d(t,"h",(function(){return a.a}));var c=n(314);n.d(t,"j",(function(){return c.a}));var o=n(311);n.d(t,"g",(function(){return o.a}));var l=n(89),s=n.n(l);n.d(t,"b",(function(){return s.a})),n.d(t,"c",(function(){return l.DialogContent})),n.d(t,"d",(function(){return l.DialogFooter}));var u=n(102);n.d(t,"a",(function(){return u.a})),n.d(t,"e",(function(){return u.b})),n.d(t,"k",(function(){return u.c}))},function(e,t,n){"use strict";var r=n(0),i=n(58);t.a=function(){return Object(r.useContext)(i.b)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r="core/modules",i="insufficient_module_dependencies"},function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),c=n.n(a),o=n(11),l=n.n(o),s=n(1),u=n.n(s),d=n(142),f=n(0),g=n(2),m=n(126),p=n(127),h=n(128),v=n(77),b=n(76),E=Object(f.forwardRef)((function(t,n){var r,a=t["aria-label"],o=t.secondary,s=void 0!==o&&o,u=t.arrow,f=void 0!==u&&u,E=t.back,_=void 0!==E&&E,O=t.caps,y=void 0!==O&&O,k=t.children,j=t.className,S=void 0===j?"":j,w=t.danger,C=void 0!==w&&w,x=t.disabled,A=void 0!==x&&x,N=t.external,T=void 0!==N&&N,D=t.hideExternalIndicator,M=void 0!==D&&D,R=t.href,B=void 0===R?"":R,I=t.inverse,P=void 0!==I&&I,L=t.noFlex,F=void 0!==L&&L,z=t.onClick,V=t.small,W=void 0!==V&&V,G=t.standalone,U=void 0!==G&&G,H=t.linkButton,q=void 0!==H&&H,K=t.to,J=t.leadingIcon,Y=t.trailingIcon,$=c()(t,["aria-label","secondary","arrow","back","caps","children","className","danger","disabled","external","hideExternalIndicator","href","inverse","noFlex","onClick","small","standalone","linkButton","to","leadingIcon","trailingIcon"]),X=B||K||!z?K?"ROUTER_LINK":T?"EXTERNAL_LINK":"LINK":A?"BUTTON_DISABLED":"BUTTON",Q="BUTTON"===X||"BUTTON_DISABLED"===X?"button":"ROUTER_LINK"===X?d.b:"a",Z=("EXTERNAL_LINK"===X&&(r=Object(g._x)("(opens in a new tab)","screen reader text","google-site-kit")),"BUTTON_DISABLED"===X&&(r=Object(g._x)("(disabled)","screen reader text","google-site-kit")),r?a?"".concat(a," ").concat(r):"string"==typeof k?"".concat(k," ").concat(r):void 0:a),ee=J,te=Y;return _&&(ee=e.createElement(h.a,{width:14,height:14})),T&&!M&&(te=e.createElement(v.a,{width:14,height:14})),f&&!P&&(te=e.createElement(m.a,{width:14,height:14})),f&&P&&(te=e.createElement(p.a,{width:14,height:14})),e.createElement(Q,i()({"aria-label":Z,className:l()("googlesitekit-cta-link",S,{"googlesitekit-cta-link--secondary":s,"googlesitekit-cta-link--inverse":P,"googlesitekit-cta-link--small":W,"googlesitekit-cta-link--caps":y,"googlesitekit-cta-link--danger":C,"googlesitekit-cta-link--disabled":A,"googlesitekit-cta-link--standalone":U,"googlesitekit-cta-link--link-button":q,"googlesitekit-cta-link--no-flex":!!F}),disabled:A,href:"LINK"!==X&&"EXTERNAL_LINK"!==X||A?void 0:B,onClick:z,rel:"EXTERNAL_LINK"===X?"noopener noreferrer":void 0,ref:n,target:"EXTERNAL_LINK"===X?"_blank":void 0,to:K},$),!!ee&&e.createElement(b.a,{marginRight:5},ee),e.createElement("span",{className:"googlesitekit-cta-link__contents"},k),!!te&&e.createElement(b.a,{marginLeft:5},te))}));E.propTypes={arrow:u.a.bool,back:u.a.bool,caps:u.a.bool,children:u.a.node,className:u.a.string,danger:u.a.bool,disabled:u.a.bool,external:u.a.bool,hideExternalIndicator:u.a.bool,href:u.a.string,inverse:u.a.bool,leadingIcon:u.a.node,linkButton:u.a.bool,noFlex:u.a.bool,onClick:u.a.func,small:u.a.bool,standalone:u.a.bool,to:u.a.string,trailingIcon:u.a.node},t.a=E}).call(this,n(4))},,function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"m",(function(){return c})),n.d(t,"t",(function(){return o})),n.d(t,"h",(function(){return l})),n.d(t,"s",(function(){return s})),n.d(t,"i",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return f})),n.d(t,"k",(function(){return g})),n.d(t,"u",(function(){return m})),n.d(t,"v",(function(){return p})),n.d(t,"q",(function(){return h})),n.d(t,"p",(function(){return v})),n.d(t,"b",(function(){return b})),n.d(t,"e",(function(){return E})),n.d(t,"a",(function(){return _})),n.d(t,"d",(function(){return O})),n.d(t,"c",(function(){return y})),n.d(t,"f",(function(){return k})),n.d(t,"g",(function(){return j}));var r="mainDashboard",i="entityDashboard",a="mainDashboardViewOnly",c="entityDashboardViewOnly",o="userInput",l="activation",s="splash",u="adminBar",d="adminBarViewOnly",f="settings",g="adBlockingRecovery",m="wpDashboard",p="wpDashboardViewOnly",h="moduleSetup",v="metricSelection",b="key-metrics",E="traffic",_="content",O="speed",y="monetization",k=[r,i,a,c,o,s,f,h,v],j=[a,c,d,p]},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));var r="core/ui",i="activeContextID"},,function(e,t,n){"use strict";n.d(t,"l",(function(){return i})),n.d(t,"k",(function(){return a})),n.d(t,"j",(function(){return c})),n.d(t,"i",(function(){return o})),n.d(t,"a",(function(){return l})),n.d(t,"p",(function(){return s})),n.d(t,"o",(function(){return u})),n.d(t,"m",(function(){return d})),n.d(t,"n",(function(){return f})),n.d(t,"c",(function(){return g})),n.d(t,"g",(function(){return m})),n.d(t,"h",(function(){return p})),n.d(t,"d",(function(){return h})),n.d(t,"e",(function(){return v})),n.d(t,"f",(function(){return b})),n.d(t,"b",(function(){return E}));var r=n(2),i="key-metrics-setup-cta-widget",a="googlesitekit-key-metrics-selection-panel-opened",c="key-metrics-selection-form",o="key-metrics-selected",l="key-metrics-effective-selection",s="key-metrics-unstaged-selection",u=2,d=4,f=8,g={SLUG:"current-selection",LABEL:Object(r.__)("Current selection","google-site-kit")},m={SLUG:"suggested",LABEL:Object(r.__)("Suggested","google-site-kit")},p={SLUG:"visitors",LABEL:Object(r.__)("Visitors","google-site-kit")},h={SLUG:"driving-traffic",LABEL:Object(r.__)("Driving traffic","google-site-kit")},v={SLUG:"generating-leads",LABEL:Object(r.__)("Generating leads","google-site-kit")},b={SLUG:"selling-products",LABEL:Object(r.__)("Selling products","google-site-kit")},E={SLUG:"content-performance",LABEL:Object(r.__)("Content performance","google-site-kit")}},function(e,t,n){"use strict";n.d(t,"d",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return o})),n.d(t,"e",(function(){return l}));var r=n(93),i="xlarge",a="desktop",c="tablet",o="small";function l(){var e=Object(r.a)();return e>1280?i:e>960?a:e>600?c:o}},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/forms"},,function(e,t,n){"use strict";n.d(t,"m",(function(){return r})),n.d(t,"j",(function(){return i})),n.d(t,"g",(function(){return a})),n.d(t,"f",(function(){return c})),n.d(t,"h",(function(){return o})),n.d(t,"e",(function(){return l})),n.d(t,"i",(function(){return s})),n.d(t,"d",(function(){return u})),n.d(t,"a",(function(){return d})),n.d(t,"c",(function(){return f})),n.d(t,"b",(function(){return g})),n.d(t,"k",(function(){return m})),n.d(t,"l",(function(){return p}));var r="modules/adsense",i=1,a="READY",c="NEEDS_ATTENTION",o="REQUIRES_REVIEW",l="GETTING_READY",s="background-submit-suspended",u="ad-blocking-recovery-setup-success",d="adsenseAdBlockingFormSettings",f="googlesitekit-ad-blocking-recovery-setup-create-message-cta-clicked",g="ad-blocking-recovery-notification",m={TAG_PLACED:"tag-placed",SETUP_CONFIRMED:"setup-confirmed"},p={PLACE_TAGS:0,CREATE_MESSAGE:1,COMPLETE:2}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/location"},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d})),n.d(t,"d",(function(){return b})),n.d(t,"f",(function(){return E})),n.d(t,"c",(function(){return _})),n.d(t,"e",(function(){return O})),n.d(t,"b",(function(){return y}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=(n(27),n(9));function l(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return c=e.done,e},e:function(e){o=!0,a=e},f:function(){try{c||null==n.return||n.return()}finally{if(o)throw a}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},c=a.ttl,l=void 0===c?o.b:c,s=a.timestamp,u=void 0===s?Math.round(Date.now()/1e3):s,d=a.isError,g=void 0!==d&&d,t.next=3,h();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(f).concat(n),JSON.stringify({timestamp:u,ttl:l,value:r,isError:g})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),_=function(){var t=c()(i.a.mark((function t(n){var r,a;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,a=n.startsWith(d)?n:"".concat(f).concat(n),r.removeItem(a),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),O=function(){var t=c()(i.a.mark((function t(){var n,r,a,c;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],a=0;a1&&void 0!==arguments[1]?arguments[1]:a;return t instanceof Set&&t.has(e)}}).call(this,n(28))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"i",(function(){return i})),n.d(t,"h",(function(){return a})),n.d(t,"f",(function(){return c})),n.d(t,"g",(function(){return o})),n.d(t,"d",(function(){return l})),n.d(t,"e",(function(){return s})),n.d(t,"k",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return g}));var r="audience-segmentation-add-group-notice",i="googlesitekit-audience-selection-panel-opened",a="audience-selection-form",c="audience-selected",o="audience-selection-changed",l="audience-segmentation-creation-notice",s="audience-segmentation-creation-success-notice",u=1,d=3,f="audience-creation-edit-scope-notice",g="audience-creation-form"},function(e,t,n){"use strict";(function(e){var r=n(7),i=n.n(r),a=n(1),c=n.n(a),o=n(11),l=n.n(o),s=n(26);function PreviewBlock(t){var n,r,a=t.className,c=t.width,o=t.height,u=t.shape,d=t.padding,f=t.smallWidth,g=t.smallHeight,m=t.tabletWidth,p=t.tabletHeight,h=t.desktopWidth,v=t.desktopHeight,b=Object(s.e)(),E={width:(n={},i()(n,s.b,f),i()(n,s.c,m),i()(n,s.a,h),i()(n,s.d,h),n),height:(r={},i()(r,s.b,g),i()(r,s.c,p),i()(r,s.a,v),i()(r,s.d,h),r)};return e.createElement("div",{className:l()("googlesitekit-preview-block",a,{"googlesitekit-preview-block--padding":d}),style:{width:E.width[b]||c,height:E.height[b]||o}},e.createElement("div",{className:l()("googlesitekit-preview-block__wrapper",{"googlesitekit-preview-block__wrapper--circle":"circular"===u})}))}PreviewBlock.propTypes={className:c.a.string,width:c.a.string,height:c.a.string,shape:c.a.string,padding:c.a.bool,smallWidth:c.a.string,smallHeight:c.a.string,tabletWidth:c.a.string,tabletHeight:c.a.string,desktopWidth:c.a.string,desktopHeight:c.a.string},PreviewBlock.defaultProps={className:void 0,width:"100px",height:"100px",shape:"square",padding:!1,smallWidth:void 0,smallHeight:void 0,tabletWidth:void 0,tabletHeight:void 0,desktopWidth:void 0,desktopHeight:void 0},t.a=PreviewBlock}).call(this,n(4))},,function(e,t){e.exports=googlesitekit.api},,function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return a}));var r={BOXES:"boxes",COMPOSITE:"composite"},i={QUARTER:"quarter",HALF:"half",FULL:"full"},a="core/widgets"},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return o}));var r=n(22),i="core/notifications",a={ERRORS:"notification-area-errors",BANNERS_ABOVE_NAV:"notification-area-banners-above-nav",BANNERS_BELOW_NAV:"notification-area-banners-below-nav"},c={DEFAULT:"default",SETUP_CTAS:"setup-ctas"},o=[r.s,r.n,r.l,r.o,r.m]},,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return c}));var r=n(3),i=n(19),a=n(79);function c(t){var n=t.moduleName,c=t.FallbackComponent,o=t.IncompleteComponent;return function(t){function WhenActiveComponent(a){var l=Object(r.useSelect)((function(e){return e(i.a).getModule(n)}),[n]);if(!l)return null;var s=c||a.WidgetNull||null;if(!1===l.active)return s&&e.createElement(s,a);if(!1===l.connected){var u=o||s;return u&&e.createElement(u,a)}return e.createElement(t,a)}return WhenActiveComponent.displayName="When".concat(Object(a.c)(n),"Active"),(t.displayName||t.name)&&(WhenActiveComponent.displayName+="(".concat(t.displayName||t.name,")")),WhenActiveComponent}}}).call(this,n(4))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return i})),n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return c})),n.d(t,"k",(function(){return o})),n.d(t,"b",(function(){return l})),n.d(t,"g",(function(){return s})),n.d(t,"f",(function(){return u})),n.d(t,"i",(function(){return d})),n.d(t,"h",(function(){return f})),n.d(t,"j",(function(){return g}));var r="non_https_site",i="modules/reader-revenue-manager",a="reader-revenue-manager",c={ONBOARDING_COMPLETE:"ONBOARDING_COMPLETE",ONBOARDING_ACTION_REQUIRED:"ONBOARDING_ACTION_REQUIRED",PENDING_VERIFICATION:"PENDING_VERIFICATION",UNSPECIFIED:"ONBOARDING_STATE_UNSPECIFIED"},o="READER_REVENUE_MANAGER_SHOW_PUBLICATION_APPROVED_NOTIFICATION",l="rrm_module_setup_banner_dismissed_key",s="readerRevenueManagerSetupForm",u="readerRevenueManagerNoticesForm",d="showPublicationCreate",f="resetPublications",g="syncPublication"},,function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return c})),n.d(t,"c",(function(){return o}));var r=n(22),i=n(18),a=r.n,c=r.l;function o(){var e=Object(i.a)();return e===r.n||e===r.o?a:e===r.l||e===r.m?c:null}},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(39);function i(e){return function(){e[r.a]=e[r.a]||[],e[r.a].push(arguments)}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(0),i=Object(r.createContext)(""),a=(i.Consumer,i.Provider);t.b=i},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(107),c=n(2),o=n(9);function ErrorText(t){var n=t.message,r=t.reconnectURL,i=t.noPrefix;if(!n)return null;var l=n;void 0!==i&&i||(l=Object(c.sprintf)( -/* translators: %s: Error message */ -Object(c.__)("Error: %s","google-site-kit"),n)),r&&Object(a.a)(r)&&(l=l+" "+Object(c.sprintf)( -/* translators: %s: Reconnect URL */ -Object(c.__)('To fix this, redo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(o.G)(l,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:i.a.string.isRequired,reconnectURL:i.a.string,noPrefix:i.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},,,,function(e,t,n){"use strict";n.d(t,"c",(function(){return p})),n.d(t,"a",(function(){return h})),n.d(t,"b",(function(){return v})),n.d(t,"d",(function(){return E}));var r=n(7),i=n.n(r),a=n(0);function c(){return(c=Object.assign||function(e){for(var t=1;t0}function b(e){return"string"==typeof e&&/^G-[a-zA-Z0-9]+$/.test(e)}function E(e){return"string"==typeof e&&/^(G|GT|AW)-[a-zA-Z0-9]+$/.test(e)}function _(e){i()(Object(a.isPlainObject)(e),"options for Analytics 4 report must be an object."),i()(Object(l.a)(e),"Either date range or start/end dates must be provided for Analytics 4 report.");var t=Object(s.a)(e),n=t.metrics,r=t.dimensions,c=t.dimensionFilters,o=t.metricFilters,d=t.orderby;i()(n.length,"Requests must specify at least one metric for an Analytics 4 report."),i()(Object(u.d)(n),'metrics for an Analytics 4 report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property. Metric names must match the expression ^[a-zA-Z0-9_]+$.'),r&&i()(Object(u.b)(r),'dimensions for an Analytics 4 report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property.'),c&&i()(Object(u.a)(c),"dimensionFilters for an Analytics 4 report must be a map of dimension names as keys and dimension values as values."),o&&i()(Object(u.c)(o),"metricFilters for an Analytics 4 report must be a map of metric names as keys and filter value(s) as numeric fields, depending on the filterType."),d&&i()(Object(u.e)(d),'orderby for an Analytics 4 report must be an array of OrderBy objects where each object should have either a "metric" or "dimension" property, and an optional "desc" property.')}function O(e){i()(Object(a.isPlainObject)(e),"options for Analytics 4 pivot report must be an object."),i()(Object(l.a)(e),"Start/end dates must be provided for Analytics 4 pivot report.");var t=Object(s.a)(e),n=t.metrics,r=t.dimensions,c=t.dimensionFilters,o=t.metricFilters,f=t.pivots,g=t.orderby,m=t.limit;i()(n.length,"Requests must specify at least one metric for an Analytics 4 pivot report."),i()(Object(u.d)(n),'metrics for an Analytics 4 pivot report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property. Metric names must match the expression ^[a-zA-Z0-9_]+$.'),i()(Object(d.a)(f),'pivots for an Analytics 4 pivot report must be an array of objects. Each object must have a "fieldNames" property and a "limit".'),g&&i()(Array.isArray(g),"orderby for an Analytics 4 pivot report must be passed within a pivot."),m&&i()("number"==typeof m,"limit for an Analytics 4 pivot report must be passed within a pivot."),r&&i()(Object(u.b)(r),'dimensions for an Analytics 4 pivot report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property.'),c&&i()(Object(u.a)(c),"dimensionFilters for an Analytics 4 pivot report must be a map of dimension names as keys and dimension values as values."),o&&i()(Object(u.c)(o),"metricFilters for an Analytics 4 pivot report must be a map of metric names as keys and filter value(s) as numeric fields, depending on the filterType.")}function y(e){var t=["displayName","description","membershipDurationDays","eventTrigger","exclusionDurationMode","filterClauses"];i()(Object(a.isPlainObject)(e),"Audience must be an object."),Object.keys(e).forEach((function(e){i()(t.includes(e),'Audience object must contain only valid keys. Invalid key: "'.concat(e,'"'))})),["displayName","description","membershipDurationDays","filterClauses"].forEach((function(t){i()(e[t],'Audience object must contain required keys. Missing key: "'.concat(t,'"'))})),i()(Object(a.isArray)(e.filterClauses),"filterClauses must be an array with AudienceFilterClause objects.")}},,function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(e,t)}};function o(e){var t,n="object"===i()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},function(e,t,n){"use strict";var r=n(16),i=n.n(r),a=n(254),c=n(1),o=n.n(c),l=n(0),s=n(141);function Portal(e){var t=e.children,n=e.slug,r=Object(l.useState)(document.createElement("div")),c=i()(r,1)[0];return Object(a.a)((function(){n&&c.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(c),function(){return e.removeChild(c)}})),Object(s.createPortal)(t,c)}Portal.propTypes={slug:o.a.string,children:o.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),c=n.n(a),o=n(11),l=n.n(o),s=n(1),u=n.n(s),d=n(0),f=Object(d.forwardRef)((function(t,n){var r=t.label,a=t.className,o=t.hasLeftSpacing,s=void 0!==o&&o,u=c()(t,["label","className","hasLeftSpacing"]);return e.createElement("span",i()({ref:n},u,{className:l()("googlesitekit-badge",a,{"googlesitekit-badge--has-left-spacing":s})}),r)}));f.displayName="Badge",f.propTypes={label:u.a.string.isRequired,hasLeftSpacing:u.a.bool},t.a=f}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(1),i=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,i=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:i}},n)}IconWrapper.propTypes={children:i.a.node.isRequired,marginLeft:i.a.number,marginRight:i.a.number}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=_(e,t),r=n.formatUnit,i=n.formatDecimal;try{return r()}catch(e){return i()}},b=function(e){var t=E(e),n=t.hours,r=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(i):"".concat(n,":").concat(r,":").concat(i)},E=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=E(e),r=n.hours,i=n.minutes,a=n.seconds;return{hours:r,minutes:i,seconds:a,formatUnit:function(){var n=t.unitDisplay,c=h(h({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(a,h(h({},c),{},{unit:"second"})):Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?w(a,h(h({},c),{},{unit:"second"})):"",i?w(i,h(h({},c),{},{unit:"minute"})):"",r?w(r,h(h({},c),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. -Object(m.__)("%ds","google-site-kit"),a);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. -Object(m.__)("%dm","google-site-kit"),i),c=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. -Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?t:"",i?n:"",r?c:"").trim()}}},O=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},y=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. -Object(m.__)("%sM","google-site-kit"),w(O(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),w(O(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),w(O(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function k(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=h({},e)),t}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,c()(e)),e=0);var n=k(t),r=n.style,i=void 0===r?"metric":r;return"metric"===i?y(e):"duration"===i?v(e,n):"durationISO"===i?b(e):w(e,n)}var S=g()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?x():n,a=u()(t,["locale"]);try{return new Intl.NumberFormat(r,a).format(e)}catch(t){S("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(a)," ).format( ").concat(c()(e)," )"),t.message)}for(var o={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},l=["signDisplay","compactDisplay"],s={},d=0,f=Object.entries(a);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?x():n,i=t.style,a=void 0===i?"long":i,c=t.type,o=void 0===c?"conjunction":c;if(Intl.ListFormat){var l=new Intl.ListFormat(r,{style:a,type:o});return l.format(e)} -/* translators: used between list items, there is a space after the comma. */var s=Object(m.__)(", ","google-site-kit");return e.join(s)},x=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i}));var r=n(145),i=n.n(r)()(e)}).call(this,n(28))},function(e,t,n){"use strict";n.r(t),n.d(t,"AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY",(function(){return r})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY",(function(){return i})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_AUDIENCE_SEGMENTATION",(function(){return a})),n.d(t,"AREA_MAIN_DASHBOARD_CONTENT_PRIMARY",(function(){return c})),n.d(t,"AREA_MAIN_DASHBOARD_SPEED_PRIMARY",(function(){return o})),n.d(t,"AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY",(function(){return l})),n.d(t,"AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY",(function(){return s})),n.d(t,"AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY",(function(){return u})),n.d(t,"AREA_ENTITY_DASHBOARD_SPEED_PRIMARY",(function(){return d})),n.d(t,"AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY",(function(){return f}));var r="mainDashboardKeyMetricsPrimary",i="mainDashboardTrafficPrimary",a="mainDashboardTrafficAudienceSegmentation",c="mainDashboardContentPrimary",o="mainDashboardSpeedPrimary",l="mainDashboardMonetizationPrimary",s="entityDashboardTrafficPrimary",u="entityDashboardContentPrimary",d="entityDashboardSpeedPrimary",f="entityDashboardMonetizationPrimary";t.default={AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY:r,AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY:i,AREA_MAIN_DASHBOARD_CONTENT_PRIMARY:c,AREA_MAIN_DASHBOARD_SPEED_PRIMARY:o,AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY:l,AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY:s,AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY:u,AREA_ENTITY_DASHBOARD_SPEED_PRIMARY:d,AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY:f}},,function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(11),c=n.n(a);function ChangeArrow(t){var n=t.direction,r=t.invertColor,i=t.width,a=t.height;return e.createElement("svg",{className:c()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:i,height:a,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return o}));var r=n(26),i=n(118);function a(t,n){var r=document.querySelector(t);if(!r)return 0;var i=r.getBoundingClientRect().top,a=c(n);return i+e.scrollY-a}function c(e){var t=o(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function o(t){var n=0,a=document.querySelector(".googlesitekit-header");return n=!!a&&"sticky"===e.getComputedStyle(a).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(i.a)(n))<0?0:n}}).call(this,n(28))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(12),i=n.n(r),a=function(e,t){var n=t.dateRangeLength;i()(Array.isArray(e),"report must be an array to partition."),i()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},,function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return BannerNotification}));var r=n(21),i=n.n(r),a=n(7),c=n.n(a),o=n(5),l=n.n(o),s=n(15),u=n.n(s),d=n(16),f=n.n(d),g=n(1),m=n.n(g),p=n(11),h=n.n(p),v=n(204),b=n(206),E=n(84),_=n(93),O=n(0),y=n(107),k=n(3),j=n(17),S=n(86),w=n(34),C=n(26),x=n(191),A=n(192),N=n(193),T=n(199),D=n(200),M=n(71),R=n(108),B=n(118),I=n(32),P=n(201);function BannerNotification(t){var n,r=t.badgeLabel,a=t.children,o=t.className,s=void 0===o?"":o,d=t.ctaLabel,g=t.ctaLink,m=t.ctaTarget,p=t.description,L=t.dismiss,F=t.dismissExpires,z=void 0===F?0:F,V=t.format,W=void 0===V?"":V,G=t.id,U=t.isDismissible,H=void 0===U||U,q=t.learnMoreDescription,K=t.learnMoreLabel,J=t.learnMoreURL,Y=t.learnMoreTarget,$=void 0===Y?M.a.EXTERNAL:Y,X=t.logo,Q=t.module,Z=t.moduleName,ee=t.onCTAClick,te=t.onView,ne=t.onDismiss,re=t.onLearnMoreClick,ie=t.showOnce,ae=void 0!==ie&&ie,ce=t.SmallImageSVG,oe=t.title,le=t.type,se=t.WinImageSVG,ue=t.showSmallWinImage,de=void 0===ue||ue,fe=t.smallWinImageSVGWidth,ge=void 0===fe?75:fe,me=t.smallWinImageSVGHeight,pe=void 0===me?75:me,he=t.mediumWinImageSVGWidth,ve=void 0===he?105:he,be=t.mediumWinImageSVGHeight,Ee=void 0===be?105:be,_e=t.rounded,Oe=void 0!==_e&&_e,ye=t.footer,ke=t.secondaryPane,je=t.ctaComponent,Se=Object(O.useState)(!1),we=f()(Se,2),Ce=we[0],xe=we[1],Ae=Object(O.useState)(!1),Ne=f()(Ae,2),Te=Ne[0],De=Ne[1],Me="notification::dismissed::".concat(G),Re=function(){return Object(w.f)(Me,new Date,{ttl:null})},Be=Object(_.a)(),Ie=Object(C.e)(),Pe=Object(v.a)(),Le=Object(O.useState)(!1),Fe=f()(Le,2),ze=Fe[0],Ve=Fe[1],We=Object(O.useRef)(),Ge=Object(b.a)(We,{rootMargin:"".concat(-Object(B.a)(Object(S.c)(Ie)),"px 0px 0px 0px"),threshold:0});Object(O.useEffect)((function(){!ze&&(null==Ge?void 0:Ge.isIntersecting)&&("function"==typeof te&&te(),Ve(!0))}),[G,te,ze,Ge]);var Ue=Be>=600;Object(E.a)(u()(l.a.mark((function e(){var t,n;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(z>0)){e.next=3;break}return e.next=3,Xe();case 3:if(!H){e.next=9;break}return e.next=6,Object(w.d)(Me);case 6:t=e.sent,n=t.cacheHit,De(n);case 9:if(!ae){e.next=12;break}return e.next=12,Re();case 12:case"end":return e.stop()}}),e)}))));var He=function(){var e=u()(l.a.mark((function e(t){return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(y.a)(g)&&"_blank"!==m,Ke=function(){return qe||xe(!0),new Promise((function(e){setTimeout(u()(l.a.mark((function t(){var n;return l.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Re();case 2:Pe()&&De(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Je=Object(k.useSelect)((function(e){return!!g&&e(I.a).isNavigatingTo(g)})),Ye=Object(k.useDispatch)(I.a).navigateTo,$e=function(){var e=u()(l.a.mark((function e(t){var n,r,i;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,i=r.dismissOnCTAClick,n=void 0===i||i;case 12:if(!H||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Ye(g);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Xe=function(){var e=u()(l.a.mark((function e(){var t,n,r;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(w.d)(Me);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(z,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var a=n.invertColor,c=void 0!==a&&a;return Object(r.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:c}))},c=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),i=n.n(r),a=n(13),c=n(99),o=n(100);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=s(s({},u),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var l=Object(c.a)(i,n),d=Object(o.a)(i,n,l,r),f={},g=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),S),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:g,disabled:A},Object(s.__)("Cancel","google-site-kit")),B?e.createElement(u.Button,{href:B,onClick:O,target:"_blank",danger:C},j):e.createElement(u.SpinnerButton,{onClick:O,danger:C,disabled:A,isSaving:A},j||Object(s.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:i.a.string,dialogActive:i.a.bool,handleDialog:i.a.func,handleConfirm:i.a.func.isRequired,onOpen:i.a.func,onClose:i.a.func,title:i.a.string,confirmButton:i.a.string,danger:i.a.bool,small:i.a.bool,medium:i.a.bool,buttonLink:i.a.string},t.a=ModalDialog}).call(this,n(4))},function(e,t,n){"use strict";var r=n(319),i=n(307);n.d(t,"b",(function(){return i.a}));var a=n(308);n.d(t,"c",(function(){return a.a}));var c=n(309);n.d(t,"d",(function(){return c.a}));var o=n(310);n.d(t,"a",(function(){return o.a})),t.e=r.a},,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(380),i=function(e,t,n){Object(r.a)((function(n){return e.includes(n.keyCode)&&t.current.contains(n.target)}),n)}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(21),i=n.n(r),a=n(155),c=n.n(a),o=n(11),l=n.n(o),s=n(1),u=n.n(s),d=n(2),f=n(10),g=n(156),m=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,o=t.index,s=t.primaryProps,u=t.size,p=t.step,h=t.tooltipProps,v=u>1?Object(g.a)(u):[],b=function(e){return l()("googlesitekit-tooltip-indicator",{active:e===o})};return e.createElement("div",i()({className:l()("googlesitekit-tour-tooltip",p.className)},h),e.createElement(c.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(a.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},v.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:b(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==o&&e.createElement(f.Button,i()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,s.title&&e.createElement(f.Button,i()({className:"googlesitekit-tooltip-button",text:!0},s),s.title))),e.createElement(f.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(13),i=function(e){return Object(r.isFinite)(e)?e:0}},function(e,t,n){"use strict";var r=n(0),i=n(40),a=Object(r.createContext)(i.a);t.a=a},function(e,t,n){"use strict";n.d(t,"c",(function(){return s})),n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r,i=n(7),a=n.n(i),c=n(46),o=n(174),l=n(161),s=(r={},a()(r,c.c.QUARTER,3),a()(r,c.c.HALF,6),a()(r,c.c.FULL,12),r),u="googlesitekit-hidden",d=[o.a,l.a]},,function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(0),i=n(119),a=n(40),c=function(e){var t=Object(r.useContext)(i.a);return Object(a.b)(e,t)}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(21),i=n.n(r),a=n(7),c=n.n(a),o=n(24),l=n.n(o),s=n(1),u=n.n(s),d=n(11),f=n.n(d);function Cell(t){var n,r=t.className,a=t.alignTop,o=t.alignMiddle,s=t.alignBottom,u=t.alignRight,d=t.alignLeft,g=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,h=t.smSize,v=t.smStart,b=t.smOrder,E=t.mdSize,_=t.mdStart,O=t.mdOrder,y=t.lgSize,k=t.lgStart,j=t.lgOrder,S=t.size,w=t.children,C=l()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",i()({},C,{className:f()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":a,"mdc-layout-grid__cell--align-middle":o,"mdc-layout-grid__cell--align-bottom":s,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":g,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},c()(n,"mdc-layout-grid__cell--span-".concat(S),12>=S&&S>0),c()(n,"mdc-layout-grid__cell--span-".concat(y,"-desktop"),12>=y&&y>0),c()(n,"mdc-layout-grid__cell--start-".concat(k,"-desktop"),12>=k&&k>0),c()(n,"mdc-layout-grid__cell--order-".concat(j,"-desktop"),12>=j&&j>0),c()(n,"mdc-layout-grid__cell--span-".concat(E,"-tablet"),8>=E&&E>0),c()(n,"mdc-layout-grid__cell--start-".concat(_,"-tablet"),8>=_&&_>0),c()(n,"mdc-layout-grid__cell--order-".concat(O,"-tablet"),8>=O&&O>0),c()(n,"mdc-layout-grid__cell--span-".concat(h,"-phone"),4>=h&&h>0),c()(n,"mdc-layout-grid__cell--start-".concat(v,"-phone"),4>=v&&v>0),c()(n,"mdc-layout-grid__cell--order-".concat(b,"-phone"),4>=b&&b>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),c=n.n(a),o=n(1),l=n.n(o),s=n(11),u=n.n(s),d=n(0),f=Object(d.forwardRef)((function(t,n){var r=t.className,a=t.children,o=c()(t,["className","children"]);return e.createElement("div",i()({ref:n,className:u()("mdc-layout-grid__inner",r)},o),a)}));f.displayName="Row",f.propTypes={className:l.a.string,children:l.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),c=n.n(a),o=n(1),l=n.n(o),s=n(11),u=n.n(s),d=n(0),f=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,a=t.fill,o=t.className,l=t.children,s=t.collapsed,d=c()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:u()("mdc-layout-grid",o,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":s,"mdc-layout-grid--fill":a})},d,{ref:n}),l)}));f.displayName="Grid",f.propTypes={alignLeft:l.a.bool,fill:l.a.bool,className:l.a.string,collapsed:l.a.bool,children:l.a.node},f.defaultProps={className:""},t.a=f}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==o[0]?o[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(i=e.sent,a=i.cacheHit,c=i.value,!a){e.next=13;break}return e.next=10,{payload:{snapshot:c},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e)})),createSnapshot:l.a.mark((function e(){var t;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},a=(t={},c()(t,"DELETE_SNAPSHOT",(function(){return Object(g.c)("datastore::cache::".concat(e))})),c()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(g.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),c()(t,"RESTORE_SNAPSHOT",(function(){return Object(g.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:a,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,a=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var c=a.snapshot,o=(c.error,i()(c,["error"]));return o;default:return e}}}},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(h(e).map((function(e){return e.getActions().createSnapshot()})))},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.a;return Promise.all(h(e).map((function(e){return e.getActions().restoreSnapshot()})))}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return InfoTooltip}));var r=n(11),i=n.n(r),a=n(1),c=n.n(a),o=n(10),l=n(318);function InfoTooltip(t){var n=t.onOpen,r=t.title,a=t.tooltipClassName;return r?e.createElement(o.Tooltip,{className:"googlesitekit-info-tooltip",tooltipClassName:i()("googlesitekit-info-tooltip__content",a),title:r,placement:"top",enterTouchDelay:0,leaveTouchDelay:5e3,interactive:!0,onOpen:n},e.createElement("span",null,e.createElement(l.a,{width:"16",height:"16"}))):null}InfoTooltip.propTypes={onOpen:c.a.func,title:c.a.oneOfType([c.a.string,c.a.element]),tooltipClassName:c.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(11),c=n.n(a),o=n(38),l=n(2),s=n(20),u=n(35);function SourceLink(t){var n=t.name,r=t.href,i=t.className,a=t.external;return Object(u.a)()?null:e.createElement("div",{className:c()("googlesitekit-source-link",i)},Object(o.a)(Object(l.sprintf)( -/* translators: %s: source link */ -Object(l.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(s.a,{key:"link",href:r,external:a})}))}SourceLink.propTypes={name:i.a.string,href:i.a.string,className:i.a.string,external:i.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportErrorActions}));var r=n(7),i=n.n(r),a=n(1),c=n.n(a),o=n(0),l=n(38),s=n(2),u=n(3),d=n(10),f=n(14),g=n(19),m=n(36),p=n(35),h=n(20);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(h.a,{href:N,external:!0,hideExternalIndicator:!0},Object(s.__)("Get help","google-site-kit"))}))),!A&&!a&&e.createElement("div",{className:_},"function"==typeof i?e.createElement(i,{linkURL:N}):e.createElement(h.a,{href:N,external:!0,hideExternalIndicator:!0},Object(s.__)("Get help","google-site-kit"))))}ReportErrorActions.propTypes={moduleSlug:c.a.string.isRequired,error:c.a.oneOfType([c.a.arrayOf(c.a.object),c.a.object]).isRequired,GetHelpLink:c.a.elementType,hideGetHelpLink:c.a.bool,buttonVariant:c.a.string,onRetry:c.a.func,onRequestAccess:c.a.func,getHelpClassName:c.a.string,RequestAccessButton:c.a.elementType,RetryButton:c.a.elementType}}).call(this,n(4))},,function(e,t,n){"use strict";var r=n(0),i=Object(r.createContext)(!1);t.a=i},,function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:function(){return!0};return"string"==typeof e?n(e):!("object"!==i()(e)||!t(e))||!!Array.isArray(e)&&e.every((function(e){return"string"==typeof e?n(e):"object"===i()(e)&&t(e)}))}function c(e){var t=e.startDate,n=e.endDate,r=t&&t.match(/^\d{4}-\d{2}-\d{2}$/),i=n&&n.match(/^\d{4}-\d{2}-\d{2}$/);return r&&i}function o(e){var t=function(e){var t=e.hasOwnProperty("fieldName")&&!!e.fieldName,n=e.hasOwnProperty("sortOrder")&&/(ASCENDING|DESCENDING)/i.test(e.sortOrder.toString());return t&&n};return Array.isArray(e)?e.every((function(e){return"object"===i()(e)&&t(e)})):"object"===i()(e)&&t(e)}function l(e){return"string"==typeof e||!!Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return i})),n.d(t,"b",(function(){return a}));var r="editing-user-role-select-slug-key",i="dashboardSharingDialogOpen",a="resetSharingDialogOpen"},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(3),i=n(23);function a(e){return Object(r.useSelect)((function(t){return t(i.b).getValue(e)||{isTooltipVisible:!1,rehideAdminMenu:!1,rehideAdminSubMenu:!1}}))}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e){return new Array(null!=e?e:0).fill().map((function(e,t){return t}))}},function(e,t,n){"use strict";var r=n(135),i=(r.a.Consumer,r.a.Provider);t.a=i},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Dismiss}));var r=n(5),i=n.n(r),a=n(7),c=n.n(a),o=n(15),l=n.n(o),s=n(1),u=n.n(s),d=n(2),f=n(3),g=n(95),m=n(47),p=n(10);function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},i=n.slug,a=void 0===i?"":i,c=n.name,o=void 0===c?"":c,l=n.owner,s=void 0===l?{}:l;if(!a||!o)return e;var u="",d="";return"analytics-4"===a?e.match(/account/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===a&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),u||(u=Object(r.sprintf)( -/* translators: %s: module name */ -Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),o)),s&&s.login&&(d=Object(r.sprintf)( -/* translators: %s: owner name */ -Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),s.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(u," ").concat(d)}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportError}));var r=n(7),i=n.n(r),a=n(1),c=n.n(a),o=n(13),l=n(0),s=n(2),u=n(3),d=n(19),f=n(36),g=n(168),m=n(82),p=n(59),h=n(91),v=n(133),b=n(35);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;t1&&(n=Object(s.sprintf)( -/* translators: %s: module name */ -Object(s.__)("Data errors in %s","google-site-kit"),null==c?void 0:c.name)):n=Object(s.sprintf)( -/* translators: %s: module name */ -Object(s.__)("Data error in %s","google-site-kit"),null==c?void 0:c.name);var j=e.createElement(l.Fragment,null,y.map((function(t){var n,r=null==i||null===(n=i.data)||void 0===n?void 0:n.reconnectURL;return r?e.createElement(p.a,{key:t.message,message:t.message,reconnectURL:r}):e.createElement("p",{key:t.message},m.a.sanitize(t.message,{ALLOWED_TAGS:[]}))})));return e.createElement(h.a,{title:n,description:j,error:!0},e.createElement(v.a,{moduleSlug:r,error:i}))}ReportError.propTypes={moduleSlug:c.a.string.isRequired,error:c.a.oneOfType([c.a.arrayOf(c.a.object),c.a.object]).isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GenericErrorHandlerActions}));var r=n(1),i=n.n(r),a=n(2),c=n(20),o=n(189);function GenericErrorHandlerActions(t){var n=t.message,r=t.componentStack;return e.createElement("div",{className:"googlesitekit-generic-error-handler-actions"},e.createElement(o.a,{message:n,componentStack:r}),e.createElement(c.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0},Object(a.__)("Report this problem","google-site-kit")))}GenericErrorHandlerActions.propTypes={message:i.a.string,componentStack:i.a.string}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(22),i=function(e){return r.f.includes(e)}},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(11),c=n.n(a),o=n(0),l=n(139),s=n(66),u=n(17),d=Object(o.forwardRef)((function(t,n){var r=t.className,i=t.title,a=t.description,o=t.dismissCTA,d=t.additionalCTA,f=t.type,g=void 0===f?"success":f,m=t.icon;return e.createElement(u.e,{ref:n},e.createElement(u.k,null,e.createElement(u.a,{alignMiddle:!0,size:12,className:c()("googlesitekit-subtle-notification",r,{"googlesitekit-subtle-notification--success":"success"===g,"googlesitekit-subtle-notification--warning":"warning"===g})},e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},m,"success"===g&&!m&&e.createElement(l.a,{width:24,height:24}),"warning"===g&&!m&&e.createElement(s.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,i),e.createElement("p",{className:"googlesitekit-subtle-notification__secondary_description"},a)),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},o,d))))}));d.propTypes={className:i.a.string,title:i.a.node.isRequired,description:i.a.node,dismissCTA:i.a.node,additionalCTA:i.a.node,type:i.a.string,icon:i.a.object},t.a=d}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LoadingWrapper}));var r=n(7),i=n.n(r),a=n(24),c=n.n(a),o=n(1),l=n.n(o),s=n(42);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function LoadingWrapper(t){var n=t.loading,r=t.children,i=c()(t,["loading","children"]);return n?e.createElement(s.a,i):r}LoadingWrapper.propTypes=function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:e,a=Object(o.useState)(Object(l.a)(r.location.href,t)||n),u=c()(a,2),d=u[0],f=u[1],g=function(e){f(e);var n=Object(s.a)(r.location.href,i()({},t,e));r.history.replaceState(null,"",n)};return[d,g]}}).call(this,n(28))},,function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t=0;)3===e[n]?(t-=3,e[n]=4):6===e[n]&&(t-=6,e[n]=8),n--;return[e,t]}function d(e,t){return(Array.isArray(t.width)?t.width:[t.width]).map((function(t){return{counter:e+o.c[t],width:t}}))}function f(e,t){var n=[],r=[];if(!(null==e?void 0:e.length))return{columnWidths:n,rowIndexes:r};var a=0,c=0,l=function(e,t){return e.counter-t.counter},f=function(e,t){var n=e.counter;return t.counter-n},g=function(e){return e.counter<=12};if(e.forEach((function(m,p){if(s(t[m.slug]))return n.push(0),void r.push(c);var h=d(a,m),v=function(e,t,n){for(;++e12){if(a-=o.c[b],r[p]++,9===a){var E=u(n,a),_=i()(E,2);n=_[0],a=_[1]}a=o.c[b],c++}else 12===a&&(a=0,c++);n.push(o.c[b])})),9===a){var m=u(n,a),p=i()(m,2);n=p[0],a=p[1]}return{columnWidths:n,rowIndexes:r}}var g=n(13);function m(e,t,n){var r=n.columnWidths,i=n.rowIndexes,a=[],l=c()(r);if(!(null==e?void 0:e.length))return{gridColumnWidths:l,overrideComponents:a};var s=null,u=-1,d=[];if(function(e,t){for(var n={},r=0;r1)}(e,t)){var f=Array.from({length:e.length-1}).fill(0);return{overrideComponents:[t[e[0].slug]],gridColumnWidths:[12].concat(c()(f))}}return e.forEach((function(n,c){var o,f,m,p,h;if(a.push(null),s=t[n.slug],u=i[c],s)if(f=s,m=t[null===(o=e[c+1])||void 0===o?void 0:o.slug],p=u,h=i[c+1],p===h&&Object(g.isEqual)(f,m))d.push(r[c]),l[c]=0;else if(d.length>0){d.push(r[c]);var v=d.reduce((function(e,t){return e+t}),0);a[c]=s,l[c]=v,d=[]}})),{gridColumnWidths:l,overrideComponents:a}}var p=n(233);function h(e){return(Array.isArray(e)?e:[e]).filter((function(e){return"string"==typeof e&&e.length>0}))}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return OptIn}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(1),l=n.n(o),s=n(11),u=n.n(s),d=n(0),f=n(38),g=n(2),m=n(3),p=n(10),h=n(6),v=n(37),b=n(20),E=n(18);function OptIn(t){var n=t.id,r=void 0===n?"googlesitekit-opt-in":n,a=t.name,o=void 0===a?"optIn":a,l=t.className,s=t.trackEventCategory,_=t.alignLeftCheckbox,O=void 0!==_&&_,y=Object(m.useSelect)((function(e){return e(h.a).isTrackingEnabled()})),k=Object(m.useSelect)((function(e){return e(h.a).isSavingTrackingEnabled()})),j=Object(m.useSelect)((function(e){return e(h.a).getErrorForAction("setTrackingEnabled",[!y])})),S=Object(m.useDispatch)(h.a).setTrackingEnabled,w=Object(E.a)(),C=Object(d.useCallback)(function(){var e=c()(i.a.mark((function e(t){var n,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S(!!t.target.checked);case 2:n=e.sent,r=n.response,n.error||(Object(v.a)(r.enabled),r.enabled&&Object(v.b)(s||w,"tracking_optin"));case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[S,s,w]);return e.createElement("div",{className:u()("googlesitekit-opt-in",l)},e.createElement(p.Checkbox,{id:r,name:o,value:"1",checked:y,disabled:k,onChange:C,loading:void 0===y,alignLeft:O},Object(f.a)(Object(g.__)("Help us improve Site Kit by sharing anonymous usage data. All collected data is treated in accordance with the Google Privacy Policy.","google-site-kit"),{a:e.createElement(b.a,{key:"link",href:"https://policies.google.com/privacy",external:!0}),span:e.createElement("span",null)})),(null==j?void 0:j.message)&&e.createElement("div",{className:"googlesitekit-error-text"},null==j?void 0:j.message))}OptIn.propTypes={id:l.a.string,name:l.a.string,className:l.a.string,trackEventCategory:l.a.string,alignLeftCheckbox:l.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Item}));var r=n(1),i=n.n(r);function Item(t){var n=t.icon,r=t.label;return e.createElement("div",{className:"googlesitekit-user-menu__item"},e.createElement("div",{className:"googlesitekit-user-menu__item-icon"},n),e.createElement("span",{className:"googlesitekit-user-menu__item-label"},r))}Item.propTypes={icon:i.a.node,label:i.a.string}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(0),l=n(3),s=n(14),u=n(23);function d(e){var t=Object(l.useDispatch)(u.b).setValue,n=Object(l.useSelect)((function(e){return e(s.c).hasMinimumWordPressVersion("6.2")})),r=Object(l.useSelect)((function(e){return e(s.c).hasMinimumWordPressVersion("6.4")}));return Object(o.useCallback)(c()(i.a.mark((function a(){var c,o,l,s;return i.a.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(c=document.querySelector("#adminmenu").offsetHeight>0){i.next=7;break}if(!(o=document.getElementById("wp-admin-bar-menu-toggle"))){i.next=7;break}return o.firstChild.click(),i.next=7,new Promise((function(e){setTimeout(e,0)}));case 7:"#adminmenu [href*='page=googlesitekit-dashboard']",(l=!!document.querySelector("".concat("#adminmenu [href*='page=googlesitekit-dashboard']","[aria-haspopup=true]")))&&document.querySelector("#adminmenu [href*='page=googlesitekit-dashboard']").click(),n&&!r&&(s=document.hasFocus,document.hasFocus=function(){return document.hasFocus=s,!1}),t(e,{isTooltipVisible:!0,rehideAdminMenu:!c,rehideAdminSubMenu:l});case 12:case"end":return i.stop()}}),a)}))),[n,r,t,e])}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdminMenuTooltip}));var r=n(7),i=n.n(r),a=n(21),c=n.n(a),o=n(5),l=n.n(o),s=n(15),u=n.n(s),d=n(24),f=n.n(d),g=n(0),m=n(1),p=n.n(m),h=n(3),v=n(202),b=n(23),E=n(154);function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t0&&(null===(t=document.getElementById("wp-admin-bar-menu-toggle"))||void 0===t||t.click()),d&&document.querySelector("body").click(),e.next=4,null==n?void 0:n();case 4:a(r,void 0);case 5:case"end":return e.stop()}}),e)}))),[n,s,d,a,r]);return e.createElement(v.a,c()({slug:"ga4-activation-banner-admin-menu-tooltip",onDismiss:m},i))}AdminMenuTooltip.propTypes=O(O({},v.a.propTypes),{},{target:p.a.string,tooltipStateKey:p.a.string.isRequired}),AdminMenuTooltip.defaultProps={target:'#adminmenu [href*="page=googlesitekit-settings"]'}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Root}));var r=n(16),i=n.n(r),a=n(1),c=n.n(a),o=n(420),l=n(527),s=n(0),u=n(3),d=n.n(u),f=n(217),g=n(218),m=n(40),p=n(219),h=n(221),v=n(222),b=n(58),E=n(157),_=n(171);function Root(t){var n=t.children,r=t.registry,a=t.viewContext,c=void 0===a?null:a,d=o.a,O=Object(s.useState)({key:"Root",value:!0}),y=i()(O,1)[0];return e.createElement(s.StrictMode,null,e.createElement(E.a,{value:y},e.createElement(u.RegistryProvider,{value:r},e.createElement(g.a,{value:m.a},e.createElement(b.a,{value:c},e.createElement(l.a,{theme:d()},e.createElement(f.a,null,e.createElement(h.a,null,n,c&&e.createElement(v.a,null)),Object(_.a)(c)&&e.createElement(p.a,null))))))))}Root.propTypes={children:c.a.node,registry:c.a.object,viewContext:c.a.string.isRequired},Root.defaultProps={registry:d.a}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(51),a=n.n(i),c=n(53),o=n.n(c),l=n(68),s=n.n(l),u=n(69),d=n.n(u),f=n(49),g=n.n(f),m=n(1),p=n.n(m),h=n(0),v=n(2),b=n(170),E=n(58),_=n(90),O=n(9);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var i=g()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return d()(this,n)}}var k=function(t){s()(ErrorHandler,t);var n=y(ErrorHandler);function ErrorHandler(e){var t;return a()(this,ErrorHandler),(t=n.call(this,e)).state={error:null,info:null,copied:!1},t}return o()(ErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Caught an error:",t,n),this.setState({error:t,info:n}),Object(O.J)("react_error","handle_".concat(this.context||"unknown","_error"),"".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,i=t.info;return n?r.createElement(_.b,{id:"googlesitekit-error",className:"googlesitekit-error-handler",title:Object(v.__)("Site Kit encountered an error","google-site-kit"),description:r.createElement(b.a,{message:n.message,componentStack:i.componentStack}),isDismissible:!1,format:"small",type:"win-error"},r.createElement("pre",{className:"googlesitekit-overflow-auto"},n.message,i.componentStack)):e}}]),ErrorHandler}(h.Component);k.contextType=E.b,k.propTypes={children:p.a.node.isRequired},t.a=k}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(119),i=(r.a.Consumer,r.a.Provider);t.a=i},function(e,t,n){"use strict";(function(e){var r=n(3),i=n(220),a=n(6);t.a=function PermissionsModal(){return Object(r.useSelect)((function(e){return e(a.a).isAuthenticated()}))?e.createElement(i.a,null):null}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(5),a=n.n(i),c=n(15),o=n.n(c),l=n(2),s=n(0),u=n(3),d=n(112),f=n(29),g=n(32),m=n(6),p=n(130),h=n(73);t.a=function AuthenticatedPermissionsModal(){var t,n,i,c,v=Object(u.useRegistry)(),b=Object(u.useSelect)((function(e){return e(m.a).getPermissionScopeError()})),E=Object(u.useSelect)((function(e){return e(m.a).getUnsatisfiedScopes()})),_=Object(u.useSelect)((function(t){var n,r,i;return t(m.a).getConnectURL({additionalScopes:null==b||null===(n=b.data)||void 0===n?void 0:n.scopes,redirectURL:(null==b||null===(r=b.data)||void 0===r?void 0:r.redirectURL)||e.location.href,errorRedirectURL:null==b||null===(i=b.data)||void 0===i?void 0:i.errorRedirectURL})})),O=Object(u.useDispatch)(m.a).clearPermissionScopeError,y=Object(u.useDispatch)(g.a).navigateTo,k=Object(u.useDispatch)(f.a).setValues,j=Object(s.useCallback)((function(){O()}),[O]),S=Object(s.useCallback)(o()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(m.d,{permissionsError:b}),e.next=3,Object(p.c)(v);case 3:y(_);case 4:case"end":return e.stop()}}),e)}))),[v,_,y,b,k]);return Object(s.useEffect)((function(){(function(){var e=o()(a.a.mark((function e(){var t,n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(null==b||null===(t=b.data)||void 0===t?void 0:t.skipModal)||!(null==b||null===(n=b.data)||void 0===n||null===(r=n.scopes)||void 0===r?void 0:r.length)){e.next=3;break}return e.next=3,S();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}),[S,b]),b?(null==b||null===(t=b.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.length)?(null==b||null===(i=b.data)||void 0===i?void 0:i.skipModal)||E&&(null==b||null===(c=b.data)||void 0===c?void 0:c.scopes.every((function(e){return E.includes(e)})))?null:r.createElement(h.a,null,r.createElement(d.a,{title:Object(l.__)("Additional Permissions Required","google-site-kit"),subtitle:b.message,confirmButton:Object(l.__)("Proceed","google-site-kit"),dialogActive:!0,handleConfirm:S,handleDialog:j,medium:!0})):(e.console.warn("permissionsError lacks scopes array to use for redirect, so not showing the PermissionsModal. permissionsError was:",b),null):null}}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(16),l=n.n(o),s=n(0),u=n(3),d=n(130);t.a=function RestoreSnapshots(e){var t=e.children,n=Object(u.useRegistry)(),r=Object(s.useState)(!1),a=l()(r,2),o=a[0],f=a[1];return Object(s.useEffect)((function(){o||c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(n);case 2:f(!0);case 3:case"end":return e.stop()}}),e)})))()}),[n,o]),o?t:null}},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return FeatureTours}));var i=n(84),a=n(0),c=n(3),o=n(6),l=n(18),s=n(94);function FeatureTours(){var t=Object(l.a)(),n=Object(c.useDispatch)(o.a).triggerTourForView;Object(i.a)((function(){n(t)}));var u=Object(c.useSelect)((function(e){return e(o.a).getCurrentTour()}));return Object(a.useEffect)((function(){if(u){var t=document.getElementById("js-googlesitekit-main-dashboard");if(t){var n=new ResizeObserver((function(){e.dispatchEvent(new Event("resize"))}));return n.observe(t),function(){n.disconnect()}}}}),[u]),u?r.createElement(s.a,{tourID:u.slug,steps:u.steps,gaEventCategory:u.gaEventCategory,callback:u.callback}):null}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WarningNotice}));var r=n(11),i=n.n(r),a=n(1),c=n.n(a);function WarningNotice(t){var n=t.children,r=t.className;return e.createElement("div",{className:i()("googlesitekit-warning-notice",r)},n)}WarningNotice.propTypes={children:c.a.node.isRequired,className:c.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(16),i=n.n(r),a=n(1),c=n.n(a),o=n(11),l=n.n(o),s=n(581),u=n(2),d=n(0),f=n(3),g=n(244),m=n(265),p=n(269),h=n(6),v=n(17),b=n(274),E=n(281),_=n(283),O=n(35),y=n(54),k=n(20),j=n(289),S=n(14),w=n(290);function Header(t){var n,r=t.children,a=t.subHeader,c=t.showNavigation,o=!!Object(y.c)(),C=Object(O.a)();Object(w.a)();var x=Object(f.useSelect)((function(e){return e(S.c).getAdminURL("googlesitekit-dashboard")})),A=Object(f.useSelect)((function(e){return e(h.a).isAuthenticated()})),N=Object(s.a)({childList:!0}),T=i()(N,2),D=T[0],M=!!(null===(n=T[1].target)||void 0===n?void 0:n.childElementCount);return e.createElement(d.Fragment,null,e.createElement("header",{className:l()("googlesitekit-header",{"googlesitekit-header--has-subheader":M,"googlesitekit-header--has-navigation":c})},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{smSize:1,mdSize:2,lgSize:4,className:"googlesitekit-header__logo",alignMiddle:!0},e.createElement(k.a,{"aria-label":Object(u.__)("Go to dashboard","google-site-kit"),className:"googlesitekit-header__logo-link",href:x},e.createElement(g.a,null))),e.createElement(v.a,{smSize:3,mdSize:6,lgSize:8,className:"googlesitekit-header__children",alignMiddle:!0},r,!A&&o&&C&&e.createElement(_.a,null),A&&!C&&e.createElement(m.a,null))))),e.createElement("div",{className:"googlesitekit-subheader",ref:D},e.createElement(p.a,null),a),c&&e.createElement(b.a,null),o&&e.createElement(j.a,null),e.createElement(E.a,null))}Header.displayName="Header",Header.propTypes={children:c.a.node,subHeader:c.a.element,showNavigation:c.a.bool},Header.defaultProps={children:null,subHeader:null},t.a=Header}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return HelpMenu}));var r=n(16),i=n.n(r),a=n(1),c=n.n(a),o=n(207),l=n(0),s=n(56),u=n(2),d=n(3),f=n(10),g=n(291),m=n(115),p=n(9),h=n(162),v=n(19),b=n(18),E=n(14);function HelpMenu(t){var n=t.children,r=Object(l.useState)(!1),a=i()(r,2),c=a[0],_=a[1],O=Object(l.useRef)(),y=Object(b.a)();Object(o.a)(O,(function(){return _(!1)})),Object(m.a)([s.c,s.f],O,(function(){return _(!1)}));var k=Object(d.useSelect)((function(e){return e(v.a).isModuleActive("adsense")})),j=Object(l.useCallback)((function(){c||Object(p.J)("".concat(y,"_headerbar"),"open_helpmenu"),_(!c)}),[c,y]),S=Object(l.useCallback)((function(){_(!1)}),[]),w=Object(d.useSelect)((function(e){return e(E.c).getDocumentationLinkURL("fix-common-issues")}));return e.createElement("div",{ref:O,className:"googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},e.createElement(f.Button,{"aria-controls":"googlesitekit-help-menu","aria-expanded":c,"aria-label":Object(u.__)("Help","google-site-kit"),"aria-haspopup":"menu",className:"googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon googlesitekit-help-menu__button mdc-button--dropdown",icon:e.createElement(g.a,{width:"20",height:"20"}),onClick:j,text:!0,tooltipEnterDelayInMS:500}),e.createElement(f.Menu,{className:"googlesitekit-width-auto",menuOpen:c,id:"googlesitekit-help-menu",onSelected:S},n,e.createElement(h.a,{gaEventLabel:"fix_common_issues",href:w},Object(u.__)("Fix common issues","google-site-kit")),e.createElement(h.a,{gaEventLabel:"documentation",href:"https://sitekit.withgoogle.com/documentation/"},Object(u.__)("Read help docs","google-site-kit")),e.createElement(h.a,{gaEventLabel:"support_forum",href:"https://wordpress.org/support/plugin/google-site-kit/"},Object(u.__)("Get support","google-site-kit")),k&&e.createElement(h.a,{gaEventLabel:"adsense_help",href:"https://support.google.com/adsense/"},Object(u.__)("Get help with AdSense","google-site-kit"))))}HelpMenu.propTypes={children:c.a.node}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(l.a,{href:S,external:!0,hideExternalIndicator:!0},Object(c.__)("Get help","google-site-kit"))}),x=Object(c.__)("Retry","google-site-kit")):N?(w=Object(c.__)("Insufficient permissions","google-site-kit"),C=Object(a.a)(Object(c.__)("You’ll need to contact your administrator. Trouble getting access? ","google-site-kit"),{HelpLink:e.createElement(l.a,{href:k,external:!0,hideExternalIndicator:!0},Object(c.__)("Get help","google-site-kit"))}),x=Object(c.__)("Request access","google-site-kit"),A=j):(w=p||Object(c.__)("Failed to set up visitor groups","google-site-kit"),C=h||Object(c.__)("Oops! Something went wrong. Retry enabling groups.","google-site-kit"),x=Object(c.__)("Retry","google-site-kit")),e.createElement(u.a,null,e.createElement(s.a,{dialogActive:!0,buttonLink:A,title:w,subtitle:C,handleConfirm:function(){var e;e=r?"auth_error_retry":N?"insufficient_permissions_error_request_access":"setup_error_retry",Object(m.J)(v,e).finally((function(){N||O()}))},confirmButton:x,handleDialog:function(){var e;e=r?"auth_error_cancel":N?"insufficient_permissions_error_cancel":"setup_error_cancel",Object(m.J)(v,e).finally(E)},onOpen:function(){var e;e=r?"auth_error":N?"insufficient_permissions_error":"setup_error",Object(m.J)(v,e)},onClose:E,danger:!0,inProgress:i}))}AudienceErrorModal.propTypes={apiErrors:i.a.oneOfType([i.a.arrayOf(i.a.object),i.a.object,i.a.array]),hasOAuthError:i.a.bool,inProgress:i.a.bool,title:i.a.string,description:i.a.string,trackEventCategory:i.a.string,onCancel:i.a.func,onRetry:i.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(11),i=n.n(r),a=n(1),c=n.n(a),o=n(0),l=n(10),s=n(483),u=Object(o.forwardRef)((function(t,n){var r=t.className,a=t.content,c=t.dismissLabel,o=t.Icon,u=void 0===o?s.a:o,d=t.onDismiss;return e.createElement("div",{ref:n,className:i()("googlesitekit-audience-segmentation-info-notice",r)},e.createElement(u,{width:"20",height:"20"}),e.createElement("div",{className:"googlesitekit-audience-segmentation-info-notice__body"},e.createElement("p",null,a),c&&e.createElement(l.Button,{tertiary:!0,onClick:d,className:"googlesitekit-audience-segmentation-info-notice__dismiss"},c)))}));u.propTypes={className:c.a.string,content:c.a.string.isRequired,dismissLabel:c.a.string,Icon:c.a.elementType,onDismiss:c.a.func},t.a=u}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(7),i=n.n(r),a=n(24),c=n.n(a),o=n(60),l=n.n(o),s=n(13);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.metrics,n=e.dimensions,r=c()(e,["metrics","dimensions"]);return d({metrics:g(t),dimensions:m(n)},r)})),g=function(e){return Object(s.castArray)(e).map((function(e){return"string"==typeof e?{name:e}:e})).filter((function(e){return Object(s.isPlainObject)(e)}))},m=function(e){return Object(s.castArray)(e).map((function(e){return"string"==typeof e?{name:e}:e})).filter((function(e){return Object(s.isPlainObject)(e)}))}},function(e,t,n){"use strict";(function(e){var r=n(16),i=n.n(r),a=n(0);t.a=function(t,n){var r=Object(a.useState)(null),c=i()(r,2),o=c[0],l=c[1];return Object(a.useEffect)((function(){if(t.current&&"function"==typeof e.IntersectionObserver){var r=new e.IntersectionObserver((function(e){l(e[e.length-1])}),n);return r.observe(t.current),function(){l(null),r.disconnect()}}return function(){}}),[t.current,n.threshold,n.root,n.rootMargin]),o}}).call(this,n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return BadgeWithTooltip}));var r=n(1),i=n.n(r),a=n(11),c=n.n(a),o=n(131);function BadgeWithTooltip(t){var n=t.className,r=void 0===n?"":n,i=t.label,a=t.onTooltipOpen,l=t.tooltipTitle;return e.createElement("span",{className:c()("googlesitekit-badge-with-tooltip","googlesitekit-badge",r)},i,l&&e.createElement(o.a,{onOpen:a,title:l}))}BadgeWithTooltip.propTypes={onTooltipOpen:i.a.func,tooltipTitle:i.a.node,className:i.a.string,label:i.a.node.isRequired}}).call(this,n(4))},,,,function(e,t,n){"use strict";(function(e){var r=n(2),i=n(137),a=n(245),c=n(103);t.a=function Logo(){return e.createElement("div",{className:"googlesitekit-logo","aria-hidden":"true"},e.createElement(i.a,{className:"googlesitekit-logo__logo-g",height:"34",width:"32"}),e.createElement(a.a,{className:"googlesitekit-logo__logo-sitekit",height:"26",width:"99"}),e.createElement(c.a,null,Object(r.__)("Site Kit by Google Logo","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return c=e.done,e},e:function(e){o=!0,a=e},f:function(){try{c||null==n.return||n.return()}finally{if(o)throw a}}}}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nSign in to connect more services and control sharing access.","google-site-kit"),{strong:e.createElement("strong",null)}):Object(l.a)(Object(s.__)("You can see stats from all shared Google services, but you can't make any changes. Learn more","google-site-kit"),{a:e.createElement(h.a,{href:a,external:!0,onClick:O,"aria-label":Object(s.__)("Learn more about dashboard sharing","google-site-kit")})});return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item googlesitekit-view-only-menu__description"},e.createElement("p",null,y),n&&e.createElement(d.Button,{onClick:_},Object(s._x)("Sign in with Google","Service name","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SharedServices}));var r=n(2),i=n(3),a=n(6),c=n(287);function SharedServices(){var t=Object(i.useSelect)((function(e){return e(a.a).getViewableModules()}));return void 0===t?null:e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("h4",null,Object(r.__)("Shared services","google-site-kit")),e.createElement("ul",null,t.map((function(t){return e.createElement(c.a,{key:t,module:t})}))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Service}));var r=n(1),i=n.n(r),a=n(38),c=n(2),o=n(3),l=n(19),s=n(6);function Service(t){var n=t.module,r=Object(o.useSelect)((function(e){return e(s.a).hasCapability(s.H)})),i=Object(o.useSelect)((function(e){return e(l.a).getModule(n)||{}})),u=i.name,d=i.owner,f=Object(o.useSelect)((function(e){return e(l.a).getModuleIcon(n)}));return e.createElement("li",{className:"googlesitekit-view-only-menu__service"},e.createElement("span",{className:"googlesitekit-view-only-menu__service--icon"},e.createElement(f,{height:26})),e.createElement("span",{className:"googlesitekit-view-only-menu__service--name"},u),r&&(null==d?void 0:d.login)&&e.createElement("span",{className:"googlesitekit-view-only-menu__service--owner"},Object(a.a)(Object(c.sprintf)( -/* translators: %s: module owner Google Account email address */ -Object(c.__)("Shared by %s","google-site-kit"),d.login),{strong:e.createElement("strong",{title:d.login})})))}Service.propTypes={module:i.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Tracking}));var r=n(38),i=n(2),a=n(212),c=n(18);function Tracking(){var t=Object(c.a)();return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("p",null,Object(r.a)(Object(i.__)("Thanks for using Site Kit!
Help us make it even better","google-site-kit"),{br:e.createElement("br",null)})),e.createElement(a.a,{trackEventCategory:"".concat(t,"_headerbar_viewonly"),alignCheckboxLeft:!0}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SubtleNotifications}));var r=n(166),i=n(47);function SubtleNotifications(){return e.createElement(r.a,{areaSlug:i.b.BANNERS_BELOW_NAV})}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return g}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(0),l=n(3),s=n(14),u=n(18),d=n(34),f=n(9),g=function(){var e=Object(u.a)(),t=Object(l.useSelect)((function(e){return e(s.c).isUsingProxy()})),n=Object(l.useSelect)((function(e){return e(s.c).getSetupErrorMessage()}));Object(o.useEffect)((function(){n||void 0===t||function(){var n=c()(i.a.mark((function n(){var r,a;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Object(d.d)("start_user_setup");case 2:return r=n.sent,n.next=5,Object(d.d)("start_site_setup");case 5:if(a=n.sent,!r.cacheHit){n.next=10;break}return n.next=9,Object(d.c)("start_user_setup");case 9:Object(f.J)("".concat(e,"_setup"),"complete_user_setup",t?"proxy":"custom-oauth");case 10:if(!a.cacheHit){n.next=14;break}return n.next=13,Object(d.c)("start_site_setup");case 13:Object(f.J)("".concat(e,"_setup"),"complete_site_setup",t?"proxy":"custom-oauth");case 14:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()}),[e,t,n])}},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0,S="key-metric-selection-checkbox-".concat(n);return e.createElement(h.c,{id:S,slug:n,title:r,description:a,isNewlyDetected:o,isItemSelected:k,isItemDisabled:j,onCheckboxChange:y},b.length>0&&e.createElement("div",{className:"googlesitekit-selection-panel-item-error"},Object(u.sprintf)( -/* translators: %s: module names. */ -Object(u._n)("%s is disconnected, no data to show","%s are disconnected, no data to show",b.length,"google-site-kit"),b.join(Object(u.__)(" and ","google-site-kit")))))}MetricItem.propTypes={slug:l.a.string.isRequired,title:l.a.string.isRequired,description:l.a.string.isRequired,isNewlyDetected:l.a.bool,savedItemSlugs:l.a.array}}).call(this,n(4))},,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelHeader}));var r=n(1),i=n.n(r),a=n(20),c=n(110);function SelectionPanelHeader(t){var n=t.children,r=t.title,i=t.onCloseClick;return e.createElement("header",{className:"googlesitekit-selection-panel-header"},e.createElement("div",{className:"googlesitekit-selection-panel-header__row"},e.createElement("h3",null,r),e.createElement(a.a,{className:"googlesitekit-selection-panel-header__close",onClick:i,linkButton:!0},e.createElement(c.a,{width:"15",height:"15"}))),n)}SelectionPanelHeader.propTypes={children:i.a.node,title:i.a.string,onCloseClick:i.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelItem}));var r=n(1),i=n.n(r),a=n(2),c=n(321),o=n(75);function SelectionPanelItem(t){var n=t.children,r=t.id,i=t.slug,l=t.title,s=t.description,u=t.isItemSelected,d=t.isItemDisabled,f=t.onCheckboxChange,g=t.subtitle,m=t.suffix,p=t.badge,h=t.isNewlyDetected;return e.createElement("div",{className:"googlesitekit-selection-panel-item"},e.createElement(c.a,{badge:p,checked:u,disabled:d,id:r,onChange:f,title:l,value:i},g&&e.createElement("span",{className:"googlesitekit-selection-panel-item__subtitle"},g),s,n),h&&e.createElement(o.a,{label:Object(a.__)("New","google-site-kit")}),m&&e.createElement("span",{className:"googlesitekit-selection-panel-item__suffix"},m))}SelectionPanelItem.propTypes={children:i.a.node,id:i.a.string,slug:i.a.string,title:i.a.string,description:i.a.string,isItemSelected:i.a.bool,isItemDisabled:i.a.bool,onCheckboxChange:i.a.func,subtitle:i.a.string,suffix:i.a.node,badge:i.a.node,isNewlyDetected:i.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelItems}));var r=n(21),i=n.n(r),a=n(1),c=n.n(a),o=n(0),l=n(2);function SelectionPanelItems(t){var n=t.currentSelectionTitle,r=void 0===n?Object(l.__)("Current selection","google-site-kit"):n,a=t.availableItemsTitle,c=void 0===a?Object(l.__)("Additional items","google-site-kit"):a,s=t.savedItemSlugs,u=void 0===s?[]:s,d=t.availableSavedItems,f=void 0===d?{}:d,g=t.availableUnsavedItems,m=void 0===g?{}:g,p=t.ItemComponent,h=t.notice,v=function(t){return Object.keys(t).map((function(n){return e.createElement(p,i()({key:n,slug:n,savedItemSlugs:u},t[n]))}))},b=Object.keys(m).length;return e.createElement("div",{className:"googlesitekit-selection-panel-items"},0!==u.length&&e.createElement(o.Fragment,null,e.createElement("p",{className:"googlesitekit-selection-panel-items__subheading"},r),e.createElement("div",{className:"googlesitekit-selection-panel-items__subsection"},v(f)),b>0&&e.createElement("p",{className:"googlesitekit-selection-panel-items__subheading"},c)),b>0&&e.createElement("div",{className:"googlesitekit-selection-panel-items__subsection"},v(m)),h)}SelectionPanelItems.propTypes={currentSelectionTitle:c.a.string,availableItemsTitle:c.a.string,savedItemSlugs:c.a.array,availableSavedItems:c.a.object,availableUnsavedItems:c.a.object,ItemComponent:c.a.elementType,notice:c.a.node}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelFooter}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(16),l=n.n(o),s=n(13),u=n(1),d=n.n(u),f=n(0),g=n(38),m=n(2),p=n(3),h=n(10),v=n(111),b=n(9),E=n(8),_=n(42),O=n(59);function SelectionPanelFooter(t){var n=t.savedItemSlugs,r=void 0===n?[]:n,a=t.selectedItemSlugs,o=void 0===a?[]:a,u=t.saveSettings,d=void 0===u?function(){}:u,y=t.saveError,k=t.itemLimitError,j=t.minSelectedItemCount,S=void 0===j?0:j,w=t.maxSelectedItemCount,C=void 0===w?0:w,x=t.isBusy,A=t.onSaveSuccess,N=void 0===A?function(){}:A,T=t.onCancel,D=void 0===T?function(){}:T,M=t.isOpen,R=t.closePanel,B=void 0===R?function(){}:R,I=Object(f.useState)(null),P=l()(I,2),L=P[0],F=P[1],z=Object(f.useState)(!1),V=l()(z,2),W=V[0],G=V[1],U=Object(p.useSelect)((function(e){return e(E.r).isFetchingSyncAvailableAudiences()})),H=Object(f.useMemo)((function(){return!Object(s.isEqual)(Object(b.F)(o),Object(b.F)(r))}),[r,o]),q=(null==r?void 0:r.length)>0&&H?Object(m.__)("Apply changes","google-site-kit"):Object(m.__)("Save selection","google-site-kit"),K=Object(f.useCallback)(c()(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(o);case 2:t=e.sent,t.error||(N(),B(),F(q),G(!0));case 5:case"end":return e.stop()}}),e)}))),[d,o,N,B,q]),J=Object(f.useCallback)((function(){B(),D()}),[B,D]),Y=Object(f.useState)(null),$=l()(Y,2),X=$[0],Q=$[1];Object(f.useEffect)((function(){null!==X&&X!==M&&M&&(F(null),G(!1)),Q(M)}),[M,X]);var Z=(null==o?void 0:o.length)||0,ee=U?e.createElement(_.a,{width:"89px",height:"20px"}):e.createElement("p",{className:"googlesitekit-selection-panel-footer__item-count"},Object(g.a)(Object(m.sprintf)( -/* translators: 1: Number of selected items. 2: Maximum number of items that can be selected. */ -Object(m.__)("%1$d selected (up to %2$d)","google-site-kit"),Z,C),{MaxCount:e.createElement("span",{className:"googlesitekit-selection-panel-footer__item-count--max-count"})}));return e.createElement("footer",{className:"googlesitekit-selection-panel-footer"},y&&e.createElement(v.a,{error:y}),e.createElement("div",{className:"googlesitekit-selection-panel-footer__content"},H&&k?e.createElement(O.a,{noPrefix:!0,message:k}):ee,e.createElement("div",{className:"googlesitekit-selection-panel-footer__actions"},e.createElement(h.Button,{tertiary:!0,onClick:J,disabled:x},Object(m.__)("Cancel","google-site-kit")),e.createElement(h.SpinnerButton,{onClick:K,isSaving:x,disabled:ZC||x||!M&&W},L||q))))}SelectionPanelFooter.propTypes={savedItemSlugs:d.a.array,selectedItemSlugs:d.a.array,saveSettings:d.a.func,saveError:d.a.object,itemLimitError:d.a.string,minSelectedItemCount:d.a.number,maxSelectedItemCount:d.a.number,isBusy:d.a.bool,onSaveSuccess:d.a.func,onCancel:d.a.func,isOpen:d.a.bool,closePanel:d.a.func}}).call(this,n(4))},,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetReportZero}));var r=n(7),i=n.n(r),a=n(21),c=n.n(a),o=n(24),l=n.n(o),s=n(1),u=n.n(s),d=n(0),f=n(138),g=n(174);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function WidgetReportZero(t){var n=t.widgetSlug,r=t.moduleSlug,i=l()(t,["widgetSlug","moduleSlug"]),a=Object(d.useMemo)((function(){return{moduleSlug:r}}),[r]);return Object(f.a)(n,g.a,a),e.createElement(g.a,c()({moduleSlug:r},i))}WidgetReportZero.propTypes=function(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(o.a,{href:n,external:!0,hideExternalIndicator:!0},Object(c.__)("Get help","google-site-kit"))})}GetHelpLink.propTypes={linkURL:i.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTileNoData}));var r=n(2);function AudienceTileNoData(){return e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__no-data"},Object(r.__)("No data to show yet","google-site-kit"))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PartialDataNotice}));var r=n(1),i=n.n(r);function PartialDataNotice(t){var n=t.content;return e.createElement("span",{className:"googlesitekit-audience-segmentation-partial-data-notice"},n)}PartialDataNotice.propTypes={content:i.a.node}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:0;Object(r.useEffect)((function(){var r,i=!1,a=function(){r=e.setTimeout((function(){i=!0}),n)},c=function(){e.clearTimeout(r),i&&(i=!1,t())};return e.addEventListener("focus",c),e.addEventListener("blur",a),function(){e.removeEventListener("focus",c),e.removeEventListener("blur",a),e.clearTimeout(r)}}),[n,t])}}).call(this,n(28))},,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ChipTabGroup}));var r,i=n(21),a=n.n(i),c=n(27),o=n.n(c),l=n(16),s=n.n(l),u=n(7),d=n.n(u),f=n(0),g=n(513),m=n(2),p=n(3),h=n(10),v=n(25),b=n(29),E=n(353),_=n(303),O=n(354),y=n(26),k=n(226),j=n(203),S=n(74),w=n(8),C=n(23),x=n(6),A=n(19),N=(r={},d()(r,v.c.SLUG,k.a),d()(r,v.g.SLUG,j.a),r);function ChipTabGroup(t){var n=t.allMetricItems,r=t.savedItemSlugs,i=Object(f.useState)(v.c.SLUG),c=s()(i,2),l=c[0],u=c[1],k=Object(f.useState)(0),j=s()(k,2),T=j[0],D=j[1],M=Object(y.e)()===y.b,R=Object(p.useSelect)((function(e){return e(b.a).getValue(v.j,v.i)})),B=Object(p.useSelect)((function(e){return e(b.a).getValue(v.j,v.a)||[]})),I=Object(p.useSelect)((function(e){return e(b.a).getValue(v.j,v.p)||[]})),P=Object(p.useSelect)((function(e){return e(x.a).isUserInputCompleted()})),L=Object(p.useSelect)((function(e){return e(x.a).getAnswerBasedMetrics()})),F=Object(p.useSelect)((function(e){var t,n=e(x.a).getUserPickedMetrics();if(null==n?void 0:n.length){var r=e(w.r).getKeyMetricsConversionEventWidgets();return Object.keys(r).filter((function(e){return n.some((function(t){return r[e].includes(t)}))}))}var i=e(x.a).getUserInputSettings();return null==i||null===(t=i.includeConversionEvents)||void 0===t?void 0:t.values})),z=Object(p.useSelect)((function(e){return e(A.a).isModuleConnected("analytics-4")})),V=Object(p.useSelect)((function(e){return z?e(w.r).getDetectedEvents():[]})),W=[w.l.SUBMIT_LEAD_FORM,w.l.CONTACT,w.l.GENERATE_LEAD].filter((function(e){return(null==V?void 0:V.includes(e))||(null==F?void 0:F.includes(e))})),G=[w.l.ADD_TO_CART,w.l.PURCHASE].filter((function(e){return(null==V?void 0:V.includes(e))||(null==F?void 0:F.includes(e))})),U=Object(f.useMemo)((function(){return[v.h,v.d].concat(o()((null==W?void 0:W.length)?[v.e]:[]),o()((null==G?void 0:G.length)?[v.f]:[]),[v.b])}),[W,G]),H=Object(f.useMemo)((function(){return P?[v.c,v.g]:[v.c]}),[P]),q=Object(f.useMemo)((function(){return[].concat(o()(H),o()(U))}),[H,U]),K=Object(p.useSelect)((function(e){if(!z)return[];var t=e(w.r).getNewBadgeEvents();if((null==V?void 0:V.length)&&(null==t?void 0:t.length)){var n=V.filter((function(e){return w.e.includes(e)})),r=t.filter((function(e){return w.e.includes(e)})),i=t.filter((function(e){return!w.e.includes(e)}));if((null==n?void 0:n.length)>1&&r.length>0)return i}return t})),J=Object(p.useSelect)((function(e){return z?e(w.r).getKeyMetricsConversionEventWidgets():[]})),Y=d()({},v.c.SLUG,0),$={},X={},Q=function(e){var t,r=n[e].group;if((r===l||l===v.c.SLUG&&B.includes(e))&&($[e]=n[e]),l===v.g.SLUG&&L.includes(e)&&L.includes(e)&&($[e]=n[e]),!Y[r]){var i=Object.keys(n).filter((function(e){return!(n[e].group!==r||!(null==R?void 0:R.includes(e)))})).length;Y[r]=i}(null==K?void 0:K.length)&&(K.some((function(t){return J[t].includes(e)}))&&(X[r]=[].concat(o()(null!==(t=X[r])&&void 0!==t?t:[]),[e])))};for(var Z in n)Q(Z);var ee=Object(p.useDispatch)(b.a).setValues,te=Object(f.useCallback)((function(){var e;ee(v.j,(e={},d()(e,v.i,R),d()(e,v.a,[].concat(o()(B),o()(I))),d()(e,v.p,[]),e))}),[R,B,I,ee]),ne=Object(f.useCallback)((function(e,t){if(e)u(e);else{var n=q[t];D(t),u(n.SLUG)}I.length&&te()}),[q,I,u,te]),re=Object(p.useSelect)((function(e){return e(C.b).getValue(v.k)})),ie=Object(g.a)(re),ae=Object.keys(X);Object(f.useEffect)((function(){if(!ie&&re)if(u(v.c.SLUG),D(0),ae.length&&M){var e=q.find((function(e){return e.SLUG===ae[0]}));D(q.indexOf(e)),u(e.SLUG)}else D(0),u(v.c.SLUG);ie&&!re&&te()}),[re,ie,I,q,M,ae,te]);var ce=[[].concat(o()(H),o()(U.slice(0,2))),o()(U.slice(2))];return e.createElement("div",{className:"googlesitekit-chip-tab-group"},e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-items"},!M&&ce.map((function(t){return e.createElement("div",{key:"row-".concat(t[0].SLUG),className:"googlesitekit-chip-tab-group__tab-items-row"},t.map((function(t){return e.createElement(E.a,{key:t.SLUG,slug:t.SLUG,label:t.LABEL,hasNewBadge:!!(null==X?void 0:X[t.SLUG]),isActive:t.SLUG===l,onClick:ne,selectedCount:Y[t.SLUG]})})))})),M&&e.createElement(h.TabBar,{activeIndex:T,handleActiveIndexUpdate:function(e){return ne(null,e)}},q.map((function(t,n){var r=N[t.SLUG]||S.a;return e.createElement(h.Tab,{key:n,"aria-label":t.LABEL},e.createElement(r,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__tab-item-mobile-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(t.SLUG)}),t.LABEL,Y[t.SLUG]>0&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",Y[t.SLUG],")"),!!(null==X?void 0:X[t.SLUG])&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))})))),e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-item"},Object.keys($).map((function(t){var n,i=$[t].group,c=null==X||null===(n=X[i])||void 0===n?void 0:n.includes(t);return e.createElement(_.a,a()({key:t,slug:t,savedItemSlugs:r,isNewlyDetected:c},$[t]))})),!Object.keys($).length&&e.createElement("div",{className:"googlesitekit-chip-tab-group__graphic"},e.createElement(O.a,{height:250}),e.createElement("p",null,Object(m.__)("No metrics were selected yet","google-site-kit")))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Chip}));var r,i=n(7),a=n.n(i),c=n(1),o=n.n(c),l=n(11),s=n.n(l),u=n(10),d=n(25),f=n(226),g=n(203),m=n(74),p=(r={},a()(r,d.c.SLUG,f.a),a()(r,d.g.SLUG,g.a),r);function Chip(t){var n=t.slug,r=t.label,i=t.isActive,a=t.onClick,c=t.hasNewBadge,o=void 0!==c&&c,l=t.selectedCount,d=void 0===l?0:l,f=p[n]||m.a;return e.createElement(u.Button,{className:s()("googlesitekit-chip-tab-group__chip-item",{"googlesitekit-chip-tab-group__chip-item--active":i}),icon:e.createElement(f,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(n)}),trailingIcon:d>0?e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",d,")"):null,onClick:function(){return a(n)}},r,o&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))}Chip.propTypes={slug:o.a.string.isRequired,label:o.a.string.isRequired,isActive:o.a.bool,hasNewBadge:o.a.bool,selectedCount:o.a.number,onClick:o.a.func.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;tLearn more',"google-site-kit"),"New visitors"),{strong:e.createElement("strong",null),link:e.createElement(s.a,{href:i,external:!0,hideExternalIndicator:!0})});case"returning-visitors":return Object(c.a)(Object(o.sprintf)( -/* translators: %s: is the audience name */ -Object(o.__)('%s are people who have visited your site at least once before. Note that under some circumstances it\'s possible for a visitor to be counted in both the "new" and "returning" groups. Learn more',"google-site-kit"),"Returning visitors"),{strong:e.createElement("strong",null),link:e.createElement(s.a,{href:i,external:!0,hideExternalIndicator:!0})});default:return Object(c.a)(Object(o.sprintf)( -/* translators: %s: is the audience name */ -Object(o.__)("%s is an audience that already exists in your Analytics property. Note that it's possible for a visitor to be counted in more than one group. Learn more","google-site-kit"),"".concat(r,"")),{strong:e.createElement("strong",null),link:e.createElement(s.a,{href:i,external:!0,hideExternalIndicator:!0})})}}),[n,r,i])}AudienceTooltipMessage.propTypes={audienceSlug:i.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return RetryButton}));var r=n(1),i=n.n(r),a=n(2),c=n(10),o=n(9),l=n(18);function RetryButton(t){var n=t.handleRetry,r=Object(l.a)();return e.createElement(c.Button,{className:"googlesitekit-audience-selection-panel__error-notice-action",onClick:function(){n(),Object(o.J)("".concat(r,"_audiences-sidebar"),"data_loading_error_retry")},tertiary:!0},Object(a.__)("Retry","google-site-kit"))}RetryButton.propTypes={handleRetry:i.a.func.isRequired}}).call(this,n(4))},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(13);function i(e){var t;if(void 0!==e)return!((null==e?void 0:e.rows)&&(null==e?void 0:e.totals)&&!(null==e||null===(t=e.totals)||void 0===t?void 0:t.every(r.isEmpty)))||!e.totals.some((function(e){return!!e.metricValues&&e.metricValues.some((function(e){return e.value>0}))}))}},,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return NotificationWithSVG}));var r=n(21),i=n.n(r),a=n(11),c=n.n(a),o=n(26),l=n(17),s=n(386);function NotificationWithSVG(t){var n=t.id,r=t.title,a=t.description,u=t.actions,d=t.SVG,f=Object(o.e)(),g={mdSize:8,lgSize:6};return f===o.c&&(g={mdSize:8}),f===o.b&&(g={smSize:12}),e.createElement("div",{className:"googlesitekit-widget-context"},e.createElement(l.e,{className:"googlesitekit-widget-area"},e.createElement(l.k,null,e.createElement(l.a,{size:12},e.createElement("div",{className:c()("googlesitekit-widget","googlesitekit-widget--no-padding","googlesitekit-setup-cta-banner","googlesitekit-setup-cta-banner--".concat(n))},e.createElement("div",{className:"googlesitekit-widget__body"},e.createElement(l.e,{collapsed:!0},e.createElement(l.k,null,e.createElement(l.a,{smSize:12,mdSize:8,lgSize:6,className:"googlesitekit-setup-cta-banner__primary-cell"},e.createElement("h3",{className:"googlesitekit-setup-cta-banner__title"},r),a,e.createElement(s.a,{id:n}),u),e.createElement(l.a,i()({alignBottom:!0,className:"googlesitekit-setup-cta-banner__svg-wrapper--".concat(n)},g),e.createElement(d,null))))))))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Error}));var r=n(1),i=n.n(r),a=n(0),c=n(3),o=n(14),l=n(59);function Error(t){var n=t.id,r=Object(c.useSelect)((function(e){return e(o.c).getError("notificationAction",[n])})),i=Object(c.useDispatch)(o.c).clearError;return Object(a.useEffect)((function(){return function(){i("notificationAction",[n])}}),[i,n]),r?e.createElement(l.a,{message:r.message}):null}Error.propTypes={id:i.a.string}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(3),i=n(19),a=n(6),c=n(25),o=n(8),l=n(67);function s(){return Object(r.useSelect)((function(e){var t=e(a.a).isItemDismissed(c.l),n=e(a.a).isDismissingItem(c.l),r=u(e,"search-console",l.b),i=u(e,"analytics-4",o.r);return!1===t&&!1===n&&r&&i}),[])}function u(e,t,n){if(e(i.a).isModuleConnected(t)){var r=e(n),a=r.isGatheringData,c=r.isDataAvailableOnLoad;return a(),c()}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return KeyMetricsSetupCTARenderedEffect}));var r=n(254),i=n(3),a=n(23),c="KEY_METRICS_SETUP_CTA_RENDERED";function KeyMetricsSetupCTARenderedEffect(){var e=Object(i.useDispatch)(a.b).setValue;return Object(r.a)((function(){e(c,!0)})),null}},,function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=t.redirectURL,r=t.onSuccess,a=t.onError,o=Object(s.a)(),b=Object(d.useState)([]),E=l()(b,2),_=E[0],O=E[1],y=Object(d.useState)([]),k=l()(y,2),j=k[0],S=k[1],w=Object(d.useState)(!1),C=l()(w,2),x=C[0],A=C[1],N=Object(g.useSelect)((function(e){return e(p.a).hasScope(v.h)})),T=Object(g.useSelect)((function(e){return e(m.a).getValue(v.c,"autoSubmit")})),D=Object(g.useDispatch)(m.a),M=D.setValues,R=Object(g.useDispatch)(p.a),B=R.setPermissionScopeError,I=Object(g.useDispatch)(v.r),P=I.enableAudienceGroup;n||(n=Object(f.a)(e.location.href,{notification:"audience_segmentation"}));var L=Object(d.useCallback)(c()(i.a.mark((function t(){var c,l,s;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(A(!0),N){t.next=5;break}return M(v.c,{autoSubmit:!0}),B({code:h.a,message:Object(u.__)("Additional permissions are required to create new audiences in Analytics.","google-site-kit"),data:{status:403,scopes:[v.h],skipModal:!0,skipDefaultErrorNotifications:!0,redirectURL:n,errorRedirectURL:e.location.href}}),t.abrupt("return");case 5:return M(v.c,{autoSubmit:!1}),t.next=8,P(j);case 8:if(t.t0=t.sent,t.t0){t.next=11;break}t.t0={};case 11:c=t.t0,l=c.error,s=c.failedSiteKitAudienceSlugs,l||s?null==a||a():null==r||r(),o()&&(l?(O([l]),S([])):Array.isArray(s)?(S(s),O([])):(O([]),S([])),A(!1));case 16:case"end":return t.stop()}}),t)}))),[N,M,P,j,o,B,n,a,r]);return Object(d.useEffect)((function(){N&&T&&L()}),[N,T,L]),{apiErrors:_,failedAudiences:j,isSaving:x,onEnableGroups:L}}}).call(this,n(28))},,function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0?e.createElement(r.Fragment,null,e.createElement(d.a,{secondary:!0,linkButton:!0,className:"googlesitekit-widget-area__cta-link",onClick:m,leadingIcon:e.createElement(f.a,{width:22,height:22})},Object(i.__)("Change groups","google-site-kit"))):null}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ConnectAnalyticsCTAWidget}));var r=n(1),i=n.n(r),a=n(38),c=n(0),o=n(2),l=n(3),s=n(492),u=n(493),d=n(20),f=n(19),g=n(181),m=n(26),p=n(343);function ConnectAnalyticsCTAWidget(t){var n=t.Widget,r=Object(m.e)()===m.c,i=Object(g.a)("analytics-4"),h=Object(l.useSelect)((function(e){return e(f.a).getModuleIcon("analytics-4")})),v=r?e.createElement("p",null,Object(a.a)(Object(o.__)("Google Analytics is disconnected, your audience metrics can’t be displayed. Connect Google Analytics","google-site-kit"),{a:e.createElement(d.a,{secondary:!0,onClick:i})})):e.createElement(c.Fragment,null,e.createElement("p",null,Object(o.__)("Google Analytics is disconnected, your audience metrics can’t be displayed","google-site-kit")),e.createElement(d.a,{secondary:!0,onClick:i},Object(o.__)("Connect Google Analytics","google-site-kit")));return e.createElement(n,{noPadding:!0},e.createElement(p.a,{Icon:h,SVGGraphic:r?u.a:s.a},v))}ConnectAnalyticsCTAWidget.propTypes={Widget:i.a.elementType.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(0),c=n(2),o=n(3),l=n(6),s=n(9),u=n(50),d=n(237),f=n(163),g=n(8),m=n(23),p=n(104),h=n(18),v=Object(p.a)(d.a);function InfoNoticeWidget(t){var n=t.Widget,r=t.WidgetNull,i=Object(h.a)(),u=Object(o.useInViewSelect)((function(e){var t=e(g.r).getAvailableAudiences();return null==t?void 0:t.map((function(e){return e.name}))}),[]),d=Object(o.useInViewSelect)((function(e){return e(l.a).getConfiguredAudiences()}),[]),p=null==d?void 0:d.some((function(e){return null==u?void 0:u.includes(e)})),b=f.a.length,E=Object(o.useInViewSelect)((function(e){return e(l.a).isPromptDismissed(f.c)}),[]),_=Object(o.useSelect)((function(e){return e(m.b).getValue(f.b)})),O=Object(o.useInViewSelect)((function(e){return e(l.a).getPromptDismissCount(f.c)}),[]),y=Object(o.useDispatch)(l.a).dismissPrompt,k=Object(a.useCallback)((function(){void 0!==O&&Object(s.J)("".concat(i,"_audiences-info-notice"),"dismiss_notice",f.a[O].slug).finally((function(){var e=2*s.g,t=O+1=b||!0===_)return e.createElement(r,null);var j=f.a[O],S=j.slug,w=j.content;return e.createElement(n,{noPadding:!0},e.createElement(v,{content:w,dismissLabel:Object(c.__)("Got it","google-site-kit"),onDismiss:k,onInView:function(){Object(s.J)("".concat(i,"_audiences-info-notice"),"view_notice",S)}}))}InfoNoticeWidget.propTypes={Widget:i.a.elementType.isRequired,WidgetNull:i.a.elementType.isRequired},t.a=Object(u.a)({moduleName:"analytics-4"})(InfoNoticeWidget)}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SecondaryUserSetupWidget}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(16),l=n.n(o),s=n(1),u=n.n(s),d=n(84),f=n(0),g=n(3),m=n(177),p=n(8),h=n(198),v=n(36);function SecondaryUserSetupWidget(t){var n=t.Widget,r=Object(f.useState)(null),a=l()(r,2),o=a[0],s=a[1],u=Object(g.useSelect)((function(e){return e(p.r).isSettingUpAudiences()})),b=Object(g.useDispatch)(p.r).enableSecondaryUserAudienceGroup,E=function(){var e=c()(i.a.mark((function e(){var t,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s(null),e.next=3,b();case 3:t=e.sent,(n=t.error)&&s(n);case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return Object(d.a)((function(){u||c()(i.a.mark((function e(){var t,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b();case 2:t=e.sent,(n=t.error)&&s(n);case 5:case"end":return e.stop()}}),e)})))()})),o?e.createElement(h.a,{Widget:n,errors:o,onRetry:E,showRetryButton:!Object(v.e)(o)}):e.createElement(n,{className:"googlesitekit-widget-audience-tiles",noPadding:!0},e.createElement("div",{className:"googlesitekit-widget-audience-tiles__body"},e.createElement(n,{noPadding:!0},e.createElement(m.a,null)),e.createElement(n,{noPadding:!0},e.createElement(m.a,null))))}SecondaryUserSetupWidget.propTypes={Widget:u.a.elementType.isRequired}}).call(this,n(4))},,,,,,,,,,,function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(0),c=n(2),o=n(10),l=n(17),s=n(26),u=n(345),d=n(36),f=n(133),g=n(339),m=Object(a.forwardRef)((function(t,n){var r=t.Widget,i=t.errors,a=t.onRetry,m=t.onRequestAccess,p=t.showRetryButton,h=Object(s.e)(),v=h===s.b,b=h===s.c,E=i.some(d.e);return e.createElement(r,{ref:n,noPadding:!0,className:"googlesitekit-audience-segmentation-error-widget"},e.createElement(l.e,{collapsed:!0,className:"googlesitekit-audience-segmentation-error__widget-primary-cell"},e.createElement(l.k,null,e.createElement(l.a,{smSize:6,mdSize:8,lgSize:7},e.createElement("h3",{className:"googlesitekit-publisher-win__title"},E?Object(c.__)("Insufficient permissions","google-site-kit"):Object(c.__)("Your visitor groups data loading failed","google-site-kit")),e.createElement("div",{className:"googlesitekit-widget-audience-segmentation-error__actions"},p&&a?e.createElement(o.Button,{onClick:a,danger:!0},Object(c.__)("Retry","google-site-kit")):e.createElement(f.a,{moduleSlug:"analytics-4",error:i,GetHelpLink:E?g.a:void 0,hideGetHelpLink:!E,buttonVariant:"danger",getHelpClassName:"googlesitekit-error-retry-text",onRetry:a,onRequestAccess:m}))),!v&&!b&&e.createElement(l.a,{className:"googlesitekit-widget-audience-segmentation-error__svg-wrapper",smSize:6,mdSize:3,lgSize:5},e.createElement(u.a,{width:"233px"})),b&&e.createElement(l.a,{className:"googlesitekit-widget-audience-segmentation-error__svg-wrapper",mdSize:8},e.createElement(u.a,{width:"233px"})),v&&e.createElement(l.a,{className:"googlesitekit-widget-audience-segmentation-error__svg-wrapper",smSize:8},e.createElement(u.a,{width:"233px"})))))}));m.propTypes={Widget:i.a.elementType.isRequired,errors:i.a.arrayOf(i.a.object).isRequired,onRetry:i.a.func.isRequired,onRequestAccess:i.a.func.isRequired,showRetryButton:i.a.bool},t.a=m}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(0),l=n(2),s=n(164),u=n(83),d=n(32),f=n(14),g=n(6),m=n(9),p=n(18),h=n(3),v=n(10),b=n(139),E=Object(o.forwardRef)((function(t,n){var r=Object(p.a)(),a=Object(h.useSelect)((function(e){var t=e(f.c).getAdminURL("googlesitekit-dashboard");return Object(s.a)(t,{widgetArea:u.AREA_MAIN_DASHBOARD_TRAFFIC_AUDIENCE_SEGMENTATION})})),o=Object(h.useDispatch)(d.a).navigateTo,E=Object(h.useDispatch)(g.a).dismissItem;function _(){return E("settings_visitor_groups_setup_success_notification")}return e.createElement("div",{ref:n,className:"googlesitekit-settings-visitor-groups__setup-success googlesitekit-subtle-notification"},e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},e.createElement(b.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,Object(l.__)("We’ve added the audiences section to your dashboard!","google-site-kit"))),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},e.createElement(v.Button,{tertiary:!0,onClick:function(){Object(m.J)("".concat(r,"_audiences-setup-cta-settings-success"),"dismiss_notification").finally(_)}},Object(l.__)("Got it","google-site-kit")),e.createElement(v.Button,{onClick:function(){Object(m.J)("".concat(r,"_audiences-setup-cta-settings-success"),"confirm_notification").finally(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_();case 2:o(a);case 3:case"end":return e.stop()}}),e)}))))}},Object(l.__)("Show me","google-site-kit"))))}));t.a=E}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(2),c=n(0),o=n(450),l=n(451),s=n(452),u=n(10),d=n(17),f=n(26),g=Object(c.forwardRef)((function(t,n){var r=t.Widget,i=t.onEnableGroups,g=t.isSaving,m=t.dismissCount,p=t.handleDismissClick,h=Object(f.e)(),v=h===f.b,b=h===f.c;return e.createElement("div",{ref:n,className:"googlesitekit-widget-context"},e.createElement(d.e,{className:"googlesitekit-widget-area"},e.createElement(d.k,null,e.createElement(d.a,{size:12},e.createElement(r,{noPadding:!0,className:"googlesitekit-audience-segmentation-setup-cta-widget"},e.createElement(d.e,{collapsed:!0},e.createElement(d.k,null,e.createElement(d.a,{smSize:6,mdSize:8,lgSize:7,className:"googlesitekit-widget-audience-segmentation-primary-cell"},e.createElement("div",{className:"googlesitekit-widget-audience-segmentation-text__wrapper"},e.createElement("h3",{className:"googlesitekit-publisher-win__title"},Object(a.__)("Learn how different types of visitors interact with your site","google-site-kit")),e.createElement("p",null,Object(a.__)('Understand what brings new visitors to your site and keeps them coming back. Site Kit can now group your site visitors into relevant segments like "new" and "returning". To set up these new groups, Site Kit needs to update your Google Analytics property.',"google-site-kit"))),e.createElement("div",{className:"googlesitekit-widget-audience-segmentation-actions__wrapper"},e.createElement(c.Fragment,null,e.createElement(u.SpinnerButton,{className:"googlesitekit-audience-segmentation-cta-button",onClick:i,isSaving:g},g?Object(a.__)("Enabling groups","google-site-kit"):Object(a.__)("Enable groups","google-site-kit")),e.createElement(u.Button,{tertiary:!0,onClick:p},m<1?Object(a.__)("Maybe later","google-site-kit"):Object(a.__)("Don’t show again","google-site-kit"))))),!v&&!b&&e.createElement(d.a,{alignBottom:!0,className:"googlesitekit-widget-audience-segmentation-svg__wrapper",smSize:6,mdSize:3,lgSize:5},e.createElement(o.a,null)),b&&e.createElement(d.a,{className:"googlesitekit-widget-audience-segmentation-svg__wrapper",mdSize:8},e.createElement(l.a,null)),v&&e.createElement(d.a,{className:"googlesitekit-widget-audience-segmentation-svg__wrapper",smSize:8},e.createElement(s.a,null)))))))))}));g.propTypes={Widget:i.a.elementType.isRequired,onEnableGroups:i.a.func.isRequired,isSaving:i.a.bool.isRequired,dismissCount:i.a.number.isRequired,handleDismissClick:i.a.func.isRequired},t.a=g}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0;if(a&&s&&u)return"continue";a&&!s&&e.push(i),t.push(i)};(null==n?void 0:n.length)>0;)r();return[e,t]}),[N,A,re,B,P,M,z]),ue=c()(se,2),de=ue[0],fe=ue[1];var ge,me=(ge=[],P&&ge.push(F),z&&ge.push(W),!(!ge.every(Boolean)&&!H)||(null==A?void 0:A.every((function(e){return ne[e].length>0}))));Object(s.useEffect)((function(){de.forEach((function(e){var t="audience-tile-".concat(e);le.current[t]||(ae(t,{expiresInSeconds:1}),le.current[t]=!0)}))}),[de,ae,ie]);var pe=Object(d.useSelect)((function(e){return e(m.r).isFetchingSyncAvailableCustomDimensions()})),he=Object(d.useDispatch)(m.r).fetchSyncAvailableCustomDimensions,ve=Object.values(X).some(k.a)||Object.values(ee).some(k.a);Object(s.useEffect)((function(){!o&&ve&&he()}),[he,ve,o]);var be=Object(s.useState)(fe[0]),Ee=c()(be,2),_e=Ee[0],Oe=Ee[1],ye=Object(s.useCallback)((function(e){var t=fe.indexOf(e);return-1===t?0:t}),[fe]);Object(s.useEffect)((function(){fe.includes(_e)||Oe(fe[0])}),[_e,fe]);var ke=ye(_e),je=r||!L||!V||!U||!K||!$||!Z||pe,Se=0;return e.createElement(n,{className:"googlesitekit-widget-audience-tiles",noPadding:!0},!1===me&&!je&&x&&fe.length>0&&e.createElement(u.TabBar,{key:fe.length,className:"googlesitekit-widget-audience-tiles__tabs googlesitekit-tab-bar--start-aligned-high-contrast",activeIndex:ke,handleActiveIndexUpdate:function(e){return Oe(fe[e])}},fe.map((function(t,n){var r,i,c,o,l=(null==N||null===(r=N.filter((function(e){return e.name===t})))||void 0===r||null===(i=r[0])||void 0===i?void 0:i.displayName)||"",s=(null==N||null===(c=N.filter((function(e){return e.name===t})))||void 0===c||null===(o=c[0])||void 0===o?void 0:o.audienceSlug)||"",d=e.createElement(v.a,{audienceName:l,audienceSlug:s});return e.createElement(u.Tab,{key:n,"aria-label":l},l,e.createElement(h.a,{title:d,tooltipClassName:"googlesitekit-info-tooltip__content--audience",onOpen:function(){Object(w.J)("".concat(a,"_audiences-tile"),"view_tile_tooltip",s)}}))}))),e.createElement("div",{className:"googlesitekit-widget-audience-tiles__body"},me&&!je&&e.createElement(b.a,{Widget:n,errors:[].concat(i()(Object.values(ne).flat(2)),[F,H])}),(!1===me||je)&&fe.map((function(t,r){var i,a,c,o,l,s,u,d,f,g,m,h,b,O,y,k,j,S,w,C,A,N,T,D,M,R,B,I,P,L,F,z,V,W,U,H;if(x&&r!==ke)return null;var q=te(t,r),K=q.audienceName,J=q.audienceSlug,Y=q.visitors,$=q.prevVisitors,X=q.visitsPerVisitors,Q=q.prevVisitsPerVisitors,Z=q.pagesPerVisit,ee=q.prevPagesPerVisit,re=q.pageviews,ie=q.prevPageviews,ae=q.topCities,oe=q.topContent,le=q.topContentTitles,se=q.isZeroData,ue=q.isPartialData;return je||void 0===se||void 0===ue?e.createElement(n,{key:t,noPadding:!0},e.createElement(_.a,null)):ne[t].length>0?e.createElement(E.a,{key:t,audienceSlug:J,errors:ne[t]}):e.createElement(p.a,{key:t,audienceTileNumber:Se++,audienceSlug:J,title:K,infoTooltip:e.createElement(v.a,{audienceName:K,audienceSlug:J}),visitors:{currentValue:Y,previousValue:$},visitsPerVisitor:{currentValue:X,previousValue:Q},pagesPerVisit:{currentValue:Z,previousValue:ee},pageviews:{currentValue:re,previousValue:ie},percentageOfTotalPageViews:0!==G?re/G:0,topCities:{dimensionValues:[null==ae||null===(i=ae.rows)||void 0===i||null===(a=i[0])||void 0===a||null===(c=a.dimensionValues)||void 0===c?void 0:c[0],null==ae||null===(o=ae.rows)||void 0===o||null===(l=o[1])||void 0===l||null===(s=l.dimensionValues)||void 0===s?void 0:s[0],null==ae||null===(u=ae.rows)||void 0===u||null===(d=u[2])||void 0===d||null===(f=d.dimensionValues)||void 0===f?void 0:f[0]],metricValues:[null==ae||null===(g=ae.rows)||void 0===g||null===(m=g[0])||void 0===m||null===(h=m.metricValues)||void 0===h?void 0:h[0],null==ae||null===(b=ae.rows)||void 0===b||null===(O=b[1])||void 0===O||null===(y=O.metricValues)||void 0===y?void 0:y[0],null==ae||null===(k=ae.rows)||void 0===k||null===(j=k[2])||void 0===j||null===(S=j.metricValues)||void 0===S?void 0:S[0]],total:Y},topContent:{dimensionValues:[null==oe||null===(w=oe.rows)||void 0===w||null===(C=w[0])||void 0===C||null===(A=C.dimensionValues)||void 0===A?void 0:A[0],null==oe||null===(N=oe.rows)||void 0===N||null===(T=N[1])||void 0===T||null===(D=T.dimensionValues)||void 0===D?void 0:D[0],null==oe||null===(M=oe.rows)||void 0===M||null===(R=M[2])||void 0===R||null===(B=R.dimensionValues)||void 0===B?void 0:B[0]],metricValues:[null==oe||null===(I=oe.rows)||void 0===I||null===(P=I[0])||void 0===P||null===(L=P.metricValues)||void 0===L?void 0:L[0],null==oe||null===(F=oe.rows)||void 0===F||null===(z=F[1])||void 0===z||null===(V=z.metricValues)||void 0===V?void 0:V[0],null==oe||null===(W=oe.rows)||void 0===W||null===(U=W[2])||void 0===U||null===(H=U.metricValues)||void 0===H?void 0:H[0]]},topContentTitles:le,hasInvalidCustomDimensionError:ve,Widget:n,audienceResourceName:t,isZeroData:se,isPartialData:ue,isTileHideable:fe.length>1,onHideTile:function(){return ce(t)}})})),!x&&e.createElement(O.a,{Widget:n,loading:je,allTilesError:me,visibleAudienceCount:fe.length})))}AudienceTiles.propTypes={Widget:l.a.elementType.isRequired,widgetLoading:l.a.bool.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTile}));var r=n(11),i=n.n(r),a=n(1),c=n.n(a),o=n(2),l=n(3),s=n(26),u=n(35),d=n(8),f=n(455),g=n(456),m=n(457),p=n(458),h=n(459),v=n(460),b=n(297),E=n(461),_=n(462),O=n(179),y=n(131),k=n(341),j=n(9),S=n(240),w=n(18),C=n(465);function AudienceTile(t){var n=t.audienceTileNumber,r=void 0===n?0:n,a=t.audienceSlug,c=t.title,x=t.infoTooltip,A=t.visitors,N=t.visitsPerVisitor,T=t.pagesPerVisit,D=t.pageviews,M=t.percentageOfTotalPageViews,R=t.topCities,B=t.topContent,I=t.topContentTitles,P=t.hasInvalidCustomDimensionError,L=t.Widget,F=t.audienceResourceName,z=t.isZeroData,V=t.isPartialData,W=t.isTileHideable,G=t.onHideTile,U=Object(s.e)(),H=Object(w.a)(),q=Object(u.a)(),K=Object(l.useInViewSelect)((function(e){var t=e(d.r).getPropertyID();return t&&e(d.r).isPropertyPartialData(t)})),J=Object(l.useSelect)((function(e){return e(d.r).isSiteKitAudience(F)})),Y=Object(l.useInViewSelect)((function(e){return!J&&void 0!==K&&(!K&&F&&e(d.r).isAudiencePartialData(F))}),[K,J,F]),$=Object(l.useInViewSelect)((function(e){return void 0!==K&&(!K&&!Y&&e(d.r).isCustomDimensionPartialData("googlesitekit_post_type"))}),[Y]),X=Object(l.useInViewSelect)((function(e){return e(d.r).hasCustomDimensions("googlesitekit_post_type")}),[]),Q=[s.b,s.c].includes(U);return V&&z?e.createElement(C.a,{Widget:L,audienceSlug:a,title:c,infoTooltip:x,isMobileBreakpoint:Q,isTileHideable:W,onHideTile:G}):e.createElement(L,{noPadding:!0},e.createElement("div",{className:i()("googlesitekit-audience-segmentation-tile",{"googlesitekit-audience-segmentation-tile--partial-data":Y})},!Q&&e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__header"},e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__header-title"},c,x&&e.createElement(y.a,{title:x,tooltipClassName:"googlesitekit-info-tooltip__content--audience",onOpen:function(){return Object(j.J)("".concat(H,"_audiences-tile"),"view_tile_tooltip",a)}})),Y&&e.createElement(S.a,{className:"googlesitekit-audience-segmentation-partial-data-badge",label:Object(o.__)("Partial data","google-site-kit"),tooltipTitle:Object(o.__)("Still collecting full data for this timeframe, partial data is displayed for this group","google-site-kit"),onTooltipOpen:function(){Object(j.J)("".concat(H,"_audiences-tile"),"view_tile_partial_data_tooltip",a)}})),e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__metrics"},Q&&Y&&e.createElement(k.a,{content:Object(o.__)("Still collecting full data for this timeframe, partial data is displayed for this group","google-site-kit")}),e.createElement(b.a,{TileIcon:f.a,title:Object(o.__)("Visitors","google-site-kit"),metricValue:A.currentValue,Badge:function Badge(){return e.createElement(O.a,{previousValue:A.previousValue,currentValue:A.currentValue})}}),e.createElement(b.a,{TileIcon:g.a,title:Object(o.__)("Visits per visitor","google-site-kit"),metricValue:N.currentValue,Badge:function Badge(){return e.createElement(O.a,{previousValue:N.previousValue,currentValue:N.currentValue})}}),e.createElement(b.a,{TileIcon:m.a,title:Object(o.__)("Pages per visit","google-site-kit"),metricValue:T.currentValue,Badge:function Badge(){return e.createElement(O.a,{previousValue:T.previousValue,currentValue:T.currentValue})},metricValueFormat:{style:"decimal",maximumFractionDigits:2}}),e.createElement(b.a,{TileIcon:p.a,title:Object(o.sprintf)( -/* translators: %s: is a percentage value such as 33.3%. */ -Object(o.__)("%s of total pageviews","google-site-kit"),Object(j.C)(M,{style:"percent",maximumFractionDigits:1})),metricValue:D.currentValue,Badge:function Badge(){return e.createElement(O.a,{previousValue:D.previousValue,currentValue:D.currentValue})}}),e.createElement(E.a,{TileIcon:h.a,title:Object(o.__)("Cities with the most visitors","google-site-kit"),topCities:R}),(!q||X&&!P)&&e.createElement(_.a,{audienceTileNumber:r,audienceSlug:a,TileIcon:v.a,title:Object(o.__)("Top content by pageviews","google-site-kit"),topContentTitles:I,topContent:B,isTopContentPartialData:$}))))}AudienceTile.propTypes={audienceTileNumber:c.a.number,audienceSlug:c.a.string.isRequired,title:c.a.string.isRequired,infoTooltip:c.a.oneOfType([c.a.string,c.a.element]),visitors:c.a.object,visitsPerVisitor:c.a.object,pagesPerVisit:c.a.object,pageviews:c.a.object,percentageOfTotalPageViews:c.a.number,topCities:c.a.object,topContent:c.a.object,topContentTitles:c.a.object,hasInvalidCustomDimensionError:c.a.bool,Widget:c.a.elementType.isRequired,audienceResourceName:c.a.string.isRequired,isZeroData:c.a.bool,isPartialData:c.a.bool,isTileHideable:c.a.bool,onHideTile:c.a.func}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.isRetrying;F(m.d,{autoSubmit:!0,isRetrying:t}),N||V({code:p.a,message:Object(l.__)("Additional permissions are required to create new audiences in Analytics.","google-site-kit"),data:{status:403,scopes:[m.h],skipModal:!0,skipDefaultErrorNotifications:!0,redirectURL:T,errorRedirectURL:D}})}),[N,T,D,V,F]),Y=Object(c.useCallback)((function(){F(m.d,{autoSubmit:!1,isRetrying:!1}),q(null),W(),L("createCustomDimension",[P,m.f.googlesitekit_post_type])}),[L,W,P,q,F]),$=[u.b,u.c].includes(w),X=M||R||B;return r.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric googlesitekit-audience-segmentation-tile-metric--top-content"},r.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__icon"},r.createElement(a,null)),r.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__container"},r.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__title"},y,!$&&S&&r.createElement(h.a,{className:"googlesitekit-audience-segmentation-partial-data-badge",label:Object(l.__)("Partial data","google-site-kit"),onTooltipOpen:function(){Object(O.J)("".concat(C,"_audiences-tile"),"view_top_content_partial_data_tooltip",i)},tooltipTitle:Object(l.__)("Still collecting full data for this timeframe, partial data is displayed for this metric","google-site-kit")})),r.createElement(v.a,{topContentTitles:j,topContent:k,isTopContentPartialData:S,hasCustomDimension:!A,onCreateCustomDimension:J,isSaving:X}),0===n&&(I&&!X||G&&!M||K)&&r.createElement(b.a,{apiErrors:[I],title:Object(l.__)("Failed to enable metric","google-site-kit"),description:Object(l.__)("Oops! Something went wrong. Retry enabling the metric.","google-site-kit"),onRetry:function(){return J({isRetrying:!0})},onCancel:Y,inProgress:X,hasOAuthError:K,trackEventCategory:"".concat(C,"_audiences-top-content-cta")})))}AudienceTilePagesMetric.propTypes={audienceTileNumber:a.a.number,audienceSlug:a.a.string.isRequired,TileIcon:a.a.elementType.isRequired,title:a.a.string.isRequired,topContent:a.a.object,topContentTitles:a.a.object,isTopContentPartialData:a.a.bool}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTilePagesMetricContent}));var r=n(1),i=n.n(r),a=n(2),c=n(3),o=n(26),l=n(6),s=n(8),u=n(340),d=n(20),f=n(341),g=n(9),m=n(104),p=n(18),h=n(35),v=n(464),b=Object(m.a)(v.a);function AudienceTilePagesMetricContent(t){var n,r=t.topContentTitles,i=t.topContent,m=t.isTopContentPartialData,v=t.hasCustomDimension,E=t.onCreateCustomDimension,_=t.isSaving,O=Object(p.a)(),y=Object(h.a)(),k=Object(o.e)(),j=[o.b,o.c].includes(k),S=(null==i||null===(n=i.dimensionValues)||void 0===n?void 0:n.filter(Boolean))||[],w=!!S.length,C=Object(c.useSelect)((function(e){return e(l.a).getDateRangeDates({offsetDays:s.g})}));function ContentLinkComponent(t){var n=t.content,i=r[null==n?void 0:n.value],a=null==n?void 0:n.value,o=Object(c.useSelect)((function(e){return y?null:e(s.r).getServiceReportURL("all-pages-and-screens",{filters:{unifiedPagePathScreen:a},dates:C})}));return y?e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__top-content-metric-name"},i):e.createElement(d.a,{href:o,title:i,external:!0,hideExternalIndicator:!0},i)}return e.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__content"},!v&&e.createElement(b,{onClick:function(){Object(g.J)("".concat(O,"_audiences-top-content-cta"),"create_custom_dimension").finally(E)},isSaving:_,onInView:function(){Object(g.J)("".concat(O,"_audiences-top-content-cta"),"view_cta")}}),v&&!w&&e.createElement(u.a,null),v&&w&&S.map((function(t,n){var r;return e.createElement("div",{key:null==t?void 0:t.value,className:"googlesitekit-audience-segmentation-tile-metric__page-metric-container"},e.createElement(ContentLinkComponent,{content:t}),e.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__page-metric-value"},Object(g.C)(null==i||null===(r=i.metricValues[n])||void 0===r?void 0:r.value)))})),j&&m&&e.createElement(f.a,{content:Object(a.__)("Still collecting full data for this timeframe, partial data is displayed for this metric","google-site-kit")}))}AudienceTilePagesMetricContent.propTypes={topContentTitles:i.a.object,topContent:i.a.object,isTopContentPartialData:i.a.bool,hasCustomDimension:i.a.bool,onCreateCustomDimension:i.a.func,isSaving:i.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(0),c=n(2),o=n(10),l=Object(a.forwardRef)((function(t,n){var r=t.onClick,i=t.isSaving;return e.createElement("div",{ref:n,className:"googlesitekit-audience-segmentation-tile-metric__no-data"},Object(c.__)("No data to show","google-site-kit"),e.createElement("p",null,Object(c.__)("Update Analytics to track metric","google-site-kit")),e.createElement(o.SpinnerButton,{danger:!0,onClick:r,isSaving:i,disabled:i},Object(c.__)("Update","google-site-kit")))}));l.propTypes={onClick:i.a.func.isRequired,isSaving:i.a.bool},t.a=l}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTileZeroData}));var r=n(1),i=n.n(r),a=n(18),c=n(104),o=n(9),l=n(466),s=Object(c.a)(l.a);function AudienceTileZeroData(t){var n=t.Widget,r=t.audienceSlug,i=t.title,c=t.infoTooltip,l=t.isMobileBreakpoint,u=t.isTileHideable,d=t.onHideTile,f=Object(a.a)();return e.createElement(s,{Widget:n,audienceSlug:r,title:i,infoTooltip:c,isMobileBreakpoint:l,isTileHideable:u,onHideTile:function(){Object(o.J)("".concat(f,"_audiences-tile"),"temporarily_hide",r).finally(d)},onInView:function(){Object(o.J)("".concat(f,"_audiences-tile"),"view_tile_collecting_data",r)}})}AudienceTileZeroData.propTypes={Widget:i.a.elementType.isRequired,audienceSlug:i.a.string.isRequired,title:i.a.string.isRequired,infoTooltip:i.a.oneOfType([i.a.string,i.a.element]),isMobileBreakpoint:i.a.bool,isTileHideable:i.a.bool,onHideTile:i.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(0),c=n(18),o=n(9),l=n(131),s=n(467),u=n(469),d=Object(a.forwardRef)((function(t,n){var r=t.Widget,i=t.audienceSlug,a=t.title,d=t.infoTooltip,f=t.isMobileBreakpoint,g=t.isTileHideable,m=t.onHideTile,p=Object(c.a)();return e.createElement(r,{ref:n,noPadding:!0},e.createElement("div",{className:"googlesitekit-audience-segmentation-tile"},e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__zero-data-container"},!f&&e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__header"},e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__header-title"},a,d&&e.createElement(l.a,{title:d,tooltipClassName:"googlesitekit-info-tooltip__content--audience",onOpen:function(){return Object(o.J)("".concat(p,"_audiences-tile"),"view_tile_tooltip",i)}}))),e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__zero-data-content"},e.createElement(s.a,null),g&&e.createElement(u.a,{onHideTile:m})))))}));d.propTypes={Widget:i.a.elementType.isRequired,audienceSlug:i.a.string.isRequired,title:i.a.string.isRequired,infoTooltip:i.a.oneOfType([i.a.string,i.a.element]),isMobileBreakpoint:i.a.bool,isTileHideable:i.a.bool,onHideTile:i.a.func},t.a=d}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTileCollectingData}));var r=n(0),i=n(2),a=n(468);function AudienceTileCollectingData(){return e.createElement(r.Fragment,null,e.createElement(a.a,{className:"googlesitekit-audience-segmentation-tile__zero-data-image"}),e.createElement("p",{className:"googlesitekit-audience-segmentation-tile__zero-data-description"},Object(i.__)("Site Kit is collecting data for this group.","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;tSelect another group to compare with your current group or learn more about how to group site visitors in Analytics","google-site-kit"),{AnalyticsLink:v,SelectGroupLink:e.createElement(f.a,{secondary:!0,onClick:function(){return h(m.i,!0)}})}):Object(a.a)(Object(c.__)("Learn more about how to group site visitors in Analytics","google-site-kit"),{AnalyticsLink:v})))))}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(7),i=n.n(r),a=n(3),c=n(6),o=n(8);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t0||!1===l,_=f.length>0&&l,O=s(s({},h),{},{dimensions:[{name:"audienceResourceName"}],dimensionFilters:p,metrics:[{name:"totalUsers"},{name:"sessionsPerUser"},{name:"screenPageViewsPerSession"},{name:"screenPageViews"}]}),y=Object(a.useInViewSelect)((function(e){if(void 0!==E)return E?e(o.r).getReport(O):null}),[E,O]),k=Object(a.useSelect)((function(e){if(void 0!==E)return!E||e(o.r).hasFinishedResolution("getReport",[O])})),j=Object(a.useSelect)((function(e){if(void 0!==E)return E?e(o.r).getErrorForSelector("getReport",[O]):null})),S=s(s({},h),{},{dimensions:[{name:"newVsReturning"}],dimensionFilters:{newVsReturning:["new","returning"]},metrics:[{name:"totalUsers"},{name:"sessionsPerUser"},{name:"screenPageViewsPerSession"},{name:"screenPageViews"}]}),w=Object(a.useInViewSelect)((function(e){if(void 0!==_)return _?e(o.r).getReport(S):null}),[_,S]),C=Object(a.useSelect)((function(e){if(void 0!==_)return!_||e(o.r).hasFinishedResolution("getReport",[S])})),x=Object(a.useSelect)((function(e){if(void 0!==_)return _?e(o.r).getErrorForSelector("getReport",[S]):null})),A={startDate:v,endDate:b,metrics:[{name:"screenPageViews"}]},N=Object(a.useInViewSelect)((function(e){return e(o.r).getReport(A)})),T=Object(a.useSelect)((function(e){return e(o.r).hasFinishedResolution("getReport",[A])})),D=Object(a.useSelect)((function(e){return e(o.r).getErrorForSelector("getReport",[A])})),M=Number(null==N||null===(t=N.totals)||void 0===t||null===(n=t[0])||void 0===n||null===(r=n.metricValues)||void 0===r||null===(i=r[0])||void 0===i?void 0:i.value)||0,R={startDate:v,endDate:b,dimensions:["city"],metrics:[{name:"totalUsers"}],orderby:[{metric:{metricName:"totalUsers"},desc:!0}],limit:3},B=Object(a.useInViewSelect)((function(e){return e(o.r).getReportForAllAudiences(R,m)})),I=u(R,m),P=d(R,m),L={startDate:v,endDate:b,dimensions:["pagePath"],metrics:[{name:"screenPageViews"}],dimensionFilters:{"customEvent:googlesitekit_post_type":{filterType:"stringFilter",matchType:"EXACT",value:"post"}},orderby:[{metric:{metricName:"screenPageViews"},desc:!0}],limit:3},F=Object(a.useInViewSelect)((function(e){return e(o.r).getReportForAllAudiences(L,m)})),z=u(L,m),V=d(L,m),W={startDate:v,endDate:b,dimensions:["pagePath","pageTitle"],metrics:[{name:"screenPageViews"}],dimensionFilters:{"customEvent:googlesitekit_post_type":{filterType:"stringFilter",matchType:"EXACT",value:"post"}},orderby:[{metric:{metricName:"screenPageViews"},desc:!0}],limit:15};return{report:y,reportLoaded:k,reportError:j,siteKitAudiencesReport:w,siteKitAudiencesReportLoaded:C,siteKitAudiencesReportError:x,totalPageviews:M,totalPageviewsReportLoaded:T,totalPageviewsReportError:D,topCitiesReport:B,topCitiesReportLoaded:I,topCitiesReportErrors:P,topContentReport:F,topContentReportLoaded:z,topContentReportErrors:V,topContentPageTitlesReport:Object(a.useInViewSelect)((function(e){return e(o.r).getReportForAllAudiences(W,m)})),topContentPageTitlesReportLoaded:u(W,m),topContentPageTitlesReportErrors:d(W,m)}}},function(e,t,n){"use strict";(function(e){var r=n(0),i=n(38),a=n(2),c=n(3),o=n(342),l=n(20),s=n(19),u=n(343),d=n(32),f=n(14),g=n(23),m=n(6),p=n(41),h=n(18),v=n(35),b=n(9),E=Object(r.forwardRef)((function(t,n){var r=Object(h.a)(),E=Object(v.a)(),_=Object(c.useSelect)((function(e){return e(m.a).didSetAudiences()})),O=Object(c.useSelect)((function(e){return e(s.a).getModuleIcon("analytics-4")})),y=Object(c.useSelect)((function(e){return e(f.c).getAdminURL("googlesitekit-settings")})),k=Object(c.useDispatch)(g.b).setValue,j=Object(c.useDispatch)(d.a).navigateTo,S=_?"no-longer-available":"none-selected";function w(){Object(b.J)("".concat(r,"_audiences-no-audiences"),"select_groups",S).finally((function(){k(p.i,!0)}))}return e.createElement(u.a,{ref:n,className:"googlesitekit-no-audience-banner",Icon:O,SVGGraphic:o.a},e.createElement("p",null,_&&Object(i.a)(Object(a.__)("It looks like your visitor groups aren’t available anymore. Select other groups.","google-site-kit"),{a:e.createElement(l.a,{secondary:!0,onClick:w})}),!_&&Object(i.a)(Object(a.__)("You don’t have any visitor groups selected. Select groups.","google-site-kit"),{a:e.createElement(l.a,{secondary:!0,onClick:w})})),!E&&e.createElement("p",null,Object(i.a)(Object(a.__)("You can deactivate this widget in Settings.","google-site-kit"),{a:e.createElement(l.a,{secondary:!0,onClick:function(){Object(b.J)("".concat(r,"_audiences-no-audiences"),"change_settings",S).finally((function(){j("".concat(y,"#/admin-settings"))}))}})})))}));t.a=E}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Panel}));var r=n(7),i=n.n(r),a=n(0),c=n(3),o=n(18),l=n(9),s=n(41),u=n(29),d=n(23),f=n(6),g=n(8),m=n(479),p=n(486),h=n(488),v=n(489),b=n(490),E=n(113),_=n(491);function Panel(){var t=Object(o.a)(),n=Object(c.useSelect)((function(e){return e(d.b).getValue(s.i)})),r=Object(c.useSelect)((function(e){return e(g.r).isFetchingSyncAvailableAudiences()})),O=Object(c.useInViewSelect)((function(e){var t=e(g.r).getConfigurableAudiences,n=(0,e(f.a).getConfiguredAudiences)()||[],r=t()||[];return r.length&&n.length?r.filter((function(e){var t=e.name;return n.includes(t)})).map((function(e){return e.name})):[]})),y=Object(c.useSelect)((function(e){return e(u.a).getValue(s.c,"autoSubmit")})),k=Object(c.useDispatch)(u.a).setValues,j=Object(c.useDispatch)(d.b).setValue,S=Object(a.useCallback)((function(){var e;k(s.h,(e={},i()(e,s.f,O),i()(e,s.g,!1),e)),Object(l.J)("".concat(t,"_audiences-sidebar"),"audiences_sidebar_view")}),[O,k,t]),w=Object(a.useCallback)((function(){n&&(j(s.i,!1),j(s.e,!1))}),[j,n]);return e.createElement(E.e,{className:"googlesitekit-audience-selection-panel",closePanel:w,isOpen:n||y,isLoading:r,onOpen:S},e.createElement(v.a,{closePanel:w}),e.createElement(m.a,{savedItemSlugs:O}),e.createElement(b.a,null),e.createElement(p.a,null),e.createElement(_.a,null),e.createElement(h.a,{closePanel:w,isOpen:n,savedItemSlugs:O}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceItems}));var r=n(7),i=n.n(r),a=n(5),c=n.n(a),o=n(15),l=n.n(o),s=n(16),u=n.n(s),d=n(1),f=n.n(d),g=n(804),m=n(2),p=n(0),h=n(3),v=n(41),b=n(23),E=n(6),_=n(8),O=n(9),y=n(480),k=n(113),j=n(481),S=n(482),w=n(35),C=n(484);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t0?r(i(g?f:o)):{},v=(p||{}).rows,b=void 0===v?[]:v,O=(h||{}).rows,y=void 0===O?[]:O;return o.map((function(e){var t,n,r,i;return i="SITE_KIT_AUDIENCE"===e.audienceType&&g?k(b,"new-visitors"===e.audienceSlug?"new":"returning"):k(y,e.name),A(A({},e),{},{userCount:Number(null===(t=i)||void 0===t||null===(n=t.metricValues)||void 0===n||null===(r=n[0])||void 0===r?void 0:r.value)||0})}))}function k(e,t){return e.find((function(e){var n,r;return(null==e||null===(n=e.dimensionValues)||void 0===n||null===(r=n[0])||void 0===r?void 0:r.value)===t}))}})),R=function(e,t){var n=t.audienceType,r=t.description,a=t.displayName,c=t.name,o=t.userCount,l="";switch(n){case"DEFAULT_AUDIENCE":l=Object(m.__)("Created by default by Google Analytics","google-site-kit"),r="";break;case"SITE_KIT_AUDIENCE":l=Object(m.__)("Created by Site Kit","google-site-kit");break;case"USER_AUDIENCE":l=Object(m.__)("Already exists in your Analytics property","google-site-kit")}return A(A({},e),{},i()({},c,{title:a,subtitle:r,description:l,userCount:o,audienceType:n}))},B=null==M?void 0:M.filter((function(e){var t=e.name;return r.includes(t)})).reduce(R,{}),I=null==M?void 0:M.filter((function(e){var t=e.name;return!r.includes(t)})).reduce(R,{}),P=Object(h.useSelect)((function(e){if(void 0!==M){var t=e(E.a),n=t.hasFinishedResolution,r=t.hasExpirableItem;if(n("getExpirableItems"))return M.filter((function(e){var t=e.audienceType,n=e.name;return"DEFAULT_AUDIENCE"!==t&&!r("".concat(_.b).concat(n))})).map((function(e){var t=e.name;return"".concat(_.b).concat(t)}))}}));return Object(g.a)((function(){T&&void 0!==P&&P.length&&f(P.map((function(e){return{slug:e,expiresInSeconds:4*O.g}})))}),[T,f,P]),e.createElement(k.d,{availableItemsTitle:Object(m.__)("Additional groups","google-site-kit"),availableSavedItems:B,availableUnsavedItems:I,ItemComponent:D?j.a:y.a,savedItemSlugs:r,notice:e.createElement(p.Fragment,null,e.createElement(S.a,null),!N&&e.createElement(C.a,null))})}AudienceItems.propTypes={savedItemSlugs:f.a.array}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceItem}));var r=n(7),i=n.n(r),a=n(16),c=n.n(a),o=n(1),l=n.n(o),s=n(0),u=n(2),d=n(3),f=n(41),g=n(29),m=n(6),p=n(8),h=n(9),v=n(292),b=n(113),E=n(240);function AudienceItem(t){var n=t.slug,r=t.title,a=t.description,o=t.subtitle,l=t.userCount,_=t.audienceType,O="".concat(p.b).concat(n),y=Object(d.useSelect)((function(e){return e(g.a).getValue(f.h,f.f)})),k=Object(d.useSelect)((function(e){return e(m.a).hasExpirableItem(O)})),j=Object(d.useSelect)((function(e){return e(m.a).isExpirableItemActive(O)})),S=Object(d.useSelect)((function(e){return e(p.r).getAudienceUserCountReportErrors()}))||[],w=c()(S,2),C=w[0],x=w[1],A=[];x&&A.push(x),C&&A.push(C);var N=Object(d.useDispatch)(g.a).setValues,T=Object(d.useSelect)((function(e){return e(m.a).isItemDismissed("audience-tile-".concat(n))})),D=Object(s.useCallback)((function(e){var t;N(f.h,(t={},i()(t,f.f,e.target.checked?y.concat([n]):y.filter((function(e){return e!==n}))),i()(t,f.g,!0),t))}),[y,N,n]),M="DEFAULT_AUDIENCE"!==_&&(!1===k||j),R=null==y?void 0:y.includes(n),B="audience-selection-checkbox-".concat(n);function ItemBadge(){return T?e.createElement(E.a,{label:Object(u.__)("Temporarily hidden","google-site-kit"),tooltipTitle:Object(u.__)("Site Kit is collecting data for this group. Once data is available the group will be added to your dashboard.","google-site-kit")}):M?e.createElement(v.a,null):null}return e.createElement(b.c,{id:B,slug:n,title:r,subtitle:o,description:a,isItemSelected:R,onCheckboxChange:D,suffix:A.length?"-":Object(h.C)(l),badge:(T||M)&&e.createElement(ItemBadge,null)})}AudienceItem.propTypes={slug:l.a.string.isRequired,title:l.a.string.isRequired,description:l.a.string.isRequired,subtitle:l.a.string,userCount:l.a.number.isRequired,audienceType:l.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceItemPreviewBlock}));var r=n(42);function AudienceItemPreviewBlock(){return e.createElement("div",{className:"googlesitekit-selection-panel__loading"},e.createElement("div",{className:"googlesitekit-selection-panel__loading-left"},e.createElement(r.a,{width:"90px",height:"20px",className:"googlesitekit-selection-panel__loading-item"}),e.createElement(r.a,{width:"293px",height:"15px",className:"googlesitekit-selection-panel__loading-item"})),e.createElement("div",{className:"googlesitekit-selection-panel__loading-right"},e.createElement(r.a,{width:"43px",height:"20px",className:"googlesitekit-selection-panel__loading-item"})))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AddGroupNotice}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(16),l=n.n(o),s=n(1),u=n.n(s),d=n(0),f=n(2),g=n(3),m=n(41),p=n(29),h=n(6),v=n(347),b=n(237),E=n(23),_=n(8);function AddGroupNotice(){var t=Object(d.useState)(!1),n=l()(t,2),r=n[0],a=n[1],o=Object(g.useInViewSelect)((function(e){return e(h.a).isItemDismissed(m.a)})),s=Object(g.useSelect)((function(e){return e(E.b).getValue(m.i)})),u=Object(g.useSelect)((function(e){return e(_.r).isFetchingSyncAvailableAudiences()})),O=Object(g.useSelect)((function(e){return e(p.a).getValue(m.h,m.f)})),y=Object(g.useDispatch)(h.a).dismissItem,k=Object(d.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y(m.a);case 2:case"end":return e.stop()}}),e)}))),[y]);return Object(d.useEffect)((function(){Array.isArray(O)&&(O.length>1&&a(!0),s||1!==(null==O?void 0:O.length)||a(!1))}),[O,s,a]),o||r||u||!(null==O?void 0:O.length)?null:e.createElement(b.a,{className:"googlesitekit-audience-selection-panel__add-group-notice",content:Object(f.__)("By adding another group to your dashboard, you will be able to compare them and understand which content brings back users from each group","google-site-kit"),dismissLabel:Object(f.__)("Got it","google-site-kit"),Icon:v.a,onDismiss:k})}AddGroupNotice.propTypes={savedItemSlugs:u.a.array}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0||Y)&&r.createElement(C.a,{apiErrors:H,hasOAuthError:Y}))}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceCreationErrorNotice}));var r=n(1),i=n.n(r),a=n(0),c=n(38),o=n(2),l=n(3),s=n(18),u=n(36),d=n(9),f=n(41),g=n(14),m=n(23),p=n(8),h=n(10),v=n(20),b=n(66);function AudienceCreationErrorNotice(t){var n,r,i=t.apiErrors,E=t.hasOAuthError,_=Object(s.a)(),O=Array.isArray(i)?i:[i],y=Object(l.useSelect)((function(e){return e(g.c).getErrorTroubleshootingLinkURL({code:"analytics-4_insufficient_permissions"})})),k=Object(l.useSelect)((function(e){return e(p.r).getServiceEntityAccessURL()})),j=Object(l.useSelect)((function(e){return e(g.c).getErrorTroubleshootingLinkURL({code:"access_denied"})})),S=Object(l.useSelect)((function(e){return e(m.b).getValue(f.i)})),w=O.length>0,C=O.some((function(e){return Object(u.e)(e)}));return Object(a.useEffect)((function(){if(S&&(w||E)){var e="setup_error";E?e="auth_error":C&&(e="insufficient_permissions_error"),Object(d.J)("".concat(_,"_audiences-sidebar-create-audiences"),e)}}),[w,C,E,S,_]),O.length||E?(E?r=Object(c.a)(Object(o.__)("Setup was interrupted because you didn’t grant the necessary permissions. Click on Create again to retry. If that doesn’t work, ","google-site-kit"),{HelpLink:e.createElement(v.a,{href:j,external:!0,hideExternalIndicator:!0},Object(o.__)("get help","google-site-kit"))}):C?(n=Object(o.__)("Insufficient permissions","google-site-kit"),r=Object(c.a)(Object(o.__)("Contact your administrator. Trouble getting access? ","google-site-kit"),{HelpLink:e.createElement(v.a,{href:y,external:!0,hideExternalIndicator:!0},Object(o.__)("Get help","google-site-kit"))})):(n=Object(o.__)("Analytics update failed","google-site-kit"),r=Object(o.__)("Click on Create to try again.","google-site-kit")),e.createElement("div",{className:"googlesitekit-audience-creation-error-notice"},e.createElement(b.a,{width:24,height:24}),e.createElement("div",{className:"googlesitekit-audience-creation-error-notice__content"},n&&e.createElement("p",{className:"googlesitekit-audience-creation-error-notice__title"},n),e.createElement("p",{className:"googlesitekit-audience-creation-error-notice__description"},r)),C&&e.createElement("div",{className:"googlesitekit-audience-creation-error-notice__actions"},e.createElement(h.Button,{href:k,target:"_blank",danger:!0,onClick:function(){Object(d.J)("".concat(_,"_audiences-sidebar-create-audiences"),"insufficient_permissions_error_request_access")}},Object(o.__)("Request access","google-site-kit"))))):null}AudienceCreationErrorNotice.propTypes={apiErrors:i.a.oneOfType([i.a.arrayOf(i.a.object),i.a.object,i.a.array]),hasOAuthError:i.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ErrorNotice}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(16),l=n.n(o),s=n(0),u=n(38),d=n(2),f=n(3),g=n(18),m=n(9),p=n(41),h=n(14),v=n(23),b=n(8),E=n(36),_=n(20),O=n(133),y=n(487),k=n(375);function ErrorNotice(){var t=Object(g.a)(),n=Object(f.useSelect)((function(e){return e(b.r).getErrorForAction("syncAvailableAudiences")})),r=Object(f.useInViewSelect)((function(e){return e(b.r).getAudienceUserCountReportErrors()}))||[],a=l()(r,2),o=a[0],j=a[1],S=Object(f.useSelect)((function(e){return e(h.c).getErrorTroubleshootingLinkURL({code:"analytics-4_insufficient_permissions"})})),w=Object(f.useSelect)((function(e){return e(v.b).getValue(p.i)})),C=Object(f.useDispatch)(b.r),x=C.clearError,A=C.syncAvailableAudiences,N=Object(s.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,x("syncAvailableAudiences");case 2:A();case 3:case"end":return e.stop()}}),e)}))),[x,A]),T=[];n&&T.push(n),j&&T.push(j),o&&T.push(o);var D=T.length>0,M=T.some((function(e){return Object(E.e)(e)}));if(Object(s.useEffect)((function(){w&&D&&Object(m.J)("".concat(t,"_audiences-sidebar"),M?"insufficient_permissions_error":"data_loading_error")}),[D,M,w,t]),!T.length)return null;var R=[j,o].some((function(e){return!!e}));return e.createElement("div",{className:"googlesitekit-audience-selection-panel__error-notice"},e.createElement("p",null,M?Object(u.a)(Object(d.__)("Insufficient permissions, contact your administrator. Trouble getting access? ","google-site-kit"),{HelpLink:e.createElement(_.a,{href:S,external:!0,hideExternalIndicator:!0},Object(d.__)("Get help","google-site-kit"))}):Object(d.__)("Data loading failed","google-site-kit")),e.createElement("div",{className:"googlesitekit-audience-selection-panel__error-notice-actions"},M||R?e.createElement(O.a,{moduleSlug:"analytics-4",error:T,hideGetHelpLink:!0,buttonVariant:"danger",RequestAccessButton:y.a,RetryButton:k.a}):e.createElement(k.a,{handleRetry:N})))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return RequestAccessButton}));var r=n(1),i=n.n(r),a=n(2),c=n(10),o=n(9),l=n(18);function RequestAccessButton(t){var n=t.requestAccessURL,r=Object(l.a)();return e.createElement(c.Button,{className:"googlesitekit-audience-selection-panel__error-notice-action",tertiary:!0,href:n,target:"_blank",onClick:function(){Object(o.J)("".concat(r,"_audiences-sidebar"),"insufficient_permissions_error_request_access")}},Object(a.__)("Request access","google-site-kit"))}RequestAccessButton.propTypes={requestAccessURL:i.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Footer}));var r=n(5),i=n.n(r),a=n(27),c=n.n(a),o=n(15),l=n.n(o),s=n(16),u=n.n(s),d=n(7),f=n.n(d),g=n(1),m=n.n(g),p=n(0),h=n(2),v=n(3),b=n(18),E=n(9),_=n(41),O=n(29),y=n(6),k=n(8),j=n(113);function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function w(e){for(var t=1;t_.j&&(n=Object(h.sprintf)( -/* translators: 1: Maximum number of groups that can be selected. 2: Number of selected groups. */ -Object(h.__)("Select up to %1$d groups (%2$d selected)","google-site-kit"),_.j,D));var M=Object(p.useState)(null),R=u()(M,2),B=R[0],I=R[1],P=Object(p.useCallback)(function(){var e=l()(i.a.mark((function e(t){var n,r,a,o;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return I(null),e.next=3,A({configuredAudiences:t});case 3:if(n=e.sent,r=n.error){e.next=14;break}if(a=(null==S?void 0:S.filter((function(e){var n=e.replace("audience-tile-","");return!t.includes(n)})))||[],t.every((function(e){return null==S?void 0:S.includes("audience-tile-".concat(e))}))&&a.push("audience-tile-".concat(t[0])),!((null==a?void 0:a.length)>0)){e.next=14;break}return e.next=11,N.apply(void 0,c()(a));case 11:o=e.sent,(r=o.error)&&I(r);case 14:return e.abrupt("return",{error:r});case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[S,N,A]),L=Object(p.useCallback)((function(){var e={USER_AUDIENCE:"user",SITE_KIT_AUDIENCE:"site-kit",DEFAULT_AUDIENCE:"default"},t=T(),n=Object.keys(e).map((function(n){var r=t.filter((function(e){var t=null==C?void 0:C.find((function(t){var n=t.name;return e===n}));return(null==t?void 0:t.audienceType)===n}));return"".concat(e[n],":").concat(r.length)})).join(",");Object(E.J)("".concat(s,"_audiences-sidebar"),"audiences_sidebar_save",n)}),[C,T,s]),F=Object(p.useCallback)((function(){Object(E.J)("".concat(s,"_audiences-sidebar"),"audiences_sidebar_cancel")}),[s]);return e.createElement(j.a,{savedItemSlugs:o,selectedItemSlugs:d,saveSettings:P,saveError:g||B,itemLimitError:n,minSelectedItemCount:_.k,maxSelectedItemCount:_.j,isBusy:m,isOpen:r,closePanel:a,onSaveSuccess:L,onCancel:F})}Footer.propTypes={isOpen:m.a.bool,closePanel:m.a.func.isRequired,savedItemSlugs:m.a.array}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Header}));var r=n(1),i=n.n(r),a=n(0),c=n(38),o=n(2),l=n(3),s=n(32),u=n(14),d=n(6),f=n(35),g=n(20),m=n(113);function Header(t){var n=t.closePanel,r=Object(f.a)(),i=Object(l.useSelect)((function(e){return e(u.c).getAdminURL("googlesitekit-settings")})),p=Object(l.useSelect)((function(e){return e(d.a).isSavingAudienceSettings()})),h=Object(l.useDispatch)(s.a).navigateTo,v=Object(a.useCallback)((function(){return h("".concat(i,"#/admin-settings"))}),[h,i]);return e.createElement(m.b,{title:Object(o.__)("Select visitor groups","google-site-kit"),onCloseClick:n},!r&&e.createElement("p",null,Object(c.a)(Object(o.__)("You can deactivate this widget in Settings","google-site-kit"),{link:e.createElement(g.a,{secondary:!0,onClick:v,disabled:p}),strong:e.createElement("strong",null)})))}Header.propTypes={closePanel:i.a.func.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LearnMoreLink}));var r=n(2),i=n(38),a=n(3),c=n(14),o=n(20);function LearnMoreLink(){var t=Object(a.useSelect)((function(e){return e(c.c).getGoogleSupportURL({path:"/analytics/answer/12799087"})}));return e.createElement("div",{className:"googlesitekit-audience-selection-panel__learn-more"},Object(i.a)(Object(r.__)("Learn more about grouping site visitors and audiences in Analytics","google-site-kit"),{link:e.createElement(o.a,{secondary:!0,href:t,external:!0}),strong:e.createElement("strong",null)}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceCreationSuccessNotice}));var r=n(0),i=n(2),a=n(3),c=n(18),o=n(9),l=n(41),s=n(23),u=n(10),d=n(139);function AudienceCreationSuccessNotice(){var t=Object(c.a)(),n=Object(a.useDispatch)(s.b).setValue,f=Object(a.useSelect)((function(e){return e(s.b).getValue(l.e)})),g=Object(a.useSelect)((function(e){return e(s.b).getValue(l.i)}));return Object(r.useEffect)((function(){g&&f&&Object(o.J)("".concat(t,"_audiences-sidebar-create-audiences-success"),"view_notification")}),[g,f,t]),f?e.createElement("div",{className:"googlesitekit-audience-selection-panel__success-notice"},e.createElement("div",{className:"googlesitekit-audience-selection-panel__success-notice-icon"},e.createElement(d.a,{width:24,height:24})),e.createElement("p",{className:"googlesitekit-audience-selection-panel__success-notice-message"},Object(i.__)("Visitor group created successfully!","google-site-kit")),e.createElement("div",{className:"googlesitekit-audience-selection-panel__success-notice-actions"},e.createElement(u.Button,{tertiary:!0,onClick:function(){Object(o.J)("".concat(t,"_audiences-sidebar-create-audiences-success"),"dismiss_notification").finally((function(){n(l.e,!1)}))}},Object(i.__)("Got it","google-site-kit")))):null}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"),{a:e.createElement(O.a,{id:r,label:Object(s.__)("Learn more","google-site-kit"),url:"https://readerrevenue.withgoogle.com"})}),e.createElement("br",null),e.createElement("br",null),Object(s.__)("* Support for subscriptions coming soon","google-site-kit"))),actions:e.createElement(y.a,{id:r,className:"googlesitekit-setup-cta-banner__actions-wrapper",ctaLabel:Object(s.__)("Set up Reader Revenue Manager","google-site-kit"),onCTAClick:j,dismissLabel:x?Object(s.__)("Don’t show again","google-site-kit"):Object(s.__)("Maybe later","google-site-kit"),onDismiss:S,dismissOptions:{skipHidingFromQueue:!0},dismissExpires:2*k.g}),SVG:D[c]||p.a}))}ReaderRevenueManagerSetupCTABanner.propTypes={id:c.a.string,Notification:c.a.elementType}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return RRMSetupSuccessSubtleNotification}));var i=n(21),a=n.n(i),c=n(5),o=n.n(c),l=n(15),s=n.n(l),u=n(7),d=n.n(u),f=n(16),g=n.n(f),m=n(0),p=n(2),h=n(3),v=n(186),b=n(348),E=n(29),_=n(52),O=n(172),y=n(246),k=n(158),j=n(23),S=_.d.ONBOARDING_COMPLETE,w=_.d.PENDING_VERIFICATION,C=_.d.ONBOARDING_ACTION_REQUIRED;function RRMSetupSuccessSubtleNotification(t){var n=t.id,i=t.Notification,c=Object(v.a)("notification"),l=g()(c,2)[1],u=Object(v.a)("slug"),f=g()(u,2)[1],x=[w,C],A=Object(h.useSelect)((function(e){return e(_.c).getPublicationOnboardingState()})),N=Object(h.useSelect)((function(e){return e(_.c).getPublicationID()})),T=Object(h.useSelect)((function(e){return e(_.c).getServiceURL({path:"reader-revenue-manager",query:{publication:N}})})),D=Object(h.useSelect)((function(e){return e(E.a).getValue(_.f,_.j)&&x.includes(A)})),M=Object(h.useDispatch)(E.a).setValues,R=Object(h.useDispatch)(j.b).setValue,B=Object(h.useDispatch)(_.c).syncPublicationOnboardingState,I=function(){l(void 0),f(void 0)},P=function(t){t.preventDefault(),x.includes(A)&&M(_.f,d()({},_.j,!0)),e.open(T,"_blank")},L=Object(h.useSelect)((function(e){return e(_.c).getPublicationOnboardingState()})),F=Object(m.useCallback)(s()(o.a.mark((function e(){var t,n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(D){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,B();case 4:t=e.sent,n=t.response,r=null==n?void 0:n.publicationOnboardingState,L&&r!==L&&r===_.d.ONBOARDING_COMPLETE&&R(_.k,!0);case 8:case"end":return e.stop()}}),e)}))),[L,R,D,B]);Object(b.a)(F,15e3);var z={gaTrackingEventArgs:{label:A}};return A===S?r.createElement(i,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up!","google-site-kit"),description:Object(p.__)("Unlock your full reader opportunity by enabling features like subscriptions, contributions and newsletter sign ups in the Reader Revenue Manager settings.","google-site-kit"),dismissCTA:r.createElement(k.a,a()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:I},z)),additionalCTA:r.createElement(y.a,a()({id:n,ctaLabel:Object(p.__)("Customize settings","google-site-kit"),ctaLink:T,onCTAClick:P,isCTALinkExternal:!0},z))})):A===w?r.createElement(i,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up!","google-site-kit"),description:Object(p.__)("Your publication is still awaiting review, you can check its status in Reader Revenue Manager.","google-site-kit"),dismissCTA:r.createElement(k.a,a()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:I},z)),additionalCTA:r.createElement(y.a,a()({id:n,ctaLabel:Object(p.__)("Check publication status","google-site-kit"),ctaLink:T,onCTAClick:P,isCTALinkExternal:!0},z))})):A===C?r.createElement(i,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up, but your publication still requires further setup in Reader Revenue Manager.","google-site-kit"),dismissCTA:r.createElement(k.a,a()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:I},z)),additionalCTA:r.createElement(y.a,a()({id:n,ctaLabel:Object(p.__)("Complete publication setup","google-site-kit"),ctaLink:T,onCTAClick:P,isCTALinkExternal:!0},z)),type:"warning"})):null}}).call(this,n(28),n(4))},,,,,,,,,function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0)){e.next=6;break}return M(E.o,{autoSubmit:!0}),R({code:_.a,message:Object(d.__)("Additional permissions are required to enable enhanced measurement for the selected web data stream","google-site-kit"),data:{status:403,scopes:t,skipModal:!0,redirectURL:A}}),e.abrupt("return");case 6:return e.next=8,C();case 8:case"end":return e.stop()}}),e)}))),[N,C,A,R,M]),I=Object(u.useCallback)((function(){Object(O.J)("".concat(x,"_enhanced-measurement-notification"),"dismiss_notification"),null==s||s()}),[s,x]),P=Object(u.useCallback)((function(){Object(O.J)("".concat(x,"_enhanced-measurement-notification"),"click_learn_more_link")}),[x]);Object(u.useEffect)((function(){Object(O.J)("".concat(x,"_enhanced-measurement-notification"),"view_notification")}),[x]);var L=N?Object(d.__)("Enable enhanced measurement in Analytics to automatically track metrics like file downloads, video plays, form interactions, etc. No extra code required.","google-site-kit"):Object(d.__)("Enable enhanced measurement in Analytics to automatically track metrics like file downloads, video plays, form interactions, etc. No extra code required — you’ll be redirected to give permission for Site Kit to enable it on your behalf.","google-site-kit");return r.createElement(y.b,{id:"googlesitekit-enhanced-measurement-activation-banner",className:"googlesitekit-enhanced-measurement-setup-banner",title:Object(d.__)("Understand how visitors interact with your content","google-site-kit"),description:L,learnMoreLabel:Object(d.__)("Learn more","google-site-kit"),learnMoreURL:T,onLearnMoreClick:P,ctaComponent:r.createElement(m.SpinnerButton,{onClick:B,isSaving:l||D},Object(d.__)("Enable now","google-site-kit")),footer:r.createElement("p",{className:"googlesitekit-enhanced-measurement-setup-banner__footer-notice"},Object(d.__)("You can always add/edit this in the Site Kit Settings","google-site-kit")),dismiss:Object(d.__)("Maybe later","google-site-kit"),WinImageSVG:function WinImageSVG(){return r.createElement(k.a,null)},format:"small",dismissExpires:O.f,onDismiss:I},i&&r.createElement(j.a,{error:i}),!c&&r.createElement(S.a,{triggerID:"view_enhanced_measurement_cta",ttl:O.a}),n)}SetupBanner.propTypes={onSubmitSuccess:s.a.func,onDismiss:s.a.func,children:s.a.node}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SuccessBanner}));var r=n(2),i=n(0),a=n(3),c=n(14),o=n(6),l=n(148),s=n(90),u=n(404),d=n(18),f=n(9);function SuccessBanner(){var t=Object(d.a)(),n=Object(a.useSelect)((function(e){return e(c.c).getGoogleSupportURL({path:"/analytics/answer/9216061"})})),g=Object(a.useDispatch)(o.a).dismissItem,m=Object(i.useCallback)((function(){g(l.e),Object(f.J)("".concat(t,"_enhanced-measurement-success"),"confirm_notification")}),[t,g]);return Object(i.useEffect)((function(){Object(f.J)("".concat(t,"_enhanced-measurement-success"),"view_notification")}),[t]),e.createElement(s.b,{id:"googlesitekit-enhanced-measurement-activation-banner",className:"googlesitekit-enhanced-measurement-success-banner",title:Object(r.__)("You successfully enabled enhanced measurement for your site","google-site-kit"),description:Object(r.__)("Your configured Analytics web data stream will now automatically measure interactions on your site in addition to standard page views measurement.","google-site-kit"),dismiss:Object(r.__)("OK, Got it","google-site-kit"),onDismiss:m,WinImageSVG:function WinImageSVG(){return e.createElement(u.a,null)},format:"small",type:"win-success",learnMoreLabel:Object(r.__)("Learn more","google-site-kit"),learnMoreURL:n})}}).call(this,n(4))},,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PanelContent}));var r=n(11),i=n.n(r),a=n(1),c=n.n(a),o=n(0),l=n(680),s=n(681),u=n(682),d=n(684),f=n(686);function PanelContent(t){var n=t.isOpen,r=void 0!==n&&n,a=t.closePanel,c=t.savedViewableMetrics,g=t.showHeader,m=void 0===g||g,p=t.setIsNavigatingToOAuthURL,h=t.isFullScreen,v=void 0!==h&&h;return e.createElement(o.Fragment,null,m&&e.createElement(s.a,{closePanel:a}),e.createElement(d.a,{savedMetrics:c}),e.createElement(l.a,null),e.createElement("div",{className:i()("googlesitekit-user-input__footer-container",{"googlesitekit-user-input__footer-container--fullscreen":v})},e.createElement(f.a,{savedMetrics:c}),e.createElement(u.a,{isOpen:r,closePanel:a,savedMetrics:c,onNavigationToOAuthURL:function(){p(!0)},isFullScreen:v})))}PanelContent.propTypes={isOpen:c.a.bool,closePanel:c.a.func.isRequired,savedViewableMetrics:c.a.array,showHeader:c.a.bool,setIsNavigatingToOAuthURL:c.a.func,isFullScreen:c.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(2),a=n(513),c=n(0),o=n(3),l=n(29),s=n(6),u=n(8),d=n(25),f=n(140),g=n(541),m=n(50);t.a=Object(m.a)({moduleName:"analytics-4"})((function CustomDimensionsNotice(){var t=Object(o.useSelect)((function(e){return e(l.a).getValue(d.j,d.i)})),n=null==t?void 0:t.flatMap((function(e){var t=f.a[e];return(null==t?void 0:t.requiredCustomDimensions)||[]})),m=Object(o.useInViewSelect)((function(e){return!!(null==n?void 0:n.length)&&!e(u.r).hasCustomDimensions(n)}),[n]),p=Object(o.useInViewSelect)((function(e){return e(s.a).hasScope(u.h)}));Object(o.useInViewSelect)((function(e){return e(u.r).getAvailableCustomDimensions()}));var h=Object(a.a)(m),v=Object(c.useRef)();if(Object(c.useEffect)((function(){if(m&&!1===h){var t=e.document.activeElement;t&&t.closest(".googlesitekit-selection-panel-item")&&Object(g.a)(v.current,t)&&t.scrollIntoView()}}),[m,h]),!1===m)return null;var b=p?Object(i.__)("The metrics you selected require more data tracking. We will update your Analytics property after saving your selection.","google-site-kit"):Object(i.__)("The metrics you selected require more data tracking. You will be directed to update your Analytics property after saving your selection.","google-site-kit");return r.createElement("div",{className:"googlesitekit-selection-panel-notice",ref:v},r.createElement("p",null,b))}))}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Header}));var r=n(1),i=n.n(r),a=n(0),c=n(38),o=n(2),l=n(3),s=n(32),u=n(14),d=n(6),f=n(25),g=n(20),m=n(113),p=n(35),h=n(122);function Header(t){var n=t.closePanel,r=Object(p.a)(),i=Object(h.a)("conversionReporting"),v=Object(l.useSelect)((function(e){return e(u.c).getAdminURL("googlesitekit-settings")})),b=Object(l.useSelect)((function(e){return e(d.a).isSavingKeyMetricsSettings()})),E=Object(l.useDispatch)(s.a).navigateTo,_=Object(a.useCallback)((function(){return E("".concat(v,"#/admin-settings"))}),[E,v]);return e.createElement(m.b,{title:i?Object(o.sprintf)( -/* translators: %d: number of max allowed metrics */ -Object(o._n)("Select up to %d metric","Select up to %d metrics",f.n,"google-site-kit"),f.n):Object(o.__)("Select your metrics","google-site-kit"),onCloseClick:n},!r&&e.createElement("p",null,Object(c.a)(Object(o.__)("Edit your personalized goals or deactivate this widget in Settings","google-site-kit"),{link:e.createElement(g.a,{secondary:!0,onClick:_,disabled:b}),strong:e.createElement("strong",null)})))}Header.propTypes={closePanel:i.a.func.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return Footer}));var i=n(5),a=n.n(i),c=n(15),o=n.n(c),l=n(1),s=n.n(l),u=n(0),d=n(164),f=n(2),g=n(3),m=n(6),p=n(29),h=n(32),v=n(19),b=n(25),E=n(8),_=n(140),O=n(36),y=n(18),k=n(9),j=n(683),S=n(122);function Footer(t){var n=t.isOpen,i=t.closePanel,c=t.savedMetrics,l=t.onNavigationToOAuthURL,s=void 0===l?function(){}:l,w=t.isFullScreen,C=void 0!==w&&w,x=Object(y.a)(),A=Object(S.a)("conversionReporting"),N=Object(g.useSelect)((function(e){return e(p.a).getValue(b.j,b.i)})),T=Object(g.useSelect)((function(e){return e(m.a).isSavingKeyMetricsSettings()})),D="".concat(x,"_kmw-sidebar"),M=null==N?void 0:N.flatMap((function(e){var t=_.a[e];return(null==t?void 0:t.requiredCustomDimensions)||[]})),R=Object(g.useInViewSelect)((function(e){return!!(null==M?void 0:M.length)&&!e(E.r).hasCustomDimensions(M)}),[M]),B=Object(g.useInViewSelect)((function(e){return e(m.a).hasScope(E.h)})),I=Object(g.useSelect)((function(e){return e(v.a).isModuleConnected("analytics-4")})),P=Object(d.a)(e.location.href,{notification:"custom_dimensions"}),L=Object(g.useSelect)((function(e){var t=e(m.a).getConnectURL({additionalScopes:[E.h],redirectURL:P});return!!t&&e(h.a).isNavigatingTo(t)})),F=Object(g.useDispatch)(m.a),z=F.saveKeyMetricsSettings,V=F.setPermissionScopeError,W=Object(g.useDispatch)(p.a).setValues,G=Object(g.useSelect)((function(e){return e(E.r).getKeyMetricsConversionEventWidgets()})),U=Object(u.useCallback)(function(){var e=o()(a.a.mark((function e(t){var n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,z({widgetSlugs:t});case 2:return n=e.sent,r=n.error,e.abrupt("return",{error:r});case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[z]),H=Object(u.useCallback)((function(e){Object.values(G).flat().some((function(t){return e.includes(t)}))?Object(k.J)(D,"metrics_sidebar_save","conversion_reporting"):Object(k.J)(D,"metrics_sidebar_save"),I&&R&&(W(E.n,{autoSubmit:!0}),B||(s(),i(),V({code:O.a,message:Object(f.__)("Additional permissions are required to create new Analytics custom dimensions","google-site-kit"),data:{status:403,scopes:[E.h],skipModal:!0,redirectURL:P}})))}),[D,I,R,W,B,s,i,V,P,G]),q=Object(u.useCallback)((function(){Object(k.J)(D,"metrics_sidebar_cancel")}),[D]),K=A?b.n:b.m;return r.createElement(j.a,{savedItemSlugs:c,selectedItemSlugs:N,saveSettings:U,minSelectedItemCount:b.o,maxSelectedItemCount:K,isBusy:T||L,onSaveSuccess:function(){H(N)},onCancel:q,isOpen:n,closePanel:i,isFullScreen:C})}Footer.propTypes={isOpen:s.a.bool,closePanel:s.a.func.isRequired,savedMetrics:s.a.array,onNavigationToOAuthURL:s.a.func,isFullScreen:s.a.bool}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelFooter}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(16),l=n.n(o),s=n(13),u=n(1),d=n.n(u),f=n(0),g=n(38),m=n(2),p=n(3),h=n(10),v=n(9),b=n(8),E=n(42);function SelectionPanelFooter(t){var n=t.savedItemSlugs,r=void 0===n?[]:n,a=t.selectedItemSlugs,o=void 0===a?[]:a,u=t.saveSettings,d=void 0===u?function(){}:u,_=t.minSelectedItemCount,O=void 0===_?0:_,y=t.maxSelectedItemCount,k=void 0===y?0:y,j=t.isBusy,S=t.onSaveSuccess,w=void 0===S?function(){}:S,C=t.onCancel,x=void 0===C?function(){}:C,A=t.isOpen,N=t.closePanel,T=void 0===N?function(){}:N,D=t.isFullScreen,M=void 0!==D&&D,R=Object(f.useState)(null),B=l()(R,2),I=B[0],P=B[1],L=Object(f.useState)(!1),F=l()(L,2),z=F[0],V=F[1],W=Object(p.useSelect)((function(e){return e(b.r).isFetchingSyncAvailableAudiences()})),G=Object(f.useMemo)((function(){return!Object(s.isEqual)(Object(v.F)(o),Object(v.F)(r))}),[r,o]),U=(null==r?void 0:r.length)>0&&G?Object(m.__)("Apply changes","google-site-kit"):Object(m.__)("Save selection","google-site-kit");M&&(U=Object(m.__)("Complete setup","google-site-kit"));var H=Object(f.useCallback)(c()(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(o);case 2:t=e.sent,t.error||(w(),T(),P(U),V(!0));case 5:case"end":return e.stop()}}),e)}))),[d,o,w,T,U]),q=Object(f.useCallback)((function(){T(),x()}),[T,x]),K=Object(f.useState)(null),J=l()(K,2),Y=J[0],$=J[1];Object(f.useEffect)((function(){null!==Y&&Y!==A&&A&&(P(null),V(!1)),$(A)}),[A,Y]);var X=(null==o?void 0:o.length)||0,Q=W?e.createElement(E.a,{width:"89px",height:"20px"}):e.createElement("p",{className:"googlesitekit-selection-panel-footer__item-count"},Object(g.a)(Object(m.sprintf)( -/* translators: 1: Number of selected items. 2: Maximum number of items that can be selected. */ -Object(m.__)("%1$d selected (up to %2$d)","google-site-kit"),X,k),{MaxCount:e.createElement("span",{className:"googlesitekit-selection-panel-footer__item-count--max-count"})}));return e.createElement("footer",{className:"googlesitekit-selection-panel-footer"},e.createElement("div",{className:"googlesitekit-selection-panel-footer__content"},e.createElement("div",{className:"googlesitekit-selection-panel-footer__actions"},e.createElement(h.Button,{tertiary:!0,onClick:q,disabled:j},Object(m.__)("Cancel","google-site-kit")),Q,e.createElement(h.SpinnerButton,{onClick:H,isSaving:j,disabled:Xk||j||!A&&z},I||U))))}SelectionPanelFooter.propTypes={savedItemSlugs:d.a.array,selectedItemSlugs:d.a.array,saveSettings:d.a.func,saveError:d.a.object,itemLimitError:d.a.string,minSelectedItemCount:d.a.number,maxSelectedItemCount:d.a.number,isBusy:d.a.bool,onSaveSuccess:d.a.func,onCancel:d.a.func,isOpen:d.a.bool,closePanel:d.a.func,isFullScreen:d.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricItems}));var r=n(7),i=n.n(r),a=n(1),c=n.n(a),o=n(2),l=n(3),s=n(83),u=n(6),d=n(46),f=n(140),g=n(303),m=n(35),p=n(122),h=n(685),v=n(113);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;tO&&(n=Object(c.sprintf)( -/* translators: 1: Maximum number of metrics that can be selected. 2: Number of selected metrics. */ -Object(c.__)("Select up to %1$d metrics (%2$d selected)","google-site-kit"),O,_));var y=E;return b&&n&&(y={message:n}),e.createElement(f.a,{error:y,skipRetryMessage:!!n})}))}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SelectionPanelError}));var i=n(1),a=n.n(i),c=n(0),o=n(541),l=n(111),s=n(66);function SelectionPanelError(t){var n=t.error,i=t.noPrefix,a=void 0===i||i,u=t.skipRetryMessage,d=void 0===u||u,f=Object(c.useRef)();return Object(c.useEffect)((function(){if(n){var t=e.document.activeElement;t&&t.closest(".googlesitekit-selection-panel-item")&&Object(o.a)(f.current,t)&&t.scrollIntoView()}}),[n]),n?r.createElement("div",{className:"googlesitekit-selection-panel-error",ref:f},r.createElement(l.a,{Icon:s.a,error:n,noPrefix:a,skipRetryMessage:d})):null}SelectionPanelError.propTypes={error:a.a.shape({message:a.a.string}),noPrefix:a.a.bool,skipRetryMessage:a.a.bool}}).call(this,n(28),n(4))},,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DashboardSharingSettingsButton}));var r=n(2),i=n(0),a=n(3),c=n(10),o=n(405),l=n(18),s=n(9),u=n(29),d=n(23),f=n(14),g=n(8),m=n(151),p=n(691);function DashboardSharingSettingsButton(){var t=Object(l.a)(),n=Object(a.useDispatch)(d.b).setValue,h=Object(a.useSelect)((function(e){return e(f.c).hasMultipleAdmins()})),v=Object(a.useSelect)((function(e){return e(u.a).getValue(g.d,"isAutoCreatingCustomDimensionsForAudience")})),b=Object(i.useCallback)((function(){Object(s.J)("".concat(t,"_headerbar"),"open_sharing",h?"advanced":"simple"),n(m.c,!0)}),[n,t,h]);return e.createElement(i.Fragment,null,e.createElement(c.Button,{"aria-label":Object(r.__)("Open sharing settings","google-site-kit"),className:"googlesitekit-sharing-settings__button googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon",onClick:b,icon:e.createElement(o.a,{width:20,height:20}),tooltipEnterDelayInMS:500,disabled:v}),e.createElement(p.a,null))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DashboardSharingDialog}));var r=n(805),i=n(11),a=n.n(i),c=n(2),o=n(0),l=n(38),s=n(255),u=n(1186),d=n(3),f=n(10),g=n(23),m=n(6),p=n(14),h=n(19),v=n(151),b=n(26),E=n(538),_=n(73),O=n(17),y=n(405),k=n(20),j=n(692),S=n(695);function DashboardSharingDialog(){var t=Object(b.e)(),n=Object(r.a)().y,i=Object(d.useDispatch)(g.b).setValue,w=Object(d.useDispatch)(m.a).triggerOnDemandTour,C=Object(d.useDispatch)(h.a).rollbackSharingSettings,x=Object(d.useSelect)((function(e){return!!e(g.b).getValue(v.c)})),A=Object(d.useSelect)((function(e){return!!e(g.b).getValue(v.b)})),N=Object(d.useSelect)((function(e){return e(g.b).getValue(v.a)})),T=Object(d.useSelect)((function(e){return e(h.a).haveSharingSettingsChanged()})),D=Object(d.useSelect)((function(e){return e(p.c).getDocumentationLinkURL("dashboard-sharing")})),M=Object(o.useRef)(),R=Object(o.useCallback)((function(){M.current||(M.current=!0,w(E.a))}),[w]),B={};t===b.b&&(B.top="".concat(n<46?46-n:0,"px"),B.height="calc(100% - 46px + ".concat(n<46?n:46,"px)")),Object(o.useEffect)((function(){!x&&T&&C()}),[x,T,C]);var I=Object(o.useCallback)((function(){i(v.c,!0)}),[i]),P=Object(o.useCallback)((function(){i(v.c,!1),i(v.a,void 0)}),[i]),L=Object(o.useCallback)((function(){P(),i(v.b,!0)}),[P,i]),F=Object(o.useCallback)((function(){i(v.b,!1),I()}),[I,i]),z=Object(o.useCallback)((function(){if(A)return F(),null;P()}),[F,P,A]);return e.createElement(_.a,null,e.createElement(O.b,{open:x||A,onOpen:R,onClose:z,className:"googlesitekit-dialog googlesitekit-sharing-settings-dialog",style:B,escapeKeyAction:void 0===N?"close":""},e.createElement("div",{className:"googlesitekit-dialog__back-wrapper","aria-hidden":t!==b.b},e.createElement(f.Button,{"aria-label":Object(c.__)("Back","google-site-kit"),className:"googlesitekit-dialog__back",onClick:z},e.createElement(s.a,{icon:u.a}))),e.createElement(O.c,{className:"googlesitekit-dialog__content"},e.createElement("div",{className:"googlesitekit-dialog__header"},x&&e.createElement("div",{className:"googlesitekit-dialog__header-icon","aria-hidden":t===b.b},e.createElement("span",null,e.createElement(y.a,{width:20,height:20}))),e.createElement("div",{className:"googlesitekit-dialog__header-titles"},e.createElement("h2",{className:"googlesitekit-dialog__title"},x&&Object(c.__)("Dashboard sharing & permissions","google-site-kit"),A&&Object(c.__)("Reset Dashboard Sharing permissions","google-site-kit")),e.createElement("p",{className:a()("googlesitekit-dialog__subtitle",{"googlesitekit-dialog__subtitle--emphasis":A})},x&&Object(l.a)(Object(c.__)("Share a view-only version of your Site Kit dashboard with other WordPress roles. Learn more","google-site-kit"),{a:e.createElement(k.a,{"aria-label":Object(c.__)("Learn more about dashboard sharing","google-site-kit"),href:D,external:!0})}),A&&Object(c.__)("Warning: Resetting these permissions will remove view-only access for all users. Are you sure you want to reset all Dashboard Sharing permissions?","google-site-kit")))),x&&e.createElement("div",{className:"googlesitekit-dialog__main"},e.createElement(j.a,null))),e.createElement(O.d,{className:"googlesitekit-dialog__footer"},e.createElement(S.a,{closeDialog:z,openResetDialog:L}))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return DashboardSharingSettings}));var i=n(11),a=n.n(i),c=n(2),o=n(3),l=n(693),s=n(19),u=n(14),d=n(6);function DashboardSharingSettings(){var t=Object(o.useSelect)((function(e){return e(s.a).hasRecoverableModules()})),n=Object(o.useSelect)((function(e){return e(u.c).hasMultipleAdmins()})),i=t||n,f=Object(o.useSelect)((function(t){for(var n=t(d.a).getID(),r=t(s.a).getShareableModules(),i=[],a=[],c=[],o=0,l=Object.values(r);oLearn more","google-site-kit"),{Link:e.createElement(w.a,{href:W,external:!0,hideExternalIndicator:!0})})),!L&&!c&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},Object(s.__)("Contact managing user to manage view access","google-site-kit"))),B&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__column--manage"},U&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},e.createElement("span",null,Object(s.__)("Any admin signed in with Google","google-site-kit")),e.createElement(m.Tooltip,{title:Object(s.__)("This service requires general access to Google APIs rather than access to a specific user-owned property/entity, so view access is manageable by any admin signed in with Google.","google-site-kit")},e.createElement("span",{className:"googlesitekit-dashboard-sharing-settings__tooltip-icon"},e.createElement(u.a,{icon:d.a,size:18})))),!U&&P&&e.createElement(m.Select,{className:"googlesitekit-dashboard-sharing-settings__select",value:T,options:C,onChange:q,onClick:q,outlined:!0}),!U&&!P&&a&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},Object(g.a)(Object(s.sprintf)( -/* translators: %s: user who manages the module. */ -Object(s.__)("Managed by %s","google-site-kit"),a),{span:e.createElement("span",null),strong:e.createElement("strong",null)}),e.createElement(m.Tooltip,{title:L?Object(s.sprintf)( -/* translators: %s: name of the user who manages the module. */ -Object(s.__)("%s has connected this and given managing permissions to all admins. You can change who can view this on the dashboard.","google-site-kit"),a):Object(s.sprintf)( -/* translators: %s: name of the user who manages the module. */ -Object(s.__)("Contact %s to change who can manage view access for this module","google-site-kit"),a)},e.createElement("span",{className:"googlesitekit-dashboard-sharing-settings__tooltip-icon"},e.createElement(u.a,{icon:d.a,size:18}))))))}Module.propTypes={moduleSlug:c.a.string.isRequired,moduleName:c.a.string.isRequired,ownerUsername:c.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(27),i=n.n(r),a=n(1),c=n.n(a),o=n(11),l=n.n(o),s=n(2),u=n(56),d=n(0),f=n(3),g=n(10),m=n(20),p=n(405),h=n(571),v=n(18),b=n(115),E=n(9),_=n(19),O=n(23),y=n(151),k=Object(s.__)("All","google-site-kit"),j=Object(d.forwardRef)((function(t,n){var r=t.moduleSlug,a=t.isLocked,c=void 0!==a&&a,o=Object(v.a)(),j=Object(d.useRef)(),S=Object(f.useDispatch)(_.a).setSharedRoles,w=Object(f.useDispatch)(O.b).setValue,C=Object(f.useSelect)((function(e){return e(_.a).getShareableRoles()})),x=Object(f.useSelect)((function(e){return e(_.a).getSharedRoles(r)})),A=Object(f.useSelect)((function(e){return e(O.b).getValue(y.a)}))===r;Object(b.a)([u.c],n,(function(){A&&w(y.a,void 0)}));var N=Object(f.useSelect)((function(e){return e(_.a).haveModuleSharingSettingsChanged(r,"sharedRoles")})),T=Object(d.useCallback)((function(){A?(w(y.a,void 0),N&&Object(E.J)("".concat(o,"_sharing"),"change_shared_roles",r)):w(y.a,r)}),[A,N,r,w,o]);Object(d.useEffect)((function(){j.current&&(A?j.current.firstChild.focus():j.current.focus())}),[A]);var D=Object(d.useCallback)((function(e){var t,n=e.type,a=e.target,c=e.keyCode;if("keydown"!==n||c===u.b){var o,l=a.closest(".mdc-chip"),s=null==l||null===(t=l.dataset)||void 0===t?void 0:t.chipId;if(s)o="all"===s?(null==x?void 0:x.length)===(null==C?void 0:C.length)?[]:C.map((function(e){return e.id})):null===x?[s]:x.includes(s)?x.filter((function(e){return e!==s})):[].concat(i()(x),[s]),S(r,o)}}),[r,S,x,C]);return C?e.createElement("div",{className:l()("googlesitekit-user-role-select",{"googlesitekit-user-role-select--open":A})},!A&&e.createElement(g.Button,{"aria-label":Object(s.__)("Edit roles","google-site-kit"),className:"googlesitekit-user-role-select__button",onClick:T,icon:e.createElement(p.a,{width:23,height:23}),tabIndex:c?-1:void 0,ref:j}),!A&&(null==x?void 0:x.length)>0&&e.createElement("span",{className:"googlesitekit-user-role-select__current-roles"},(null==C?void 0:C.reduce((function(e,t){return x.includes(t.id)&&e.push(t.displayName),e}),[])).join(", ")),!A&&(!x||0===(null==x?void 0:x.length))&&e.createElement("span",{className:"googlesitekit-user-role-select__add-roles"},e.createElement(m.a,{onClick:T,tabIndex:c?-1:void 0},Object(s.__)("Add roles","google-site-kit"))),A&&e.createElement(d.Fragment,null,e.createElement("div",{className:"googlesitekit-user-role-select__chipset",ref:j},e.createElement(g.Chip,{id:"all",label:k,onClick:D,onKeyDown:D,selected:(null==x?void 0:x.length)===(null==C?void 0:C.length),className:"googlesitekit-user-role-select__chip--all"}),C.map((function(t,n){var r=t.id,i=t.displayName;return e.createElement(g.Chip,{key:n,id:r,label:i,onClick:D,onKeyDown:D,selected:null==x?void 0:x.includes(r)})}))),e.createElement(g.Button,{"aria-label":Object(s.__)("Done editing roles","google-site-kit"),title:Object(s.__)("Done","google-site-kit"),className:"googlesitekit-user-role-select__button",onClick:T,icon:e.createElement(h.a,{width:18,height:18}),tabIndex:c?-1:void 0}))):null}));j.propTypes={moduleSlug:c.a.string.isRequired,isLocked:c.a.bool},t.a=j}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Footer}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(16),l=n.n(o),s=n(1),u=n.n(s),d=n(2),f=n(0),g=n(10),m=n(3),p=n(19),h=n(23),v=n(151),b=n(18),E=n(9),_=n(20),O=n(696),y=n(59);function Footer(t){var n=t.closeDialog,r=t.openResetDialog,a=Object(b.a)(),o=Object(f.useState)(null),s=l()(o,2),u=s[0],k=s[1],j=Object(f.useState)(!1),S=l()(j,2),w=S[0],C=S[1],x=Object(m.useSelect)((function(e){return e(p.a).canSubmitSharingChanges()})),A=Object(m.useSelect)((function(e){return e(p.a).isDoingSubmitSharingChanges()})),N=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsExpanded("management")})),T=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsExpanded("sharedRoles")})),D=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsUpdated()})),M=Object(m.useSelect)((function(e){return!!e(h.b).getValue(v.c)})),R=Object(m.useSelect)((function(e){return!!e(h.b).getValue(v.b)})),B=Object(m.useDispatch)(p.a),I=B.resetSharingSettings,P=B.saveSharingSettings,L=Object(m.useDispatch)(h.b).setValue,F=Object(f.useCallback)(c()(i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(null),e.next=3,P();case 3:if(t=e.sent,!(r=t.error)){e.next=8;break}return k(r.message),e.abrupt("return");case 8:Object(E.J)("".concat(a,"_sharing"),"settings_confirm"),L(v.a,void 0),n();case 11:case"end":return e.stop()}}),e)}))),[a,P,L,n]),z=Object(f.useCallback)(c()(i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(null),C(!0),e.next=4,I();case 4:if(t=e.sent,!(r=t.error)){e.next=9;break}return k(r.message),e.abrupt("return");case 9:C(!1),n();case 11:case"end":return e.stop()}}),e)}))),[n,I]),V=Object(f.useCallback)((function(){Object(E.J)("".concat(a,"_sharing"),"settings_cancel"),n()}),[n,a]),W=u||N||T;return e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer"},W&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-notice"},u&&e.createElement(y.a,{message:u}),!u&&e.createElement(O.a,null)),e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions"},D&&M&&!W&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions-left"},e.createElement(_.a,{onClick:r,danger:!0},Object(d.__)("Reset sharing permissions","google-site-kit"))),e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions-right"},e.createElement(g.Button,{tertiary:!0,onClick:V},Object(d.__)("Cancel","google-site-kit")),M&&e.createElement(g.SpinnerButton,{onClick:F,disabled:A||!x,isSaving:A},Object(d.__)("Apply","google-site-kit")),R&&e.createElement(g.SpinnerButton,{onClick:z,disabled:w,isSaving:w,danger:!0},Object(d.__)("Reset","google-site-kit")))))}Footer.propTypes={closeDialog:u.a.func.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Notice}));var r=n(2),i=n(38),a=n(3),c=n(19);function Notice(){var t=Object(a.useSelect)((function(e){return e(c.a).canSubmitSharingChanges()})),n=Object(a.useSelect)((function(e){return e(c.a).haveSharingSettingsExpanded("management")})),o=Object(a.useSelect)((function(e){return e(c.a).haveSharingSettingsExpanded("sharedRoles")}));return e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__notice"},n&&t&&Object(i.a)(Object(r.__)("By clicking Apply, you will give other authenticated admins of your site permission to manage view-only access to Site Kit Dashboard data from the chosen Google service","google-site-kit"),{span:e.createElement("span",null),strong:e.createElement("strong",null)}),!n&&t&&o&&Object(i.a)(Object(r.__)("By clicking Apply, you’re granting the selected roles view-only access to data from the Google services you’ve connected via your account","google-site-kit"),{span:e.createElement("span",null),strong:e.createElement("strong",null)}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetAreaRenderer}));var r=n(16),i=n.n(r),a=n(7),c=n.n(a),o=n(1),l=n.n(o),s=n(11),u=n.n(s),d=n(93),f=n(0),g=n(3),m=n(210),p=n(86),h=n(46),v=n(23),b=n(17),E=n(26),_=n(157),O=n(698),y=n(699),k=n(700),j=n(35),S=n(6),w=n(239),C=n(701);function x(e){var t,n=(t={},c()(t,E.d,48),c()(t,E.a,48),c()(t,E.c,32),c()(t,E.b,32),t)[e],r=Math.abs(Object(p.b)(e)+n);return"".concat(-r,"px ").concat(-n,"px ").concat(-n,"px ").concat(-n,"px")}function WidgetAreaRenderer(t){var n,r=t.slug,a=t.contextID,o=Object(j.a)(),l=Object(g.useSelect)((function(e){return o?e(S.a).getViewableModules():null})),s=Object(d.a)(),p=Object(E.e)(),A=Object(f.useRef)(),N=Object(w.a)(A,{rootMargin:x(p),threshold:0}),T=Object(g.useSelect)((function(e){return e(h.a).getWidgetArea(r)})),D=T.Icon,M=T.title,R=T.style,B=T.subtitle,I=T.CTA,P=T.Footer,L=Object(g.useSelect)((function(e){return e(h.a).getWidgets(r,{modules:l||void 0})})),F=Object(g.useSelect)((function(e){return e(h.a).getWidgetStates()})),z=Object(g.useSelect)((function(e){return e(h.a).isWidgetAreaActive(r,{modules:l||void 0})})),V=Object(g.useSelect)((function(e){return e(v.b).getValue(v.a)})),W=Object(f.useState)({key:"WidgetAreaRenderer-".concat(r),value:V?V===a:!!(null==N?void 0:N.intersectionRatio)}),G=i()(W,2),U=G[0],H=G[1];Object(f.useEffect)((function(){H({key:"WidgetAreaRenderer-".concat(r),value:V?V===a:!!(null==N?void 0:N.intersectionRatio)})}),[N,r,V,a]);var q=I&&s<=782;if(void 0===l)return null;var K=Object(m.d)(L,F),J=K.columnWidths,Y=K.rowIndexes,$=Object(m.b)(L,F,{columnWidths:J,rowIndexes:Y}),X=$.gridColumnWidths,Q=$.overrideComponents,Z=L.map((function(t,n){return e.createElement(y.a,{key:"".concat(t.slug,"-wrapper"),gridColumnWidth:X[n]},e.createElement(k.a,{slug:t.slug},e.createElement(O.a,{OverrideComponent:Q[n]?function(){var t=Q[n],r=t.Component,i=t.metadata;return e.createElement(r,i)}:void 0,slug:t.slug})))}));return e.createElement(_.a,{value:U},!!z&&e.createElement(b.e,{className:u()("googlesitekit-widget-area","googlesitekit-widget-area--".concat(r),"googlesitekit-widget-area--".concat(R)),ref:A},e.createElement(b.k,null,e.createElement(b.a,{className:"googlesitekit-widget-area-header",size:12},e.createElement(C.a,{slug:r,Icon:D,title:M,subtitle:B,CTA:I}))),e.createElement("div",{className:"googlesitekit-widget-area-widgets"},e.createElement(b.k,null,R===h.b.BOXES&&Z,R===h.b.COMPOSITE&&e.createElement(b.a,{size:12},e.createElement(b.e,null,e.createElement(b.k,null,Z))))),e.createElement(b.k,null,q&&e.createElement(b.a,{className:"googlesitekit-widget-area-footer",lgSize:12,mdSize:4,smSize:2},e.createElement("div",{className:"googlesitekit-widget-area-footer__cta"},e.createElement(I,null))),P&&e.createElement(b.a,{className:"googlesitekit-widget-area-footer",lgSize:12,mdSize:q?4:8,smSize:q?2:4},e.createElement(P,null)))),!z&&e.createElement(b.e,{className:u()(m.a,"googlesitekit-widget-area",(n={},c()(n,"googlesitekit-widget-area--".concat(r),!!r),c()(n,"googlesitekit-widget-area--".concat(R),!!R),n)),ref:A},Z))}WidgetAreaRenderer.propTypes={slug:l.a.string.isRequired,contextID:l.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(13),c=n(0),o=n(3),l=n(46),s=n(19),u=n(256),d=n(257),f=n(210),g=n(120),m=n(35),p=n(26);function WidgetRenderer(t){var n,r=t.slug,i=t.OverrideComponent,h=Object(o.useSelect)((function(e){return e(l.a).getWidget(r)})),v=Object(p.e)(),b=Object(f.c)(r),E=b.Widget,_=b.WidgetNull,O=Object(o.useSelect)((function(e){return e(s.a).getRecoverableModules()})),y=Object(m.a)(),k=Object(c.useMemo)((function(){return h&&O&&Object(a.intersection)(h.modules,Object.keys(O))}),[O,h]),j=Object(o.useSelect)((function(e){return e(l.a).isWidgetPreloaded(r)}));if(!h||void 0===k||(null==h||null===(n=h.hideOnBreakpoints)||void 0===n?void 0:n.includes(v)))return e.createElement(_,null);var S=h.Component,w=h.wrapWidget,C=e.createElement(S,b);return y&&(null==k?void 0:k.length)&&(C=e.createElement(d.a,{widgetSlug:r,moduleSlugs:k})),i?C=e.createElement(c.Fragment,null,e.createElement(u.a,{widgetSlug:"overridden"},e.createElement(i,null)),e.createElement("div",{className:g.a},C)):w&&(C=e.createElement(E,null,C)),j?e.createElement("div",{className:g.a},C):C}WidgetRenderer.propTypes={slug:i.a.string.isRequired,OverrideComponent:i.a.elementType},t.a=WidgetRenderer}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(120),c=n(17);function WidgetCellWrapper(t){var n=t.gridColumnWidth,r=t.children;return 0===n?e.createElement("div",{className:a.a},r):n<6?e.createElement(c.a,{lgSize:n,mdSize:4,smSize:2},r):n<8?e.createElement(c.a,{lgSize:n,mdSize:8},r):e.createElement(c.a,{size:n},r)}WidgetCellWrapper.propTypes={gridColumnWidth:i.a.number.isRequired,children:i.a.element.isRequired},t.a=WidgetCellWrapper}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(51),a=n.n(i),c=n(53),o=n.n(c),l=n(229),s=n.n(l),u=n(68),d=n.n(u),f=n(69),g=n.n(f),m=n(49),p=n.n(m),h=n(190),v=n.n(h),b=n(1),E=n.n(b),_=n(0),O=n(2),y=n(91),k=n(170),j=n(58),S=n(9);function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return g()(this,n)}}var C=function(t){d()(WidgetErrorHandler,t);var n=w(WidgetErrorHandler);function WidgetErrorHandler(e){var t;return a()(this,WidgetErrorHandler),(t=n.call(this,e)).state={error:null,info:null},t.onErrorClick=t.onErrorClick.bind(s()(t)),t}return o()(WidgetErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Widget error:",t,n),this.setState({error:t,info:n}),Object(S.J)("widget_error","handle_".concat(this.context||"unknown","_error"),"".concat(this.props.slug,"_").concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500-this.props.slug.length-1))}},{key:"onErrorClick",value:function(){var e=this.state,t=e.error,n=e.info;v()("`".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack,"`"))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,i=t.info;return n?r.createElement("div",{className:"googlesitekit-widget-error-handler"},r.createElement(y.a,{description:r.createElement(_.Fragment,null,r.createElement("p",null,Object(O.__)("An error prevented this Widget from being displayed properly. Report the exact contents of the error on the support forum to find out what caused it.","google-site-kit")),r.createElement(k.a,{message:n.message,componentStack:i.componentStack})),error:!0,onErrorClick:this.onErrorClick,onClick:this.onErrorClick,title:Object(O.__)("Error in Widget","google-site-kit")})):e}}]),WidgetErrorHandler}(_.Component);C.contextType=j.b,C.propTypes={children:E.a.node.isRequired},t.a=C}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetAreaHeader}));var r=n(1),i=n.n(r),a=n(93),c=n(0),o=n(596);function WidgetAreaHeader(t){var n=t.slug,r=t.Icon,i=void 0!==r&&r,l=t.title,s=void 0===l?"":l,u=t.subtitle,d=void 0===u?"":u,f=t.CTA,g=Object(a.a)(),m=f&&g>=783,p="function"==typeof d?d:void 0;return e.createElement(c.Fragment,null,i&&e.createElement(i,{width:33,height:33}),s&&e.createElement("h3",{className:"googlesitekit-widget-area-header__title googlesitekit-heading-3"},s,e.createElement(o.a,{slug:n})),(d||f)&&e.createElement("div",{className:"googlesitekit-widget-area-header__details"},d&&e.createElement("h4",{className:"googlesitekit-widget-area-header__subtitle"},p&&e.createElement(p,null),!p&&d,!s&&e.createElement(o.a,{slug:n})),m&&e.createElement("div",{className:"googlesitekit-widget-area-header__cta"},e.createElement(f,null))))}WidgetAreaHeader.propTypes={slug:i.a.string.isRequired,Icon:i.a.bool,title:i.a.oneOfType([i.a.string,i.a.element]),subtitle:i.a.oneOfType([i.a.string,i.a.elementType]),CTA:i.a.elementType}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(16),i=n.n(r),a=n(84),c=n(528),o=n(205),l=n(0),s=n(2),u=n(3),d=n(10),f=n(103),g=n(703),m=n(704),p=n(705),h=n(14),v=n(32),b=n(9),E=n(54),_=n(18);t.a=function EntitySearchInput(){var t=Object(o.a)(EntitySearchInput,"EntitySearchInput"),n=Object(l.useState)(!1),r=i()(n,2),O=r[0],y=r[1],k=Object(l.useState)(!1),j=i()(k,2),S=j[0],w=j[1],C=Object(l.useState)(!1),x=i()(C,2),A=x[0],N=x[1],T=Object(_.a)(),D=Object(E.c)(),M=Object(l.useRef)(),R=Object(l.useCallback)((function(){Object(b.J)("".concat(T,"_headerbar"),"open_urlsearch"),y(!0)}),[T]),B=Object(l.useCallback)((function(){Object(b.J)("".concat(T,"_headerbar"),"close_urlsearch"),y(!1)}),[T]),I=Object(l.useState)({}),P=i()(I,2),L=P[0],F=P[1],z=Object(u.useSelect)((function(e){return(null==L?void 0:L.url)?e(h.c).getAdminURL("googlesitekit-dashboard",{permaLink:L.url}):null})),V=Object(u.useDispatch)(v.a).navigateTo;return Object(l.useEffect)((function(){z&&Object(b.J)("".concat(T,"_headerbar_urlsearch"),"open_urldetails").finally((function(){V(z)}))}),[z,V,T]),Object(a.a)((function(){D===E.a&&y(!0)})),Object(c.a)((function(){var e;O||(null==M||null===(e=M.current)||void 0===e||e.focus())}),[O]),O?e.createElement("div",{className:"googlesitekit-entity-search googlesitekit-entity-search--is-open"},e.createElement(f.a,null,e.createElement("label",{htmlFor:t},Object(s.__)("Page/URL Search","google-site-kit"))),e.createElement(p.a,{id:t,match:L,setIsActive:N,setMatch:F,placeholder:Object(s.__)("Enter title or URL…","google-site-kit"),isLoading:S,setIsLoading:w,showDropdown:A,onClose:B,autoFocus:!0}),S&&A&&e.createElement(d.ProgressBar,{className:"googlesitekit-entity-search__loading",compress:!0}),e.createElement("div",{className:"googlesitekit-entity-search__actions"},e.createElement(d.Button,{onClick:B,trailingIcon:e.createElement(m.a,{width:"30",height:"20"}),className:"googlesitekit-entity-search__close",title:Object(s.__)("Close","google-site-kit"),text:!0,tooltip:!0,tooltipEnterDelayInMS:500}))):e.createElement("div",{className:"googlesitekit-entity-search"},e.createElement(d.Button,{className:"googlesitekit-border-radius-round--phone googlesitekit-button-icon--phone",onClick:R,text:!0,ref:M,title:Object(s.__)("Search","google-site-kit"),trailingIcon:e.createElement(g.a,{width:"20",height:"20"}),tooltip:!0,tooltipEnterDelayInMS:500},Object(s.__)("URL Search","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&e.createElement(d.e,{portal:!1},e.createElement(d.c,{className:"autocomplete__menu autocomplete__menu--inline"},z.map((function(t){var n=t.id,r=t.title;return e.createElement(d.d,{key:n,value:r,className:"autocomplete__option autocomplete__option--result"})})))))}PostSearcherAutoSuggest.propTypes={id:u.a.string,match:u.a.object,setCanSubmit:u.a.func,setMatch:u.a.func,isLoading:u.a.bool,setIsLoading:u.a.func,onKeyDown:u.a.func,autoFocus:u.a.bool,placeholder:u.a.string}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(16),i=n.n(r),a=n(0);function c(e,t){var n=Object(a.useState)(e),r=i()(n,2),c=r[0],o=r[1];return Object(a.useEffect)((function(){var n=setTimeout((function(){o(e)}),t);return function(){clearTimeout(n)}}),[e,t]),c}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DateRangeSelector}));var r=n(16),i=n.n(r),a=n(207),c=n(11),o=n.n(c),l=n(0),s=n(56),u=n(2),d=n(3),f=n(10),g=n(708),m=n(6),p=n(115),h=n(9),v=n(23),b=n(18);function DateRangeSelector(){var t,n=Object(h.o)(),r=Object(d.useSelect)((function(e){return e(m.a).getDateRange()})),c=Object(d.useDispatch)(m.a).setDateRange,E=Object(d.useDispatch)(v.b).resetInViewHook,_=Object(l.useState)(!1),O=i()(_,2),y=O[0],k=O[1],j=Object(l.useRef)(),S=Object(b.a)();Object(a.a)(j,(function(){return k(!1)})),Object(p.a)([s.c,s.f],j,(function(){return k(!1)}));var w=Object(l.useCallback)((function(){k(!y)}),[y]),C=Object(l.useCallback)((function(e){var t=Object.values(n)[e].slug;r!==t&&Object(h.J)("".concat(S,"_headerbar"),"change_daterange",t),E(),c(t),k(!1)}),[n,r,E,c,S]),x=null===(t=n[r])||void 0===t?void 0:t.label,A=Object.values(n).map((function(e){return e.label}));return e.createElement("div",{ref:j,className:"googlesitekit-date-range-selector googlesitekit-dropdown-menu mdc-menu-surface--anchor"},e.createElement(f.Button,{className:o()("mdc-button--dropdown","googlesitekit-header__dropdown","googlesitekit-header__date-range-selector-menu","googlesitekit-border-radius-round--phone","googlesitekit-button-icon--phone"),text:!0,onClick:w,icon:e.createElement(g.a,{width:"20",height:"20"}),"aria-haspopup":"menu","aria-expanded":y,"aria-controls":"date-range-selector-menu",title:Object(u.__)("Date range","google-site-kit"),tooltip:!0,tooltipEnterDelayInMS:500},x),e.createElement(f.Menu,{menuOpen:y,menuItems:A,onSelected:C,id:"date-range-selector-menu",className:"googlesitekit-width-auto"}))}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"),{a:e.createElement(w.a,{href:z,external:!0,"aria-label":Object(f.__)("Learn more about consent mode","google-site-kit")})}))),M&&e.createElement(S.a,{message:M.message}),e.createElement("div",{className:"googlesitekit-setup-cta-banner__actions-wrapper"},e.createElement(g.Fragment,null,e.createElement(h.SpinnerButton,{onClick:le,isSaving:s},Object(f.__)("Enable consent mode","google-site-kit")),e.createElement(h.Button,{tertiary:!0,onClick:se},H<2?Object(f.__)("Maybe later","google-site-kit"):Object(f.__)("Don’t show again","google-site-kit"))))),e.createElement("div",{className:"googlesitekit-setup-cta-banner__svg-wrapper"},B!==T.b&&B!==T.d?e.createElement(k.a,null):e.createElement(y.a,null))))))))}ConsentModeSetupCTAWidget.propTypes={Widget:u.a.elementType.isRequired,WidgetNull:u.a.elementType.isRequired},t.a=Object(_.g)("consent-mode-setup-cta")(ConsentModeSetupCTAWidget)}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&!o?l(!0):0===t&&o&&l(!1),o}}).call(this,n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return OverlayNotificationsRenderer}));var r=n(0),i=n(122),a=n(361),c=n(714),o=n(717),l=n(540);function OverlayNotificationsRenderer(){var t=Object(i.a)("audienceSegmentation"),n=Object(i.a)("rrmModule");return e.createElement(r.Fragment,null,e.createElement(o.a,null),e.createElement(c.a,null),t&&e.createElement(a.a,null),n&&e.createElement(l.a,null))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(370),a=n(0),c=n(2),o=n(10),l=n(3),s=n(715),u=n(716),d=n(22),f=n(23),g=n(6),m=n(19),p=n(26),h=n(54),v=n(31),b=n(8),E=n(86),_=n(227),O=n(381),y=n(9),k=n(18),j=n(50);t.a=Object(i.a)(Object(j.a)({moduleName:"analytics-4"}),Object(j.a)({moduleName:"adsense"}))((function AnalyticsAndAdSenseAccountsDetectedAsLinkedOverlayNotification(){var t=Object(p.e)(),n=Object(h.c)()===h.b,i=Object(k.a)(),j=Object(l.useSelect)((function(e){return e(g.a).isItemDismissed("AnalyticsAndAdSenseLinkedOverlayNotification")})),S=Object(l.useSelect)((function(e){return e(g.a).isDismissingItem("AnalyticsAndAdSenseLinkedOverlayNotification")})),w=Object(l.useSelect)((function(e){return!n||j?null:e(m.a).isModuleConnected("analytics-4")})),C=Object(l.useSelect)((function(e){return!n||j?null:e(m.a).isModuleConnected("adsense")})),x=Object(l.useSelect)((function(e){return!n||j?null:e(g.a).hasAccessToShareableModule("analytics-4")})),A=Object(l.useSelect)((function(e){return!n||j?null:e(g.a).hasAccessToShareableModule("adsense")})),N=Object(l.useSelect)((function(e){return!n||j?null:e(b.r).getAdSenseLinked()})),T=Object(l.useSelect)((function(e){return C?e(v.m).getAccountID():null})),D=Object(l.useSelect)((function(e){return e(g.a).getDateRangeDates({offsetDays:b.g})})),M={startDate:D.startDate,endDate:D.endDate,dimensions:["pagePath","adSourceName"],metrics:[{name:"totalAdRevenue"}],dimensionFilters:{adSourceName:"Google AdSense account (".concat(T,")")},orderby:[{metric:{metricName:"totalAdRevenue"},desc:!0}],limit:1},R=Object(l.useSelect)((function(e){return n&&!1===j&&N&&C&&w&&A&&x?e(b.r).getReport(M):null})),B=!1===Object(O.a)(R),I=n&&!1===j&&w&&C&&x&&A&&N&&B,P=Object(l.useDispatch)(f.b).dismissOverlayNotification,L=Object(a.useCallback)((function(){Object(y.J)("".concat(i,"_top-earning-pages-widget"),"view_overlay_CTA")}),[i]),F=function(){P("AnalyticsAndAdSenseLinkedOverlayNotification")};return r.createElement(_.a,{shouldShowNotification:I,GraphicDesktop:s.a,GraphicMobile:u.a,notificationID:"AnalyticsAndAdSenseLinkedOverlayNotification",onShow:L},r.createElement("div",{className:"googlesitekit-overlay-notification__body"},r.createElement("h3",null,Object(c.__)("See your top earning content","google-site-kit")),r.createElement("p",null,Object(c.__)("Data is now available for the pages that earn the most AdSense revenue.","google-site-kit"))),r.createElement("div",{className:"googlesitekit-overlay-notification__actions"},r.createElement(o.Button,{tertiary:!0,disabled:S,onClick:function(){F(),Object(y.J)("".concat(i,"_top-earning-pages-widget"),"dismiss_overlay_CTA")}},Object(c.__)("Maybe later","google-site-kit")),r.createElement(o.Button,{disabled:S,onClick:function(n){!function(n){n.preventDefault(),F(),setTimeout((function(){e.history.replaceState({},"","#".concat(d.c)),e.scrollTo({top:Object(E.a)(".googlesitekit-widget--adsenseTopEarningPagesGA4",t),behavior:"smooth"})}),50)}(n),Object(y.J)("".concat(i,"_top-earning-pages-widget"),"confirm_overlay_CTA")}},Object(c.__)("Show me","google-site-kit"))))}))}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&e.createElement(a.Fragment,null,e.createElement("p",null,Object(c.__)("The following modules failed to be recovered:","google-site-kit")),e.createElement("ul",null,Object.keys(n).map((function(t){return e.createElement("li",{key:t},Object(c.sprintf)( -/* translators: 1: Module name, 2: Error message */ -Object(c.__)("%1$s: %2$s","google-site-kit"),n[t].name,n[t].message))})))))}Errors.propTypes={recoveryErrors:i.a.object.isRequired}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DashboardEntryPoint}));var r=n(1),i=n.n(r),a=n(1112),c=n(1114);function DashboardEntryPoint(t){var n=t.setupModuleSlug;return n?e.createElement(a.a,{moduleSlug:n}):e.createElement(c.a,null)}DashboardEntryPoint.propTypes={setupModuleSlug:i.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ModuleSetup}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(1),l=n.n(o),s=n(84),u=n(241),d=n(0),f=n(2),g=n(3),m=n(14),p=n(19),h=n(32),v=n(34),b=n(9),E=n(225),_=n(17),O=n(224),y=n(1113);function ModuleSetup(t){var n=t.moduleSlug,r=Object(g.useDispatch)(h.a).navigateTo,a=Object(g.useSelect)((function(e){return e(p.a).getModule(n)})),o=Object(g.useRegistry)(),l=Object(u.a)(function(){var e=c()(i.a.mark((function e(t){var a,c,l;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(v.c)("module_setup");case 2:return e.next=4,Object(b.J)("moduleSetup","complete_module_setup",n);case 4:if(!t){e.next=7;break}return r(t),e.abrupt("return");case 7:return a=o.select,c=o.resolveSelect,e.next=10,c(m.c).getSiteInfo();case 10:l=a(m.c).getAdminURL("googlesitekit-dashboard",{notification:"authentication_success",slug:n}),r(l);case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[o,r,n]),k=null==a?void 0:a.onCompleteSetup,j=Object(d.useCallback)((function(){return k(o,l)}),[k,o,l]),S=Object(d.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(b.J)("moduleSetup","cancel_module_setup",n);case 2:case"end":return e.stop()}}),e)}))),[n]);if(Object(s.a)((function(){Object(b.J)("moduleSetup","view_module_setup",n)})),!(null==a?void 0:a.SetupComponent))return null;var w=a.SetupComponent;return e.createElement(d.Fragment,null,e.createElement(O.a,null,e.createElement(E.a,null)),e.createElement("div",{className:"googlesitekit-setup"},e.createElement(_.e,null,e.createElement(_.k,null,e.createElement(_.a,{size:12},e.createElement("section",{className:"googlesitekit-setup__wrapper"},e.createElement(_.e,null,e.createElement(_.k,null,e.createElement(_.a,{size:12},e.createElement("p",{className:"googlesitekit-setup__intro-title"},Object(f.__)("Connect Service","google-site-kit")),e.createElement(w,{module:a,finishSetup:l})))),e.createElement(y.a,{module:a,onCancel:S,onComplete:"function"==typeof k?j:void 0})))))))}ModuleSetup.propTypes={moduleSlug:l.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ModuleSetupFooter}));var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(16),l=n.n(o),s=n(1),u=n.n(s),d=n(11),f=n.n(d),g=n(2),m=n(0),p=n(3),h=n(14),v=n(17),b=n(20),E=n(10),_=n(19);function ModuleSetupFooter(t){var n=t.module,r=t.onCancel,a=t.onComplete,o=Object(m.useState)(!1),s=l()(o,2),u=s[0],d=s[1],O=Object(p.useSelect)((function(e){return e(h.c).getAdminURL("googlesitekit-settings")})),y=Object(p.useSelect)((function(e){var t,r;return null===(t=e(null==n?void 0:n.storeName))||void 0===t||null===(r=t.isSetupBlocked)||void 0===r?void 0:r.call(t)})),k=Object(p.useSelect)((function(e){return e(_.a).canSubmitChanges(null==n?void 0:n.slug)})),j=Object(m.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return d(!0),e.next=3,a();case 3:d(!1);case 4:case"end":return e.stop()}}),e)}))),[d,a]);return n?e.createElement("div",{className:f()("googlesitekit-setup__footer","googlesitekit-setup__footer--".concat(null==n?void 0:n.slug))},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{alignMiddle:!0,smSize:2,mdSize:4,lgSize:6},e.createElement(b.a,{id:"setup-".concat(n.slug,"-cancel"),href:O,onClick:r},y?Object(g.__)("Back","google-site-kit"):Object(g.__)("Cancel","google-site-kit"))),a&&e.createElement(v.a,{alignRight:!0,smSize:2,mdSize:4,lgSize:6},e.createElement(E.SpinnerButton,{id:"setup-".concat(n.slug,"-complete"),onClick:j,disabled:!k||u,isSaving:u},Object(g.__)("Complete Setup","google-site-kit")))))):null}ModuleSetupFooter.propTypes={module:u.a.shape({slug:u.a.string.isRequired,storeName:u.a.string.isRequired}).isRequired,onCancel:u.a.func.isRequired,onComplete:u.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return DashboardMainApp}));var i=n(16),a=n.n(i),c=n(11),o=n.n(c),l=n(0),s=n(84),u=n(3),d=n(70),f=n(9),g=n(224),m=n(690),p=n(418),h=n(368),v=n(702),b=n(707),E=n(225),_=n(1116),O=n(209),y=n(1130),k=n(709),j=n(616),S=n(1145),w=n(22),C=n(6),x=n(46),A=n(35),N=n(29),T=n(617),D=n(713),M=n(618),R=n(26),B=n(122),I=n(720),P=n(186),L=n(86),F=n(14),z=n(387),V=n(166),W=n(47);function DashboardMainApp(){var t,n,i=Object(B.a)("audienceSegmentation"),c=Object(l.useState)(!1),G=a()(c,2),U=G[0],H=G[1],q=Object(A.a)(),K=Object(R.e)(),J=Object(P.a)("widgetArea"),Y=a()(J,2),$=Y[0],X=Y[1],Q=Object(u.useDispatch)(N.a).setValues,Z=Object(u.useSelect)((function(e){return e(C.a).getGrantedScopes()})),ee=Object(u.useSelect)((function(e){return e(N.a).getValue(C.d,"permissionsError")})),te=void 0!==Z&&(null==ee||null===(t=ee.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.some((function(e){return Z.includes(e)}))),ne=Object(u.useSelect)((function(e){return i&&e(C.a).getConfiguredAudiences()}));Object(s.a)((function(){if(q||setTimeout((function(){return H(!0)}),5e3),$){var t=".googlesitekit-widget-area--".concat($);setTimeout((function(){function n(){e.scrollTo({top:Object(L.a)(t,K),behavior:"smooth"})}e.addEventListener("scrollend",(function t(){n(),e.removeEventListener("scrollend",t)})),n(),X(void 0)}),100)}})),Object(l.useEffect)((function(){void 0!==ee&&te&&Q(C.d,{permissionsError:{}})}),[te,Q,ee]);var re=Object(u.useSelect)((function(e){return q?e(C.a).getViewableModules():null})),ie={modules:re||void 0},ae=Object(u.useSelect)((function(e){return e(x.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_KEY_METRICS,ie)})),ce=Object(u.useSelect)((function(e){return e(x.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_TRAFFIC,ie)})),oe=Object(u.useSelect)((function(e){return e(x.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_CONTENT,ie)})),le=Object(u.useSelect)((function(e){return e(x.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_SPEED,ie)})),se=Object(u.useSelect)((function(e){return e(x.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_MONETIZATION,ie)})),ue=Object(u.useSelect)((function(e){return e(C.a).isKeyMetricsWidgetHidden()})),de=Object(z.a)(),fe=Object(u.useSelect)((function(e){return!0===e(F.c).isKeyMetricsSetupCompleted()&&!1===ue||e(C.a).isAuthenticated()&&!1===e(F.c).isKeyMetricsSetupCompleted()&&de}));Object(I.a)();var ge=null;return se?ge=w.c:le?ge=w.d:oe?ge=w.a:ce?ge=w.e:ae&&(ge=w.b),r.createElement(l.Fragment,null,r.createElement(j.a,null),r.createElement(M.a,null),r.createElement(g.a,{subHeader:r.createElement(_.a,null),showNavigation:!0},r.createElement(v.a,null),r.createElement(b.a,null),!q&&r.createElement(m.a,null),r.createElement(E.a,null)),!q&&r.createElement(l.Fragment,null,i&&r.createElement(h.c,null),r.createElement(k.a,null)),r.createElement(V.a,{areaSlug:W.b.BANNERS_BELOW_NAV,groupID:W.c.SETUP_CTAS}),r.createElement(D.a,null),!0!==ue&&r.createElement(p.a,{id:w.b,slug:d.CONTEXT_MAIN_DASHBOARD_KEY_METRICS,className:o()({"googlesitekit-widget-context--last":ge===w.b})}),r.createElement(p.a,{id:w.e,slug:d.CONTEXT_MAIN_DASHBOARD_TRAFFIC,className:o()({"googlesitekit-widget-context--last":ge===w.e})}),r.createElement(p.a,{id:w.a,slug:d.CONTEXT_MAIN_DASHBOARD_CONTENT,className:o()({"googlesitekit-widget-context--last":ge===w.a})}),r.createElement(p.a,{id:w.d,slug:d.CONTEXT_MAIN_DASHBOARD_SPEED,className:o()({"googlesitekit-widget-context--last":ge===w.d})}),r.createElement(p.a,{id:w.c,slug:d.CONTEXT_MAIN_DASHBOARD_MONETIZATION,className:o()({"googlesitekit-widget-context--last":ge===w.c})}),r.createElement(O.a,{triggerID:"view_dashboard",ttl:f.a}),U&&r.createElement(y.a,null),fe&&r.createElement(S.a,null),i&&ne&&r.createElement(h.d,null),r.createElement(T.a,null))}}).call(this,n(28),n(4))},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return BannerNotifications}));var r=n(16),i=n.n(r),a=n(0),c=n(3),o=n(19),l=n(6),s=n(8),u=n(186),d=n(1117),f=n(1119),g=n(1121),m=n(1122),p=n(644),h=n(35),v=n(1124),b=n(1125),E=n(1127),_=n(1128),O=n(23),y=n(388),k=n(47),j=n(166),S=["ads",n(52).e,"sign-in-with-google"];function BannerNotifications(){var t=Object(h.a)(),n=Object(c.useSelect)((function(e){return e(l.a).isAuthenticated()})),r=Object(c.useSelect)((function(e){return e(o.a).isModuleActive("adsense")})),w=Object(c.useSelect)((function(e){return e(o.a).isModuleConnected("analytics-4")})),C=Object(c.useSelect)((function(e){return e(l.a).hasScope(s.p)})),x=Object(c.useSelect)((function(e){return e(s.r).hasMismatchedGoogleTagID()})),A=Object(c.useSelect)((function(e){return e(O.b).getValue(y.a)})),N=Object(c.useSelect)((function(e){if(t||!w)return!1;var n=e(s.r).getOwnerID(),r=e(l.a).getID();return void 0!==n&&void 0!==r?n===r:void 0})),T=Object(u.a)("notification"),D=i()(T,1)[0],M=Object(u.a)("slug"),R=i()(M,1)[0];return t?e.createElement(a.Fragment,null,e.createElement(j.a,{areaSlug:k.b.BANNERS_ABOVE_NAV})):e.createElement(a.Fragment,null,r&&e.createElement(m.a,null),e.createElement(g.a,null),"authentication_success"===D&&!S.includes(R)&&e.createElement(d.a,null),"ad_blocking_recovery_setup_success"===D&&e.createElement(_.a,null),e.createElement(v.a,null),n&&e.createElement(f.a,null),!A&&e.createElement(p.a,null),w&&C&&N&&e.createElement(a.Fragment,null,x&&e.createElement(b.a,null),e.createElement(E.a,null)),e.createElement(j.a,{areaSlug:k.b.BANNERS_ABOVE_NAV}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(5),a=n.n(i),c=n(15),o=n.n(c),l=n(16),s=n.n(l),u=n(0),d=n(2),f=n(1187),g=n(3),m=n(186),p=n(90),h=n(1118),v=n(22),b=n(19),E=n(14),_=n(6),O=n(37),y=n(86),k=n(18),j=n(26),S=n(20);t.a=function SetupSuccessBannerNotification(){var t,n=Object(m.a)("slug"),i=s()(n,1)[0],c=Object(m.a)("notification"),l=s()(c,1)[0],w=Object(j.e)(),C=Object(k.a)(),x=Object(g.useSelect)((function(e){return e(b.a).getModules()})),A=Object(g.useSelect)((function(e){return e(_.a).hasCapability(_.K)})),N=Object(g.useSelect)((function(e){var t,n=null==x||null===(t=x[i])||void 0===t?void 0:t.storeName;if(!n)return null;var r=e(n).getSetupSuccessContent;return r?r():null})),T=Object(g.useSelect)((function(e){return e(E.c).getAdminURL("googlesitekit-settings")})),D=Object(u.useCallback)((function(){Object(O.b)("".concat(C,"_authentication-success-notification"),"view_notification")}),[C]),M=Object(u.useCallback)(o()(a.a.mark((function t(){var n;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Object(O.b)("".concat(C,"_authentication-success-notification"),"confirm_notification");case 2:n=Object(f.a)(e.location.href,"notification"),e.history.replaceState(null,"",n);case 4:case"end":return t.stop()}}),t)}))),[C]);if(void 0===x)return null;if(!l||""===l)return null;if("authentication_success"===l&&!A)return null;if("authentication_success"===l&&i&&!(null===(t=x[i])||void 0===t?void 0:t.active))return null;var R={id:"connected-successfully",setupTitle:Object(d.__)("Site Kit","google-site-kit"),description:"",learnMore:{label:"",url:"",description:""}};switch(l){case"authentication_success":if(x[i]&&(R.id="".concat(R.id,"-").concat(i),R.setupTitle=x[i].name,R.description="",N)){var B=N.description,I=N.learnMore;R.description=B,R.learnMore=I}if("pagespeed-insights"===i){var P="#".concat(v.d);R.description=r.createElement("p",{className:"googlesitekit-publisher-win__link"},r.createElement(S.a,{href:P,onClick:function(t){t.preventDefault(),e.history.replaceState({},"",P),e.scrollTo({top:Object(y.a)(P,w),behavior:"smooth"})}},Object(d.__)("Jump to the bottom of the dashboard to see how fast your home page is","google-site-kit")))}else R.description||R.learnMore.label||(R.description=Object(d.__)("Connect more services to see more stats.","google-site-kit"),R.learnMore={label:Object(d.__)("Go to Settings","google-site-kit"),url:"".concat(T,"#/connect-more-services"),target:p.a.INTERNAL});return r.createElement(u.Fragment,null,r.createElement(p.b,{id:R.id,title:Object(d.sprintf)( -/* translators: %s: the name of a module that setup was completed for */ -Object(d.__)("Congrats on completing the setup for %s!","google-site-kit"),R.setupTitle),description:R.description,handleDismiss:function(){},WinImageSVG:h.a,onView:D,dismiss:Object(d.__)("OK, Got it!","google-site-kit"),onDismiss:M,format:"smaller",type:"win-success",learnMoreLabel:R.learnMore.label,learnMoreDescription:R.learnMore.description,learnMoreURL:R.learnMore.url,learnMoreTarget:R.learnMore.target}));default:return null}}}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&e.createElement(E.a,{recoveryErrors:w})),I=D):(R=Object(f.__)("The data for the following modules was previously shared with other users on the site by another admin who no longer has access. To restore access, you may recover the module as the new owner.","google-site-kit"),B=e.createElement(d.Fragment,null,S.map((function(t){return e.createElement("div",{key:t},e.createElement(m.Checkbox,{checked:r[t],name:"module-recovery-alert-checkbox",id:"module-recovery-alert-checkbox-".concat(t),onChange:function(){return T(t)},value:t,disabled:_},k[t].name))})),e.createElement("p",{className:"googlesitekit-publisher-win__desc"},Object(f.__)("By recovering the selected modules, you will restore access for other users by sharing access via your Google account. This does not make any changes to external services and can be managed at any time via the dashboard sharing settings.","google-site-kit")),Object.keys(w).length>0&&e.createElement(E.a,{recoveryErrors:w})),I=D),e.createElement(b.b,{id:"module-recovery-alert",title:Object(f.__)("Dashboard data for some services has been interrupted","google-site-kit"),onCTAClick:I,ctaLabel:I?Object(f.__)("Recover","google-site-kit"):null,ctaLink:I?"#":null,description:R,learnMoreURL:j,learnMoreLabel:Object(f.__)("Learn more","google-site-kit"),isDismissible:P,dismiss:Object(f.__)("Remind me later","google-site-kit"),dismissExpires:v.a},B)}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n(2),a=n(3),c=n(19),o=n(31),l=n(1123),s=n(90);t.a=function AdSenseAlerts(){var t=Object(a.useSelect)((function(e){return e(c.a).isModuleConnected("adsense")})),n=Object(a.useSelect)((function(e){return e(o.m).getAccountID()})),u=Object(a.useSelect)((function(e){return e(o.m).getNotifications()}));return t&&n&&void 0!==u?e.createElement(r.Fragment,null,u.map((function(t){var n=t.id,r=t.title,a=t.description,c=t.format,o=t.ctaURL,u=t.ctaLabel,d=t.ctaTarget,f=t.severity,g=t.isDismissable;return e.createElement(s.b,{className:"googlesitekit-adsense-alert",key:n,id:n,title:r||"",description:a,WinImageSVG:l.a,format:c||"small",ctaLink:o,ctaLabel:u,ctaTarget:d,type:f,dismiss:Object(i.__)("OK, Got it!","google-site-kit"),isDismissible:g||!0,logo:!0,module:"adsense",moduleName:Object(i._x)("AdSense","Service name","google-site-kit"),dismissExpires:0,showOnce:!1})}))):null}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;tAdSense, otherwise this feature won’t work","google-site-kit"),{a:r.createElement(g.a,{href:_,external:!0,hideExternalIndicator:!0})})),dismiss:Object(c.__)("OK, Got it!","google-site-kit"),onDismiss:function(){Object(f.J)("".concat(t,"_adsense-abr-success-notification"),"confirm_notification");var n=Object(o.a)(e.location.href,"notification");e.history.replaceState(null,"",n)},isDismissible:!0,onView:O,type:"win-success",WinImageSVG:function WinImageSVG(){return r.createElement(s.a,null)},format:"small"})}}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return c=e.done,e},e:function(e){o=!0,a=e},f:function(){try{c||null==n.return||n.return()}finally{if(o)throw a}}}}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var r,i=j(n);try{for(i.s();!(r=i.n()).done;){var a=r.value,c=K[a.question_ordinal],o=a.answer_ordinal||[];if(!c||!o.includes(c))return J++,!1}}catch(e){i.e(e)}finally{i.f()}}return t===J})),$=Object(g.useCallback)((function(e){B||(I(!0),H("question_answered",{question_ordinal:null==Y?void 0:Y.question_ordinal,answer:e}),setTimeout((function(){U(V,{answers:[].concat(c()(G),[{question_ordinal:null==Y?void 0:Y.question_ordinal,answer:e}])}),I(!1)}),300))}),[G,Y,V,H,U,B]);(null==L?void 0:L.length)&&J>L.length&&((q=(P||[]).find((function(e){var t,n=j(e.trigger_condition||[]);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(r.answer_ordinal.includes(K[r.question_ordinal]))return q=e,!0}}catch(e){n.e(e)}finally{n.f()}return!1})))||(q=P[0]));var X=Object(g.useCallback)((function(){var e;H("follow_up_link_clicked",{completion_ordinal:null===(e=q)||void 0===e?void 0:e.completion_ordinal}),H("survey_closed"),U(V,{hideSurvey:!0})}),[V,H,U,q]),Q=Object(g.useCallback)((function(){H("survey_closed"),D(!1)}),[H]),Z=Object(g.useCallback)((function(){U(V,{hideSurvey:!0})}),[V,U]);if(Object(g.useEffect)((function(){var e;q&&!S&&(w(!0),H("completion_shown",{completion_ordinal:null===(e=q)||void 0===e?void 0:e.completion_ordinal}))}),[S,H,q]),Object(d.a)((function(){D(!0)})),W||!L||!P||void 0===z)return null;if(q)return e.createElement(f.a,{direction:"up",in:T,onExited:Z},e.createElement("div",{className:"googlesitekit-survey"},e.createElement(b.a,{dismissSurvey:Q,ctaOnClick:X,ctaText:q.follow_up_text,ctaURL:q.follow_up_url,title:q.completion_title},q.completion_text)));if(!x.includes(null==Y?void 0:Y.question_type))return null;var ee={key:Y.question_text,answerQuestion:$,dismissSurvey:Q,question:Y.question_text,submitButtonText:(null==L?void 0:L.length)===J?Object(m.__)("Submit","google-site-kit"):Object(m.__)("Next","google-site-kit")};return e.createElement(f.a,{direction:"up",in:T,onExited:Z},e.createElement("div",{className:"googlesitekit-survey"},"multi_select"===Y.question_type&&e.createElement(O.a,i()({},ee,{choices:Y.question.answer_choice,minChoices:Y.question.min_choices,maxChoices:Y.question.max_choices})),"open_text"===Y.question_type&&e.createElement(_.a,i()({},ee,{subtitle:Y.question.subtitle,placeholder:Y.question.placeholder})),"rating"===Y.question_type&&e.createElement(E.a,i()({},ee,{choices:Y.question.answer_choice})),"single_select"===Y.question_type&&e.createElement(y.a,i()({},ee,{choices:Y.question.answer_choice})),!1===z&&1===(null==Y?void 0:Y.question_ordinal)&&e.createElement("div",{className:"googlesitekit-survey__footer"},e.createElement(k.a,null))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(10),c=n(519);function SurveyCompletion(t){var n=t.title,r=t.children,i=t.ctaText,o=t.ctaURL,l=t.ctaOnClick,s=t.dismissSurvey;return e.createElement("div",{className:"googlesitekit-survey__completion"},e.createElement(c.a,{title:n,dismissSurvey:s}),e.createElement("div",{className:"googlesitekit-survey__body"},r),o&&i&&e.createElement("div",{className:"googlesitekit-survey__footer"},e.createElement(a.Button,{href:o,onClick:l,target:"_blank"},i)))}SurveyCompletion.propTypes={title:i.a.string.isRequired,children:i.a.node,ctaText:i.a.string,ctaURL:i.a.string,ctaOnClick:i.a.func,dismissSurvey:i.a.func.isRequired},SurveyCompletion.defaultProps={title:"",children:null,ctaText:"",ctaURL:"",ctaOnClick:null},t.a=SurveyCompletion}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(519),c=n(1134);function SurveyQuestionRating(t){var n=t.question,r=t.choices,i=t.answerQuestion,o=t.dismissSurvey;return e.createElement("div",{className:"googlesitekit-survey__question-rating"},e.createElement(a.a,{title:n,dismissSurvey:o}),e.createElement("div",{className:"googlesitekit-survey__body"},e.createElement("div",{className:"googlesitekit-survey__choices"},r.map((function(t,n){return e.createElement(c.a,{key:n,choice:t,answerQuestion:i})})))))}SurveyQuestionRating.propTypes={question:i.a.string.isRequired,choices:i.a.arrayOf(i.a.shape({answer_ordinal:i.a.oneOfType([i.a.string,i.a.number]),text:i.a.string})).isRequired,answerQuestion:i.a.func.isRequired,dismissSurvey:i.a.func.isRequired},t.a=SurveyQuestionRating}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(0),c=n(10),o=n(1135),l=n(1136),s=n(1137),u=n(1138),d=n(1139),f={1:o.a,2:l.a,3:s.a,4:u.a,5:d.a};function SurveyQuestionRatingChoice(t){var n=t.choice,r=t.answerQuestion,i=Object(a.useCallback)((function(){"function"==typeof r&&r({answer:{answer_ordinal:n.answer_ordinal}})}),[r,n]),o=f[n.answer_ordinal];return o?e.createElement("div",{className:"googlesitekit-survey__choice"},e.createElement(c.Button,{icon:e.createElement(o,{width:30,height:30}),"aria-label":n.text,onClick:i}),e.createElement("p",null,n.text)):null}SurveyQuestionRatingChoice.propTypes={choice:i.a.shape({answer_ordinal:i.a.oneOfType([i.a.string,i.a.number]),text:i.a.string}).isRequired},t.a=SurveyQuestionRatingChoice}).call(this,n(4))},function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0,N=Object.values(C).filter((function(e){return e.selected})).length,T=E&&N===E,D=A||N1&&e.createElement(p.HelperText,{persistent:!0},Object(m.sprintf)( -/* translators: %s: the number of answers. */ -Object(m.__)("Choose at least %s answers","google-site-kit"),u)),e.createElement(p.Button,{onClick:function(){var e=Object.values(C).filter((function(e){return e.selected})).map((function(e){var t=e.answer_ordinal,n=e.answer_text;return n?{answer_ordinal:t,answer_text:n}:{answer_ordinal:t}}));a({answer:e})},disabled:D},O)))}SurveyQuestionMultiSelect.propTypes={question:u.a.string.isRequired,choices:u.a.arrayOf(u.a.shape({answer_ordinal:u.a.oneOfType([u.a.string,u.a.number]),text:u.a.string,write_in:u.a.bool})).isRequired,answerQuestion:u.a.func.isRequired,dismissSurvey:u.a.func.isRequired,minChoices:u.a.number,maxChoices:u.a.number,submitButtonText:u.a.string.isRequired},t.a=SurveyQuestionMultiSelect}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(7),i=n.n(r),a=n(16),c=n.n(a),o=n(1),l=n.n(o),s=n(0),u=n(10),d=n(519),f=n(1143);function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t0,k=""===p||y&&""===E;return e.createElement("div",{className:"googlesitekit-single-select"},e.createElement(d.a,{title:n,dismissSurvey:a}),e.createElement("div",{className:"googlesitekit-survey__body"},O.map((function(t,n){return e.createElement(f.a,{key:n,value:p,setValue:h,writeIn:E,setWriteIn:_,choice:t})}))),e.createElement("div",{className:"googlesitekit-survey__footer"},e.createElement(u.Button,{onClick:function(){var e=y?{answer_text:E}:{};i({answer:m({answer_ordinal:Number(p)},e)})},disabled:k},o)))}SurveyQuestionSingleSelect.propTypes={question:l.a.string.isRequired,choices:l.a.arrayOf(l.a.shape({answer_ordinal:l.a.oneOfType([l.a.string,l.a.number]),text:l.a.string,write_in:l.a.bool})).isRequired,answerQuestion:l.a.func.isRequired,dismissSurvey:l.a.func.isRequired},t.a=SurveyQuestionSingleSelect}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(0),c=n(2),o=n(10),l=n(103),s=n(615);function SurveyQuestionSingleSelectChoice(t){var n=t.value,r=t.setValue,i=t.writeIn,u=t.setWriteIn,d=t.choice,f=d.answer_ordinal,g=d.text,m=d.write_in,p=n===f,h="googlesitekit-survey__multi-select-".concat(f,"-").concat(g);return e.createElement("div",{className:"googlesitekit-single-select__choice"},e.createElement(o.Radio,{id:g.replace(/ /g,"-"),value:f,checked:p,name:g,onClick:function(){return r(f)}},g),m&&e.createElement(a.Fragment,null,e.createElement(l.a,null,e.createElement("label",{htmlFor:h},Object(c.sprintf)( -/* translators: %s: Option name */ -Object(c.__)("Text input for option %s","google-site-kit"),g))),e.createElement(o.TextField,{id:h,onChange:function(e){return u(e.target.value.slice(0,s.a))},value:i,disabled:!p})))}SurveyQuestionSingleSelectChoice.propTypes={choice:i.a.shape({answer_ordinal:i.a.oneOfType([i.a.string,i.a.number]),text:i.a.string,write_in:i.a.bool}),value:i.a.string.isRequired,setValue:i.a.func.isRequired,writeIn:i.a.string.isRequired,setWriteIn:i.a.func.isRequired},t.a=SurveyQuestionSingleSelectChoice}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SurveyTerms}));var r=n(2),i=n(38),a=n(3),c=n(14),o=n(20);function SurveyTerms(){var t=Object(a.useSelect)((function(e){return e(c.c).getGooglePrivacyPolicyURL()})),n=Object(a.useSelect)((function(e){return e(c.c).getGoogleTermsURL()}));return e.createElement("p",{className:"googlesitekit-survey__terms"},Object(i.a)(Object(r.__)("By continuing, you agree to allow Google to use your answers and account info to improve services, per our Privacy & Terms.","google-site-kit"),{privacy:e.createElement(o.a,{href:t,external:!0,hideExternalIndicator:!0,noFlex:!0}),terms:e.createElement(o.a,{href:n,external:!0,hideExternalIndicator:!0,noFlex:!0})}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricsSelectionPanel}));var r=n(3),i=n(23),a=n(25),c=n(157),o=n(1146);function MetricsSelectionPanel(){var t=Object(r.useSelect)((function(e){return e(i.b).getValue(a.k)}));return e.createElement(c.a,{value:{key:"MetricsSelectionPanel",value:!!t}},e.createElement(o.a,null))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Panel}));var r=n(16),i=n.n(r),a=n(7),c=n.n(a),o=n(11),l=n.n(o),s=n(0),u=n(3),d=n(29),f=n(23),g=n(6),m=n(25),p=n(679),h=n(113),v=n(18),b=n(9),E=n(122);function Panel(){var t=Object(v.a)(),n=Object(E.a)("conversionReporting"),r=Object(u.useSelect)((function(e){return e(f.b).getValue(m.k)})),a=Object(u.useInViewSelect)((function(e){var t=e(g.a).getKeyMetrics();if(!Array.isArray(t))return[];var n=e(g.a).isKeyMetricAvailable;return t.filter(n)})),o=Object(u.useDispatch)(d.a).setValues,_=Object(u.useDispatch)(f.b).setValue,O=Object(s.useCallback)((function(){var e;o(m.j,(e={},c()(e,m.i,a),c()(e,m.a,a),e)),Object(b.J)("".concat(t,"_kmw-sidebar"),"metrics_sidebar_view")}),[a,o,t]),y=Object(s.useCallback)((function(){r&&_(m.k,!1)}),[_,r]),k=Object(s.useState)(!1),j=i()(k,2),S=j[0],w=j[1];return e.createElement(h.e,{isOpen:r||S,onOpen:O,closePanel:y,className:l()("googlesitekit-km-selection-panel",{"googlesitekit-acr-km-selection-panel":n})},e.createElement(p.a,{isOpen:r,closePanel:y,savedViewableMetrics:a,setIsNavigatingToOAuthURL:w}))}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),function(e,t){var r=n(5),i=n.n(r),a=n(15),c=n.n(a),o=n(326),l=n(141),s=n(34),u=n(216),d=n(22),f=n(1111);Object(o.a)(c()(i.a.mark((function n(){var r,a,c,o,g;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!e._googlesitekitLegacyData.admin.resetSession){n.next=3;break}return n.next=3,Object(s.b)();case 3:(r=document.getElementById("js-googlesitekit-main-dashboard"))&&(a=r.dataset,c=a.setupModuleSlug,o=a.viewOnly,g=d.q,c||(g=o?d.o:d.n),Object(l.render)(t.createElement(u.a,{viewContext:g},t.createElement(f.a,{setupModuleSlug:c})),r));case 5:case"end":return n.stop()}}),n)}))))}.call(this,n(28),n(4))}],[[1257,1,0]]]); \ No newline at end of file diff --git a/plugins/google-site-kit/dist/assets/js/googlesitekit-main-dashboard-a4bcd8e2d49c8c193c4e.js b/plugins/google-site-kit/dist/assets/js/googlesitekit-main-dashboard-a4bcd8e2d49c8c193c4e.js new file mode 100644 index 000000000..869a71912 --- /dev/null +++ b/plugins/google-site-kit/dist/assets/js/googlesitekit-main-dashboard-a4bcd8e2d49c8c193c4e.js @@ -0,0 +1,106 @@ +(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[15],[,,function(e,t){e.exports=googlesitekit.i18n},function(e,t){e.exports=googlesitekit.data},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return c})),n.d(t,"c",(function(){return o})),n.d(t,"H",(function(){return l})),n.d(t,"M",(function(){return s})),n.d(t,"O",(function(){return u})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return g})),n.d(t,"J",(function(){return f})),n.d(t,"I",(function(){return m})),n.d(t,"N",(function(){return p})),n.d(t,"f",(function(){return h})),n.d(t,"g",(function(){return v})),n.d(t,"h",(function(){return b})),n.d(t,"j",(function(){return E})),n.d(t,"l",(function(){return _})),n.d(t,"m",(function(){return O})),n.d(t,"n",(function(){return y})),n.d(t,"o",(function(){return k})),n.d(t,"q",(function(){return j})),n.d(t,"s",(function(){return S})),n.d(t,"r",(function(){return w})),n.d(t,"t",(function(){return C})),n.d(t,"w",(function(){return A})),n.d(t,"u",(function(){return x})),n.d(t,"v",(function(){return T})),n.d(t,"x",(function(){return N})),n.d(t,"y",(function(){return D})),n.d(t,"A",(function(){return M})),n.d(t,"B",(function(){return R})),n.d(t,"C",(function(){return B})),n.d(t,"D",(function(){return I})),n.d(t,"k",(function(){return P})),n.d(t,"F",(function(){return L})),n.d(t,"z",(function(){return F})),n.d(t,"G",(function(){return z})),n.d(t,"E",(function(){return V})),n.d(t,"i",(function(){return W})),n.d(t,"p",(function(){return G})),n.d(t,"Q",(function(){return U})),n.d(t,"P",(function(){return H}));var r="core/user",i="connected_url_mismatch",a="__global",c="temporary_persist_permission_error",o="adblocker_active",l="googlesitekit_authenticate",s="googlesitekit_setup",u="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",m="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",h="kmAnalyticsAdSenseTopEarningContent",v="kmAnalyticsEngagedTrafficSource",b="kmAnalyticsLeastEngagingPages",E="kmAnalyticsNewVisitors",_="kmAnalyticsPopularAuthors",O="kmAnalyticsPopularContent",y="kmAnalyticsPopularProducts",k="kmAnalyticsReturningVisitors",j="kmAnalyticsTopCities",S="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",C="kmAnalyticsTopCitiesDrivingPurchases",A="kmAnalyticsTopDeviceDrivingPurchases",x="kmAnalyticsTopConvertingTrafficSource",T="kmAnalyticsTopCountries",N="kmAnalyticsTopPagesDrivingLeads",D="kmAnalyticsTopRecentTrendingPages",M="kmAnalyticsTopTrafficSource",R="kmAnalyticsTopTrafficSourceDrivingAddToCart",B="kmAnalyticsTopTrafficSourceDrivingLeads",I="kmAnalyticsTopTrafficSourceDrivingPurchases",P="kmAnalyticsPagesPerVisit",L="kmAnalyticsVisitLength",F="kmAnalyticsTopReturningVisitorPages",z="kmSearchConsolePopularKeywords",V="kmAnalyticsVisitsPerVisitor",W="kmAnalyticsMostEngagingPages",G="kmAnalyticsTopCategories",U=[h,v,b,E,_,O,y,k,G,j,S,w,C,A,x,T,D,M,R,P,L,F,V,W,G],H=[].concat(U,[z])},,function(e,t,n){"use strict";n.d(t,"r",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"s",(function(){return a})),n.d(t,"z",(function(){return c})),n.d(t,"o",(function(){return o})),n.d(t,"q",(function(){return l})),n.d(t,"g",(function(){return s})),n.d(t,"p",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"i",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"m",(function(){return m})),n.d(t,"n",(function(){return p})),n.d(t,"h",(function(){return h})),n.d(t,"x",(function(){return v})),n.d(t,"w",(function(){return b})),n.d(t,"y",(function(){return E})),n.d(t,"u",(function(){return _})),n.d(t,"v",(function(){return O})),n.d(t,"f",(function(){return y})),n.d(t,"l",(function(){return k})),n.d(t,"e",(function(){return j})),n.d(t,"t",(function(){return S})),n.d(t,"c",(function(){return w})),n.d(t,"d",(function(){return C})),n.d(t,"b",(function(){return A}));var r="modules/analytics-4",i="account_create",a="property_create",c="webdatastream_create",o="analyticsSetup",l=10,s=1,u="https://www.googleapis.com/auth/tagmanager.readonly",d="enhanced-measurement-form",g="enhanced-measurement-enabled",f="enhanced-measurement-should-dismiss-activation-banner",m="analyticsAccountCreate",p="analyticsCustomDimensionsCreate",h="https://www.googleapis.com/auth/analytics.edit",v="dashboardAllTrafficWidgetDimensionName",b="dashboardAllTrafficWidgetDimensionColor",E="dashboardAllTrafficWidgetDimensionValue",_="dashboardAllTrafficWidgetActiveRowIndex",O="dashboardAllTrafficWidgetLoaded",y={googlesitekit_post_date:{parameterName:"googlesitekit_post_date",displayName:"WordPress Post Date",description:"Created by Site Kit: Date when a post was published",scope:"EVENT"},googlesitekit_post_author:{parameterName:"googlesitekit_post_author",displayName:"WordPress Post Author",description:"Created by Site Kit: WordPress name of the post author",scope:"EVENT"},googlesitekit_post_categories:{parameterName:"googlesitekit_post_categories",displayName:"WordPress Post Categories",description:"Created by Site Kit: Names of categories assigned to a post",scope:"EVENT"},googlesitekit_post_type:{parameterName:"googlesitekit_post_type",displayName:"WordPress Post Type",description:"Created by Site Kit: Content type of a post",scope:"EVENT"}},k={ADD_TO_CART:"add_to_cart",PURCHASE:"purchase",SUBMIT_LEAD_FORM:"submit_lead_form",GENERATE_LEAD:"generate_lead",CONTACT:"contact"},j=[k.CONTACT,k.GENERATE_LEAD,k.SUBMIT_LEAD_FORM],S={"new-visitors":{description:"People who visited the site for the first time",displayName:"New visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"new"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:new_visitors"}}}}]}}]}}}}]},"returning-visitors":{description:"People who have visited your site at least once before",displayName:"Returning visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"returning"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:returning_visitors"}}}}]}}]}}}}]}},w="audiencePermissionsSetup",C="audienceTileCustomDimensionCreate",A="audience-selection-panel-expirable-new-badge-"},function(e,t,n){"use strict";n.d(t,"J",(function(){return i.b})),n.d(t,"K",(function(){return i.c})),n.d(t,"G",(function(){return a.a})),n.d(t,"L",(function(){return a.b})),n.d(t,"I",(function(){return u})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return p})),n.d(t,"k",(function(){return h})),n.d(t,"j",(function(){return v})),n.d(t,"d",(function(){return k})),n.d(t,"c",(function(){return j})),n.d(t,"e",(function(){return S})),n.d(t,"b",(function(){return w})),n.d(t,"a",(function(){return C})),n.d(t,"g",(function(){return A})),n.d(t,"f",(function(){return x})),n.d(t,"o",(function(){return T})),n.d(t,"x",(function(){return N})),n.d(t,"q",(function(){return D})),n.d(t,"H",(function(){return M})),n.d(t,"t",(function(){return R})),n.d(t,"w",(function(){return B})),n.d(t,"l",(function(){return I})),n.d(t,"p",(function(){return P.b})),n.d(t,"i",(function(){return P.a})),n.d(t,"u",(function(){return L.b})),n.d(t,"r",(function(){return L.a})),n.d(t,"B",(function(){return L.c})),n.d(t,"y",(function(){return F})),n.d(t,"v",(function(){return z})),n.d(t,"F",(function(){return G})),n.d(t,"E",(function(){return U.a})),n.d(t,"h",(function(){return H})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(14),i=n(37),a=n(72),c=n(33),o=n.n(c),l=n(93),s=n.n(l),u=function(e){return s()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var i=t[r];i&&"object"===o()(i)&&!Array.isArray(i)&&(i=e(i)),n[r]=i})),n}(e)))};n(96);var d=n(82);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[g,f,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function D(e){O()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function M(e){O()(N(e),k);var t=e.split("-"),n=E()(t,3),r=n[0],i=n[1],a=n[2];return new Date(r,i-1,a)}function R(e,t){return D(I(e,t*C))}function B(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function I(e,t){O()(N(e)||Object(r.isDate)(e)&&!isNaN(e),k);var n=N(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var P=n(97),L=n(81);function F(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function z(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var V=n(27),W=n.n(V),G=function(e){return Array.isArray(e)?W()(e).sort():e},U=n(89);function H(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},function(e,t){e.exports=googlesitekit.components},,,function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var r="core/site",i="primary",a="secondary"},,,,function(e,t,n){"use strict";var r=n(248);n.d(t,"i",(function(){return r.a}));var i=n(318);n.d(t,"f",(function(){return i.a}));var a=n(319);n.d(t,"h",(function(){return a.a}));var c=n(320);n.d(t,"j",(function(){return c.a}));var o=n(317);n.d(t,"g",(function(){return o.a}));var l=n(91),s=n.n(l);n.d(t,"b",(function(){return s.a})),n.d(t,"c",(function(){return l.DialogContent})),n.d(t,"d",(function(){return l.DialogFooter}));var u=n(102);n.d(t,"a",(function(){return u.a})),n.d(t,"e",(function(){return u.b})),n.d(t,"k",(function(){return u.c}))},function(e,t,n){"use strict";var r=n(1),i=n(59);t.a=function(){return Object(r.useContext)(i.b)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r="core/modules",i="insufficient_module_dependencies"},,function(e,t,n){"use strict";(function(e){var r=n(20),i=n.n(r),a=n(25),c=n.n(a),o=n(11),l=n.n(o),s=n(0),u=n.n(s),d=n(145),g=n(1),f=n(2),m=n(127),p=n(128),h=n(129),v=n(75),b=n(78),E=Object(g.forwardRef)((function(t,n){var r,a=t["aria-label"],o=t.secondary,s=void 0!==o&&o,u=t.arrow,g=void 0!==u&&u,E=t.back,_=void 0!==E&&E,O=t.caps,y=void 0!==O&&O,k=t.children,j=t.className,S=void 0===j?"":j,w=t.danger,C=void 0!==w&&w,A=t.disabled,x=void 0!==A&&A,T=t.external,N=void 0!==T&&T,D=t.hideExternalIndicator,M=void 0!==D&&D,R=t.href,B=void 0===R?"":R,I=t.inverse,P=void 0!==I&&I,L=t.noFlex,F=void 0!==L&&L,z=t.onClick,V=t.small,W=void 0!==V&&V,G=t.standalone,U=void 0!==G&&G,H=t.linkButton,q=void 0!==H&&H,K=t.to,J=t.leadingIcon,Y=t.trailingIcon,$=c()(t,["aria-label","secondary","arrow","back","caps","children","className","danger","disabled","external","hideExternalIndicator","href","inverse","noFlex","onClick","small","standalone","linkButton","to","leadingIcon","trailingIcon"]),X=B||K||!z?K?"ROUTER_LINK":N?"EXTERNAL_LINK":"LINK":x?"BUTTON_DISABLED":"BUTTON",Q="BUTTON"===X||"BUTTON_DISABLED"===X?"button":"ROUTER_LINK"===X?d.b:"a",Z=("EXTERNAL_LINK"===X&&(r=Object(f._x)("(opens in a new tab)","screen reader text","google-site-kit")),"BUTTON_DISABLED"===X&&(r=Object(f._x)("(disabled)","screen reader text","google-site-kit")),r?a?"".concat(a," ").concat(r):"string"==typeof k?"".concat(k," ").concat(r):void 0:a),ee=J,te=Y;return _&&(ee=e.createElement(h.a,{width:14,height:14})),N&&!M&&(te=e.createElement(v.a,{width:14,height:14})),g&&!P&&(te=e.createElement(m.a,{width:14,height:14})),g&&P&&(te=e.createElement(p.a,{width:14,height:14})),e.createElement(Q,i()({"aria-label":Z,className:l()("googlesitekit-cta-link",S,{"googlesitekit-cta-link--secondary":s,"googlesitekit-cta-link--inverse":P,"googlesitekit-cta-link--small":W,"googlesitekit-cta-link--caps":y,"googlesitekit-cta-link--danger":C,"googlesitekit-cta-link--disabled":x,"googlesitekit-cta-link--standalone":U,"googlesitekit-cta-link--link-button":q,"googlesitekit-cta-link--no-flex":!!F}),disabled:x,href:"LINK"!==X&&"EXTERNAL_LINK"!==X||x?void 0:B,onClick:z,rel:"EXTERNAL_LINK"===X?"noopener noreferrer":void 0,ref:n,target:"EXTERNAL_LINK"===X?"_blank":void 0,to:K},$),!!ee&&e.createElement(b.a,{marginRight:5},ee),e.createElement("span",{className:"googlesitekit-cta-link__contents"},k),!!te&&e.createElement(b.a,{marginLeft:5},te))}));E.propTypes={arrow:u.a.bool,back:u.a.bool,caps:u.a.bool,children:u.a.node,className:u.a.string,danger:u.a.bool,disabled:u.a.bool,external:u.a.bool,hideExternalIndicator:u.a.bool,href:u.a.string,inverse:u.a.bool,leadingIcon:u.a.node,linkButton:u.a.bool,noFlex:u.a.bool,onClick:u.a.func,small:u.a.bool,standalone:u.a.bool,to:u.a.string,trailingIcon:u.a.node},t.a=E}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"m",(function(){return c})),n.d(t,"t",(function(){return o})),n.d(t,"h",(function(){return l})),n.d(t,"s",(function(){return s})),n.d(t,"i",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"u",(function(){return m})),n.d(t,"v",(function(){return p})),n.d(t,"q",(function(){return h})),n.d(t,"p",(function(){return v})),n.d(t,"b",(function(){return b})),n.d(t,"e",(function(){return E})),n.d(t,"a",(function(){return _})),n.d(t,"d",(function(){return O})),n.d(t,"c",(function(){return y})),n.d(t,"f",(function(){return k})),n.d(t,"g",(function(){return j}));var r="mainDashboard",i="entityDashboard",a="mainDashboardViewOnly",c="entityDashboardViewOnly",o="userInput",l="activation",s="splash",u="adminBar",d="adminBarViewOnly",g="settings",f="adBlockingRecovery",m="wpDashboard",p="wpDashboardViewOnly",h="moduleSetup",v="metricSelection",b="key-metrics",E="traffic",_="content",O="speed",y="monetization",k=[r,i,a,c,o,s,g,h,v],j=[a,c,d,p]},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));var r="core/ui",i="activeContextID"},function(e,t,n){"use strict";n.d(t,"d",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return o})),n.d(t,"e",(function(){return l}));var r=n(77),i="xlarge",a="desktop",c="tablet",o="small";function l(){var e=Object(r.a)();return e>1280?i:e>960?a:e>600?c:o}},,function(e,t,n){"use strict";n.d(t,"l",(function(){return i})),n.d(t,"k",(function(){return a})),n.d(t,"j",(function(){return c})),n.d(t,"i",(function(){return o})),n.d(t,"a",(function(){return l})),n.d(t,"p",(function(){return s})),n.d(t,"o",(function(){return u})),n.d(t,"m",(function(){return d})),n.d(t,"n",(function(){return g})),n.d(t,"c",(function(){return f})),n.d(t,"g",(function(){return m})),n.d(t,"h",(function(){return p})),n.d(t,"d",(function(){return h})),n.d(t,"e",(function(){return v})),n.d(t,"f",(function(){return b})),n.d(t,"b",(function(){return E}));var r=n(2),i="key-metrics-setup-cta-widget",a="googlesitekit-key-metrics-selection-panel-opened",c="key-metrics-selection-form",o="key-metrics-selected",l="key-metrics-effective-selection",s="key-metrics-unstaged-selection",u=2,d=4,g=8,f={SLUG:"current-selection",LABEL:Object(r.__)("Current selection","google-site-kit")},m={SLUG:"suggested",LABEL:Object(r.__)("Suggested","google-site-kit")},p={SLUG:"visitors",LABEL:Object(r.__)("Visitors","google-site-kit")},h={SLUG:"driving-traffic",LABEL:Object(r.__)("Driving traffic","google-site-kit")},v={SLUG:"generating-leads",LABEL:Object(r.__)("Generating leads","google-site-kit")},b={SLUG:"selling-products",LABEL:Object(r.__)("Selling products","google-site-kit")},E={SLUG:"content-performance",LABEL:Object(r.__)("Content performance","google-site-kit")}},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/forms"},,function(e,t,n){"use strict";n.d(t,"m",(function(){return r})),n.d(t,"j",(function(){return i})),n.d(t,"g",(function(){return a})),n.d(t,"f",(function(){return c})),n.d(t,"h",(function(){return o})),n.d(t,"e",(function(){return l})),n.d(t,"i",(function(){return s})),n.d(t,"d",(function(){return u})),n.d(t,"a",(function(){return d})),n.d(t,"c",(function(){return g})),n.d(t,"b",(function(){return f})),n.d(t,"k",(function(){return m})),n.d(t,"l",(function(){return p}));var r="modules/adsense",i=1,a="READY",c="NEEDS_ATTENTION",o="REQUIRES_REVIEW",l="GETTING_READY",s="background-submit-suspended",u="ad-blocking-recovery-setup-success",d="adsenseAdBlockingFormSettings",g="googlesitekit-ad-blocking-recovery-setup-create-message-cta-clicked",f="ad-blocking-recovery-notification",m={TAG_PLACED:"tag-placed",SETUP_CONFIRMED:"setup-confirmed"},p={PLACE_TAGS:0,CREATE_MESSAGE:1,COMPLETE:2}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/location"},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d})),n.d(t,"d",(function(){return b})),n.d(t,"f",(function(){return E})),n.d(t,"c",(function(){return _})),n.d(t,"e",(function(){return O})),n.d(t,"b",(function(){return y}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=(n(27),n(9));function l(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return c=e.done,e},e:function(e){o=!0,a=e},f:function(){try{c||null==n.return||n.return()}finally{if(o)throw a}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},c=a.ttl,l=void 0===c?o.b:c,s=a.timestamp,u=void 0===s?Math.round(Date.now()/1e3):s,d=a.isError,f=void 0!==d&&d,t.next=3,h();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(g).concat(n),JSON.stringify({timestamp:u,ttl:l,value:r,isError:f})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),_=function(){var t=c()(i.a.mark((function t(n){var r,a;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,a=n.startsWith(d)?n:"".concat(g).concat(n),r.removeItem(a),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),O=function(){var t=c()(i.a.mark((function t(){var n,r,a,c;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],a=0;a1&&void 0!==arguments[1]?arguments[1]:a;return t instanceof Set&&t.has(e)}}).call(this,n(28))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r="_googlesitekitDataLayer",i="data-googlesitekit-gtag"},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"i",(function(){return i})),n.d(t,"h",(function(){return a})),n.d(t,"f",(function(){return c})),n.d(t,"g",(function(){return o})),n.d(t,"d",(function(){return l})),n.d(t,"e",(function(){return s})),n.d(t,"k",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"b",(function(){return g})),n.d(t,"c",(function(){return f}));var r="audience-segmentation-add-group-notice",i="googlesitekit-audience-selection-panel-opened",a="audience-selection-form",c="audience-selected",o="audience-selection-changed",l="audience-segmentation-creation-notice",s="audience-segmentation-creation-success-notice",u=1,d=3,g="audience-creation-edit-scope-notice",f="audience-creation-form"},function(e,t,n){"use strict";(function(e){var r=n(7),i=n.n(r),a=n(0),c=n.n(a),o=n(11),l=n.n(o),s=n(24);function PreviewBlock(t){var n,r,a=t.className,c=t.width,o=t.height,u=t.shape,d=t.padding,g=t.smallWidth,f=t.smallHeight,m=t.tabletWidth,p=t.tabletHeight,h=t.desktopWidth,v=t.desktopHeight,b=Object(s.e)(),E={width:(n={},i()(n,s.b,g),i()(n,s.c,m),i()(n,s.a,h),i()(n,s.d,h),n),height:(r={},i()(r,s.b,f),i()(r,s.c,p),i()(r,s.a,v),i()(r,s.d,h),r)};return e.createElement("div",{className:l()("googlesitekit-preview-block",a,{"googlesitekit-preview-block--padding":d}),style:{width:E.width[b]||c,height:E.height[b]||o}},e.createElement("div",{className:l()("googlesitekit-preview-block__wrapper",{"googlesitekit-preview-block__wrapper--circle":"circular"===u})}))}PreviewBlock.propTypes={className:c.a.string,width:c.a.string,height:c.a.string,shape:c.a.string,padding:c.a.bool,smallWidth:c.a.string,smallHeight:c.a.string,tabletWidth:c.a.string,tabletHeight:c.a.string,desktopWidth:c.a.string,desktopHeight:c.a.string},PreviewBlock.defaultProps={className:void 0,width:"100px",height:"100px",shape:"square",padding:!1,smallWidth:void 0,smallHeight:void 0,tabletWidth:void 0,tabletHeight:void 0,desktopWidth:void 0,desktopHeight:void 0},t.a=PreviewBlock}).call(this,n(4))},,function(e,t){e.exports=googlesitekit.api},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return o}));var r=n(22),i="core/notifications",a={ERRORS:"notification-area-errors",BANNERS_ABOVE_NAV:"notification-area-banners-above-nav",BANNERS_BELOW_NAV:"notification-area-banners-below-nav"},c={DEFAULT:"default",SETUP_CTAS:"setup-ctas"},o=[r.s,r.n,r.l,r.o,r.m]},,function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return a}));var r={BOXES:"boxes",COMPOSITE:"composite"},i={QUARTER:"quarter",HALF:"half",FULL:"full"},a="core/widgets"},,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return c}));var r=n(3),i=n(19),a=n(80);function c(t){var n=t.moduleName,c=t.FallbackComponent,o=t.IncompleteComponent;return function(t){function WhenActiveComponent(a){var l=Object(r.useSelect)((function(e){return e(i.a).getModule(n)}),[n]);if(!l)return null;var s=c||a.WidgetNull||null;if(!1===l.active)return s&&e.createElement(s,a);if(!1===l.connected){var u=o||s;return u&&e.createElement(u,a)}return e.createElement(t,a)}return WhenActiveComponent.displayName="When".concat(Object(a.c)(n),"Active"),(t.displayName||t.name)&&(WhenActiveComponent.displayName+="(".concat(t.displayName||t.name,")")),WhenActiveComponent}}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return i})),n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return c})),n.d(t,"k",(function(){return o})),n.d(t,"b",(function(){return l})),n.d(t,"g",(function(){return s})),n.d(t,"f",(function(){return u})),n.d(t,"i",(function(){return d})),n.d(t,"h",(function(){return g})),n.d(t,"j",(function(){return f}));var r="non_https_site",i="modules/reader-revenue-manager",a="reader-revenue-manager",c={ONBOARDING_COMPLETE:"ONBOARDING_COMPLETE",ONBOARDING_ACTION_REQUIRED:"ONBOARDING_ACTION_REQUIRED",PENDING_VERIFICATION:"PENDING_VERIFICATION",UNSPECIFIED:"ONBOARDING_STATE_UNSPECIFIED"},o="READER_REVENUE_MANAGER_SHOW_PUBLICATION_APPROVED_NOTIFICATION",l="rrm_module_setup_banner_dismissed_key",s="readerRevenueManagerSetupForm",u="readerRevenueManagerNoticesForm",d="showPublicationCreate",g="resetPublications",f="syncPublication"},,,function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return c})),n.d(t,"c",(function(){return o}));var r=n(22),i=n(18),a=r.n,c=r.l;function o(){var e=Object(i.a)();return e===r.n||e===r.o?a:e===r.l||e===r.m?c:null}},,,function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(107),c=n(2),o=n(9);function ErrorText(t){var n=t.message,r=t.reconnectURL,i=t.noPrefix;if(!n)return null;var l=n;void 0!==i&&i||(l=Object(c.sprintf)( +/* translators: %s: Error message */ +Object(c.__)("Error: %s","google-site-kit"),n)),r&&Object(a.a)(r)&&(l=l+" "+Object(c.sprintf)( +/* translators: %s: Reconnect URL */ +Object(c.__)('To fix this, redo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(o.G)(l,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:i.a.string.isRequired,reconnectURL:i.a.string,noPrefix:i.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(40);function i(e){return function(){e[r.a]=e[r.a]||[],e[r.a].push(arguments)}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(1),i=Object(r.createContext)(""),a=(i.Consumer,i.Provider);t.b=i},,,,function(e,t,n){"use strict";n.d(t,"c",(function(){return p})),n.d(t,"a",(function(){return h})),n.d(t,"b",(function(){return v})),n.d(t,"d",(function(){return E}));var r=n(7),i=n.n(r),a=n(1);function c(){return(c=Object.assign||function(e){for(var t=1;t0}function b(e){return"string"==typeof e&&/^G-[a-zA-Z0-9]+$/.test(e)}function E(e){return"string"==typeof e&&/^(G|GT|AW)-[a-zA-Z0-9]+$/.test(e)}function _(e){i()(Object(a.isPlainObject)(e),"options for Analytics 4 report must be an object."),i()(Object(l.a)(e),"Either date range or start/end dates must be provided for Analytics 4 report.");var t=Object(s.a)(e),n=t.metrics,r=t.dimensions,c=t.dimensionFilters,o=t.metricFilters,d=t.orderby;i()(n.length,"Requests must specify at least one metric for an Analytics 4 report."),i()(Object(u.d)(n),'metrics for an Analytics 4 report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property. Metric names must match the expression ^[a-zA-Z0-9_]+$.'),r&&i()(Object(u.b)(r),'dimensions for an Analytics 4 report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property.'),c&&i()(Object(u.a)(c),"dimensionFilters for an Analytics 4 report must be a map of dimension names as keys and dimension values as values."),o&&i()(Object(u.c)(o),"metricFilters for an Analytics 4 report must be a map of metric names as keys and filter value(s) as numeric fields, depending on the filterType."),d&&i()(Object(u.e)(d),'orderby for an Analytics 4 report must be an array of OrderBy objects where each object should have either a "metric" or "dimension" property, and an optional "desc" property.')}function O(e){i()(Object(a.isPlainObject)(e),"options for Analytics 4 pivot report must be an object."),i()(Object(l.a)(e),"Start/end dates must be provided for Analytics 4 pivot report.");var t=Object(s.a)(e),n=t.metrics,r=t.dimensions,c=t.dimensionFilters,o=t.metricFilters,g=t.pivots,f=t.orderby,m=t.limit;i()(n.length,"Requests must specify at least one metric for an Analytics 4 pivot report."),i()(Object(u.d)(n),'metrics for an Analytics 4 pivot report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property. Metric names must match the expression ^[a-zA-Z0-9_]+$.'),i()(Object(d.a)(g),'pivots for an Analytics 4 pivot report must be an array of objects. Each object must have a "fieldNames" property and a "limit".'),f&&i()(Array.isArray(f),"orderby for an Analytics 4 pivot report must be passed within a pivot."),m&&i()("number"==typeof m,"limit for an Analytics 4 pivot report must be passed within a pivot."),r&&i()(Object(u.b)(r),'dimensions for an Analytics 4 pivot report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property.'),c&&i()(Object(u.a)(c),"dimensionFilters for an Analytics 4 pivot report must be a map of dimension names as keys and dimension values as values."),o&&i()(Object(u.c)(o),"metricFilters for an Analytics 4 pivot report must be a map of metric names as keys and filter value(s) as numeric fields, depending on the filterType.")}function y(e){var t=["displayName","description","membershipDurationDays","eventTrigger","exclusionDurationMode","filterClauses"];i()(Object(a.isPlainObject)(e),"Audience must be an object."),Object.keys(e).forEach((function(e){i()(t.includes(e),'Audience object must contain only valid keys. Invalid key: "'.concat(e,'"'))})),["displayName","description","membershipDurationDays","filterClauses"].forEach((function(t){i()(e[t],'Audience object must contain required keys. Missing key: "'.concat(t,'"'))})),i()(Object(a.isArray)(e.filterClauses),"filterClauses must be an array with AudienceFilterClause objects.")}},,function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(e,t)}};function o(e){var t,n="object"===i()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},function(e,t,n){"use strict";var r=n(15),i=n.n(r),a=n(259),c=n(0),o=n.n(c),l=n(1),s=n(144);function Portal(e){var t=e.children,n=e.slug,r=Object(l.useState)(document.createElement("div")),c=i()(r,1)[0];return Object(a.a)((function(){n&&c.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(c),function(){return e.removeChild(c)}})),Object(s.createPortal)(t,c)}Portal.propTypes={slug:o.a.string,children:o.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:o,t=e.fps,n=e.leading,r=e.initialWidth,u=void 0===r?0:r,d=e.initialHeight,g=void 0===d?0:d,f=Object(a.a)("undefined"==typeof document?[u,g]:s,t,n),m=i()(f,2),p=m[0],h=m[1],v=function(){return h(s)};return Object(c.a)(l,"resize",v),Object(c.a)(l,"orientationchange",v),p},d=function(e){return u(e)[0]}}).call(this,n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(0),i=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,i=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:i}},n)}IconWrapper.propTypes={children:i.a.node.isRequired,marginLeft:i.a.number,marginRight:i.a.number}}).call(this,n(4))},,function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return a}));var r=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},i=function(e){return e.replace(/([a-z0-9]{1})([A-Z]{1})/g,"$1_$2").toUpperCase()};function a(e){return e.split("-").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return o}));var r=n(107);function i(e){try{return new URL(e).pathname}catch(e){}return null}function a(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function c(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function o(e,t){if(!Object(r.a)(e))return e;if(e.length<=t)return e;var n=new URL(e),i=e.replace(n.origin,"");if(i.length1&&void 0!==arguments[1]?arguments[1]:{},n=_(e,t),r=n.formatUnit,i=n.formatDecimal;try{return r()}catch(e){return i()}},b=function(e){var t=E(e),n=t.hours,r=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(i):"".concat(n,":").concat(r,":").concat(i)},E=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=E(e),r=n.hours,i=n.minutes,a=n.seconds;return{hours:r,minutes:i,seconds:a,formatUnit:function(){var n=t.unitDisplay,c=h(h({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(a,h(h({},c),{},{unit:"second"})):Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?w(a,h(h({},c),{},{unit:"second"})):"",i?w(i,h(h({},c),{},{unit:"minute"})):"",r?w(r,h(h({},c),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. +Object(m.__)("%ds","google-site-kit"),a);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. +Object(m.__)("%dm","google-site-kit"),i),c=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. +Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?t:"",i?n:"",r?c:"").trim()}}},O=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},y=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. +Object(m.__)("%sM","google-site-kit"),w(O(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),w(O(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),w(O(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function k(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=h({},e)),t}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,c()(e)),e=0);var n=k(t),r=n.style,i=void 0===r?"metric":r;return"metric"===i?y(e):"duration"===i?v(e,n):"durationISO"===i?b(e):w(e,n)}var S=f()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?A():n,a=u()(t,["locale"]);try{return new Intl.NumberFormat(r,a).format(e)}catch(t){S("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(a)," ).format( ").concat(c()(e)," )"),t.message)}for(var o={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},l=["signDisplay","compactDisplay"],s={},d=0,g=Object.entries(a);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?A():n,i=t.style,a=void 0===i?"long":i,c=t.type,o=void 0===c?"conjunction":c;if(Intl.ListFormat){var l=new Intl.ListFormat(r,{style:a,type:o});return l.format(e)} +/* translators: used between list items, there is a space after the comma. */var s=Object(m.__)(", ","google-site-kit");return e.join(s)},A=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i}));var r=n(147),i=n.n(r)()(e)}).call(this,n(28))},function(e,t,n){"use strict";n.r(t),n.d(t,"AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY",(function(){return r})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY",(function(){return i})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_AUDIENCE_SEGMENTATION",(function(){return a})),n.d(t,"AREA_MAIN_DASHBOARD_CONTENT_PRIMARY",(function(){return c})),n.d(t,"AREA_MAIN_DASHBOARD_SPEED_PRIMARY",(function(){return o})),n.d(t,"AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY",(function(){return l})),n.d(t,"AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY",(function(){return s})),n.d(t,"AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY",(function(){return u})),n.d(t,"AREA_ENTITY_DASHBOARD_SPEED_PRIMARY",(function(){return d})),n.d(t,"AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY",(function(){return g}));var r="mainDashboardKeyMetricsPrimary",i="mainDashboardTrafficPrimary",a="mainDashboardTrafficAudienceSegmentation",c="mainDashboardContentPrimary",o="mainDashboardSpeedPrimary",l="mainDashboardMonetizationPrimary",s="entityDashboardTrafficPrimary",u="entityDashboardContentPrimary",d="entityDashboardSpeedPrimary",g="entityDashboardMonetizationPrimary";t.default={AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY:r,AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY:i,AREA_MAIN_DASHBOARD_CONTENT_PRIMARY:c,AREA_MAIN_DASHBOARD_SPEED_PRIMARY:o,AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY:l,AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY:s,AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY:u,AREA_ENTITY_DASHBOARD_SPEED_PRIMARY:d,AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY:g}},,function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(11),c=n.n(a);function ChangeArrow(t){var n=t.direction,r=t.invertColor,i=t.width,a=t.height;return e.createElement("svg",{className:c()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:i,height:a,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return o}));var r=n(24),i=n(121);function a(t,n){var r=document.querySelector(t);if(!r)return 0;var i=r.getBoundingClientRect().top,a=c(n);return i+e.scrollY-a}function c(e){var t=o(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function o(t){var n=0,a=document.querySelector(".googlesitekit-header");return n=!!a&&"sticky"===e.getComputedStyle(a).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(i.a)(n))<0?0:n}}).call(this,n(28))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(12),i=n.n(r),a=function(e,t){var n=t.dateRangeLength;i()(Array.isArray(e),"report must be an array to partition."),i()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(1),i=n(18),a=n(9);function c(e,t){var n=Object(i.a)(),c=null!=t?t:"".concat(n,"_").concat(e);return{view:Object(r.useCallback)((function(){for(var e=arguments.length,t=new Array(e),n=0;n=600;Object(E.a)(u()(l.a.mark((function e(){var t,n;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(z>0)){e.next=3;break}return e.next=3,Xe();case 3:if(!H){e.next=9;break}return e.next=6,Object(S.d)(Me);case 6:t=e.sent,n=t.cacheHit,De(n);case 9:if(!ae){e.next=12;break}return e.next=12,Re();case 12:case"end":return e.stop()}}),e)}))));var He=function(){var e=u()(l.a.mark((function e(t){return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(O.a)(f)&&"_blank"!==m,Ke=function(){return qe||Ae(!0),new Promise((function(e){setTimeout(u()(l.a.mark((function t(){var n;return l.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Re();case 2:Pe()&&De(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Je=Object(y.useSelect)((function(e){return!!f&&e(B.a).isNavigatingTo(f)})),Ye=Object(y.useDispatch)(B.a).navigateTo,$e=function(){var e=u()(l.a.mark((function e(t){var n,r,i;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,i=r.dismissOnCTAClick,n=void 0===i||i;case 12:if(!H||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Ye(f);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Xe=function(){var e=u()(l.a.mark((function e(){var t,n,r;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.d)(Me);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(z,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var a=n.invertColor,c=void 0!==a&&a;return Object(r.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:c}))},c=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),i=n.n(r),a=n(14),c=n(99),o=n(100);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=s(s({},u),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var l=Object(c.a)(i,n),d=Object(o.a)(i,n,l,r),g={},f=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),S),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:f,disabled:x},Object(s.__)("Cancel","google-site-kit")),B?e.createElement(u.Button,{href:B,onClick:O,target:"_blank",danger:C},j):e.createElement(u.SpinnerButton,{onClick:O,danger:C,disabled:x,isSaving:x},j||Object(s.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:i.a.string,dialogActive:i.a.bool,handleDialog:i.a.func,handleConfirm:i.a.func.isRequired,onOpen:i.a.func,onClose:i.a.func,title:i.a.string,confirmButton:i.a.string,danger:i.a.bool,small:i.a.bool,medium:i.a.bool,buttonLink:i.a.string},t.a=ModalDialog}).call(this,n(4))},,function(e,t,n){"use strict";var r=n(325),i=n(313);n.d(t,"b",(function(){return i.a}));var a=n(314);n.d(t,"c",(function(){return a.a}));var c=n(315);n.d(t,"d",(function(){return c.a}));var o=n(316);n.d(t,"a",(function(){return o.a})),t.e=r.a},function(e,t,n){"use strict";var r=n(1),i=n(38),a=Object(r.createContext)(i.a);t.a=a},,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(386),i=function(e,t,n){Object(r.a)((function(n){return e.includes(n.keyCode)&&t.current.contains(n.target)}),n)}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return h}));var r=n(7),i=n.n(r),a=n(20),c=n.n(a),o=n(15),l=n.n(o),s=n(25),u=n.n(s),d=n(216),g=n(0),f=n.n(g),m=n(1);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(t){function WithIntersectionObserverComponent(n){var r=n.onInView,i=u()(n,["onInView"]),a=Object(m.useRef)(),o=Object(d.a)(a,{root:null,threshold:.45}),s=Object(m.useState)(!1),g=l()(s,2),f=g[0],p=g[1],h=!!(null==o?void 0:o.isIntersecting)&&!!(null==o?void 0:o.intersectionRatio);return Object(m.useEffect)((function(){o&&h&&!f&&(r(),p(!0))}),[f,h,o,r]),e.createElement(t,c()({ref:a},i))}return WithIntersectionObserverComponent.displayName="WithIntersectionObserverComponent",(t.displayName||t.name)&&(WithIntersectionObserverComponent.displayName+="(".concat(t.displayName||t.name,")")),WithIntersectionObserverComponent.propTypes=function(e){for(var t=1;t1?Object(f.a)(u):[],b=function(e){return l()("googlesitekit-tooltip-indicator",{active:e===o})};return e.createElement("div",i()({className:l()("googlesitekit-tour-tooltip",p.className)},h),e.createElement(c.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(a.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},v.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:b(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==o&&e.createElement(g.Button,i()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,s.title&&e.createElement(g.Button,i()({className:"googlesitekit-tooltip-button",text:!0},s),s.title))),e.createElement(g.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(14),i=function(e){return Object(r.isFinite)(e)?e:0}},,function(e,t,n){"use strict";n.d(t,"c",(function(){return s})),n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r,i=n(7),a=n.n(i),c=n(47),o=n(175),l=n(162),s=(r={},a()(r,c.c.QUARTER,3),a()(r,c.c.HALF,6),a()(r,c.c.FULL,12),r),u="googlesitekit-hidden",d=[o.a,l.a]},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(20),i=n.n(r),a=n(7),c=n.n(a),o=n(25),l=n.n(o),s=n(0),u=n.n(s),d=n(11),g=n.n(d);function Cell(t){var n,r=t.className,a=t.alignTop,o=t.alignMiddle,s=t.alignBottom,u=t.alignRight,d=t.alignLeft,f=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,h=t.smSize,v=t.smStart,b=t.smOrder,E=t.mdSize,_=t.mdStart,O=t.mdOrder,y=t.lgSize,k=t.lgStart,j=t.lgOrder,S=t.size,w=t.children,C=l()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",i()({},C,{className:g()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":a,"mdc-layout-grid__cell--align-middle":o,"mdc-layout-grid__cell--align-bottom":s,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":f,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},c()(n,"mdc-layout-grid__cell--span-".concat(S),12>=S&&S>0),c()(n,"mdc-layout-grid__cell--span-".concat(y,"-desktop"),12>=y&&y>0),c()(n,"mdc-layout-grid__cell--start-".concat(k,"-desktop"),12>=k&&k>0),c()(n,"mdc-layout-grid__cell--order-".concat(j,"-desktop"),12>=j&&j>0),c()(n,"mdc-layout-grid__cell--span-".concat(E,"-tablet"),8>=E&&E>0),c()(n,"mdc-layout-grid__cell--start-".concat(_,"-tablet"),8>=_&&_>0),c()(n,"mdc-layout-grid__cell--order-".concat(O,"-tablet"),8>=O&&O>0),c()(n,"mdc-layout-grid__cell--span-".concat(h,"-phone"),4>=h&&h>0),c()(n,"mdc-layout-grid__cell--start-".concat(v,"-phone"),4>=v&&v>0),c()(n,"mdc-layout-grid__cell--order-".concat(b,"-phone"),4>=b&&b>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(20),i=n.n(r),a=n(25),c=n.n(a),o=n(0),l=n.n(o),s=n(11),u=n.n(s),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.className,a=t.children,o=c()(t,["className","children"]);return e.createElement("div",i()({ref:n,className:u()("mdc-layout-grid__inner",r)},o),a)}));g.displayName="Row",g.propTypes={className:l.a.string,children:l.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(20),i=n.n(r),a=n(25),c=n.n(a),o=n(0),l=n.n(o),s=n(11),u=n.n(s),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,a=t.fill,o=t.className,l=t.children,s=t.collapsed,d=c()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:u()("mdc-layout-grid",o,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":s,"mdc-layout-grid--fill":a})},d,{ref:n}),l)}));g.displayName="Grid",g.propTypes={alignLeft:l.a.bool,fill:l.a.bool,className:l.a.string,collapsed:l.a.bool,children:l.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==o[0]?o[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(i=e.sent,a=i.cacheHit,c=i.value,!a){e.next=13;break}return e.next=10,{payload:{snapshot:c},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e)})),createSnapshot:l.a.mark((function e(){var t;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},a=(t={},c()(t,"DELETE_SNAPSHOT",(function(){return Object(f.c)("datastore::cache::".concat(e))})),c()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(f.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),c()(t,"RESTORE_SNAPSHOT",(function(){return Object(f.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:a,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,a=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var c=a.snapshot,o=(c.error,i()(c,["error"]));return o;default:return e}}}},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(h(e).map((function(e){return e.getActions().createSnapshot()})))},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(h(e).map((function(e){return e.getActions().restoreSnapshot()})))}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return InfoTooltip}));var r=n(11),i=n.n(r),a=n(0),c=n.n(a),o=n(10),l=n(324);function InfoTooltip(t){var n=t.onOpen,r=t.title,a=t.tooltipClassName;return r?e.createElement(o.Tooltip,{className:"googlesitekit-info-tooltip",tooltipClassName:i()("googlesitekit-info-tooltip__content",a),title:r,placement:"top",enterTouchDelay:0,leaveTouchDelay:5e3,interactive:!0,onOpen:n},e.createElement("span",null,e.createElement(l.a,{width:"16",height:"16"}))):null}InfoTooltip.propTypes={onOpen:c.a.func,title:c.a.oneOfType([c.a.string,c.a.element]),tooltipClassName:c.a.string}}).call(this,n(4))},,function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(11),c=n.n(a),o=n(39),l=n(2),s=n(21),u=n(36);function SourceLink(t){var n=t.name,r=t.href,i=t.className,a=t.external;return Object(u.a)()?null:e.createElement("div",{className:c()("googlesitekit-source-link",i)},Object(o.a)(Object(l.sprintf)( +/* translators: %s: source link */ +Object(l.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(s.a,{key:"link",href:r,external:a})}))}SourceLink.propTypes={name:i.a.string,href:i.a.string,className:i.a.string,external:i.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportErrorActions}));var r=n(7),i=n.n(r),a=n(0),c=n.n(a),o=n(1),l=n(39),s=n(2),u=n(3),d=n(10),g=n(13),f=n(19),m=n(35),p=n(36),h=n(21);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(h.a,{href:T,external:!0,hideExternalIndicator:!0},Object(s.__)("Get help","google-site-kit"))}))),!x&&!a&&e.createElement("div",{className:_},"function"==typeof i?e.createElement(i,{linkURL:T}):e.createElement(h.a,{href:T,external:!0,hideExternalIndicator:!0},Object(s.__)("Get help","google-site-kit"))))}ReportErrorActions.propTypes={moduleSlug:c.a.string.isRequired,error:c.a.oneOfType([c.a.arrayOf(c.a.object),c.a.object]).isRequired,GetHelpLink:c.a.elementType,hideGetHelpLink:c.a.bool,buttonVariant:c.a.string,onRetry:c.a.func,onRequestAccess:c.a.func,getHelpClassName:c.a.string,RequestAccessButton:c.a.elementType,RetryButton:c.a.elementType}}).call(this,n(4))},,function(e,t,n){"use strict";var r=n(1),i=Object(r.createContext)(!1);t.a=i},,function(e,t,n){"use strict";var r=n(166);n.d(t,"c",(function(){return r.a}));var i=n(63);n.d(t,"b",(function(){return i.c})),n.d(t,"a",(function(){return i.a}))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:function(){return!0};return"string"==typeof e?n(e):!("object"!==i()(e)||!t(e))||!!Array.isArray(e)&&e.every((function(e){return"string"==typeof e?n(e):"object"===i()(e)&&t(e)}))}function c(e){var t=e.startDate,n=e.endDate,r=t&&t.match(/^\d{4}-\d{2}-\d{2}$/),i=n&&n.match(/^\d{4}-\d{2}-\d{2}$/);return r&&i}function o(e){var t=function(e){var t=e.hasOwnProperty("fieldName")&&!!e.fieldName,n=e.hasOwnProperty("sortOrder")&&/(ASCENDING|DESCENDING)/i.test(e.sortOrder.toString());return t&&n};return Array.isArray(e)?e.every((function(e){return"object"===i()(e)&&t(e)})):"object"===i()(e)&&t(e)}function l(e){return"string"==typeof e||!!Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return i})),n.d(t,"b",(function(){return a}));var r="editing-user-role-select-slug-key",i="dashboardSharingDialogOpen",a="resetSharingDialogOpen"},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(3),i=n(23);function a(e){return Object(r.useSelect)((function(t){return t(i.b).getValue(e)||{isTooltipVisible:!1,rehideAdminMenu:!1,rehideAdminSubMenu:!1}}))}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e){return new Array(null!=e?e:0).fill().map((function(e,t){return t}))}},function(e,t,n){"use strict";var r=n(136),i=(r.a.Consumer,r.a.Provider);t.a=i},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(3),i=n(23),a=function(e){return"notification/".concat(e,"/viewed")};function c(e){return Object(r.useSelect)((function(t){return!!t(i.b).getValue(a(e))}),[e])}c.getKey=a},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return RecoverableModules}));var r=n(0),i=n.n(r),a=n(2),c=n(3),o=n(19),l=n(92);function RecoverableModules(t){var n=t.moduleSlugs,r=Object(c.useSelect)((function(e){var t=e(o.a).getModules();if(void 0!==t)return n.map((function(e){return t[e].name}))}));if(void 0===r)return null;var i=1===r.length?Object(a.sprintf)( +/* translators: %s: Module name */ +Object(a.__)("%s data was previously shared by an admin who no longer has access. Please contact another admin to restore it.","google-site-kit"),r[0]):Object(a.sprintf)( +/* translators: %s: List of module names */ +Object(a.__)("The data for the following modules was previously shared by an admin who no longer has access: %s. Please contact another admin to restore it.","google-site-kit"),r.join(Object(a._x)(", ","Recoverable modules","google-site-kit")));return e.createElement(l.a,{title:Object(a.__)("Data Unavailable","google-site-kit"),description:i})}RecoverableModules.propTypes={moduleSlugs:i.a.arrayOf(i.a.string).isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(0),l=n.n(o),s=n(1),u=n(21),d=n(9),g=n(18);function HelpMenuLink(t){var n=t.children,r=t.href,a=t.gaEventLabel,o=Object(g.a)(),l=Object(s.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a){e.next=3;break}return e.next=3,Object(d.J)("".concat(o,"_headerbar_helpmenu"),"click_outgoing_link",a);case 3:case"end":return e.stop()}}),e)}))),[a,o]);return e.createElement("li",{className:"googlesitekit-help-menu-link mdc-list-item",role:"none"},e.createElement(u.a,{className:"mdc-list-item__text",href:r,external:!0,hideExternalIndicator:!0,role:"menuitem",onClick:l},n))}HelpMenuLink.propTypes={children:l.a.node.isRequired,href:l.a.string.isRequired,gaEventLabel:l.a.string},t.a=HelpMenuLink}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"a",(function(){return c}));var r=n(2),i="audience-segmentation-info-notice-ui",a="audience-segmentation-info-notice",c=[{slug:"new-visitors",content:Object(r.__)("The higher the portion of new visitors you have, the more your audience is growing. Looking at what content brings them to your site may give you insights on how to reach even more people.","google-site-kit")},{slug:"compare-metrics",content:Object(r.__)("Select up to three visitor groups to display on the dashboard and easily compare metrics between them.","google-site-kit")},{slug:"custom-audiences",content:Object(r.__)("Configure your own custom audiences in Analytics to gain deeper insights into visitor behavior, for example consider creating an “Existing customers” or “Subscribers” segment, depending on what goals you have for your site.","google-site-kit")},{slug:"purchasers",content:Object(r.__)("Select the Purchasers visitor group to gain insights into which visitors bring the most revenue to your site.","google-site-kit")},{slug:"returning-visitors",content:Object(r.__)("The more returning visitors your site has, the stronger and more loyal an audience you’re building. Check which content brings people back to your site - it might help you create a strategy to build a community.","google-site-kit")},{slug:"compare-new-returning",content:Object(r.__)("Compare the ratio of “new” to “returning” visitors – this can give you insights on whether you have more people stopping by as a one-off, or more loyal visitors.","google-site-kit")},{slug:"compare-cities",content:Object(r.__)("Check the cities which bring you more new vs more returning visitors – there might be new audiences you could engage with in locations you hadn’t thought about.","google-site-kit")}]},,function(e,t,n){"use strict";(function(e){var r=n(11),i=n.n(r),a=n(0),c=n.n(a),o=n(2),l=n(3),s=n(198),u=n(211),d=n(63),g=n(6),f=n(10),m=n(1),p=Object(m.forwardRef)((function(t,n){var r=t.className,a=t.children,c=t.type,m=t.dismiss,p=void 0===m?"":m,h=t.dismissCallback,v=t.dismissLabel,b=void 0===v?Object(o.__)("OK, Got it!","google-site-kit"):v,E=t.Icon,_=void 0===E?Object(d.d)(c):E,O=t.OuterCTA,y=Object(l.useDispatch)(g.a).dismissItem,k=Object(l.useSelect)((function(e){return p?e(g.a).isItemDismissed(p):void 0}));if(p&&k)return null;var j=a?u.a:s.a;return e.createElement("div",{ref:n,className:i()(r,"googlesitekit-settings-notice","googlesitekit-settings-notice--".concat(c),{"googlesitekit-settings-notice--single-row":!a,"googlesitekit-settings-notice--multi-row":a})},e.createElement("div",{className:"googlesitekit-settings-notice__icon"},e.createElement(_,{width:"20",height:"20"})),e.createElement("div",{className:"googlesitekit-settings-notice__body"},e.createElement(j,t)),p&&e.createElement("div",{className:"googlesitekit-settings-notice__button"},e.createElement(f.Button,{tertiary:!0,onClick:function(){"string"==typeof p&&y(p),null==h||h()}},b)),O&&e.createElement("div",{className:"googlesitekit-settings-notice__button"},e.createElement(O,null)))}));p.propTypes={className:c.a.string,children:c.a.node,notice:c.a.node.isRequired,type:c.a.oneOf([d.a,d.c,d.b]),Icon:c.a.elementType,LearnMore:c.a.elementType,CTA:c.a.elementType,OuterCTA:c.a.elementType,dismiss:c.a.string,dismissLabel:c.a.string,dismissCallback:c.a.func},p.defaultProps={type:d.a},t.a=p}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Notifications}));var r=n(7),i=n.n(r),a=n(0),c=n.n(a),o=n(3),l=n(18),s=n(45),u=n(277);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Notifications(t){var n,r=t.areaSlug,a=t.groupID,c=void 0===a?s.c.DEFAULT:a,g=Object(l.a)(),f=Object(o.useSelect)((function(e){return e(s.a).getQueuedNotifications(g,c)}));if(void 0===(null==f?void 0:f[0])||(null==f||null===(n=f[0])||void 0===n?void 0:n.areaSlug)!==r)return null;var m=f[0],p=m.id,h=m.Component,v=function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},i=n.slug,a=void 0===i?"":i,c=n.name,o=void 0===c?"":c,l=n.owner,s=void 0===l?{}:l;if(!a||!o)return e;var u="",d="";return"analytics-4"===a?e.match(/account/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===a&&(u=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),u||(u=Object(r.sprintf)( +/* translators: %s: module name */ +Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),o)),s&&s.login&&(d=Object(r.sprintf)( +/* translators: %s: owner name */ +Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),s.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(u," ").concat(d)}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportError}));var r=n(7),i=n.n(r),a=n(0),c=n.n(a),o=n(14),l=n(1),s=n(2),u=n(3),d=n(19),g=n(35),f=n(169),m=n(83),p=n(57),h=n(92),v=n(134),b=n(36);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;t1&&(n=Object(s.sprintf)( +/* translators: %s: module name */ +Object(s.__)("Data errors in %s","google-site-kit"),null==c?void 0:c.name)):n=Object(s.sprintf)( +/* translators: %s: module name */ +Object(s.__)("Data error in %s","google-site-kit"),null==c?void 0:c.name);var j=e.createElement(l.Fragment,null,y.map((function(t){var n,r=null==i||null===(n=i.data)||void 0===n?void 0:n.reconnectURL;return r?e.createElement(p.a,{key:t.message,message:t.message,reconnectURL:r}):e.createElement("p",{key:t.message},m.a.sanitize(t.message,{ALLOWED_TAGS:[]}))})));return e.createElement(h.a,{title:n,description:j,error:!0},e.createElement(v.a,{moduleSlug:r,error:i}))}ReportError.propTypes={moduleSlug:c.a.string.isRequired,error:c.a.oneOfType([c.a.arrayOf(c.a.object),c.a.object]).isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GenericErrorHandlerActions}));var r=n(0),i=n.n(r),a=n(2),c=n(21),o=n(191);function GenericErrorHandlerActions(t){var n=t.message,r=t.componentStack;return e.createElement("div",{className:"googlesitekit-generic-error-handler-actions"},e.createElement(o.a,{message:n,componentStack:r}),e.createElement(c.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0},Object(a.__)("Report this problem","google-site-kit")))}GenericErrorHandlerActions.propTypes={message:i.a.string,componentStack:i.a.string}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(22),i=function(e){return r.f.includes(e)}},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(11),c=n.n(a),o=n(1),l=n(141),s=n(66),u=n(17),d=Object(o.forwardRef)((function(t,n){var r=t.className,i=t.title,a=t.description,o=t.dismissCTA,d=t.additionalCTA,g=t.type,f=void 0===g?"success":g,m=t.icon;return e.createElement(u.e,{ref:n},e.createElement(u.k,null,e.createElement(u.a,{alignMiddle:!0,size:12,className:c()("googlesitekit-subtle-notification",r,{"googlesitekit-subtle-notification--success":"success"===f,"googlesitekit-subtle-notification--warning":"warning"===f})},e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},m,"success"===f&&!m&&e.createElement(l.a,{width:24,height:24}),"warning"===f&&!m&&e.createElement(s.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,i),e.createElement("p",{className:"googlesitekit-subtle-notification__secondary_description"},a)),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},o,d))))}));d.propTypes={className:i.a.string,title:i.a.node.isRequired,description:i.a.node,dismissCTA:i.a.node,additionalCTA:i.a.node,type:i.a.string,icon:i.a.object},t.a=d}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LoadingWrapper}));var r=n(7),i=n.n(r),a=n(25),c=n.n(a),o=n(0),l=n.n(o),s=n(42);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function LoadingWrapper(t){var n=t.loading,r=t.children,i=c()(t,["loading","children"]);return n?e.createElement(s.a,i):r}LoadingWrapper.propTypes=function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:e,a=Object(o.useState)(Object(l.a)(r.location.href,t)||n),u=c()(a,2),d=u[0],g=u[1],f=function(e){g(e);var n=Object(s.a)(r.location.href,i()({},t,e));r.history.replaceState(null,"",n)};return[d,f]}}).call(this,n(28))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;tHelp us improve Site Kit by sharing anonymous usage data. All collected data is treated in accordance with the Google Privacy Policy.","google-site-kit"),{a:e.createElement(b.a,{key:"link",href:"https://policies.google.com/privacy",external:!0}),span:e.createElement("span",null)})),(null==j?void 0:j.message)&&e.createElement("div",{className:"googlesitekit-error-text"},null==j?void 0:j.message))}OptIn.propTypes={id:l.a.string,name:l.a.string,className:l.a.string,trackEventCategory:l.a.string,alignLeftCheckbox:l.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Item}));var r=n(0),i=n.n(r);function Item(t){var n=t.icon,r=t.label;return e.createElement("div",{className:"googlesitekit-user-menu__item"},e.createElement("div",{className:"googlesitekit-user-menu__item-icon"},n),e.createElement("span",{className:"googlesitekit-user-menu__item-label"},r))}Item.propTypes={icon:i.a.node,label:i.a.string}}).call(this,n(4))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(1),l=n(3),s=n(13),u=n(23);function d(e){var t=Object(l.useDispatch)(u.b).setValue,n=Object(l.useSelect)((function(e){return e(s.c).hasMinimumWordPressVersion("6.2")})),r=Object(l.useSelect)((function(e){return e(s.c).hasMinimumWordPressVersion("6.4")}));return Object(o.useCallback)(c()(i.a.mark((function a(){var c,o,l,s;return i.a.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(c=document.querySelector("#adminmenu").offsetHeight>0){i.next=7;break}if(!(o=document.getElementById("wp-admin-bar-menu-toggle"))){i.next=7;break}return o.firstChild.click(),i.next=7,new Promise((function(e){setTimeout(e,0)}));case 7:"#adminmenu [href*='page=googlesitekit-dashboard']",(l=!!document.querySelector("".concat("#adminmenu [href*='page=googlesitekit-dashboard']","[aria-haspopup=true]")))&&document.querySelector("#adminmenu [href*='page=googlesitekit-dashboard']").click(),n&&!r&&(s=document.hasFocus,document.hasFocus=function(){return document.hasFocus=s,!1}),t(e,{isTooltipVisible:!0,rehideAdminMenu:!c,rehideAdminSubMenu:l});case 12:case"end":return i.stop()}}),a)}))),[n,r,t,e])}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdminMenuTooltip}));var r=n(7),i=n.n(r),a=n(20),c=n.n(a),o=n(5),l=n.n(o),s=n(16),u=n.n(s),d=n(25),g=n.n(d),f=n(1),m=n(0),p=n.n(m),h=n(3),v=n(205),b=n(23),E=n(156);function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t0&&(null===(t=document.getElementById("wp-admin-bar-menu-toggle"))||void 0===t||t.click()),d&&document.querySelector("body").click(),e.next=4,null==n?void 0:n();case 4:a(r,void 0);case 5:case"end":return e.stop()}}),e)}))),[n,s,d,a,r]);return e.createElement(v.a,c()({slug:"ga4-activation-banner-admin-menu-tooltip",onDismiss:m},i))}AdminMenuTooltip.propTypes=O(O({},v.a.propTypes),{},{target:p.a.string,tooltipStateKey:p.a.string.isRequired}),AdminMenuTooltip.defaultProps={target:'#adminmenu [href*="page=googlesitekit-settings"]'}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Root}));var r=n(15),i=n.n(r),a=n(0),c=n.n(a),o=n(425),l=n(529),s=n(1),u=n(3),d=n.n(u),g=n(220),f=n(221),m=n(38),p=n(222),h=n(224),v=n(225),b=n(59),E=n(159),_=n(172);function Root(t){var n=t.children,r=t.registry,a=t.viewContext,c=void 0===a?null:a,d=o.a,O=Object(s.useState)({key:"Root",value:!0}),y=i()(O,1)[0];return e.createElement(s.StrictMode,null,e.createElement(E.a,{value:y},e.createElement(u.RegistryProvider,{value:r},e.createElement(f.a,{value:m.a},e.createElement(b.a,{value:c},e.createElement(l.a,{theme:d()},e.createElement(g.a,null,e.createElement(h.a,null,n,c&&e.createElement(v.a,null)),Object(_.a)(c)&&e.createElement(p.a,null))))))))}Root.propTypes={children:c.a.node,registry:c.a.object,viewContext:c.a.string.isRequired},Root.defaultProps={registry:d.a}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(52),a=n.n(i),c=n(53),o=n.n(c),l=n(68),s=n.n(l),u=n(69),d=n.n(u),g=n(49),f=n.n(g),m=n(0),p=n.n(m),h=n(1),v=n(2),b=n(171),E=n(59),_=n(95),O=n(9);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f()(e);if(t){var i=f()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return d()(this,n)}}var k=function(t){s()(ErrorHandler,t);var n=y(ErrorHandler);function ErrorHandler(e){var t;return a()(this,ErrorHandler),(t=n.call(this,e)).state={error:null,info:null,copied:!1},t}return o()(ErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Caught an error:",t,n),this.setState({error:t,info:n}),Object(O.J)("react_error","handle_".concat(this.context||"unknown","_error"),"".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,i=t.info;return n?r.createElement(_.b,{id:"googlesitekit-error",className:"googlesitekit-error-handler",title:Object(v.__)("Site Kit encountered an error","google-site-kit"),description:r.createElement(b.a,{message:n.message,componentStack:i.componentStack}),isDismissible:!1,format:"small",type:"win-error"},r.createElement("pre",{className:"googlesitekit-overflow-auto"},n.message,i.componentStack)):e}}]),ErrorHandler}(h.Component);k.contextType=E.b,k.propTypes={children:p.a.node.isRequired},t.a=k}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(115),i=(r.a.Consumer,r.a.Provider);t.a=i},function(e,t,n){"use strict";(function(e){var r=n(3),i=n(223),a=n(6);t.a=function PermissionsModal(){return Object(r.useSelect)((function(e){return e(a.a).isAuthenticated()}))?e.createElement(i.a,null):null}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(5),a=n.n(i),c=n(16),o=n.n(c),l=n(2),s=n(1),u=n(3),d=n(112),g=n(29),f=n(32),m=n(6),p=n(130),h=n(73);t.a=function AuthenticatedPermissionsModal(){var t,n,i,c,v=Object(u.useRegistry)(),b=Object(u.useSelect)((function(e){return e(m.a).getPermissionScopeError()})),E=Object(u.useSelect)((function(e){return e(m.a).getUnsatisfiedScopes()})),_=Object(u.useSelect)((function(t){var n,r,i;return t(m.a).getConnectURL({additionalScopes:null==b||null===(n=b.data)||void 0===n?void 0:n.scopes,redirectURL:(null==b||null===(r=b.data)||void 0===r?void 0:r.redirectURL)||e.location.href,errorRedirectURL:null==b||null===(i=b.data)||void 0===i?void 0:i.errorRedirectURL})})),O=Object(u.useDispatch)(m.a).clearPermissionScopeError,y=Object(u.useDispatch)(f.a).navigateTo,k=Object(u.useDispatch)(g.a).setValues,j=Object(s.useCallback)((function(){O()}),[O]),S=Object(s.useCallback)(o()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(m.d,{permissionsError:b}),e.next=3,Object(p.c)(v);case 3:y(_);case 4:case"end":return e.stop()}}),e)}))),[v,_,y,b,k]);return Object(s.useEffect)((function(){(function(){var e=o()(a.a.mark((function e(){var t,n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(null==b||null===(t=b.data)||void 0===t?void 0:t.skipModal)||!(null==b||null===(n=b.data)||void 0===n||null===(r=n.scopes)||void 0===r?void 0:r.length)){e.next=3;break}return e.next=3,S();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}),[S,b]),b?(null==b||null===(t=b.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.length)?(null==b||null===(i=b.data)||void 0===i?void 0:i.skipModal)||E&&(null==b||null===(c=b.data)||void 0===c?void 0:c.scopes.every((function(e){return E.includes(e)})))?null:r.createElement(h.a,null,r.createElement(d.a,{title:Object(l.__)("Additional Permissions Required","google-site-kit"),subtitle:b.message,confirmButton:Object(l.__)("Proceed","google-site-kit"),dialogActive:!0,handleConfirm:S,handleDialog:j,medium:!0})):(e.console.warn("permissionsError lacks scopes array to use for redirect, so not showing the PermissionsModal. permissionsError was:",b),null):null}}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(15),l=n.n(o),s=n(1),u=n(3),d=n(130);t.a=function RestoreSnapshots(e){var t=e.children,n=Object(u.useRegistry)(),r=Object(s.useState)(!1),a=l()(r,2),o=a[0],g=a[1];return Object(s.useEffect)((function(){o||c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(n);case 2:g(!0);case 3:case"end":return e.stop()}}),e)})))()}),[n,o]),o?t:null}},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return FeatureTours}));var i=n(85),a=n(1),c=n(3),o=n(6),l=n(18),s=n(94);function FeatureTours(){var t=Object(l.a)(),n=Object(c.useDispatch)(o.a).triggerTourForView;Object(i.a)((function(){n(t)}));var u=Object(c.useSelect)((function(e){return e(o.a).getCurrentTour()}));return Object(a.useEffect)((function(){if(u){var t=document.getElementById("js-googlesitekit-main-dashboard");if(t){var n=new ResizeObserver((function(){e.dispatchEvent(new Event("resize"))}));return n.observe(t),function(){n.disconnect()}}}}),[u]),u?r.createElement(s.a,{tourID:u.slug,steps:u.steps,gaEventCategory:u.gaEventCategory,callback:u.callback}):null}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WarningNotice}));var r=n(11),i=n.n(r),a=n(0),c=n.n(a);function WarningNotice(t){var n=t.children,r=t.className;return e.createElement("div",{className:i()("googlesitekit-warning-notice",r)},n)}WarningNotice.propTypes={children:c.a.node.isRequired,className:c.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(15),i=n.n(r),a=n(0),c=n.n(a),o=n(11),l=n.n(o),s=n(583),u=n(2),d=n(1),g=n(3),f=n(249),m=n(271),p=n(275),h=n(6),v=n(17),b=n(280),E=n(287),_=n(289),O=n(36),y=n(54),k=n(21),j=n(295),S=n(13),w=n(296);function Header(t){var n,r=t.children,a=t.subHeader,c=t.showNavigation,o=!!Object(y.c)(),C=Object(O.a)();Object(w.a)();var A=Object(g.useSelect)((function(e){return e(S.c).getAdminURL("googlesitekit-dashboard")})),x=Object(g.useSelect)((function(e){return e(h.a).isAuthenticated()})),T=Object(s.a)({childList:!0}),N=i()(T,2),D=N[0],M=!!(null===(n=N[1].target)||void 0===n?void 0:n.childElementCount);return e.createElement(d.Fragment,null,e.createElement("header",{className:l()("googlesitekit-header",{"googlesitekit-header--has-subheader":M,"googlesitekit-header--has-navigation":c})},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{smSize:1,mdSize:2,lgSize:4,className:"googlesitekit-header__logo",alignMiddle:!0},e.createElement(k.a,{"aria-label":Object(u.__)("Go to dashboard","google-site-kit"),className:"googlesitekit-header__logo-link",href:A},e.createElement(f.a,null))),e.createElement(v.a,{smSize:3,mdSize:6,lgSize:8,className:"googlesitekit-header__children",alignMiddle:!0},r,!x&&o&&C&&e.createElement(_.a,null),x&&!C&&e.createElement(m.a,null))))),e.createElement("div",{className:"googlesitekit-subheader",ref:D},e.createElement(p.a,null),a),c&&e.createElement(b.a,null),o&&e.createElement(j.a,null),e.createElement(E.a,null))}Header.displayName="Header",Header.propTypes={children:c.a.node,subHeader:c.a.element,showNavigation:c.a.bool},Header.defaultProps={children:null,subHeader:null},t.a=Header}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return HelpMenu}));var r=n(15),i=n.n(r),a=n(0),c=n.n(a),o=n(210),l=n(1),s=n(56),u=n(2),d=n(3),g=n(10),f=n(297),m=n(117),p=n(9),h=n(163),v=n(19),b=n(18),E=n(13);function HelpMenu(t){var n=t.children,r=Object(l.useState)(!1),a=i()(r,2),c=a[0],_=a[1],O=Object(l.useRef)(),y=Object(b.a)();Object(o.a)(O,(function(){return _(!1)})),Object(m.a)([s.c,s.f],O,(function(){return _(!1)}));var k=Object(d.useSelect)((function(e){return e(v.a).isModuleActive("adsense")})),j=Object(l.useCallback)((function(){c||Object(p.J)("".concat(y,"_headerbar"),"open_helpmenu"),_(!c)}),[c,y]),S=Object(l.useCallback)((function(){_(!1)}),[]),w=Object(d.useSelect)((function(e){return e(E.c).getDocumentationLinkURL("fix-common-issues")}));return e.createElement("div",{ref:O,className:"googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},e.createElement(g.Button,{"aria-controls":"googlesitekit-help-menu","aria-expanded":c,"aria-label":Object(u.__)("Help","google-site-kit"),"aria-haspopup":"menu",className:"googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon googlesitekit-help-menu__button mdc-button--dropdown",icon:e.createElement(f.a,{width:"20",height:"20"}),onClick:j,text:!0,tooltipEnterDelayInMS:500}),e.createElement(g.Menu,{className:"googlesitekit-width-auto",menuOpen:c,id:"googlesitekit-help-menu",onSelected:S},n,e.createElement(h.a,{gaEventLabel:"fix_common_issues",href:w},Object(u.__)("Fix common issues","google-site-kit")),e.createElement(h.a,{gaEventLabel:"documentation",href:"https://sitekit.withgoogle.com/documentation/"},Object(u.__)("Read help docs","google-site-kit")),e.createElement(h.a,{gaEventLabel:"support_forum",href:"https://wordpress.org/support/plugin/google-site-kit/"},Object(u.__)("Get support","google-site-kit")),k&&e.createElement(h.a,{gaEventLabel:"adsense_help",href:"https://support.google.com/adsense/"},Object(u.__)("Get help with AdSense","google-site-kit"))))}HelpMenu.propTypes={children:c.a.node}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t=0;)3===e[n]?(t-=3,e[n]=4):6===e[n]&&(t-=6,e[n]=8),n--;return[e,t]}function d(e,t){return(Array.isArray(t.width)?t.width:[t.width]).map((function(t){return{counter:e+o.c[t],width:t}}))}function g(e,t){var n=[],r=[];if(!(null==e?void 0:e.length))return{columnWidths:n,rowIndexes:r};var a=0,c=0,l=function(e,t){return e.counter-t.counter},g=function(e,t){var n=e.counter;return t.counter-n},f=function(e){return e.counter<=12};if(e.forEach((function(m,p){if(s(t[m.slug]))return n.push(0),void r.push(c);var h=d(a,m),v=function(e,t,n){for(;++e12){if(a-=o.c[b],r[p]++,9===a){var E=u(n,a),_=i()(E,2);n=_[0],a=_[1]}a=o.c[b],c++}else 12===a&&(a=0,c++);n.push(o.c[b])})),9===a){var m=u(n,a),p=i()(m,2);n=p[0],a=p[1]}return{columnWidths:n,rowIndexes:r}}var f=n(14);function m(e,t,n){var r=n.columnWidths,i=n.rowIndexes,a=[],l=c()(r);if(!(null==e?void 0:e.length))return{gridColumnWidths:l,overrideComponents:a};var s=null,u=-1,d=[];if(function(e,t){for(var n={},r=0;r1)}(e,t)){var g=Array.from({length:e.length-1}).fill(0);return{overrideComponents:[t[e[0].slug]],gridColumnWidths:[12].concat(c()(g))}}return e.forEach((function(n,c){var o,g,m,p,h;if(a.push(null),s=t[n.slug],u=i[c],s)if(g=s,m=t[null===(o=e[c+1])||void 0===o?void 0:o.slug],p=u,h=i[c+1],p===h&&Object(f.isEqual)(g,m))d.push(r[c]),l[c]=0;else if(d.length>0){d.push(r[c]);var v=d.reduce((function(e,t){return e+t}),0);a[c]=s,l[c]=v,d=[]}})),{gridColumnWidths:l,overrideComponents:a}}var p=n(236);function h(e){return(Array.isArray(e)?e:[e]).filter((function(e){return"string"==typeof e&&e.length>0}))}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceErrorModal}));var r=n(0),i=n.n(r),a=n(39),c=n(2),o=n(3),l=n(21),s=n(112),u=n(73),d=n(13),g=n(8),f=n(35),m=n(9);function AudienceErrorModal(t){var n=t.apiErrors,r=t.hasOAuthError,i=t.inProgress,p=t.title,h=t.description,v=t.trackEventCategory,b=t.onCancel,E=void 0===b?function(){}:b,_=t.onRetry,O=void 0===_?function(){}:_,y=Array.isArray(n)?n:[n],k=Object(o.useSelect)((function(e){return e(d.c).getErrorTroubleshootingLinkURL({code:"analytics-4_insufficient_permissions"})})),j=Object(o.useSelect)((function(e){return e(g.r).getServiceEntityAccessURL()})),S=Object(o.useSelect)((function(e){return e(d.c).getErrorTroubleshootingLinkURL({code:"access_denied"})}));if(!y.length&&!r)return null;var w,C,A,x,T=y.some((function(e){return Object(f.e)(e)}));return r?(w=Object(c.__)("Analytics update failed","google-site-kit"),C=Object(a.a)(Object(c.__)("Setup was interrupted because you did not grant the necessary permissions. ","google-site-kit"),{HelpLink:e.createElement(l.a,{href:S,external:!0,hideExternalIndicator:!0},Object(c.__)("Get help","google-site-kit"))}),A=Object(c.__)("Retry","google-site-kit")):T?(w=Object(c.__)("Insufficient permissions","google-site-kit"),C=Object(a.a)(Object(c.__)("You’ll need to contact your administrator. Trouble getting access? ","google-site-kit"),{HelpLink:e.createElement(l.a,{href:k,external:!0,hideExternalIndicator:!0},Object(c.__)("Get help","google-site-kit"))}),A=Object(c.__)("Request access","google-site-kit"),x=j):(w=p||Object(c.__)("Failed to set up visitor groups","google-site-kit"),C=h||Object(c.__)("Oops! Something went wrong. Retry enabling groups.","google-site-kit"),A=Object(c.__)("Retry","google-site-kit")),e.createElement(u.a,null,e.createElement(s.a,{dialogActive:!0,buttonLink:x,title:w,subtitle:C,handleConfirm:function(){var e;e=r?"auth_error_retry":T?"insufficient_permissions_error_request_access":"setup_error_retry",Object(m.J)(v,e).finally((function(){T||O()}))},confirmButton:A,handleDialog:function(){var e;e=r?"auth_error_cancel":T?"insufficient_permissions_error_cancel":"setup_error_cancel",Object(m.J)(v,e).finally(E)},onOpen:function(){var e;e=r?"auth_error":T?"insufficient_permissions_error":"setup_error",Object(m.J)(v,e)},onClose:E,danger:!0,inProgress:i}))}AudienceErrorModal.propTypes={apiErrors:i.a.oneOfType([i.a.arrayOf(i.a.object),i.a.object,i.a.array]),hasOAuthError:i.a.bool,inProgress:i.a.bool,title:i.a.string,description:i.a.string,trackEventCategory:i.a.string,onCancel:i.a.func,onRetry:i.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(11),i=n.n(r),a=n(0),c=n.n(a),o=n(1),l=n(10),s=n(486),u=Object(o.forwardRef)((function(t,n){var r=t.className,a=t.content,c=t.dismissLabel,o=t.Icon,u=void 0===o?s.a:o,d=t.onDismiss;return e.createElement("div",{ref:n,className:i()("googlesitekit-audience-segmentation-info-notice",r)},e.createElement(u,{width:"20",height:"20"}),e.createElement("div",{className:"googlesitekit-audience-segmentation-info-notice__body"},e.createElement("p",null,a),c&&e.createElement(l.Button,{tertiary:!0,onClick:d,className:"googlesitekit-audience-segmentation-info-notice__dismiss"},c)))}));u.propTypes={className:c.a.string,content:c.a.string.isRequired,dismissLabel:c.a.string,Icon:c.a.elementType,onDismiss:c.a.func},t.a=u}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return g}));var r=n(7),i=n.n(r),a=n(25),c=n.n(a),o=n(60),l=n.n(o),s=n(14);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.metrics,n=e.dimensions,r=c()(e,["metrics","dimensions"]);return d({metrics:f(t),dimensions:m(n)},r)})),f=function(e){return Object(s.castArray)(e).map((function(e){return"string"==typeof e?{name:e}:e})).filter((function(e){return Object(s.isPlainObject)(e)}))},m=function(e){return Object(s.castArray)(e).map((function(e){return"string"==typeof e?{name:e}:e})).filter((function(e){return Object(s.isPlainObject)(e)}))}},function(e,t,n){"use strict";(function(e){var r=n(15),i=n.n(r),a=n(1);t.a=function(t,n){var r=Object(a.useState)(null),c=i()(r,2),o=c[0],l=c[1];return Object(a.useEffect)((function(){if(t.current&&"function"==typeof e.IntersectionObserver){var r=new e.IntersectionObserver((function(e){l(e[e.length-1])}),n);return r.observe(t.current),function(){l(null),r.disconnect()}}return function(){}}),[t.current,n.threshold,n.root,n.rootMargin]),o}}).call(this,n(28))},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return BadgeWithTooltip}));var r=n(0),i=n.n(r),a=n(11),c=n.n(a),o=n(131);function BadgeWithTooltip(t){var n=t.className,r=void 0===n?"":n,i=t.label,a=t.onTooltipOpen,l=t.tooltipTitle;return e.createElement("span",{className:c()("googlesitekit-badge-with-tooltip","googlesitekit-badge",r)},i,l&&e.createElement(o.a,{onOpen:a,title:l}))}BadgeWithTooltip.propTypes={onTooltipOpen:i.a.func,tooltipTitle:i.a.node,className:i.a.string,label:i.a.node.isRequired}}).call(this,n(4))},,,,function(e,t,n){"use strict";(function(e){var r=n(2),i=n(139),a=n(250),c=n(103);t.a=function Logo(){return e.createElement("div",{className:"googlesitekit-logo","aria-hidden":"true"},e.createElement(i.a,{className:"googlesitekit-logo__logo-g",height:"34",width:"32"}),e.createElement(a.a,{className:"googlesitekit-logo__logo-sitekit",height:"26",width:"99"}),e.createElement(c.a,null,Object(r.__)("Site Kit by Google Logo","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return c=e.done,e},e:function(e){o=!0,a=e},f:function(){try{c||null==n.return||n.return()}finally{if(o)throw a}}}}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nSign in to connect more services and control sharing access.","google-site-kit"),{strong:e.createElement("strong",null)}):Object(l.a)(Object(s.__)("You can see stats from all shared Google services, but you can't make any changes. Learn more","google-site-kit"),{a:e.createElement(h.a,{href:a,external:!0,onClick:O,"aria-label":Object(s.__)("Learn more about dashboard sharing","google-site-kit")})});return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item googlesitekit-view-only-menu__description"},e.createElement("p",null,y),n&&e.createElement(d.Button,{onClick:_},Object(s._x)("Sign in with Google","Service name","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SharedServices}));var r=n(2),i=n(3),a=n(6),c=n(293);function SharedServices(){var t=Object(i.useSelect)((function(e){return e(a.a).getViewableModules()}));return void 0===t?null:e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("h4",null,Object(r.__)("Shared services","google-site-kit")),e.createElement("ul",null,t.map((function(t){return e.createElement(c.a,{key:t,module:t})}))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Service}));var r=n(0),i=n.n(r),a=n(39),c=n(2),o=n(3),l=n(19),s=n(6);function Service(t){var n=t.module,r=Object(o.useSelect)((function(e){return e(s.a).hasCapability(s.H)})),i=Object(o.useSelect)((function(e){return e(l.a).getModule(n)||{}})),u=i.name,d=i.owner,g=Object(o.useSelect)((function(e){return e(l.a).getModuleIcon(n)}));return e.createElement("li",{className:"googlesitekit-view-only-menu__service"},e.createElement("span",{className:"googlesitekit-view-only-menu__service--icon"},e.createElement(g,{height:26})),e.createElement("span",{className:"googlesitekit-view-only-menu__service--name"},u),r&&(null==d?void 0:d.login)&&e.createElement("span",{className:"googlesitekit-view-only-menu__service--owner"},Object(a.a)(Object(c.sprintf)( +/* translators: %s: module owner Google Account email address */ +Object(c.__)("Shared by %s","google-site-kit"),d.login),{strong:e.createElement("strong",{title:d.login})})))}Service.propTypes={module:i.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Tracking}));var r=n(39),i=n(2),a=n(214),c=n(18);function Tracking(){var t=Object(c.a)();return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("p",null,Object(r.a)(Object(i.__)("Thanks for using Site Kit!
Help us make it even better","google-site-kit"),{br:e.createElement("br",null)})),e.createElement(a.a,{trackEventCategory:"".concat(t,"_headerbar_viewonly"),alignCheckboxLeft:!0}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SubtleNotifications}));var r=n(167),i=n(45);function SubtleNotifications(){return e.createElement(r.a,{areaSlug:i.b.BANNERS_BELOW_NAV})}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(1),l=n(3),s=n(13),u=n(18),d=n(34),g=n(9),f=function(){var e=Object(u.a)(),t=Object(l.useSelect)((function(e){return e(s.c).isUsingProxy()})),n=Object(l.useSelect)((function(e){return e(s.c).getSetupErrorMessage()}));Object(o.useEffect)((function(){n||void 0===t||function(){var n=c()(i.a.mark((function n(){var r,a;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Object(d.d)("start_user_setup");case 2:return r=n.sent,n.next=5,Object(d.d)("start_site_setup");case 5:if(a=n.sent,!r.cacheHit){n.next=10;break}return n.next=9,Object(d.c)("start_user_setup");case 9:Object(g.J)("".concat(e,"_setup"),"complete_user_setup",t?"proxy":"custom-oauth");case 10:if(!a.cacheHit){n.next=14;break}return n.next=13,Object(d.c)("start_site_setup");case 13:Object(g.J)("".concat(e,"_setup"),"complete_site_setup",t?"proxy":"custom-oauth");case 14:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()}),[e,t,n])}},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0,S="key-metric-selection-checkbox-".concat(n);return e.createElement(h.c,{id:S,slug:n,title:r,description:a,isNewlyDetected:o,isItemSelected:k,isItemDisabled:j,onCheckboxChange:y},b.length>0&&e.createElement("div",{className:"googlesitekit-selection-panel-item-error"},Object(u.sprintf)( +/* translators: %s: module names. */ +Object(u._n)("%s is disconnected, no data to show","%s are disconnected, no data to show",b.length,"google-site-kit"),b.join(Object(u.__)(" and ","google-site-kit")))))}MetricItem.propTypes={slug:l.a.string.isRequired,title:l.a.string.isRequired,description:l.a.string.isRequired,isNewlyDetected:l.a.bool,savedItemSlugs:l.a.array}}).call(this,n(4))},,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelHeader}));var r=n(0),i=n.n(r),a=n(21),c=n(110);function SelectionPanelHeader(t){var n=t.children,r=t.title,i=t.onCloseClick;return e.createElement("header",{className:"googlesitekit-selection-panel-header"},e.createElement("div",{className:"googlesitekit-selection-panel-header__row"},e.createElement("h3",null,r),e.createElement(a.a,{className:"googlesitekit-selection-panel-header__close",onClick:i,linkButton:!0},e.createElement(c.a,{width:"15",height:"15"}))),n)}SelectionPanelHeader.propTypes={children:i.a.node,title:i.a.string,onCloseClick:i.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelItem}));var r=n(0),i=n.n(r),a=n(2),c=n(327),o=n(76);function SelectionPanelItem(t){var n=t.children,r=t.id,i=t.slug,l=t.title,s=t.description,u=t.isItemSelected,d=t.isItemDisabled,g=t.onCheckboxChange,f=t.subtitle,m=t.suffix,p=t.badge,h=t.isNewlyDetected;return e.createElement("div",{className:"googlesitekit-selection-panel-item"},e.createElement(c.a,{badge:p,checked:u,disabled:d,id:r,onChange:g,title:l,value:i},f&&e.createElement("span",{className:"googlesitekit-selection-panel-item__subtitle"},f),s,n),h&&e.createElement(o.a,{label:Object(a.__)("New","google-site-kit")}),m&&e.createElement("span",{className:"googlesitekit-selection-panel-item__suffix"},m))}SelectionPanelItem.propTypes={children:i.a.node,id:i.a.string,slug:i.a.string,title:i.a.string,description:i.a.string,isItemSelected:i.a.bool,isItemDisabled:i.a.bool,onCheckboxChange:i.a.func,subtitle:i.a.string,suffix:i.a.node,badge:i.a.node,isNewlyDetected:i.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelItems}));var r=n(20),i=n.n(r),a=n(0),c=n.n(a),o=n(1),l=n(2);function SelectionPanelItems(t){var n=t.currentSelectionTitle,r=void 0===n?Object(l.__)("Current selection","google-site-kit"):n,a=t.availableItemsTitle,c=void 0===a?Object(l.__)("Additional items","google-site-kit"):a,s=t.savedItemSlugs,u=void 0===s?[]:s,d=t.availableSavedItems,g=void 0===d?{}:d,f=t.availableUnsavedItems,m=void 0===f?{}:f,p=t.ItemComponent,h=t.notice,v=function(t){return Object.keys(t).map((function(n){return e.createElement(p,i()({key:n,slug:n,savedItemSlugs:u},t[n]))}))},b=Object.keys(m).length;return e.createElement("div",{className:"googlesitekit-selection-panel-items"},0!==u.length&&e.createElement(o.Fragment,null,e.createElement("p",{className:"googlesitekit-selection-panel-items__subheading"},r),e.createElement("div",{className:"googlesitekit-selection-panel-items__subsection"},v(g)),b>0&&e.createElement("p",{className:"googlesitekit-selection-panel-items__subheading"},c)),b>0&&e.createElement("div",{className:"googlesitekit-selection-panel-items__subsection"},v(m)),h)}SelectionPanelItems.propTypes={currentSelectionTitle:c.a.string,availableItemsTitle:c.a.string,savedItemSlugs:c.a.array,availableSavedItems:c.a.object,availableUnsavedItems:c.a.object,ItemComponent:c.a.elementType,notice:c.a.node}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelFooter}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(15),l=n.n(o),s=n(14),u=n(0),d=n.n(u),g=n(1),f=n(39),m=n(2),p=n(3),h=n(10),v=n(111),b=n(9),E=n(8),_=n(42),O=n(57);function SelectionPanelFooter(t){var n=t.savedItemSlugs,r=void 0===n?[]:n,a=t.selectedItemSlugs,o=void 0===a?[]:a,u=t.saveSettings,d=void 0===u?function(){}:u,y=t.saveError,k=t.itemLimitError,j=t.minSelectedItemCount,S=void 0===j?0:j,w=t.maxSelectedItemCount,C=void 0===w?0:w,A=t.isBusy,x=t.onSaveSuccess,T=void 0===x?function(){}:x,N=t.onCancel,D=void 0===N?function(){}:N,M=t.isOpen,R=t.closePanel,B=void 0===R?function(){}:R,I=Object(g.useState)(null),P=l()(I,2),L=P[0],F=P[1],z=Object(g.useState)(!1),V=l()(z,2),W=V[0],G=V[1],U=Object(p.useSelect)((function(e){return e(E.r).isFetchingSyncAvailableAudiences()})),H=Object(g.useMemo)((function(){return!Object(s.isEqual)(Object(b.F)(o),Object(b.F)(r))}),[r,o]),q=(null==r?void 0:r.length)>0&&H?Object(m.__)("Apply changes","google-site-kit"):Object(m.__)("Save selection","google-site-kit"),K=Object(g.useCallback)(c()(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(o);case 2:t=e.sent,t.error||(T(),B(),F(q),G(!0));case 5:case"end":return e.stop()}}),e)}))),[d,o,T,B,q]),J=Object(g.useCallback)((function(){B(),D()}),[B,D]),Y=Object(g.useState)(null),$=l()(Y,2),X=$[0],Q=$[1];Object(g.useEffect)((function(){null!==X&&X!==M&&M&&(F(null),G(!1)),Q(M)}),[M,X]);var Z=(null==o?void 0:o.length)||0,ee=U?e.createElement(_.a,{width:"89px",height:"20px"}):e.createElement("p",{className:"googlesitekit-selection-panel-footer__item-count"},Object(f.a)(Object(m.sprintf)( +/* translators: 1: Number of selected items. 2: Maximum number of items that can be selected. */ +Object(m.__)("%1$d selected (up to %2$d)","google-site-kit"),Z,C),{MaxCount:e.createElement("span",{className:"googlesitekit-selection-panel-footer__item-count--max-count"})}));return e.createElement("footer",{className:"googlesitekit-selection-panel-footer"},y&&e.createElement(v.a,{error:y}),e.createElement("div",{className:"googlesitekit-selection-panel-footer__content"},H&&k?e.createElement(O.a,{noPrefix:!0,message:k}):ee,e.createElement("div",{className:"googlesitekit-selection-panel-footer__actions"},e.createElement(h.Button,{tertiary:!0,onClick:J,disabled:A},Object(m.__)("Cancel","google-site-kit")),e.createElement(h.SpinnerButton,{onClick:K,isSaving:A,disabled:ZC||A||!M&&W},L||q))))}SelectionPanelFooter.propTypes={savedItemSlugs:d.a.array,selectedItemSlugs:d.a.array,saveSettings:d.a.func,saveError:d.a.object,itemLimitError:d.a.string,minSelectedItemCount:d.a.number,maxSelectedItemCount:d.a.number,isBusy:d.a.bool,onSaveSuccess:d.a.func,onCancel:d.a.func,isOpen:d.a.bool,closePanel:d.a.func}}).call(this,n(4))},,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetReportZero}));var r=n(7),i=n.n(r),a=n(20),c=n.n(a),o=n(25),l=n.n(o),s=n(0),u=n.n(s),d=n(1),g=n(140),f=n(175);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function WidgetReportZero(t){var n=t.widgetSlug,r=t.moduleSlug,i=l()(t,["widgetSlug","moduleSlug"]),a=Object(d.useMemo)((function(){return{moduleSlug:r}}),[r]);return Object(g.a)(n,f.a,a),e.createElement(f.a,c()({moduleSlug:r},i))}WidgetReportZero.propTypes=function(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(o.a,{href:n,external:!0,hideExternalIndicator:!0},Object(c.__)("Get help","google-site-kit"))})}GetHelpLink.propTypes={linkURL:i.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTileNoData}));var r=n(2);function AudienceTileNoData(){return e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__no-data"},Object(r.__)("No data to show yet","google-site-kit"))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PartialDataNotice}));var r=n(0),i=n.n(r);function PartialDataNotice(t){var n=t.content;return e.createElement("span",{className:"googlesitekit-audience-segmentation-partial-data-notice"},n)}PartialDataNotice.propTypes={content:i.a.node}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:0;Object(r.useEffect)((function(){var r,i=!1,a=function(){r=e.setTimeout((function(){i=!0}),n)},c=function(){e.clearTimeout(r),i&&(i=!1,t())};return e.addEventListener("focus",c),e.addEventListener("blur",a),function(){e.removeEventListener("focus",c),e.removeEventListener("blur",a),e.clearTimeout(r)}}),[n,t])}}).call(this,n(28))},,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ChipTabGroup}));var r,i=n(20),a=n.n(i),c=n(27),o=n.n(c),l=n(15),s=n.n(l),u=n(7),d=n.n(u),g=n(1),f=n(414),m=n(2),p=n(3),h=n(10),v=n(26),b=n(29),E=n(357),_=n(309),O=n(358),y=n(24),k=n(229),j=n(206),S=n(74),w=n(8),C=n(23),A=n(6),x=n(19),T=(r={},d()(r,v.c.SLUG,k.a),d()(r,v.g.SLUG,j.a),r);function ChipTabGroup(t){var n=t.allMetricItems,r=t.savedItemSlugs,i=Object(g.useState)(v.c.SLUG),c=s()(i,2),l=c[0],u=c[1],k=Object(g.useState)(0),j=s()(k,2),N=j[0],D=j[1],M=Object(y.e)()===y.b,R=Object(p.useSelect)((function(e){return e(b.a).getValue(v.j,v.i)})),B=Object(p.useSelect)((function(e){return e(b.a).getValue(v.j,v.a)||[]})),I=Object(p.useSelect)((function(e){return e(b.a).getValue(v.j,v.p)||[]})),P=Object(p.useSelect)((function(e){return e(A.a).isUserInputCompleted()})),L=Object(p.useSelect)((function(e){var t,n=e(A.a).getUserPickedMetrics();if(null==n?void 0:n.length){var r=e(w.r).getKeyMetricsConversionEventWidgets();return Object.keys(r).filter((function(e){return n.some((function(t){return r[e].includes(t)}))}))}var i=e(A.a).getUserInputSettings();return null==i||null===(t=i.includeConversionEvents)||void 0===t?void 0:t.values})),F=Object(p.useSelect)((function(e){return e(x.a).isModuleConnected("analytics-4")})),z=Object(p.useSelect)((function(e){return F?e(w.r).getDetectedEvents():[]})),V=Object(p.useSelect)((function(e){return e(A.a).getAnswerBasedMetrics(null,[].concat(o()(L||[]),o()(z||[])))})),W=[w.l.SUBMIT_LEAD_FORM,w.l.CONTACT,w.l.GENERATE_LEAD].filter((function(e){return(null==z?void 0:z.includes(e))||(null==L?void 0:L.includes(e))})),G=[w.l.ADD_TO_CART,w.l.PURCHASE].filter((function(e){return(null==z?void 0:z.includes(e))||(null==L?void 0:L.includes(e))})),U=Object(g.useMemo)((function(){return[v.h,v.d].concat(o()((null==W?void 0:W.length)?[v.e]:[]),o()((null==G?void 0:G.length)?[v.f]:[]),[v.b])}),[W,G]),H=Object(g.useMemo)((function(){return P?[v.c,v.g]:[v.c]}),[P]),q=Object(g.useMemo)((function(){return[].concat(o()(H),o()(U))}),[H,U]),K=Object(p.useSelect)((function(e){if(!F)return[];var t=e(w.r).getNewBadgeEvents();if((null==z?void 0:z.length)&&(null==t?void 0:t.length)){var n=z.filter((function(e){return w.e.includes(e)})),r=t.filter((function(e){return w.e.includes(e)})),i=t.filter((function(e){return!w.e.includes(e)}));if((null==n?void 0:n.length)>1&&r.length>0)return i}return t})),J=Object(p.useSelect)((function(e){return F?e(w.r).getKeyMetricsConversionEventWidgets():[]})),Y=d()({},v.c.SLUG,0),$={},X={},Q=function(e){var t,r=n[e].group;if((r===l||l===v.c.SLUG&&B.includes(e))&&($[e]=n[e]),l===v.g.SLUG&&V.includes(e)&&V.includes(e)&&($[e]=n[e]),!Y[r]){var i=Object.keys(n).filter((function(e){return!(n[e].group!==r||!(null==R?void 0:R.includes(e)))})).length;Y[r]=i}(null==K?void 0:K.length)&&(K.some((function(t){return J[t].includes(e)}))&&(X[r]=[].concat(o()(null!==(t=X[r])&&void 0!==t?t:[]),[e])))};for(var Z in n)Q(Z);var ee=Object(p.useDispatch)(b.a).setValues,te=Object(g.useCallback)((function(){var e;ee(v.j,(e={},d()(e,v.i,R),d()(e,v.a,[].concat(o()(B),o()(I))),d()(e,v.p,[]),e))}),[R,B,I,ee]),ne=Object(g.useCallback)((function(e,t){if(e)u(e);else{var n=q[t];D(t),u(n.SLUG)}I.length&&te()}),[q,I,u,te]),re=Object(p.useSelect)((function(e){return e(C.b).getValue(v.k)})),ie=Object(f.a)(re),ae=Object.keys(X);Object(g.useEffect)((function(){if(!ie&&re)if(u(v.c.SLUG),D(0),ae.length&&M){var e=q.find((function(e){return e.SLUG===ae[0]}));D(q.indexOf(e)),u(e.SLUG)}else D(0),u(v.c.SLUG);ie&&!re&&te()}),[re,ie,I,q,M,ae,te]);var ce=[[].concat(o()(H),o()(U.slice(0,2))),o()(U.slice(2))];return e.createElement("div",{className:"googlesitekit-chip-tab-group"},e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-items"},!M&&ce.map((function(t){return e.createElement("div",{key:"row-".concat(t[0].SLUG),className:"googlesitekit-chip-tab-group__tab-items-row"},t.map((function(t){return e.createElement(E.a,{key:t.SLUG,slug:t.SLUG,label:t.LABEL,hasNewBadge:!!(null==X?void 0:X[t.SLUG]),isActive:t.SLUG===l,onClick:ne,selectedCount:Y[t.SLUG]})})))})),M&&e.createElement(h.TabBar,{activeIndex:N,handleActiveIndexUpdate:function(e){return ne(null,e)}},q.map((function(t,n){var r=T[t.SLUG]||S.a;return e.createElement(h.Tab,{key:n,"aria-label":t.LABEL},e.createElement(r,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__tab-item-mobile-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(t.SLUG)}),t.LABEL,Y[t.SLUG]>0&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",Y[t.SLUG],")"),!!(null==X?void 0:X[t.SLUG])&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))})))),e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-item"},Object.keys($).map((function(t){var n,i=$[t].group,c=null==X||null===(n=X[i])||void 0===n?void 0:n.includes(t);return e.createElement(_.a,a()({key:t,slug:t,savedItemSlugs:r,isNewlyDetected:c},$[t]))})),!Object.keys($).length&&e.createElement("div",{className:"googlesitekit-chip-tab-group__graphic"},e.createElement(O.a,{height:250}),e.createElement("p",null,Object(m.__)("No metrics were selected yet","google-site-kit")))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Chip}));var r,i=n(7),a=n.n(i),c=n(0),o=n.n(c),l=n(11),s=n.n(l),u=n(10),d=n(26),g=n(229),f=n(206),m=n(74),p=(r={},a()(r,d.c.SLUG,g.a),a()(r,d.g.SLUG,f.a),r);function Chip(t){var n=t.slug,r=t.label,i=t.isActive,a=t.onClick,c=t.hasNewBadge,o=void 0!==c&&c,l=t.selectedCount,d=void 0===l?0:l,g=p[n]||m.a;return e.createElement(u.Button,{className:s()("googlesitekit-chip-tab-group__chip-item",{"googlesitekit-chip-tab-group__chip-item--active":i}),icon:e.createElement(g,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(n)}),trailingIcon:d>0?e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",d,")"):null,onClick:function(){return a(n)}},r,o&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))}Chip.propTypes={slug:o.a.string.isRequired,label:o.a.string.isRequired,isActive:o.a.bool,hasNewBadge:o.a.bool,selectedCount:o.a.number,onClick:o.a.func.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:3,n=e.filter((function(e){return"(not set)"!==e.dimensionValues[0].value}));return n.slice(0,t)}n.d(t,"a",(function(){return r}))},,function(e,t,n){"use strict";var r=n(240);n.d(t,"b",(function(){return r.a}));n(201),n(365),n(373);var i=n(434);n.d(t,"d",(function(){return i.a}));var a=n(435);n.d(t,"c",(function(){return a.a}));var c=n(436);n.d(t,"a",(function(){return c.a}));var o=n(437);n.d(t,"e",(function(){return o.a}));var l=n(438);n.d(t,"f",(function(){return l.a}));var s=n(439);n.d(t,"g",(function(){return s.a}));n(241),n(342);var u=n(440);n.d(t,"h",(function(){return u.a}))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTooltipMessage}));var r=n(0),i=n.n(r),a=n(1),c=n(39),o=n(2),l=n(3),s=n(21),u=n(13);function AudienceTooltipMessage(t){var n=t.audienceSlug,r=t.audienceName,i=Object(l.useSelect)((function(e){return e(u.c).getDocumentationLinkURL("visitor-group-insights")}));return Object(a.useMemo)((function(){switch(n){case"new-visitors":return Object(c.a)(Object(o.sprintf)( +/* translators: %s: is the audience name */ +Object(o.__)('%s are people who visited your site for the first time. Note that under some circumstances it\'s possible for a visitor to be counted in both the "new" and "returning" groups. Learn more',"google-site-kit"),"New visitors"),{strong:e.createElement("strong",null),link:e.createElement(s.a,{href:i,external:!0,hideExternalIndicator:!0})});case"returning-visitors":return Object(c.a)(Object(o.sprintf)( +/* translators: %s: is the audience name */ +Object(o.__)('%s are people who have visited your site at least once before. Note that under some circumstances it\'s possible for a visitor to be counted in both the "new" and "returning" groups. Learn more',"google-site-kit"),"Returning visitors"),{strong:e.createElement("strong",null),link:e.createElement(s.a,{href:i,external:!0,hideExternalIndicator:!0})});default:return Object(c.a)(Object(o.sprintf)( +/* translators: %s: is the audience name */ +Object(o.__)("%s is an audience that already exists in your Analytics property. Note that it's possible for a visitor to be counted in more than one group. Learn more","google-site-kit"),"".concat(r,"")),{strong:e.createElement("strong",null),link:e.createElement(s.a,{href:i,external:!0,hideExternalIndicator:!0})})}}),[n,r,i])}AudienceTooltipMessage.propTypes={audienceSlug:i.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return RetryButton}));var r=n(0),i=n.n(r),a=n(2),c=n(10),o=n(9),l=n(18);function RetryButton(t){var n=t.handleRetry,r=Object(l.a)();return e.createElement(c.Button,{className:"googlesitekit-audience-selection-panel__error-notice-action",onClick:function(){n(),Object(o.J)("".concat(r,"_audiences-sidebar"),"data_loading_error_retry")},tertiary:!0},Object(a.__)("Retry","google-site-kit"))}RetryButton.propTypes={handleRetry:i.a.func.isRequired}}).call(this,n(4))},,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(14);function i(e){var t;if(void 0!==e)return!((null==e?void 0:e.rows)&&(null==e?void 0:e.totals)&&!(null==e||null===(t=e.totals)||void 0===t?void 0:t.every(r.isEmpty)))||!e.totals.some((function(e){return!!e.metricValues&&e.metricValues.some((function(e){return e.value>0}))}))}},,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(3),i=n(19),a=n(6),c=n(26),o=n(8),l=n(67);function s(){return Object(r.useSelect)((function(e){var t=e(a.a).isItemDismissed(c.l),n=e(a.a).isDismissingItem(c.l),r=u(e,"search-console",l.b),i=u(e,"analytics-4",o.r);return!1===t&&!1===n&&r&&i}),[])}function u(e,t,n){if(e(i.a).isModuleConnected(t)){var r=e(n),a=r.isGatheringData,c=r.isDataAvailableOnLoad;return a(),c()}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return KeyMetricsSetupCTARenderedEffect}));var r=n(259),i=n(3),a=n(23),c="KEY_METRICS_SETUP_CTA_RENDERED";function KeyMetricsSetupCTARenderedEffect(){var e=Object(i.useDispatch)(a.b).setValue;return Object(r.a)((function(){e(c,!0)})),null}},,function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=t.redirectURL,r=t.onSuccess,a=t.onError,o=Object(s.a)(),b=Object(d.useState)([]),E=l()(b,2),_=E[0],O=E[1],y=Object(d.useState)([]),k=l()(y,2),j=k[0],S=k[1],w=Object(d.useState)(!1),C=l()(w,2),A=C[0],x=C[1],T=Object(f.useSelect)((function(e){return e(p.a).hasScope(v.h)})),N=Object(f.useSelect)((function(e){return e(m.a).getValue(v.c,"autoSubmit")})),D=Object(f.useDispatch)(m.a),M=D.setValues,R=Object(f.useDispatch)(p.a),B=R.setPermissionScopeError,I=Object(f.useDispatch)(v.r),P=I.enableAudienceGroup;n||(n=Object(g.a)(e.location.href,{notification:"audience_segmentation"}));var L=Object(d.useCallback)(c()(i.a.mark((function t(){var c,l,s;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(x(!0),T){t.next=5;break}return M(v.c,{autoSubmit:!0}),B({code:h.a,message:Object(u.__)("Additional permissions are required to create new audiences in Analytics.","google-site-kit"),data:{status:403,scopes:[v.h],skipModal:!0,skipDefaultErrorNotifications:!0,redirectURL:n,errorRedirectURL:e.location.href}}),t.abrupt("return");case 5:return M(v.c,{autoSubmit:!1}),t.next=8,P(j);case 8:if(t.t0=t.sent,t.t0){t.next=11;break}t.t0={};case 11:c=t.t0,l=c.error,s=c.failedSiteKitAudienceSlugs,l||s?null==a||a():null==r||r(),o()&&(l?(O([l]),S([])):Array.isArray(s)?(S(s),O([])):(O([]),S([])),x(!1));case 16:case"end":return t.stop()}}),t)}))),[T,M,P,j,o,B,n,a,r]);return Object(d.useEffect)((function(){T&&N&&L()}),[T,N,L]),{apiErrors:_,failedAudiences:j,isSaving:A,onEnableGroups:L}}}).call(this,n(28))},,function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0?e.createElement(r.Fragment,null,e.createElement(d.a,{secondary:!0,linkButton:!0,className:"googlesitekit-widget-area__cta-link",onClick:m,leadingIcon:e.createElement(g.a,{width:22,height:22})},Object(i.__)("Change groups","google-site-kit"))):null}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ConnectAnalyticsCTAWidget}));var r=n(0),i=n.n(r),a=n(39),c=n(1),o=n(2),l=n(3),s=n(495),u=n(496),d=n(21),g=n(19),f=n(183),m=n(24),p=n(349);function ConnectAnalyticsCTAWidget(t){var n=t.Widget,r=Object(m.e)()===m.c,i=Object(f.a)("analytics-4"),h=Object(l.useSelect)((function(e){return e(g.a).getModuleIcon("analytics-4")})),v=r?e.createElement("p",null,Object(a.a)(Object(o.__)("Google Analytics is disconnected, your audience metrics can’t be displayed. Connect Google Analytics","google-site-kit"),{a:e.createElement(d.a,{secondary:!0,onClick:i})})):e.createElement(c.Fragment,null,e.createElement("p",null,Object(o.__)("Google Analytics is disconnected, your audience metrics can’t be displayed","google-site-kit")),e.createElement(d.a,{secondary:!0,onClick:i},Object(o.__)("Connect Google Analytics","google-site-kit")));return e.createElement(n,{noPadding:!0},e.createElement(p.a,{Icon:h,SVGGraphic:r?u.a:s.a},v))}ConnectAnalyticsCTAWidget.propTypes={Widget:i.a.elementType.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(1),c=n(2),o=n(3),l=n(6),s=n(9),u=n(50),d=n(241),g=n(164),f=n(8),m=n(23),p=n(118),h=n(18),v=Object(p.a)(d.a);function InfoNoticeWidget(t){var n=t.Widget,r=t.WidgetNull,i=Object(h.a)(),u=Object(o.useInViewSelect)((function(e){var t=e(f.r).getAvailableAudiences();return null==t?void 0:t.map((function(e){return e.name}))}),[]),d=Object(o.useInViewSelect)((function(e){return e(l.a).getConfiguredAudiences()}),[]),p=null==d?void 0:d.some((function(e){return null==u?void 0:u.includes(e)})),b=g.a.length,E=Object(o.useInViewSelect)((function(e){return e(l.a).isPromptDismissed(g.c)}),[]),_=Object(o.useSelect)((function(e){return e(m.b).getValue(g.b)})),O=Object(o.useInViewSelect)((function(e){return e(l.a).getPromptDismissCount(g.c)}),[]),y=Object(o.useDispatch)(l.a).dismissPrompt,k=Object(a.useCallback)((function(){void 0!==O&&Object(s.J)("".concat(i,"_audiences-info-notice"),"dismiss_notice",g.a[O].slug).finally((function(){var e=2*s.g,t=O+1=b||!0===_)return e.createElement(r,null);var j=g.a[O],S=j.slug,w=j.content;return e.createElement(n,{noPadding:!0},e.createElement(v,{content:w,dismissLabel:Object(c.__)("Got it","google-site-kit"),onDismiss:k,onInView:function(){Object(s.J)("".concat(i,"_audiences-info-notice"),"view_notice",S)}}))}InfoNoticeWidget.propTypes={Widget:i.a.elementType.isRequired,WidgetNull:i.a.elementType.isRequired},t.a=Object(u.a)({moduleName:"analytics-4"})(InfoNoticeWidget)}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SecondaryUserSetupWidget}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(15),l=n.n(o),s=n(0),u=n.n(s),d=n(85),g=n(1),f=n(3),m=n(178),p=n(8),h=n(201),v=n(35);function SecondaryUserSetupWidget(t){var n=t.Widget,r=Object(g.useState)(null),a=l()(r,2),o=a[0],s=a[1],u=Object(f.useSelect)((function(e){return e(p.r).isSettingUpAudiences()})),b=Object(f.useDispatch)(p.r).enableSecondaryUserAudienceGroup,E=function(){var e=c()(i.a.mark((function e(){var t,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s(null),e.next=3,b();case 3:t=e.sent,(n=t.error)&&s(n);case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return Object(d.a)((function(){u||c()(i.a.mark((function e(){var t,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b();case 2:t=e.sent,(n=t.error)&&s(n);case 5:case"end":return e.stop()}}),e)})))()})),o?e.createElement(h.a,{Widget:n,errors:o,onRetry:E,showRetryButton:!Object(v.e)(o)}):e.createElement(n,{className:"googlesitekit-widget-audience-tiles",noPadding:!0},e.createElement("div",{className:"googlesitekit-widget-audience-tiles__body"},e.createElement(n,{noPadding:!0},e.createElement(m.a,null)),e.createElement(n,{noPadding:!0},e.createElement(m.a,null))))}SecondaryUserSetupWidget.propTypes={Widget:u.a.elementType.isRequired}}).call(this,n(4))},,,,,,,,,,,function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(1),c=n(2),o=n(10),l=n(17),s=n(24),u=n(350),d=n(35),g=n(134),f=n(345),m=Object(a.forwardRef)((function(t,n){var r=t.Widget,i=t.errors,a=t.onRetry,m=t.onRequestAccess,p=t.showRetryButton,h=Object(s.e)(),v=h===s.b,b=h===s.c,E=i.some(d.e);return e.createElement(r,{ref:n,noPadding:!0,className:"googlesitekit-audience-segmentation-error-widget"},e.createElement(l.e,{collapsed:!0,className:"googlesitekit-audience-segmentation-error__widget-primary-cell"},e.createElement(l.k,null,e.createElement(l.a,{smSize:6,mdSize:8,lgSize:7},e.createElement("h3",{className:"googlesitekit-publisher-win__title"},E?Object(c.__)("Insufficient permissions","google-site-kit"):Object(c.__)("Your visitor groups data loading failed","google-site-kit")),e.createElement("div",{className:"googlesitekit-widget-audience-segmentation-error__actions"},p&&a?e.createElement(o.Button,{onClick:a,danger:!0},Object(c.__)("Retry","google-site-kit")):e.createElement(g.a,{moduleSlug:"analytics-4",error:i,GetHelpLink:E?f.a:void 0,hideGetHelpLink:!E,buttonVariant:"danger",getHelpClassName:"googlesitekit-error-retry-text",onRetry:a,onRequestAccess:m}))),!v&&!b&&e.createElement(l.a,{className:"googlesitekit-widget-audience-segmentation-error__svg-wrapper",smSize:6,mdSize:3,lgSize:5},e.createElement(u.a,{width:"233px"})),b&&e.createElement(l.a,{className:"googlesitekit-widget-audience-segmentation-error__svg-wrapper",mdSize:8},e.createElement(u.a,{width:"233px"})),v&&e.createElement(l.a,{className:"googlesitekit-widget-audience-segmentation-error__svg-wrapper",smSize:8},e.createElement(u.a,{width:"233px"})))))}));m.propTypes={Widget:i.a.elementType.isRequired,errors:i.a.arrayOf(i.a.object).isRequired,onRetry:i.a.func.isRequired,onRequestAccess:i.a.func.isRequired,showRetryButton:i.a.bool},t.a=m}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(1),l=n(2),s=n(165),u=n(84),d=n(32),g=n(13),f=n(6),m=n(9),p=n(18),h=n(3),v=n(10),b=n(141),E=Object(o.forwardRef)((function(t,n){var r=Object(p.a)(),a=Object(h.useSelect)((function(e){var t=e(g.c).getAdminURL("googlesitekit-dashboard");return Object(s.a)(t,{widgetArea:u.AREA_MAIN_DASHBOARD_TRAFFIC_AUDIENCE_SEGMENTATION})})),o=Object(h.useDispatch)(d.a).navigateTo,E=Object(h.useDispatch)(f.a).dismissItem;function _(){return E("settings_visitor_groups_setup_success_notification")}return e.createElement("div",{ref:n,className:"googlesitekit-settings-visitor-groups__setup-success googlesitekit-subtle-notification"},e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},e.createElement(b.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,Object(l.__)("We’ve added the audiences section to your dashboard!","google-site-kit"))),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},e.createElement(v.Button,{tertiary:!0,onClick:function(){Object(m.J)("".concat(r,"_audiences-setup-cta-settings-success"),"dismiss_notification").finally(_)}},Object(l.__)("Got it","google-site-kit")),e.createElement(v.Button,{onClick:function(){Object(m.J)("".concat(r,"_audiences-setup-cta-settings-success"),"confirm_notification").finally(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_();case 2:o(a);case 3:case"end":return e.stop()}}),e)}))))}},Object(l.__)("Show me","google-site-kit"))))}));t.a=E}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0;if(a&&s&&u)return"continue";a&&!s&&e.push(i),t.push(i)};(null==n?void 0:n.length)>0;)r();return[e,t]}),[N,T,ie,I,L,R,V]),de=c()(ue,2),ge=de[0],fe=de[1];var me,pe=(me=[],L&&me.push(z),V&&me.push(G),!(!me.every(Boolean)&&!q)||(null==T?void 0:T.every((function(e){return re[e].length>0}))));Object(s.useEffect)((function(){ge.forEach((function(e){var t="audience-tile-".concat(e);se.current[t]||(ce(t,{expiresInSeconds:1}),se.current[t]=!0)}))}),[ge,ce,ae]);var he=Object(d.useSelect)((function(e){return e(m.r).isFetchingSyncAvailableCustomDimensions()})),ve=Object(d.useDispatch)(m.r).fetchSyncAvailableCustomDimensions,be=Object.values(Q).some(k.a)||Object.values(te).some(k.a);Object(s.useEffect)((function(){!o&&be&&ve()}),[ve,be,o]);var Ee=Object(s.useState)(fe[0]),_e=c()(Ee,2),Oe=_e[0],ye=_e[1],ke=Object(s.useCallback)((function(e){var t=fe.indexOf(e);return-1===t?0:t}),[fe]);Object(s.useEffect)((function(){fe.includes(Oe)||ye(fe[0])}),[Oe,fe]);var je=ke(Oe),Se=r||!F||!W||!H||!J||!X||!ee||he,we=0;return e.createElement(n,{className:"googlesitekit-widget-audience-tiles",noPadding:!0},!1===pe&&!Se&&x&&fe.length>0&&e.createElement(u.TabBar,{key:fe.length,className:"googlesitekit-widget-audience-tiles__tabs googlesitekit-tab-bar--start-aligned-high-contrast",activeIndex:je,handleActiveIndexUpdate:function(e){return ye(fe[e])}},fe.map((function(t,n){var r,i,c,o,l=(null==N||null===(r=N.filter((function(e){return e.name===t})))||void 0===r||null===(i=r[0])||void 0===i?void 0:i.displayName)||"",s=(null==N||null===(c=N.filter((function(e){return e.name===t})))||void 0===c||null===(o=c[0])||void 0===o?void 0:o.audienceSlug)||"",d=e.createElement(v.a,{audienceName:l,audienceSlug:s});return e.createElement(u.Tab,{key:n,"aria-label":l},l,e.createElement(h.a,{title:d,tooltipClassName:"googlesitekit-info-tooltip__content--audience",onOpen:function(){Object(w.J)("".concat(a,"_audiences-tile"),"view_tile_tooltip",s)}}))}))),e.createElement("div",{className:"googlesitekit-widget-audience-tiles__body"},pe&&!Se&&e.createElement(b.a,{Widget:n,errors:[].concat(i()(Object.values(re).flat(2)),[z,q])}),(!1===pe||Se)&&fe.map((function(t,r){var i,a,c,o,l,s,u,d,g,f,m,h,b,O,y,k,j,S,w,A,T,N,D,M,R,B,I,P,L,F;if(x&&r!==je)return null;var z=ne(t,r),V=z.audienceName,W=z.audienceSlug,G=z.visitors,H=z.prevVisitors,q=z.visitsPerVisitors,K=z.prevVisitsPerVisitors,J=z.pagesPerVisit,Y=z.prevPagesPerVisit,$=z.pageviews,X=z.prevPageviews,Q=z.topCities,Z=z.topContent,ee=z.topContentTitles,te=z.isZeroData,ie=z.isPartialData,ae=(null==Q?void 0:Q.rows)?Object(C.a)(Q.rows):[];return Se||void 0===te||void 0===ie?e.createElement(n,{key:t,noPadding:!0},e.createElement(_.a,null)):re[t].length>0?e.createElement(E.a,{key:t,audienceSlug:W,errors:re[t]}):e.createElement(p.a,{key:t,audienceTileNumber:we++,audienceSlug:W,title:V,infoTooltip:e.createElement(v.a,{audienceName:V,audienceSlug:W}),visitors:{currentValue:G,previousValue:H},visitsPerVisitor:{currentValue:q,previousValue:K},pagesPerVisit:{currentValue:J,previousValue:Y},pageviews:{currentValue:$,previousValue:X},percentageOfTotalPageViews:0!==U?$/U:0,topCities:{dimensionValues:[null==ae||null===(i=ae[0])||void 0===i||null===(a=i.dimensionValues)||void 0===a?void 0:a[0],null==ae||null===(c=ae[1])||void 0===c||null===(o=c.dimensionValues)||void 0===o?void 0:o[0],null==ae||null===(l=ae[2])||void 0===l||null===(s=l.dimensionValues)||void 0===s?void 0:s[0]],metricValues:[null==ae||null===(u=ae[0])||void 0===u||null===(d=u.metricValues)||void 0===d?void 0:d[0],null==ae||null===(g=ae[1])||void 0===g||null===(f=g.metricValues)||void 0===f?void 0:f[0],null==ae||null===(m=ae[2])||void 0===m||null===(h=m.metricValues)||void 0===h?void 0:h[0]],total:G},topContent:{dimensionValues:[null==Z||null===(b=Z.rows)||void 0===b||null===(O=b[0])||void 0===O||null===(y=O.dimensionValues)||void 0===y?void 0:y[0],null==Z||null===(k=Z.rows)||void 0===k||null===(j=k[1])||void 0===j||null===(S=j.dimensionValues)||void 0===S?void 0:S[0],null==Z||null===(w=Z.rows)||void 0===w||null===(A=w[2])||void 0===A||null===(T=A.dimensionValues)||void 0===T?void 0:T[0]],metricValues:[null==Z||null===(N=Z.rows)||void 0===N||null===(D=N[0])||void 0===D||null===(M=D.metricValues)||void 0===M?void 0:M[0],null==Z||null===(R=Z.rows)||void 0===R||null===(B=R[1])||void 0===B||null===(I=B.metricValues)||void 0===I?void 0:I[0],null==Z||null===(P=Z.rows)||void 0===P||null===(L=P[2])||void 0===L||null===(F=L.metricValues)||void 0===F?void 0:F[0]]},topContentTitles:ee,hasInvalidCustomDimensionError:be,Widget:n,audienceResourceName:t,isZeroData:te,isPartialData:ie,isTileHideable:fe.length>1,onHideTile:function(){return oe(t)}})})),!x&&e.createElement(O.a,{Widget:n,loading:Se,allTilesError:pe,visibleAudienceCount:fe.length})))}AudienceTiles.propTypes={Widget:l.a.elementType.isRequired,widgetLoading:l.a.bool.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTile}));var r=n(11),i=n.n(r),a=n(0),c=n.n(a),o=n(2),l=n(3),s=n(24),u=n(36),d=n(8),g=n(458),f=n(459),m=n(460),p=n(461),h=n(462),v=n(463),b=n(303),E=n(464),_=n(465),O=n(181),y=n(131),k=n(347),j=n(9),S=n(245),w=n(18),C=n(468);function AudienceTile(t){var n=t.audienceTileNumber,r=void 0===n?0:n,a=t.audienceSlug,c=t.title,A=t.infoTooltip,x=t.visitors,T=t.visitsPerVisitor,N=t.pagesPerVisit,D=t.pageviews,M=t.percentageOfTotalPageViews,R=t.topCities,B=t.topContent,I=t.topContentTitles,P=t.hasInvalidCustomDimensionError,L=t.Widget,F=t.audienceResourceName,z=t.isZeroData,V=t.isPartialData,W=t.isTileHideable,G=t.onHideTile,U=Object(s.e)(),H=Object(w.a)(),q=Object(u.a)(),K=Object(l.useInViewSelect)((function(e){var t=e(d.r).getPropertyID();return t&&e(d.r).isPropertyPartialData(t)})),J=Object(l.useSelect)((function(e){return e(d.r).isSiteKitAudience(F)})),Y=Object(l.useInViewSelect)((function(e){return!J&&void 0!==K&&(!K&&F&&e(d.r).isAudiencePartialData(F))}),[K,J,F]),$=Object(l.useInViewSelect)((function(e){return void 0!==K&&(!K&&!Y&&e(d.r).isCustomDimensionPartialData("googlesitekit_post_type"))}),[Y]),X=Object(l.useInViewSelect)((function(e){return e(d.r).hasCustomDimensions("googlesitekit_post_type")}),[]),Q=[s.b,s.c].includes(U);return V&&z?e.createElement(C.a,{Widget:L,audienceSlug:a,title:c,infoTooltip:A,isMobileBreakpoint:Q,isTileHideable:W,onHideTile:G}):e.createElement(L,{noPadding:!0},e.createElement("div",{className:i()("googlesitekit-audience-segmentation-tile",{"googlesitekit-audience-segmentation-tile--partial-data":Y})},!Q&&e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__header"},e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__header-title"},c,A&&e.createElement(y.a,{title:A,tooltipClassName:"googlesitekit-info-tooltip__content--audience",onOpen:function(){return Object(j.J)("".concat(H,"_audiences-tile"),"view_tile_tooltip",a)}})),Y&&e.createElement(S.a,{className:"googlesitekit-audience-segmentation-partial-data-badge",label:Object(o.__)("Partial data","google-site-kit"),tooltipTitle:Object(o.__)("Still collecting full data for this timeframe, partial data is displayed for this group","google-site-kit"),onTooltipOpen:function(){Object(j.J)("".concat(H,"_audiences-tile"),"view_tile_partial_data_tooltip",a)}})),e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__metrics"},Q&&Y&&e.createElement(k.a,{content:Object(o.__)("Still collecting full data for this timeframe, partial data is displayed for this group","google-site-kit")}),e.createElement(b.a,{TileIcon:g.a,title:Object(o.__)("Visitors","google-site-kit"),metricValue:x.currentValue,Badge:function Badge(){return e.createElement(O.a,{previousValue:x.previousValue,currentValue:x.currentValue})}}),e.createElement(b.a,{TileIcon:f.a,title:Object(o.__)("Visits per visitor","google-site-kit"),metricValue:T.currentValue,Badge:function Badge(){return e.createElement(O.a,{previousValue:T.previousValue,currentValue:T.currentValue})}}),e.createElement(b.a,{TileIcon:m.a,title:Object(o.__)("Pages per visit","google-site-kit"),metricValue:N.currentValue,Badge:function Badge(){return e.createElement(O.a,{previousValue:N.previousValue,currentValue:N.currentValue})},metricValueFormat:{style:"decimal",maximumFractionDigits:2}}),e.createElement(b.a,{TileIcon:p.a,title:Object(o.sprintf)( +/* translators: %s: is a percentage value such as 33.3%. */ +Object(o.__)("%s of total pageviews","google-site-kit"),Object(j.C)(M,{style:"percent",maximumFractionDigits:1})),metricValue:D.currentValue,Badge:function Badge(){return e.createElement(O.a,{previousValue:D.previousValue,currentValue:D.currentValue})}}),e.createElement(E.a,{TileIcon:h.a,title:Object(o.__)("Cities with the most visitors","google-site-kit"),topCities:R}),(!q||X&&!P)&&e.createElement(_.a,{audienceTileNumber:r,audienceSlug:a,TileIcon:v.a,title:Object(o.__)("Top content by pageviews","google-site-kit"),topContentTitles:I,topContent:B,isTopContentPartialData:$}))))}AudienceTile.propTypes={audienceTileNumber:c.a.number,audienceSlug:c.a.string.isRequired,title:c.a.string.isRequired,infoTooltip:c.a.oneOfType([c.a.string,c.a.element]),visitors:c.a.object,visitsPerVisitor:c.a.object,pagesPerVisit:c.a.object,pageviews:c.a.object,percentageOfTotalPageViews:c.a.number,topCities:c.a.object,topContent:c.a.object,topContentTitles:c.a.object,hasInvalidCustomDimensionError:c.a.bool,Widget:c.a.elementType.isRequired,audienceResourceName:c.a.string.isRequired,isZeroData:c.a.bool,isPartialData:c.a.bool,isTileHideable:c.a.bool,onHideTile:c.a.func}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.isRetrying;F(m.d,{autoSubmit:!0,isRetrying:t}),T||V({code:p.a,message:Object(l.__)("Additional permissions are required to create new audiences in Analytics.","google-site-kit"),data:{status:403,scopes:[m.h],skipModal:!0,skipDefaultErrorNotifications:!0,redirectURL:N,errorRedirectURL:D}})}),[T,N,D,V,F]),Y=Object(c.useCallback)((function(){F(m.d,{autoSubmit:!1,isRetrying:!1}),q(null),W(),L("createCustomDimension",[P,m.f.googlesitekit_post_type])}),[L,W,P,q,F]),$=[u.b,u.c].includes(w),X=M||R||B;return r.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric googlesitekit-audience-segmentation-tile-metric--top-content"},r.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__icon"},r.createElement(a,null)),r.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__container"},r.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__title"},y,!$&&S&&r.createElement(h.a,{className:"googlesitekit-audience-segmentation-partial-data-badge",label:Object(l.__)("Partial data","google-site-kit"),onTooltipOpen:function(){Object(O.J)("".concat(C,"_audiences-tile"),"view_top_content_partial_data_tooltip",i)},tooltipTitle:Object(l.__)("Still collecting full data for this timeframe, partial data is displayed for this metric","google-site-kit")})),r.createElement(v.a,{topContentTitles:j,topContent:k,isTopContentPartialData:S,hasCustomDimension:!x,onCreateCustomDimension:J,isSaving:X}),0===n&&(I&&!X||G&&!M||K)&&r.createElement(b.a,{apiErrors:[I],title:Object(l.__)("Failed to enable metric","google-site-kit"),description:Object(l.__)("Oops! Something went wrong. Retry enabling the metric.","google-site-kit"),onRetry:function(){return J({isRetrying:!0})},onCancel:Y,inProgress:X,hasOAuthError:K,trackEventCategory:"".concat(C,"_audiences-top-content-cta")})))}AudienceTilePagesMetric.propTypes={audienceTileNumber:a.a.number,audienceSlug:a.a.string.isRequired,TileIcon:a.a.elementType.isRequired,title:a.a.string.isRequired,topContent:a.a.object,topContentTitles:a.a.object,isTopContentPartialData:a.a.bool}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTilePagesMetricContent}));var r=n(0),i=n.n(r),a=n(2),c=n(3),o=n(24),l=n(6),s=n(8),u=n(346),d=n(21),g=n(347),f=n(9),m=n(118),p=n(18),h=n(36),v=n(467),b=Object(m.a)(v.a);function AudienceTilePagesMetricContent(t){var n,r=t.topContentTitles,i=t.topContent,m=t.isTopContentPartialData,v=t.hasCustomDimension,E=t.onCreateCustomDimension,_=t.isSaving,O=Object(p.a)(),y=Object(h.a)(),k=Object(o.e)(),j=[o.b,o.c].includes(k),S=(null==i||null===(n=i.dimensionValues)||void 0===n?void 0:n.filter(Boolean))||[],w=!!S.length,C=Object(c.useSelect)((function(e){return e(l.a).getDateRangeDates({offsetDays:s.g})}));function ContentLinkComponent(t){var n=t.content,i=r[null==n?void 0:n.value],a=null==n?void 0:n.value,o=Object(c.useSelect)((function(e){return y?null:e(s.r).getServiceReportURL("all-pages-and-screens",{filters:{unifiedPagePathScreen:a},dates:C})}));return y?e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__top-content-metric-name"},i):e.createElement(d.a,{href:o,title:i,external:!0,hideExternalIndicator:!0},i)}return e.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__content"},!v&&e.createElement(b,{onClick:function(){Object(f.J)("".concat(O,"_audiences-top-content-cta"),"create_custom_dimension").finally(E)},isSaving:_,onInView:function(){Object(f.J)("".concat(O,"_audiences-top-content-cta"),"view_cta")}}),v&&!w&&e.createElement(u.a,null),v&&w&&S.map((function(t,n){var r;return e.createElement("div",{key:null==t?void 0:t.value,className:"googlesitekit-audience-segmentation-tile-metric__page-metric-container"},e.createElement(ContentLinkComponent,{content:t}),e.createElement("div",{className:"googlesitekit-audience-segmentation-tile-metric__page-metric-value"},Object(f.C)(null==i||null===(r=i.metricValues[n])||void 0===r?void 0:r.value)))})),j&&m&&e.createElement(g.a,{content:Object(a.__)("Still collecting full data for this timeframe, partial data is displayed for this metric","google-site-kit")}))}AudienceTilePagesMetricContent.propTypes={topContentTitles:i.a.object,topContent:i.a.object,isTopContentPartialData:i.a.bool,hasCustomDimension:i.a.bool,onCreateCustomDimension:i.a.func,isSaving:i.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(1),c=n(2),o=n(10),l=Object(a.forwardRef)((function(t,n){var r=t.onClick,i=t.isSaving;return e.createElement("div",{ref:n,className:"googlesitekit-audience-segmentation-tile-metric__no-data"},Object(c.__)("No data to show","google-site-kit"),e.createElement("p",null,Object(c.__)("Update Analytics to track metric","google-site-kit")),e.createElement(o.SpinnerButton,{danger:!0,onClick:r,isSaving:i,disabled:i},Object(c.__)("Update","google-site-kit")))}));l.propTypes={onClick:i.a.func.isRequired,isSaving:i.a.bool},t.a=l}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTileZeroData}));var r=n(0),i=n.n(r),a=n(18),c=n(118),o=n(9),l=n(469),s=Object(c.a)(l.a);function AudienceTileZeroData(t){var n=t.Widget,r=t.audienceSlug,i=t.title,c=t.infoTooltip,l=t.isMobileBreakpoint,u=t.isTileHideable,d=t.onHideTile,g=Object(a.a)();return e.createElement(s,{Widget:n,audienceSlug:r,title:i,infoTooltip:c,isMobileBreakpoint:l,isTileHideable:u,onHideTile:function(){Object(o.J)("".concat(g,"_audiences-tile"),"temporarily_hide",r).finally(d)},onInView:function(){Object(o.J)("".concat(g,"_audiences-tile"),"view_tile_collecting_data",r)}})}AudienceTileZeroData.propTypes={Widget:i.a.elementType.isRequired,audienceSlug:i.a.string.isRequired,title:i.a.string.isRequired,infoTooltip:i.a.oneOfType([i.a.string,i.a.element]),isMobileBreakpoint:i.a.bool,isTileHideable:i.a.bool,onHideTile:i.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(1),c=n(18),o=n(9),l=n(131),s=n(470),u=n(472),d=Object(a.forwardRef)((function(t,n){var r=t.Widget,i=t.audienceSlug,a=t.title,d=t.infoTooltip,g=t.isMobileBreakpoint,f=t.isTileHideable,m=t.onHideTile,p=Object(c.a)();return e.createElement(r,{ref:n,noPadding:!0},e.createElement("div",{className:"googlesitekit-audience-segmentation-tile"},e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__zero-data-container"},!g&&e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__header"},e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__header-title"},a,d&&e.createElement(l.a,{title:d,tooltipClassName:"googlesitekit-info-tooltip__content--audience",onOpen:function(){return Object(o.J)("".concat(p,"_audiences-tile"),"view_tile_tooltip",i)}}))),e.createElement("div",{className:"googlesitekit-audience-segmentation-tile__zero-data-content"},e.createElement(s.a,null),f&&e.createElement(u.a,{onHideTile:m})))))}));d.propTypes={Widget:i.a.elementType.isRequired,audienceSlug:i.a.string.isRequired,title:i.a.string.isRequired,infoTooltip:i.a.oneOfType([i.a.string,i.a.element]),isMobileBreakpoint:i.a.bool,isTileHideable:i.a.bool,onHideTile:i.a.func},t.a=d}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceTileCollectingData}));var r=n(1),i=n(2),a=n(471);function AudienceTileCollectingData(){return e.createElement(r.Fragment,null,e.createElement(a.a,{className:"googlesitekit-audience-segmentation-tile__zero-data-image"}),e.createElement("p",{className:"googlesitekit-audience-segmentation-tile__zero-data-description"},Object(i.__)("Site Kit is collecting data for this group.","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;tSelect another group to compare with your current group or learn more about how to group site visitors in Analytics","google-site-kit"),{AnalyticsLink:v,SelectGroupLink:e.createElement(g.a,{secondary:!0,onClick:function(){return h(m.i,!0)}})}):Object(a.a)(Object(c.__)("Learn more about how to group site visitors in Analytics","google-site-kit"),{AnalyticsLink:v})))))}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return g}));var r=n(7),i=n.n(r),a=n(3),c=n(6),o=n(8);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t0||!1===l,_=g.length>0&&l,O=s(s({},h),{},{dimensions:[{name:"audienceResourceName"}],dimensionFilters:p,metrics:[{name:"totalUsers"},{name:"sessionsPerUser"},{name:"screenPageViewsPerSession"},{name:"screenPageViews"}]}),y=Object(a.useInViewSelect)((function(e){if(void 0!==E)return E?e(o.r).getReport(O):null}),[E,O]),k=Object(a.useSelect)((function(e){if(void 0!==E)return!E||e(o.r).hasFinishedResolution("getReport",[O])})),j=Object(a.useSelect)((function(e){if(void 0!==E)return E?e(o.r).getErrorForSelector("getReport",[O]):null})),S=s(s({},h),{},{dimensions:[{name:"newVsReturning"}],dimensionFilters:{newVsReturning:["new","returning"]},metrics:[{name:"totalUsers"},{name:"sessionsPerUser"},{name:"screenPageViewsPerSession"},{name:"screenPageViews"}]}),w=Object(a.useInViewSelect)((function(e){if(void 0!==_)return _?e(o.r).getReport(S):null}),[_,S]),C=Object(a.useSelect)((function(e){if(void 0!==_)return!_||e(o.r).hasFinishedResolution("getReport",[S])})),A=Object(a.useSelect)((function(e){if(void 0!==_)return _?e(o.r).getErrorForSelector("getReport",[S]):null})),x={startDate:v,endDate:b,metrics:[{name:"screenPageViews"}]},T=Object(a.useInViewSelect)((function(e){return e(o.r).getReport(x)})),N=Object(a.useSelect)((function(e){return e(o.r).hasFinishedResolution("getReport",[x])})),D=Object(a.useSelect)((function(e){return e(o.r).getErrorForSelector("getReport",[x])})),M=Number(null==T||null===(t=T.totals)||void 0===t||null===(n=t[0])||void 0===n||null===(r=n.metricValues)||void 0===r||null===(i=r[0])||void 0===i?void 0:i.value)||0,R={startDate:v,endDate:b,dimensions:["city"],metrics:[{name:"totalUsers"}],orderby:[{metric:{metricName:"totalUsers"},desc:!0}],limit:4},B=Object(a.useInViewSelect)((function(e){return e(o.r).getReportForAllAudiences(R,m)})),I=u(R,m),P=d(R,m),L={startDate:v,endDate:b,dimensions:["pagePath"],metrics:[{name:"screenPageViews"}],dimensionFilters:{"customEvent:googlesitekit_post_type":{filterType:"stringFilter",matchType:"EXACT",value:"post"}},orderby:[{metric:{metricName:"screenPageViews"},desc:!0}],limit:3},F=Object(a.useInViewSelect)((function(e){return e(o.r).getReportForAllAudiences(L,m)})),z=u(L,m),V=d(L,m),W={startDate:v,endDate:b,dimensions:["pagePath","pageTitle"],metrics:[{name:"screenPageViews"}],dimensionFilters:{"customEvent:googlesitekit_post_type":{filterType:"stringFilter",matchType:"EXACT",value:"post"}},orderby:[{metric:{metricName:"screenPageViews"},desc:!0}],limit:15};return{report:y,reportLoaded:k,reportError:j,siteKitAudiencesReport:w,siteKitAudiencesReportLoaded:C,siteKitAudiencesReportError:A,totalPageviews:M,totalPageviewsReportLoaded:N,totalPageviewsReportError:D,topCitiesReport:B,topCitiesReportLoaded:I,topCitiesReportErrors:P,topContentReport:F,topContentReportLoaded:z,topContentReportErrors:V,topContentPageTitlesReport:Object(a.useInViewSelect)((function(e){return e(o.r).getReportForAllAudiences(W,m)})),topContentPageTitlesReportLoaded:u(W,m),topContentPageTitlesReportErrors:d(W,m)}}},function(e,t,n){"use strict";(function(e){var r=n(1),i=n(39),a=n(2),c=n(3),o=n(348),l=n(21),s=n(19),u=n(349),d=n(32),g=n(13),f=n(23),m=n(6),p=n(41),h=n(18),v=n(36),b=n(9),E=Object(r.forwardRef)((function(t,n){var r=Object(h.a)(),E=Object(v.a)(),_=Object(c.useSelect)((function(e){return e(m.a).didSetAudiences()})),O=Object(c.useSelect)((function(e){return e(s.a).getModuleIcon("analytics-4")})),y=Object(c.useSelect)((function(e){return e(g.c).getAdminURL("googlesitekit-settings")})),k=Object(c.useDispatch)(f.b).setValue,j=Object(c.useDispatch)(d.a).navigateTo,S=_?"no-longer-available":"none-selected";function w(){Object(b.J)("".concat(r,"_audiences-no-audiences"),"select_groups",S).finally((function(){k(p.i,!0)}))}return e.createElement(u.a,{ref:n,className:"googlesitekit-no-audience-banner",Icon:O,SVGGraphic:o.a},e.createElement("p",null,_&&Object(i.a)(Object(a.__)("It looks like your visitor groups aren’t available anymore. Select other groups.","google-site-kit"),{a:e.createElement(l.a,{secondary:!0,onClick:w})}),!_&&Object(i.a)(Object(a.__)("You don’t have any visitor groups selected. Select groups.","google-site-kit"),{a:e.createElement(l.a,{secondary:!0,onClick:w})})),!E&&e.createElement("p",null,Object(i.a)(Object(a.__)("You can deactivate this widget in Settings.","google-site-kit"),{a:e.createElement(l.a,{secondary:!0,onClick:function(){Object(b.J)("".concat(r,"_audiences-no-audiences"),"change_settings",S).finally((function(){j("".concat(y,"#/admin-settings"))}))}})})))}));t.a=E}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Panel}));var r=n(7),i=n.n(r),a=n(1),c=n(3),o=n(18),l=n(9),s=n(41),u=n(29),d=n(23),g=n(6),f=n(8),m=n(482),p=n(489),h=n(491),v=n(492),b=n(493),E=n(114),_=n(494);function Panel(){var t=Object(o.a)(),n=Object(c.useSelect)((function(e){return e(d.b).getValue(s.i)})),r=Object(c.useSelect)((function(e){return e(f.r).isFetchingSyncAvailableAudiences()})),O=Object(c.useInViewSelect)((function(e){var t=e(f.r).getConfigurableAudiences,n=(0,e(g.a).getConfiguredAudiences)()||[],r=t()||[];return r.length&&n.length?r.filter((function(e){var t=e.name;return n.includes(t)})).map((function(e){return e.name})):[]})),y=Object(c.useSelect)((function(e){return e(u.a).getValue(s.c,"autoSubmit")})),k=Object(c.useDispatch)(u.a).setValues,j=Object(c.useDispatch)(d.b).setValue,S=Object(a.useCallback)((function(){var e;k(s.h,(e={},i()(e,s.f,O),i()(e,s.g,!1),e)),Object(l.J)("".concat(t,"_audiences-sidebar"),"audiences_sidebar_view")}),[O,k,t]),w=Object(a.useCallback)((function(){n&&(j(s.i,!1),j(s.e,!1))}),[j,n]);return e.createElement(E.e,{className:"googlesitekit-audience-selection-panel",closePanel:w,isOpen:n||y,isLoading:r,onOpen:S},e.createElement(v.a,{closePanel:w}),e.createElement(m.a,{savedItemSlugs:O}),e.createElement(b.a,null),e.createElement(p.a,null),e.createElement(_.a,null),e.createElement(h.a,{closePanel:w,isOpen:n,savedItemSlugs:O}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceItems}));var r=n(7),i=n.n(r),a=n(5),c=n.n(a),o=n(16),l=n.n(o),s=n(15),u=n.n(s),d=n(0),g=n.n(d),f=n(808),m=n(2),p=n(1),h=n(3),v=n(41),b=n(23),E=n(6),_=n(8),O=n(9),y=n(483),k=n(114),j=n(484),S=n(485),w=n(36),C=n(487);function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function x(e){for(var t=1;t0?r(i(f?g:o)):{},v=(p||{}).rows,b=void 0===v?[]:v,O=(h||{}).rows,y=void 0===O?[]:O;return o.map((function(e){var t,n,r,i;return i="SITE_KIT_AUDIENCE"===e.audienceType&&f?k(b,"new-visitors"===e.audienceSlug?"new":"returning"):k(y,e.name),x(x({},e),{},{userCount:Number(null===(t=i)||void 0===t||null===(n=t.metricValues)||void 0===n||null===(r=n[0])||void 0===r?void 0:r.value)||0})}))}function k(e,t){return e.find((function(e){var n,r;return(null==e||null===(n=e.dimensionValues)||void 0===n||null===(r=n[0])||void 0===r?void 0:r.value)===t}))}})),R=function(e,t){var n=t.audienceType,r=t.description,a=t.displayName,c=t.name,o=t.userCount,l="";switch(n){case"DEFAULT_AUDIENCE":l=Object(m.__)("Created by default by Google Analytics","google-site-kit"),r="";break;case"SITE_KIT_AUDIENCE":l=Object(m.__)("Created by Site Kit","google-site-kit");break;case"USER_AUDIENCE":l=Object(m.__)("Already exists in your Analytics property","google-site-kit")}return x(x({},e),{},i()({},c,{title:a,subtitle:r,description:l,userCount:o,audienceType:n}))},B=null==M?void 0:M.filter((function(e){var t=e.name;return r.includes(t)})).reduce(R,{}),I=null==M?void 0:M.filter((function(e){var t=e.name;return!r.includes(t)})).reduce(R,{}),P=Object(h.useSelect)((function(e){if(void 0!==M){var t=e(E.a),n=t.hasFinishedResolution,r=t.hasExpirableItem;if(n("getExpirableItems"))return M.filter((function(e){var t=e.audienceType,n=e.name;return"DEFAULT_AUDIENCE"!==t&&!r("".concat(_.b).concat(n))})).map((function(e){var t=e.name;return"".concat(_.b).concat(t)}))}}));return Object(f.a)((function(){N&&void 0!==P&&P.length&&g(P.map((function(e){return{slug:e,expiresInSeconds:4*O.g}})))}),[N,g,P]),e.createElement(k.d,{availableItemsTitle:Object(m.__)("Additional groups","google-site-kit"),availableSavedItems:B,availableUnsavedItems:I,ItemComponent:D?j.a:y.a,savedItemSlugs:r,notice:e.createElement(p.Fragment,null,e.createElement(S.a,null),!T&&e.createElement(C.a,null))})}AudienceItems.propTypes={savedItemSlugs:g.a.array}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceItem}));var r=n(7),i=n.n(r),a=n(15),c=n.n(a),o=n(0),l=n.n(o),s=n(1),u=n(2),d=n(3),g=n(41),f=n(29),m=n(6),p=n(8),h=n(9),v=n(298),b=n(114),E=n(245);function AudienceItem(t){var n=t.slug,r=t.title,a=t.description,o=t.subtitle,l=t.userCount,_=t.audienceType,O="".concat(p.b).concat(n),y=Object(d.useSelect)((function(e){return e(f.a).getValue(g.h,g.f)})),k=Object(d.useSelect)((function(e){return e(m.a).hasExpirableItem(O)})),j=Object(d.useSelect)((function(e){return e(m.a).isExpirableItemActive(O)})),S=Object(d.useSelect)((function(e){return e(p.r).getAudienceUserCountReportErrors()}))||[],w=c()(S,2),C=w[0],A=w[1],x=[];A&&x.push(A),C&&x.push(C);var T=Object(d.useDispatch)(f.a).setValues,N=Object(d.useSelect)((function(e){return e(m.a).isItemDismissed("audience-tile-".concat(n))})),D=Object(s.useCallback)((function(e){var t;T(g.h,(t={},i()(t,g.f,e.target.checked?y.concat([n]):y.filter((function(e){return e!==n}))),i()(t,g.g,!0),t))}),[y,T,n]),M="DEFAULT_AUDIENCE"!==_&&(!1===k||j),R=null==y?void 0:y.includes(n),B="audience-selection-checkbox-".concat(n);function ItemBadge(){return N?e.createElement(E.a,{label:Object(u.__)("Temporarily hidden","google-site-kit"),tooltipTitle:Object(u.__)("Site Kit is collecting data for this group. Once data is available the group will be added to your dashboard.","google-site-kit")}):M?e.createElement(v.a,null):null}return e.createElement(b.c,{id:B,slug:n,title:r,subtitle:o,description:a,isItemSelected:R,onCheckboxChange:D,suffix:x.length?"-":Object(h.C)(l),badge:(N||M)&&e.createElement(ItemBadge,null)})}AudienceItem.propTypes={slug:l.a.string.isRequired,title:l.a.string.isRequired,description:l.a.string.isRequired,subtitle:l.a.string,userCount:l.a.number.isRequired,audienceType:l.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceItemPreviewBlock}));var r=n(42);function AudienceItemPreviewBlock(){return e.createElement("div",{className:"googlesitekit-selection-panel__loading"},e.createElement("div",{className:"googlesitekit-selection-panel__loading-left"},e.createElement(r.a,{width:"90px",height:"20px",className:"googlesitekit-selection-panel__loading-item"}),e.createElement(r.a,{width:"293px",height:"15px",className:"googlesitekit-selection-panel__loading-item"})),e.createElement("div",{className:"googlesitekit-selection-panel__loading-right"},e.createElement(r.a,{width:"43px",height:"20px",className:"googlesitekit-selection-panel__loading-item"})))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AddGroupNotice}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(15),l=n.n(o),s=n(0),u=n.n(s),d=n(1),g=n(2),f=n(3),m=n(41),p=n(29),h=n(6),v=n(330),b=n(241),E=n(23),_=n(8);function AddGroupNotice(){var t=Object(d.useState)(!1),n=l()(t,2),r=n[0],a=n[1],o=Object(f.useInViewSelect)((function(e){return e(h.a).isItemDismissed(m.a)})),s=Object(f.useSelect)((function(e){return e(E.b).getValue(m.i)})),u=Object(f.useSelect)((function(e){return e(_.r).isFetchingSyncAvailableAudiences()})),O=Object(f.useSelect)((function(e){return e(p.a).getValue(m.h,m.f)})),y=Object(f.useDispatch)(h.a).dismissItem,k=Object(d.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y(m.a);case 2:case"end":return e.stop()}}),e)}))),[y]);return Object(d.useEffect)((function(){Array.isArray(O)&&(O.length>1&&a(!0),s||1!==(null==O?void 0:O.length)||a(!1))}),[O,s,a]),o||r||u||!(null==O?void 0:O.length)?null:e.createElement(b.a,{className:"googlesitekit-audience-selection-panel__add-group-notice",content:Object(g.__)("By adding another group to your dashboard, you will be able to compare them and understand which content brings back users from each group","google-site-kit"),dismissLabel:Object(g.__)("Got it","google-site-kit"),Icon:v.a,onDismiss:k})}AddGroupNotice.propTypes={savedItemSlugs:u.a.array}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0||Y)&&r.createElement(C.a,{apiErrors:H,hasOAuthError:Y}))}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceCreationErrorNotice}));var r=n(0),i=n.n(r),a=n(1),c=n(39),o=n(2),l=n(3),s=n(18),u=n(35),d=n(9),g=n(41),f=n(13),m=n(23),p=n(8),h=n(10),v=n(21),b=n(66);function AudienceCreationErrorNotice(t){var n,r,i=t.apiErrors,E=t.hasOAuthError,_=Object(s.a)(),O=Array.isArray(i)?i:[i],y=Object(l.useSelect)((function(e){return e(f.c).getErrorTroubleshootingLinkURL({code:"analytics-4_insufficient_permissions"})})),k=Object(l.useSelect)((function(e){return e(p.r).getServiceEntityAccessURL()})),j=Object(l.useSelect)((function(e){return e(f.c).getErrorTroubleshootingLinkURL({code:"access_denied"})})),S=Object(l.useSelect)((function(e){return e(m.b).getValue(g.i)})),w=O.length>0,C=O.some((function(e){return Object(u.e)(e)}));return Object(a.useEffect)((function(){if(S&&(w||E)){var e="setup_error";E?e="auth_error":C&&(e="insufficient_permissions_error"),Object(d.J)("".concat(_,"_audiences-sidebar-create-audiences"),e)}}),[w,C,E,S,_]),O.length||E?(E?r=Object(c.a)(Object(o.__)("Setup was interrupted because you didn’t grant the necessary permissions. Click on Create again to retry. If that doesn’t work, ","google-site-kit"),{HelpLink:e.createElement(v.a,{href:j,external:!0,hideExternalIndicator:!0},Object(o.__)("get help","google-site-kit"))}):C?(n=Object(o.__)("Insufficient permissions","google-site-kit"),r=Object(c.a)(Object(o.__)("Contact your administrator. Trouble getting access? ","google-site-kit"),{HelpLink:e.createElement(v.a,{href:y,external:!0,hideExternalIndicator:!0},Object(o.__)("Get help","google-site-kit"))})):(n=Object(o.__)("Analytics update failed","google-site-kit"),r=Object(o.__)("Click on Create to try again.","google-site-kit")),e.createElement("div",{className:"googlesitekit-audience-creation-error-notice"},e.createElement(b.a,{width:24,height:24}),e.createElement("div",{className:"googlesitekit-audience-creation-error-notice__content"},n&&e.createElement("p",{className:"googlesitekit-audience-creation-error-notice__title"},n),e.createElement("p",{className:"googlesitekit-audience-creation-error-notice__description"},r)),C&&e.createElement("div",{className:"googlesitekit-audience-creation-error-notice__actions"},e.createElement(h.Button,{href:k,target:"_blank",danger:!0,onClick:function(){Object(d.J)("".concat(_,"_audiences-sidebar-create-audiences"),"insufficient_permissions_error_request_access")}},Object(o.__)("Request access","google-site-kit"))))):null}AudienceCreationErrorNotice.propTypes={apiErrors:i.a.oneOfType([i.a.arrayOf(i.a.object),i.a.object,i.a.array]),hasOAuthError:i.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ErrorNotice}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(15),l=n.n(o),s=n(1),u=n(39),d=n(2),g=n(3),f=n(18),m=n(9),p=n(41),h=n(13),v=n(23),b=n(8),E=n(35),_=n(21),O=n(134),y=n(490),k=n(380);function ErrorNotice(){var t=Object(f.a)(),n=Object(g.useSelect)((function(e){return e(b.r).getErrorForAction("syncAvailableAudiences")})),r=Object(g.useInViewSelect)((function(e){return e(b.r).getAudienceUserCountReportErrors()}))||[],a=l()(r,2),o=a[0],j=a[1],S=Object(g.useSelect)((function(e){return e(h.c).getErrorTroubleshootingLinkURL({code:"analytics-4_insufficient_permissions"})})),w=Object(g.useSelect)((function(e){return e(v.b).getValue(p.i)})),C=Object(g.useDispatch)(b.r),A=C.clearError,x=C.syncAvailableAudiences,T=Object(s.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,A("syncAvailableAudiences");case 2:x();case 3:case"end":return e.stop()}}),e)}))),[A,x]),N=[];n&&N.push(n),j&&N.push(j),o&&N.push(o);var D=N.length>0,M=N.some((function(e){return Object(E.e)(e)}));if(Object(s.useEffect)((function(){w&&D&&Object(m.J)("".concat(t,"_audiences-sidebar"),M?"insufficient_permissions_error":"data_loading_error")}),[D,M,w,t]),!N.length)return null;var R=[j,o].some((function(e){return!!e}));return e.createElement("div",{className:"googlesitekit-audience-selection-panel__error-notice"},e.createElement("p",null,M?Object(u.a)(Object(d.__)("Insufficient permissions, contact your administrator. Trouble getting access? ","google-site-kit"),{HelpLink:e.createElement(_.a,{href:S,external:!0,hideExternalIndicator:!0},Object(d.__)("Get help","google-site-kit"))}):Object(d.__)("Data loading failed","google-site-kit")),e.createElement("div",{className:"googlesitekit-audience-selection-panel__error-notice-actions"},M||R?e.createElement(O.a,{moduleSlug:"analytics-4",error:N,hideGetHelpLink:!0,buttonVariant:"danger",RequestAccessButton:y.a,RetryButton:k.a}):e.createElement(k.a,{handleRetry:T})))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return RequestAccessButton}));var r=n(0),i=n.n(r),a=n(2),c=n(10),o=n(9),l=n(18);function RequestAccessButton(t){var n=t.requestAccessURL,r=Object(l.a)();return e.createElement(c.Button,{className:"googlesitekit-audience-selection-panel__error-notice-action",tertiary:!0,href:n,target:"_blank",onClick:function(){Object(o.J)("".concat(r,"_audiences-sidebar"),"insufficient_permissions_error_request_access")}},Object(a.__)("Request access","google-site-kit"))}RequestAccessButton.propTypes={requestAccessURL:i.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Footer}));var r=n(5),i=n.n(r),a=n(27),c=n.n(a),o=n(16),l=n.n(o),s=n(15),u=n.n(s),d=n(7),g=n.n(d),f=n(0),m=n.n(f),p=n(1),h=n(2),v=n(3),b=n(18),E=n(9),_=n(41),O=n(29),y=n(6),k=n(8),j=n(114);function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function w(e){for(var t=1;t_.j&&(n=Object(h.sprintf)( +/* translators: 1: Maximum number of groups that can be selected. 2: Number of selected groups. */ +Object(h.__)("Select up to %1$d groups (%2$d selected)","google-site-kit"),_.j,D));var M=Object(p.useState)(null),R=u()(M,2),B=R[0],I=R[1],P=Object(p.useCallback)(function(){var e=l()(i.a.mark((function e(t){var n,r,a,o;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return I(null),e.next=3,x({configuredAudiences:t});case 3:if(n=e.sent,r=n.error){e.next=14;break}if(a=(null==S?void 0:S.filter((function(e){var n=e.replace("audience-tile-","");return!t.includes(n)})))||[],t.every((function(e){return null==S?void 0:S.includes("audience-tile-".concat(e))}))&&a.push("audience-tile-".concat(t[0])),!((null==a?void 0:a.length)>0)){e.next=14;break}return e.next=11,T.apply(void 0,c()(a));case 11:o=e.sent,(r=o.error)&&I(r);case 14:return e.abrupt("return",{error:r});case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[S,T,x]),L=Object(p.useCallback)((function(){var e={USER_AUDIENCE:"user",SITE_KIT_AUDIENCE:"site-kit",DEFAULT_AUDIENCE:"default"},t=N(),n=Object.keys(e).map((function(n){var r=t.filter((function(e){var t=null==C?void 0:C.find((function(t){var n=t.name;return e===n}));return(null==t?void 0:t.audienceType)===n}));return"".concat(e[n],":").concat(r.length)})).join(",");Object(E.J)("".concat(s,"_audiences-sidebar"),"audiences_sidebar_save",n)}),[C,N,s]),F=Object(p.useCallback)((function(){Object(E.J)("".concat(s,"_audiences-sidebar"),"audiences_sidebar_cancel")}),[s]);return e.createElement(j.a,{savedItemSlugs:o,selectedItemSlugs:d,saveSettings:P,saveError:f||B,itemLimitError:n,minSelectedItemCount:_.k,maxSelectedItemCount:_.j,isBusy:m,isOpen:r,closePanel:a,onSaveSuccess:L,onCancel:F})}Footer.propTypes={isOpen:m.a.bool,closePanel:m.a.func.isRequired,savedItemSlugs:m.a.array}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Header}));var r=n(0),i=n.n(r),a=n(1),c=n(39),o=n(2),l=n(3),s=n(32),u=n(13),d=n(6),g=n(36),f=n(21),m=n(114);function Header(t){var n=t.closePanel,r=Object(g.a)(),i=Object(l.useSelect)((function(e){return e(u.c).getAdminURL("googlesitekit-settings")})),p=Object(l.useSelect)((function(e){return e(d.a).isSavingAudienceSettings()})),h=Object(l.useDispatch)(s.a).navigateTo,v=Object(a.useCallback)((function(){return h("".concat(i,"#/admin-settings"))}),[h,i]);return e.createElement(m.b,{title:Object(o.__)("Select visitor groups","google-site-kit"),onCloseClick:n},!r&&e.createElement("p",null,Object(c.a)(Object(o.__)("You can deactivate this widget in Settings","google-site-kit"),{link:e.createElement(f.a,{secondary:!0,onClick:v,disabled:p}),strong:e.createElement("strong",null)})))}Header.propTypes={closePanel:i.a.func.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LearnMoreLink}));var r=n(2),i=n(39),a=n(3),c=n(13),o=n(21);function LearnMoreLink(){var t=Object(a.useSelect)((function(e){return e(c.c).getGoogleSupportURL({path:"/analytics/answer/12799087"})}));return e.createElement("div",{className:"googlesitekit-audience-selection-panel__learn-more"},Object(i.a)(Object(r.__)("Learn more about grouping site visitors and audiences in Analytics","google-site-kit"),{link:e.createElement(o.a,{secondary:!0,href:t,external:!0}),strong:e.createElement("strong",null)}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AudienceCreationSuccessNotice}));var r=n(1),i=n(2),a=n(3),c=n(18),o=n(9),l=n(41),s=n(23),u=n(10),d=n(141);function AudienceCreationSuccessNotice(){var t=Object(c.a)(),n=Object(a.useDispatch)(s.b).setValue,g=Object(a.useSelect)((function(e){return e(s.b).getValue(l.e)})),f=Object(a.useSelect)((function(e){return e(s.b).getValue(l.i)}));return Object(r.useEffect)((function(){f&&g&&Object(o.J)("".concat(t,"_audiences-sidebar-create-audiences-success"),"view_notification")}),[f,g,t]),g?e.createElement("div",{className:"googlesitekit-audience-selection-panel__success-notice"},e.createElement("div",{className:"googlesitekit-audience-selection-panel__success-notice-icon"},e.createElement(d.a,{width:24,height:24})),e.createElement("p",{className:"googlesitekit-audience-selection-panel__success-notice-message"},Object(i.__)("Visitor group created successfully!","google-site-kit")),e.createElement("div",{className:"googlesitekit-audience-selection-panel__success-notice-actions"},e.createElement(u.Button,{tertiary:!0,onClick:function(){Object(o.J)("".concat(t,"_audiences-sidebar-create-audiences-success"),"dismiss_notification").finally((function(){n(l.e,!1)}))}},Object(i.__)("Got it","google-site-kit")))):null}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"):Object(s.__)("Turn casual visitors into loyal readers and earn more from your content with voluntary contributions, surveys, newsletter sign-ups and reader insight tools. Learn more","google-site-kit"),{a:e.createElement(y.a,{id:r,label:Object(s.__)("Learn more","google-site-kit"),url:"https://readerrevenue.withgoogle.com"})}),!S&&e.createElement(o.Fragment,null,e.createElement("br",null),e.createElement("br",null),Object(s.__)("* Support for subscriptions coming soon","google-site-kit")))),actions:e.createElement(k.a,{id:r,className:"googlesitekit-setup-cta-banner__actions-wrapper",ctaLabel:Object(s.__)("Set up Reader Revenue Manager","google-site-kit"),onCTAClick:w,dismissLabel:T?Object(s.__)("Don’t show again","google-site-kit"):Object(s.__)("Maybe later","google-site-kit"),onDismiss:C,dismissOptions:{skipHidingFromQueue:!0},dismissExpires:2*j.g}),SVG:R[c]||h.a}))}ReaderRevenueManagerSetupCTABanner.propTypes={id:c.a.string,Notification:c.a.elementType}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return RRMSetupSuccessSubtleNotification}));var i=n(20),a=n.n(i),c=n(5),o=n.n(c),l=n(16),s=n.n(l),u=n(7),d=n.n(u),g=n(15),f=n.n(g),m=n(1),p=n(2),h=n(3),v=n(189),b=n(352),E=n(29),_=n(51),O=n(173),y=n(251),k=n(142),j=n(23),S=_.d.ONBOARDING_COMPLETE,w=_.d.PENDING_VERIFICATION,C=_.d.ONBOARDING_ACTION_REQUIRED;function RRMSetupSuccessSubtleNotification(t){var n=t.id,i=t.Notification,c=Object(v.a)("notification"),l=f()(c,2)[1],u=Object(v.a)("slug"),g=f()(u,2)[1],A=[w,C],x=Object(h.useSelect)((function(e){return e(_.c).getPublicationOnboardingState()})),T=Object(h.useSelect)((function(e){return e(_.c).getPublicationID()})),N=Object(h.useSelect)((function(e){return e(_.c).getServiceURL({path:"reader-revenue-manager",query:{publication:T}})})),D=Object(h.useSelect)((function(e){return e(E.a).getValue(_.f,_.j)&&A.includes(x)})),M=Object(h.useDispatch)(E.a).setValues,R=Object(h.useDispatch)(j.b).setValue,B=Object(h.useDispatch)(_.c).syncPublicationOnboardingState,I=function(){l(void 0),g(void 0)},P=function(t){t.preventDefault(),A.includes(x)&&M(_.f,d()({},_.j,!0)),e.open(N,"_blank")},L=Object(h.useSelect)((function(e){return e(_.c).getPublicationOnboardingState()})),F=Object(m.useCallback)(s()(o.a.mark((function e(){var t,n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(D){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,B();case 4:t=e.sent,n=t.response,r=null==n?void 0:n.publicationOnboardingState,L&&r!==L&&r===_.d.ONBOARDING_COMPLETE&&R(_.k,!0);case 8:case"end":return e.stop()}}),e)}))),[L,R,D,B]);Object(b.a)(F,15e3);var z={gaTrackingEventArgs:{label:x}};return x===S?r.createElement(i,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up!","google-site-kit"),description:Object(p.__)("Unlock your full reader opportunity by enabling features like subscriptions, contributions and newsletter sign ups in the Reader Revenue Manager settings.","google-site-kit"),dismissCTA:r.createElement(k.a,a()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:I},z)),additionalCTA:r.createElement(y.a,a()({id:n,ctaLabel:Object(p.__)("Customize settings","google-site-kit"),ctaLink:N,onCTAClick:P,isCTALinkExternal:!0},z))})):x===w?r.createElement(i,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up!","google-site-kit"),description:Object(p.__)("Your publication is still awaiting review, you can check its status in Reader Revenue Manager.","google-site-kit"),dismissCTA:r.createElement(k.a,a()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:I},z)),additionalCTA:r.createElement(y.a,a()({id:n,ctaLabel:Object(p.__)("Check publication status","google-site-kit"),ctaLink:N,onCTAClick:P,isCTALinkExternal:!0},z))})):x===C?r.createElement(i,z,r.createElement(O.a,{title:Object(p.__)("Your Reader Revenue Manager account was successfully set up, but your publication still requires further setup in Reader Revenue Manager.","google-site-kit"),dismissCTA:r.createElement(k.a,a()({id:n,primary:!1,dismissLabel:Object(p.__)("Got it","google-site-kit"),onDismiss:I},z)),additionalCTA:r.createElement(y.a,a()({id:n,ctaLabel:Object(p.__)("Complete publication setup","google-site-kit"),ctaLink:N,onCTAClick:P,isCTALinkExternal:!0},z)),type:"warning"})):null}}).call(this,n(28),n(4))},,,,,,,,,function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0)){e.next=6;break}return M(E.o,{autoSubmit:!0}),R({code:_.a,message:Object(d.__)("Additional permissions are required to enable enhanced measurement for the selected web data stream","google-site-kit"),data:{status:403,scopes:t,skipModal:!0,redirectURL:x}}),e.abrupt("return");case 6:return e.next=8,C();case 8:case"end":return e.stop()}}),e)}))),[T,C,x,R,M]),I=Object(u.useCallback)((function(){Object(O.J)("".concat(A,"_enhanced-measurement-notification"),"dismiss_notification"),null==s||s()}),[s,A]),P=Object(u.useCallback)((function(){Object(O.J)("".concat(A,"_enhanced-measurement-notification"),"click_learn_more_link")}),[A]);Object(u.useEffect)((function(){Object(O.J)("".concat(A,"_enhanced-measurement-notification"),"view_notification")}),[A]);var L=T?Object(d.__)("Enable enhanced measurement in Analytics to automatically track metrics like file downloads, video plays, form interactions, etc. No extra code required.","google-site-kit"):Object(d.__)("Enable enhanced measurement in Analytics to automatically track metrics like file downloads, video plays, form interactions, etc. No extra code required — you’ll be redirected to give permission for Site Kit to enable it on your behalf.","google-site-kit");return r.createElement(y.b,{id:"googlesitekit-enhanced-measurement-activation-banner",className:"googlesitekit-enhanced-measurement-setup-banner",title:Object(d.__)("Understand how visitors interact with your content","google-site-kit"),description:L,learnMoreLabel:Object(d.__)("Learn more","google-site-kit"),learnMoreURL:N,onLearnMoreClick:P,ctaComponent:r.createElement(m.SpinnerButton,{onClick:B,isSaving:l||D},Object(d.__)("Enable now","google-site-kit")),footer:r.createElement("p",{className:"googlesitekit-enhanced-measurement-setup-banner__footer-notice"},Object(d.__)("You can always add/edit this in the Site Kit Settings","google-site-kit")),dismiss:Object(d.__)("Maybe later","google-site-kit"),WinImageSVG:function WinImageSVG(){return r.createElement(k.a,null)},format:"small",dismissExpires:O.f,onDismiss:I},i&&r.createElement(j.a,{error:i}),!c&&r.createElement(S.a,{triggerID:"view_enhanced_measurement_cta",ttl:O.a}),n)}SetupBanner.propTypes={onSubmitSuccess:s.a.func,onDismiss:s.a.func,children:s.a.node}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SuccessBanner}));var r=n(2),i=n(1),a=n(3),c=n(13),o=n(6),l=n(150),s=n(95),u=n(408),d=n(18),g=n(9);function SuccessBanner(){var t=Object(d.a)(),n=Object(a.useSelect)((function(e){return e(c.c).getGoogleSupportURL({path:"/analytics/answer/9216061"})})),f=Object(a.useDispatch)(o.a).dismissItem,m=Object(i.useCallback)((function(){f(l.e),Object(g.J)("".concat(t,"_enhanced-measurement-success"),"confirm_notification")}),[t,f]);return Object(i.useEffect)((function(){Object(g.J)("".concat(t,"_enhanced-measurement-success"),"view_notification")}),[t]),e.createElement(s.b,{id:"googlesitekit-enhanced-measurement-activation-banner",className:"googlesitekit-enhanced-measurement-success-banner",title:Object(r.__)("You successfully enabled enhanced measurement for your site","google-site-kit"),description:Object(r.__)("Your configured Analytics web data stream will now automatically measure interactions on your site in addition to standard page views measurement.","google-site-kit"),dismiss:Object(r.__)("OK, Got it","google-site-kit"),onDismiss:m,WinImageSVG:function WinImageSVG(){return e.createElement(u.a,null)},format:"small",type:"win-success",learnMoreLabel:Object(r.__)("Learn more","google-site-kit"),learnMoreURL:n})}}).call(this,n(4))},,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PanelContent}));var r=n(11),i=n.n(r),a=n(0),c=n.n(a),o=n(1),l=n(688),s=n(689),u=n(690),d=n(692),g=n(694);function PanelContent(t){var n=t.isOpen,r=void 0!==n&&n,a=t.closePanel,c=t.savedViewableMetrics,f=t.showHeader,m=void 0===f||f,p=t.setIsNavigatingToOAuthURL,h=t.isFullScreen,v=void 0!==h&&h;return e.createElement(o.Fragment,null,m&&e.createElement(s.a,{closePanel:a}),e.createElement(d.a,{savedMetrics:c}),e.createElement(l.a,null),e.createElement("div",{className:i()("googlesitekit-user-input__footer-container",{"googlesitekit-user-input__footer-container--fullscreen":v})},e.createElement(g.a,{savedMetrics:c}),e.createElement(u.a,{isOpen:r,closePanel:a,savedMetrics:c,onNavigationToOAuthURL:function(){p(!0)},isFullScreen:v})))}PanelContent.propTypes={isOpen:c.a.bool,closePanel:c.a.func.isRequired,savedViewableMetrics:c.a.array,showHeader:c.a.bool,setIsNavigatingToOAuthURL:c.a.func,isFullScreen:c.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(2),a=n(414),c=n(1),o=n(3),l=n(29),s=n(6),u=n(8),d=n(26),g=n(143),f=n(543),m=n(50);t.a=Object(m.a)({moduleName:"analytics-4"})((function CustomDimensionsNotice(){var t=Object(o.useSelect)((function(e){return e(l.a).getValue(d.j,d.i)})),n=null==t?void 0:t.flatMap((function(e){var t=g.a[e];return(null==t?void 0:t.requiredCustomDimensions)||[]})),m=Object(o.useInViewSelect)((function(e){return!!(null==n?void 0:n.length)&&!e(u.r).hasCustomDimensions(n)}),[n]),p=Object(o.useInViewSelect)((function(e){return e(s.a).hasScope(u.h)}));Object(o.useInViewSelect)((function(e){return e(u.r).getAvailableCustomDimensions()}));var h=Object(a.a)(m),v=Object(c.useRef)();if(Object(c.useEffect)((function(){if(m&&!1===h){var t=e.document.activeElement;t&&t.closest(".googlesitekit-selection-panel-item")&&Object(f.a)(v.current,t)&&t.scrollIntoView()}}),[m,h]),!1===m)return null;var b=p?Object(i.__)("The metrics you selected require more data tracking. We will update your Analytics property after saving your selection.","google-site-kit"):Object(i.__)("The metrics you selected require more data tracking. You will be directed to update your Analytics property after saving your selection.","google-site-kit");return r.createElement("div",{className:"googlesitekit-selection-panel-notice",ref:v},r.createElement("p",null,b))}))}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Header}));var r=n(0),i=n.n(r),a=n(1),c=n(39),o=n(2),l=n(3),s=n(32),u=n(13),d=n(6),g=n(26),f=n(21),m=n(114),p=n(36),h=n(105);function Header(t){var n=t.closePanel,r=Object(p.a)(),i=Object(h.a)("conversionReporting"),v=Object(l.useSelect)((function(e){return e(u.c).getAdminURL("googlesitekit-settings")})),b=Object(l.useSelect)((function(e){return e(d.a).isSavingKeyMetricsSettings()})),E=Object(l.useDispatch)(s.a).navigateTo,_=Object(a.useCallback)((function(){return E("".concat(v,"#/admin-settings"))}),[E,v]);return e.createElement(m.b,{title:i?Object(o.sprintf)( +/* translators: %d: number of max allowed metrics */ +Object(o._n)("Select up to %d metric","Select up to %d metrics",g.n,"google-site-kit"),g.n):Object(o.__)("Select your metrics","google-site-kit"),onCloseClick:n},!r&&e.createElement("p",null,Object(c.a)(Object(o.__)("Edit your personalized goals or deactivate this widget in Settings","google-site-kit"),{link:e.createElement(f.a,{secondary:!0,onClick:_,disabled:b}),strong:e.createElement("strong",null)})))}Header.propTypes={closePanel:i.a.func.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return Footer}));var i=n(5),a=n.n(i),c=n(16),o=n.n(c),l=n(0),s=n.n(l),u=n(1),d=n(165),g=n(2),f=n(3),m=n(6),p=n(29),h=n(32),v=n(19),b=n(26),E=n(8),_=n(143),O=n(35),y=n(18),k=n(9),j=n(691),S=n(105);function Footer(t){var n=t.isOpen,i=t.closePanel,c=t.savedMetrics,l=t.onNavigationToOAuthURL,s=void 0===l?function(){}:l,w=t.isFullScreen,C=void 0!==w&&w,A=Object(y.a)(),x=Object(S.a)("conversionReporting"),T=Object(f.useSelect)((function(e){return e(p.a).getValue(b.j,b.i)})),N=Object(f.useSelect)((function(e){return e(m.a).isSavingKeyMetricsSettings()})),D="".concat(A,"_kmw-sidebar"),M=null==T?void 0:T.flatMap((function(e){var t=_.a[e];return(null==t?void 0:t.requiredCustomDimensions)||[]})),R=Object(f.useInViewSelect)((function(e){return!!(null==M?void 0:M.length)&&!e(E.r).hasCustomDimensions(M)}),[M]),B=Object(f.useInViewSelect)((function(e){return e(m.a).hasScope(E.h)})),I=Object(f.useSelect)((function(e){return e(v.a).isModuleConnected("analytics-4")})),P=Object(d.a)(e.location.href,{notification:"custom_dimensions"}),L=Object(f.useSelect)((function(e){var t=e(m.a).getConnectURL({additionalScopes:[E.h],redirectURL:P});return!!t&&e(h.a).isNavigatingTo(t)})),F=Object(f.useDispatch)(m.a),z=F.saveKeyMetricsSettings,V=F.setPermissionScopeError,W=Object(f.useDispatch)(p.a).setValues,G=Object(f.useSelect)((function(e){return e(E.r).getKeyMetricsConversionEventWidgets()})),U=Object(u.useCallback)(function(){var e=o()(a.a.mark((function e(t){var n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,z({widgetSlugs:t});case 2:return n=e.sent,r=n.error,e.abrupt("return",{error:r});case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[z]),H=Object(u.useCallback)((function(e){Object.values(G).flat().some((function(t){return e.includes(t)}))?Object(k.J)(D,"metrics_sidebar_save","conversion_reporting"):Object(k.J)(D,"metrics_sidebar_save"),I&&R&&(W(E.n,{autoSubmit:!0}),B||(s(),i(),V({code:O.a,message:Object(g.__)("Additional permissions are required to create new Analytics custom dimensions","google-site-kit"),data:{status:403,scopes:[E.h],skipModal:!0,redirectURL:P}})))}),[D,I,R,W,B,s,i,V,P,G]),q=Object(u.useCallback)((function(){Object(k.J)(D,"metrics_sidebar_cancel")}),[D]),K=x?b.n:b.m;return r.createElement(j.a,{savedItemSlugs:c,selectedItemSlugs:T,saveSettings:U,minSelectedItemCount:b.o,maxSelectedItemCount:K,isBusy:N||L,onSaveSuccess:function(){H(T)},onCancel:q,isOpen:n,closePanel:i,isFullScreen:C})}Footer.propTypes={isOpen:s.a.bool,closePanel:s.a.func.isRequired,savedMetrics:s.a.array,onNavigationToOAuthURL:s.a.func,isFullScreen:s.a.bool}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelFooter}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(15),l=n.n(o),s=n(14),u=n(0),d=n.n(u),g=n(1),f=n(39),m=n(2),p=n(3),h=n(10),v=n(9),b=n(8),E=n(42);function SelectionPanelFooter(t){var n=t.savedItemSlugs,r=void 0===n?[]:n,a=t.selectedItemSlugs,o=void 0===a?[]:a,u=t.saveSettings,d=void 0===u?function(){}:u,_=t.minSelectedItemCount,O=void 0===_?0:_,y=t.maxSelectedItemCount,k=void 0===y?0:y,j=t.isBusy,S=t.onSaveSuccess,w=void 0===S?function(){}:S,C=t.onCancel,A=void 0===C?function(){}:C,x=t.isOpen,T=t.closePanel,N=void 0===T?function(){}:T,D=t.isFullScreen,M=void 0!==D&&D,R=Object(g.useState)(null),B=l()(R,2),I=B[0],P=B[1],L=Object(g.useState)(!1),F=l()(L,2),z=F[0],V=F[1],W=Object(p.useSelect)((function(e){return e(b.r).isFetchingSyncAvailableAudiences()})),G=Object(g.useMemo)((function(){return!Object(s.isEqual)(Object(v.F)(o),Object(v.F)(r))}),[r,o]),U=(null==r?void 0:r.length)>0&&G?Object(m.__)("Apply changes","google-site-kit"):Object(m.__)("Save selection","google-site-kit");M&&(U=Object(m.__)("Complete setup","google-site-kit"));var H=Object(g.useCallback)(c()(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(o);case 2:t=e.sent,t.error||(w(),N(),P(U),V(!0));case 5:case"end":return e.stop()}}),e)}))),[d,o,w,N,U]),q=Object(g.useCallback)((function(){N(),A()}),[N,A]),K=Object(g.useState)(null),J=l()(K,2),Y=J[0],$=J[1];Object(g.useEffect)((function(){null!==Y&&Y!==x&&x&&(P(null),V(!1)),$(x)}),[x,Y]);var X=(null==o?void 0:o.length)||0,Q=W?e.createElement(E.a,{width:"89px",height:"20px"}):e.createElement("p",{className:"googlesitekit-selection-panel-footer__item-count"},Object(f.a)(Object(m.sprintf)( +/* translators: 1: Number of selected items. 2: Maximum number of items that can be selected. */ +Object(m.__)("%1$d selected (up to %2$d)","google-site-kit"),X,k),{MaxCount:e.createElement("span",{className:"googlesitekit-selection-panel-footer__item-count--max-count"})}));return e.createElement("footer",{className:"googlesitekit-selection-panel-footer"},e.createElement("div",{className:"googlesitekit-selection-panel-footer__content"},e.createElement("div",{className:"googlesitekit-selection-panel-footer__actions"},e.createElement(h.Button,{tertiary:!0,onClick:q,disabled:j},Object(m.__)("Cancel","google-site-kit")),Q,e.createElement(h.SpinnerButton,{onClick:H,isSaving:j,disabled:Xk||j||!x&&z},I||U))))}SelectionPanelFooter.propTypes={savedItemSlugs:d.a.array,selectedItemSlugs:d.a.array,saveSettings:d.a.func,saveError:d.a.object,itemLimitError:d.a.string,minSelectedItemCount:d.a.number,maxSelectedItemCount:d.a.number,isBusy:d.a.bool,onSaveSuccess:d.a.func,onCancel:d.a.func,isOpen:d.a.bool,closePanel:d.a.func,isFullScreen:d.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricItems}));var r=n(7),i=n.n(r),a=n(0),c=n.n(a),o=n(2),l=n(3),s=n(84),u=n(6),d=n(47),g=n(143),f=n(309),m=n(36),p=n(105),h=n(693),v=n(114);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;tO&&(n=Object(c.sprintf)( +/* translators: 1: Maximum number of metrics that can be selected. 2: Number of selected metrics. */ +Object(c.__)("Select up to %1$d metrics (%2$d selected)","google-site-kit"),O,_));var y=E;return b&&n&&(y={message:n}),e.createElement(g.a,{error:y,skipRetryMessage:!!n})}))}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SelectionPanelError}));var i=n(0),a=n.n(i),c=n(1),o=n(543),l=n(111),s=n(66);function SelectionPanelError(t){var n=t.error,i=t.noPrefix,a=void 0===i||i,u=t.skipRetryMessage,d=void 0===u||u,g=Object(c.useRef)();return Object(c.useEffect)((function(){if(n){var t=e.document.activeElement;t&&t.closest(".googlesitekit-selection-panel-item")&&Object(o.a)(g.current,t)&&t.scrollIntoView()}}),[n]),n?r.createElement("div",{className:"googlesitekit-selection-panel-error",ref:g},r.createElement(l.a,{Icon:s.a,error:n,noPrefix:a,skipRetryMessage:d})):null}SelectionPanelError.propTypes={error:a.a.shape({message:a.a.string}),noPrefix:a.a.bool,skipRetryMessage:a.a.bool}}).call(this,n(28),n(4))},,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DashboardSharingSettingsButton}));var r=n(2),i=n(1),a=n(3),c=n(10),o=n(409),l=n(18),s=n(9),u=n(29),d=n(23),g=n(13),f=n(8),m=n(153),p=n(699);function DashboardSharingSettingsButton(){var t=Object(l.a)(),n=Object(a.useDispatch)(d.b).setValue,h=Object(a.useSelect)((function(e){return e(g.c).hasMultipleAdmins()})),v=Object(a.useSelect)((function(e){return e(u.a).getValue(f.d,"isAutoCreatingCustomDimensionsForAudience")})),b=Object(i.useCallback)((function(){Object(s.J)("".concat(t,"_headerbar"),"open_sharing",h?"advanced":"simple"),n(m.c,!0)}),[n,t,h]);return e.createElement(i.Fragment,null,e.createElement(c.Button,{"aria-label":Object(r.__)("Open sharing settings","google-site-kit"),className:"googlesitekit-sharing-settings__button googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon",onClick:b,icon:e.createElement(o.a,{width:20,height:20}),tooltipEnterDelayInMS:500,disabled:v}),e.createElement(p.a,null))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DashboardSharingDialog}));var r=n(809),i=n(11),a=n.n(i),c=n(2),o=n(1),l=n(39),s=n(260),u=n(1194),d=n(3),g=n(10),f=n(23),m=n(6),p=n(13),h=n(19),v=n(153),b=n(24),E=n(540),_=n(73),O=n(17),y=n(409),k=n(21),j=n(700),S=n(703);function DashboardSharingDialog(){var t=Object(b.e)(),n=Object(r.a)().y,i=Object(d.useDispatch)(f.b).setValue,w=Object(d.useDispatch)(m.a).triggerOnDemandTour,C=Object(d.useDispatch)(h.a).rollbackSharingSettings,A=Object(d.useSelect)((function(e){return!!e(f.b).getValue(v.c)})),x=Object(d.useSelect)((function(e){return!!e(f.b).getValue(v.b)})),T=Object(d.useSelect)((function(e){return e(f.b).getValue(v.a)})),N=Object(d.useSelect)((function(e){return e(h.a).haveSharingSettingsChanged()})),D=Object(d.useSelect)((function(e){return e(p.c).getDocumentationLinkURL("dashboard-sharing")})),M=Object(o.useRef)(),R=Object(o.useCallback)((function(){M.current||(M.current=!0,w(E.a))}),[w]),B={};t===b.b&&(B.top="".concat(n<46?46-n:0,"px"),B.height="calc(100% - 46px + ".concat(n<46?n:46,"px)")),Object(o.useEffect)((function(){!A&&N&&C()}),[A,N,C]);var I=Object(o.useCallback)((function(){i(v.c,!0)}),[i]),P=Object(o.useCallback)((function(){i(v.c,!1),i(v.a,void 0)}),[i]),L=Object(o.useCallback)((function(){P(),i(v.b,!0)}),[P,i]),F=Object(o.useCallback)((function(){i(v.b,!1),I()}),[I,i]),z=Object(o.useCallback)((function(){if(x)return F(),null;P()}),[F,P,x]);return e.createElement(_.a,null,e.createElement(O.b,{open:A||x,onOpen:R,onClose:z,className:"googlesitekit-dialog googlesitekit-sharing-settings-dialog",style:B,escapeKeyAction:void 0===T?"close":""},e.createElement("div",{className:"googlesitekit-dialog__back-wrapper","aria-hidden":t!==b.b},e.createElement(g.Button,{"aria-label":Object(c.__)("Back","google-site-kit"),className:"googlesitekit-dialog__back",onClick:z},e.createElement(s.a,{icon:u.a}))),e.createElement(O.c,{className:"googlesitekit-dialog__content"},e.createElement("div",{className:"googlesitekit-dialog__header"},A&&e.createElement("div",{className:"googlesitekit-dialog__header-icon","aria-hidden":t===b.b},e.createElement("span",null,e.createElement(y.a,{width:20,height:20}))),e.createElement("div",{className:"googlesitekit-dialog__header-titles"},e.createElement("h2",{className:"googlesitekit-dialog__title"},A&&Object(c.__)("Dashboard sharing & permissions","google-site-kit"),x&&Object(c.__)("Reset Dashboard Sharing permissions","google-site-kit")),e.createElement("p",{className:a()("googlesitekit-dialog__subtitle",{"googlesitekit-dialog__subtitle--emphasis":x})},A&&Object(l.a)(Object(c.__)("Share a view-only version of your Site Kit dashboard with other WordPress roles. Learn more","google-site-kit"),{a:e.createElement(k.a,{"aria-label":Object(c.__)("Learn more about dashboard sharing","google-site-kit"),href:D,external:!0})}),x&&Object(c.__)("Warning: Resetting these permissions will remove view-only access for all users. Are you sure you want to reset all Dashboard Sharing permissions?","google-site-kit")))),A&&e.createElement("div",{className:"googlesitekit-dialog__main"},e.createElement(j.a,null))),e.createElement(O.d,{className:"googlesitekit-dialog__footer"},e.createElement(S.a,{closeDialog:z,openResetDialog:L}))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return DashboardSharingSettings}));var i=n(11),a=n.n(i),c=n(2),o=n(3),l=n(701),s=n(19),u=n(13),d=n(6);function DashboardSharingSettings(){var t=Object(o.useSelect)((function(e){return e(s.a).hasRecoverableModules()})),n=Object(o.useSelect)((function(e){return e(u.c).hasMultipleAdmins()})),i=t||n,g=Object(o.useSelect)((function(t){for(var n=t(d.a).getID(),r=t(s.a).getShareableModules(),i=[],a=[],c=[],o=0,l=Object.values(r);oLearn more","google-site-kit"),{Link:e.createElement(w.a,{href:W,external:!0,hideExternalIndicator:!0})})),!L&&!c&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},Object(s.__)("Contact managing user to manage view access","google-site-kit"))),B&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__column--manage"},U&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},e.createElement("span",null,Object(s.__)("Any admin signed in with Google","google-site-kit")),e.createElement(m.Tooltip,{title:Object(s.__)("This service requires general access to Google APIs rather than access to a specific user-owned property/entity, so view access is manageable by any admin signed in with Google.","google-site-kit")},e.createElement("span",{className:"googlesitekit-dashboard-sharing-settings__tooltip-icon"},e.createElement(u.a,{icon:d.a,size:18})))),!U&&P&&e.createElement(m.Select,{className:"googlesitekit-dashboard-sharing-settings__select",value:N,options:C,onChange:q,onClick:q,outlined:!0}),!U&&!P&&a&&e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__note"},Object(f.a)(Object(s.sprintf)( +/* translators: %s: user who manages the module. */ +Object(s.__)("Managed by %s","google-site-kit"),a),{span:e.createElement("span",null),strong:e.createElement("strong",null)}),e.createElement(m.Tooltip,{title:L?Object(s.sprintf)( +/* translators: %s: name of the user who manages the module. */ +Object(s.__)("%s has connected this and given managing permissions to all admins. You can change who can view this on the dashboard.","google-site-kit"),a):Object(s.sprintf)( +/* translators: %s: name of the user who manages the module. */ +Object(s.__)("Contact %s to change who can manage view access for this module","google-site-kit"),a)},e.createElement("span",{className:"googlesitekit-dashboard-sharing-settings__tooltip-icon"},e.createElement(u.a,{icon:d.a,size:18}))))))}Module.propTypes={moduleSlug:c.a.string.isRequired,moduleName:c.a.string.isRequired,ownerUsername:c.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(27),i=n.n(r),a=n(0),c=n.n(a),o=n(11),l=n.n(o),s=n(2),u=n(56),d=n(1),g=n(3),f=n(10),m=n(21),p=n(409),h=n(573),v=n(18),b=n(117),E=n(9),_=n(19),O=n(23),y=n(153),k=Object(s.__)("All","google-site-kit"),j=Object(d.forwardRef)((function(t,n){var r=t.moduleSlug,a=t.isLocked,c=void 0!==a&&a,o=Object(v.a)(),j=Object(d.useRef)(),S=Object(g.useDispatch)(_.a).setSharedRoles,w=Object(g.useDispatch)(O.b).setValue,C=Object(g.useSelect)((function(e){return e(_.a).getShareableRoles()})),A=Object(g.useSelect)((function(e){return e(_.a).getSharedRoles(r)})),x=Object(g.useSelect)((function(e){return e(O.b).getValue(y.a)}))===r;Object(b.a)([u.c],n,(function(){x&&w(y.a,void 0)}));var T=Object(g.useSelect)((function(e){return e(_.a).haveModuleSharingSettingsChanged(r,"sharedRoles")})),N=Object(d.useCallback)((function(){x?(w(y.a,void 0),T&&Object(E.J)("".concat(o,"_sharing"),"change_shared_roles",r)):w(y.a,r)}),[x,T,r,w,o]);Object(d.useEffect)((function(){j.current&&(x?j.current.firstChild.focus():j.current.focus())}),[x]);var D=Object(d.useCallback)((function(e){var t,n=e.type,a=e.target,c=e.keyCode;if("keydown"!==n||c===u.b){var o,l=a.closest(".mdc-chip"),s=null==l||null===(t=l.dataset)||void 0===t?void 0:t.chipId;if(s)o="all"===s?(null==A?void 0:A.length)===(null==C?void 0:C.length)?[]:C.map((function(e){return e.id})):null===A?[s]:A.includes(s)?A.filter((function(e){return e!==s})):[].concat(i()(A),[s]),S(r,o)}}),[r,S,A,C]);return C?e.createElement("div",{className:l()("googlesitekit-user-role-select",{"googlesitekit-user-role-select--open":x})},!x&&e.createElement(f.Button,{"aria-label":Object(s.__)("Edit roles","google-site-kit"),className:"googlesitekit-user-role-select__button",onClick:N,icon:e.createElement(p.a,{width:23,height:23}),tabIndex:c?-1:void 0,ref:j}),!x&&(null==A?void 0:A.length)>0&&e.createElement("span",{className:"googlesitekit-user-role-select__current-roles"},(null==C?void 0:C.reduce((function(e,t){return A.includes(t.id)&&e.push(t.displayName),e}),[])).join(", ")),!x&&(!A||0===(null==A?void 0:A.length))&&e.createElement("span",{className:"googlesitekit-user-role-select__add-roles"},e.createElement(m.a,{onClick:N,tabIndex:c?-1:void 0},Object(s.__)("Add roles","google-site-kit"))),x&&e.createElement(d.Fragment,null,e.createElement("div",{className:"googlesitekit-user-role-select__chipset",ref:j},e.createElement(f.Chip,{id:"all",label:k,onClick:D,onKeyDown:D,selected:(null==A?void 0:A.length)===(null==C?void 0:C.length),className:"googlesitekit-user-role-select__chip--all"}),C.map((function(t,n){var r=t.id,i=t.displayName;return e.createElement(f.Chip,{key:n,id:r,label:i,onClick:D,onKeyDown:D,selected:null==A?void 0:A.includes(r)})}))),e.createElement(f.Button,{"aria-label":Object(s.__)("Done editing roles","google-site-kit"),title:Object(s.__)("Done","google-site-kit"),className:"googlesitekit-user-role-select__button",onClick:N,icon:e.createElement(h.a,{width:18,height:18}),tabIndex:c?-1:void 0}))):null}));j.propTypes={moduleSlug:c.a.string.isRequired,isLocked:c.a.bool},t.a=j}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Footer}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(15),l=n.n(o),s=n(0),u=n.n(s),d=n(2),g=n(1),f=n(10),m=n(3),p=n(19),h=n(23),v=n(153),b=n(18),E=n(9),_=n(21),O=n(704),y=n(57);function Footer(t){var n=t.closeDialog,r=t.openResetDialog,a=Object(b.a)(),o=Object(g.useState)(null),s=l()(o,2),u=s[0],k=s[1],j=Object(g.useState)(!1),S=l()(j,2),w=S[0],C=S[1],A=Object(m.useSelect)((function(e){return e(p.a).canSubmitSharingChanges()})),x=Object(m.useSelect)((function(e){return e(p.a).isDoingSubmitSharingChanges()})),T=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsExpanded("management")})),N=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsExpanded("sharedRoles")})),D=Object(m.useSelect)((function(e){return e(p.a).haveSharingSettingsUpdated()})),M=Object(m.useSelect)((function(e){return!!e(h.b).getValue(v.c)})),R=Object(m.useSelect)((function(e){return!!e(h.b).getValue(v.b)})),B=Object(m.useDispatch)(p.a),I=B.resetSharingSettings,P=B.saveSharingSettings,L=Object(m.useDispatch)(h.b).setValue,F=Object(g.useCallback)(c()(i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(null),e.next=3,P();case 3:if(t=e.sent,!(r=t.error)){e.next=8;break}return k(r.message),e.abrupt("return");case 8:Object(E.J)("".concat(a,"_sharing"),"settings_confirm"),L(v.a,void 0),n();case 11:case"end":return e.stop()}}),e)}))),[a,P,L,n]),z=Object(g.useCallback)(c()(i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(null),C(!0),e.next=4,I();case 4:if(t=e.sent,!(r=t.error)){e.next=9;break}return k(r.message),e.abrupt("return");case 9:C(!1),n();case 11:case"end":return e.stop()}}),e)}))),[n,I]),V=Object(g.useCallback)((function(){Object(E.J)("".concat(a,"_sharing"),"settings_cancel"),n()}),[n,a]),W=u||T||N;return e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer"},W&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-notice"},u&&e.createElement(y.a,{message:u}),!u&&e.createElement(O.a,null)),e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions"},D&&M&&!W&&e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions-left"},e.createElement(_.a,{onClick:r,danger:!0},Object(d.__)("Reset sharing permissions","google-site-kit"))),e.createElement("div",{className:"googlesitekit-dashboard-sharing-settings__footer-actions-right"},e.createElement(f.Button,{tertiary:!0,onClick:V},Object(d.__)("Cancel","google-site-kit")),M&&e.createElement(f.SpinnerButton,{onClick:F,disabled:x||!A,isSaving:x},Object(d.__)("Apply","google-site-kit")),R&&e.createElement(f.SpinnerButton,{onClick:z,disabled:w,isSaving:w,danger:!0},Object(d.__)("Reset","google-site-kit")))))}Footer.propTypes={closeDialog:u.a.func.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Notice}));var r=n(2),i=n(39),a=n(3),c=n(19);function Notice(){var t=Object(a.useSelect)((function(e){return e(c.a).canSubmitSharingChanges()})),n=Object(a.useSelect)((function(e){return e(c.a).haveSharingSettingsExpanded("management")})),o=Object(a.useSelect)((function(e){return e(c.a).haveSharingSettingsExpanded("sharedRoles")}));return e.createElement("p",{className:"googlesitekit-dashboard-sharing-settings__notice"},n&&t&&Object(i.a)(Object(r.__)("By clicking Apply, you will give other authenticated admins of your site permission to manage view-only access to Site Kit Dashboard data from the chosen Google service","google-site-kit"),{span:e.createElement("span",null),strong:e.createElement("strong",null)}),!n&&t&&o&&Object(i.a)(Object(r.__)("By clicking Apply, you’re granting the selected roles view-only access to data from the Google services you’ve connected via your account","google-site-kit"),{span:e.createElement("span",null),strong:e.createElement("strong",null)}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetAreaRenderer}));var r=n(15),i=n.n(r),a=n(7),c=n.n(a),o=n(0),l=n.n(o),s=n(11),u=n.n(s),d=n(1),g=n(3),f=n(239),m=n(87),p=n(47),h=n(23),v=n(17),b=n(24),E=n(159),_=n(706),O=n(707),y=n(708),k=n(36),j=n(6),S=n(243),w=n(709),C=n(77);function A(e){var t,n=(t={},c()(t,b.d,48),c()(t,b.a,48),c()(t,b.c,32),c()(t,b.b,32),t)[e],r=Math.abs(Object(m.b)(e)+n);return"".concat(-r,"px ").concat(-n,"px ").concat(-n,"px ").concat(-n,"px")}function WidgetAreaRenderer(t){var n,r=t.slug,a=t.contextID,o=Object(k.a)(),l=Object(g.useSelect)((function(e){return o?e(j.a).getViewableModules():null})),s=Object(C.a)(),m=Object(b.e)(),x=Object(d.useRef)(),T=Object(S.a)(x,{rootMargin:A(m),threshold:0}),N=Object(g.useSelect)((function(e){return e(p.a).getWidgetArea(r)})),D=N.Icon,M=N.title,R=N.style,B=N.subtitle,I=N.CTA,P=N.Footer,L=Object(g.useSelect)((function(e){return e(p.a).getWidgets(r,{modules:l||void 0})})),F=Object(g.useSelect)((function(e){return e(p.a).getWidgetStates()})),z=Object(g.useSelect)((function(e){return e(p.a).isWidgetAreaActive(r,{modules:l||void 0})})),V=Object(g.useSelect)((function(e){return e(h.b).getValue(h.a)})),W=Object(d.useState)({key:"WidgetAreaRenderer-".concat(r),value:V?V===a:!!(null==T?void 0:T.intersectionRatio)}),G=i()(W,2),U=G[0],H=G[1];Object(d.useEffect)((function(){H({key:"WidgetAreaRenderer-".concat(r),value:V?V===a:!!(null==T?void 0:T.intersectionRatio)})}),[T,r,V,a]);var q=I&&s<=782;if(void 0===l)return null;var K=Object(f.d)(L,F),J=K.columnWidths,Y=K.rowIndexes,$=Object(f.b)(L,F,{columnWidths:J,rowIndexes:Y}),X=$.gridColumnWidths,Q=$.overrideComponents,Z=L.map((function(t,n){return e.createElement(O.a,{key:"".concat(t.slug,"-wrapper"),gridColumnWidth:X[n]},e.createElement(y.a,{slug:t.slug},e.createElement(_.a,{OverrideComponent:Q[n]?function(){var t=Q[n],r=t.Component,i=t.metadata;return e.createElement(r,i)}:void 0,slug:t.slug})))}));return e.createElement(E.a,{value:U},!!z&&e.createElement(v.e,{className:u()("googlesitekit-widget-area","googlesitekit-widget-area--".concat(r),"googlesitekit-widget-area--".concat(R)),ref:x},e.createElement(v.k,null,e.createElement(v.a,{className:"googlesitekit-widget-area-header",size:12},e.createElement(w.a,{slug:r,Icon:D,title:M,subtitle:B,CTA:I}))),e.createElement("div",{className:"googlesitekit-widget-area-widgets"},e.createElement(v.k,null,R===p.b.BOXES&&Z,R===p.b.COMPOSITE&&e.createElement(v.a,{size:12},e.createElement(v.e,null,e.createElement(v.k,null,Z))))),e.createElement(v.k,null,q&&e.createElement(v.a,{className:"googlesitekit-widget-area-footer",lgSize:12,mdSize:4,smSize:2},e.createElement("div",{className:"googlesitekit-widget-area-footer__cta"},e.createElement(I,null))),P&&e.createElement(v.a,{className:"googlesitekit-widget-area-footer",lgSize:12,mdSize:q?4:8,smSize:q?2:4},e.createElement(P,null)))),!z&&e.createElement(v.e,{className:u()(f.a,"googlesitekit-widget-area",(n={},c()(n,"googlesitekit-widget-area--".concat(r),!!r),c()(n,"googlesitekit-widget-area--".concat(R),!!R),n)),ref:x},Z))}WidgetAreaRenderer.propTypes={slug:l.a.string.isRequired,contextID:l.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(14),c=n(1),o=n(3),l=n(47),s=n(19),u=n(261),d=n(262),g=n(239),f=n(123),m=n(36),p=n(24);function WidgetRenderer(t){var n,r=t.slug,i=t.OverrideComponent,h=Object(o.useSelect)((function(e){return e(l.a).getWidget(r)})),v=Object(p.e)(),b=Object(g.c)(r),E=b.Widget,_=b.WidgetNull,O=Object(o.useSelect)((function(e){return e(s.a).getRecoverableModules()})),y=Object(m.a)(),k=Object(c.useMemo)((function(){return h&&O&&Object(a.intersection)(h.modules,Object.keys(O))}),[O,h]),j=Object(o.useSelect)((function(e){return e(l.a).isWidgetPreloaded(r)}));if(!h||void 0===k||(null==h||null===(n=h.hideOnBreakpoints)||void 0===n?void 0:n.includes(v)))return e.createElement(_,null);var S=h.Component,w=h.wrapWidget,C=e.createElement(S,b);return y&&(null==k?void 0:k.length)&&(C=e.createElement(d.a,{widgetSlug:r,moduleSlugs:k})),i?C=e.createElement(c.Fragment,null,e.createElement(u.a,{widgetSlug:"overridden"},e.createElement(i,null)),e.createElement("div",{className:f.a},C)):w&&(C=e.createElement(E,null,C)),j?e.createElement("div",{className:f.a},C):C}WidgetRenderer.propTypes={slug:i.a.string.isRequired,OverrideComponent:i.a.elementType},t.a=WidgetRenderer}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(123),c=n(17);function WidgetCellWrapper(t){var n=t.gridColumnWidth,r=t.children;return 0===n?e.createElement("div",{className:a.a},r):n<6?e.createElement(c.a,{lgSize:n,mdSize:4,smSize:2},r):n<8?e.createElement(c.a,{lgSize:n,mdSize:8},r):e.createElement(c.a,{size:n},r)}WidgetCellWrapper.propTypes={gridColumnWidth:i.a.number.isRequired,children:i.a.element.isRequired},t.a=WidgetCellWrapper}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(52),a=n.n(i),c=n(53),o=n.n(c),l=n(232),s=n.n(l),u=n(68),d=n.n(u),g=n(69),f=n.n(g),m=n(49),p=n.n(m),h=n(192),v=n.n(h),b=n(0),E=n.n(b),_=n(1),O=n(2),y=n(92),k=n(171),j=n(59),S=n(9);function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var i=p()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return f()(this,n)}}var C=function(t){d()(WidgetErrorHandler,t);var n=w(WidgetErrorHandler);function WidgetErrorHandler(e){var t;return a()(this,WidgetErrorHandler),(t=n.call(this,e)).state={error:null,info:null},t.onErrorClick=t.onErrorClick.bind(s()(t)),t}return o()(WidgetErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Widget error:",t,n),this.setState({error:t,info:n}),Object(S.J)("widget_error","handle_".concat(this.context||"unknown","_error"),"".concat(this.props.slug,"_").concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500-this.props.slug.length-1))}},{key:"onErrorClick",value:function(){var e=this.state,t=e.error,n=e.info;v()("`".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack,"`"))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,i=t.info;return n?r.createElement("div",{className:"googlesitekit-widget-error-handler"},r.createElement(y.a,{description:r.createElement(_.Fragment,null,r.createElement("p",null,Object(O.__)("An error prevented this Widget from being displayed properly. Report the exact contents of the error on the support forum to find out what caused it.","google-site-kit")),r.createElement(k.a,{message:n.message,componentStack:i.componentStack})),error:!0,onErrorClick:this.onErrorClick,onClick:this.onErrorClick,title:Object(O.__)("Error in Widget","google-site-kit")})):e}}]),WidgetErrorHandler}(_.Component);C.contextType=j.b,C.propTypes={children:E.a.node.isRequired},t.a=C}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WidgetAreaHeader}));var r=n(0),i=n.n(r),a=n(1),c=n(599),o=n(77);function WidgetAreaHeader(t){var n=t.slug,r=t.Icon,i=void 0!==r&&r,l=t.title,s=void 0===l?"":l,u=t.subtitle,d=void 0===u?"":u,g=t.CTA,f=Object(o.a)(),m=g&&f>=783,p="function"==typeof d?d:void 0;return e.createElement(a.Fragment,null,i&&e.createElement(i,{width:33,height:33}),s&&e.createElement("h3",{className:"googlesitekit-widget-area-header__title googlesitekit-heading-3"},s,e.createElement(c.a,{slug:n})),(d||g)&&e.createElement("div",{className:"googlesitekit-widget-area-header__details"},d&&e.createElement("h4",{className:"googlesitekit-widget-area-header__subtitle"},p&&e.createElement(p,null),!p&&d,!s&&e.createElement(c.a,{slug:n})),m&&e.createElement("div",{className:"googlesitekit-widget-area-header__cta"},e.createElement(g,null))))}WidgetAreaHeader.propTypes={slug:i.a.string.isRequired,Icon:i.a.bool,title:i.a.oneOfType([i.a.string,i.a.element]),subtitle:i.a.oneOfType([i.a.string,i.a.elementType]),CTA:i.a.elementType}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(15),i=n.n(r),a=n(85),c=n(530),o=n(209),l=n(1),s=n(2),u=n(3),d=n(10),g=n(103),f=n(711),m=n(712),p=n(713),h=n(13),v=n(32),b=n(9),E=n(54),_=n(18);t.a=function EntitySearchInput(){var t=Object(o.a)(EntitySearchInput,"EntitySearchInput"),n=Object(l.useState)(!1),r=i()(n,2),O=r[0],y=r[1],k=Object(l.useState)(!1),j=i()(k,2),S=j[0],w=j[1],C=Object(l.useState)(!1),A=i()(C,2),x=A[0],T=A[1],N=Object(_.a)(),D=Object(E.c)(),M=Object(l.useRef)(),R=Object(l.useCallback)((function(){Object(b.J)("".concat(N,"_headerbar"),"open_urlsearch"),y(!0)}),[N]),B=Object(l.useCallback)((function(){Object(b.J)("".concat(N,"_headerbar"),"close_urlsearch"),y(!1)}),[N]),I=Object(l.useState)({}),P=i()(I,2),L=P[0],F=P[1],z=Object(u.useSelect)((function(e){return(null==L?void 0:L.url)?e(h.c).getAdminURL("googlesitekit-dashboard",{permaLink:L.url}):null})),V=Object(u.useDispatch)(v.a).navigateTo;return Object(l.useEffect)((function(){z&&Object(b.J)("".concat(N,"_headerbar_urlsearch"),"open_urldetails").finally((function(){V(z)}))}),[z,V,N]),Object(a.a)((function(){D===E.a&&y(!0)})),Object(c.a)((function(){var e;O||(null==M||null===(e=M.current)||void 0===e||e.focus())}),[O]),O?e.createElement("div",{className:"googlesitekit-entity-search googlesitekit-entity-search--is-open"},e.createElement(g.a,null,e.createElement("label",{htmlFor:t},Object(s.__)("Page/URL Search","google-site-kit"))),e.createElement(p.a,{id:t,match:L,setIsActive:T,setMatch:F,placeholder:Object(s.__)("Enter title or URL…","google-site-kit"),isLoading:S,setIsLoading:w,showDropdown:x,onClose:B,autoFocus:!0}),S&&x&&e.createElement(d.ProgressBar,{className:"googlesitekit-entity-search__loading",compress:!0}),e.createElement("div",{className:"googlesitekit-entity-search__actions"},e.createElement(d.Button,{onClick:B,trailingIcon:e.createElement(m.a,{width:"30",height:"20"}),className:"googlesitekit-entity-search__close",title:Object(s.__)("Close","google-site-kit"),text:!0,tooltip:!0,tooltipEnterDelayInMS:500}))):e.createElement("div",{className:"googlesitekit-entity-search"},e.createElement(d.Button,{className:"googlesitekit-border-radius-round--phone googlesitekit-button-icon--phone",onClick:R,text:!0,ref:M,title:Object(s.__)("Search","google-site-kit"),trailingIcon:e.createElement(f.a,{width:"20",height:"20"}),tooltip:!0,tooltipEnterDelayInMS:500},Object(s.__)("URL Search","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&e.createElement(d.e,{portal:!1},e.createElement(d.c,{className:"autocomplete__menu autocomplete__menu--inline"},z.map((function(t){var n=t.id,r=t.title;return e.createElement(d.d,{key:n,value:r,className:"autocomplete__option autocomplete__option--result"})})))))}PostSearcherAutoSuggest.propTypes={id:u.a.string,match:u.a.object,setCanSubmit:u.a.func,setMatch:u.a.func,isLoading:u.a.bool,setIsLoading:u.a.func,onKeyDown:u.a.func,autoFocus:u.a.bool,placeholder:u.a.string}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(15),i=n.n(r),a=n(1);function c(e,t){var n=Object(a.useState)(e),r=i()(n,2),c=r[0],o=r[1];return Object(a.useEffect)((function(){var n=setTimeout((function(){o(e)}),t);return function(){clearTimeout(n)}}),[e,t]),c}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DateRangeSelector}));var r=n(15),i=n.n(r),a=n(210),c=n(11),o=n.n(c),l=n(1),s=n(56),u=n(2),d=n(3),g=n(10),f=n(716),m=n(6),p=n(117),h=n(9),v=n(23),b=n(18);function DateRangeSelector(){var t,n=Object(h.o)(),r=Object(d.useSelect)((function(e){return e(m.a).getDateRange()})),c=Object(d.useDispatch)(m.a).setDateRange,E=Object(d.useDispatch)(v.b).resetInViewHook,_=Object(l.useState)(!1),O=i()(_,2),y=O[0],k=O[1],j=Object(l.useRef)(),S=Object(b.a)();Object(a.a)(j,(function(){return k(!1)})),Object(p.a)([s.c,s.f],j,(function(){return k(!1)}));var w=Object(l.useCallback)((function(){k(!y)}),[y]),C=Object(l.useCallback)((function(e){var t=Object.values(n)[e].slug;r!==t&&Object(h.J)("".concat(S,"_headerbar"),"change_daterange",t),E(),c(t),k(!1)}),[n,r,E,c,S]),A=null===(t=n[r])||void 0===t?void 0:t.label,x=Object.values(n).map((function(e){return e.label}));return e.createElement("div",{ref:j,className:"googlesitekit-date-range-selector googlesitekit-dropdown-menu mdc-menu-surface--anchor"},e.createElement(g.Button,{className:o()("mdc-button--dropdown","googlesitekit-header__dropdown","googlesitekit-header__date-range-selector-menu","googlesitekit-border-radius-round--phone","googlesitekit-button-icon--phone"),text:!0,onClick:w,icon:e.createElement(f.a,{width:"20",height:"20"}),"aria-haspopup":"menu","aria-expanded":y,"aria-controls":"date-range-selector-menu",title:Object(u.__)("Date range","google-site-kit"),tooltip:!0,tooltipEnterDelayInMS:500},A),e.createElement(g.Menu,{menuOpen:y,menuItems:x,onSelected:C,id:"date-range-selector-menu",className:"googlesitekit-width-auto"}))}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&!o?l(!0):0===t&&o&&l(!1),o}}).call(this,n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return OverlayNotificationsRenderer}));var r=n(1),i=n(105),a=n(365),c=n(719),o=n(722),l=n(542);function OverlayNotificationsRenderer(){var t=Object(i.a)("audienceSegmentation"),n=Object(i.a)("rrmModule");return e.createElement(r.Fragment,null,e.createElement(o.a,null),e.createElement(c.a,null),t&&e.createElement(a.a,null),n&&e.createElement(l.a,null))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(372),a=n(1),c=n(2),o=n(10),l=n(3),s=n(720),u=n(721),d=n(22),g=n(23),f=n(6),m=n(19),p=n(24),h=n(54),v=n(31),b=n(8),E=n(87),_=n(230),O=n(387),y=n(9),k=n(18),j=n(50);t.a=Object(i.a)(Object(j.a)({moduleName:"analytics-4"}),Object(j.a)({moduleName:"adsense"}))((function AnalyticsAndAdSenseAccountsDetectedAsLinkedOverlayNotification(){var t=Object(p.e)(),n=Object(h.c)()===h.b,i=Object(k.a)(),j=Object(l.useSelect)((function(e){return e(f.a).isItemDismissed("AnalyticsAndAdSenseLinkedOverlayNotification")})),S=Object(l.useSelect)((function(e){return e(f.a).isDismissingItem("AnalyticsAndAdSenseLinkedOverlayNotification")})),w=Object(l.useSelect)((function(e){return!n||j?null:e(m.a).isModuleConnected("analytics-4")})),C=Object(l.useSelect)((function(e){return!n||j?null:e(m.a).isModuleConnected("adsense")})),A=Object(l.useSelect)((function(e){return!n||j?null:e(f.a).hasAccessToShareableModule("analytics-4")})),x=Object(l.useSelect)((function(e){return!n||j?null:e(f.a).hasAccessToShareableModule("adsense")})),T=Object(l.useSelect)((function(e){return!n||j?null:e(b.r).getAdSenseLinked()})),N=Object(l.useSelect)((function(e){return C?e(v.m).getAccountID():null})),D=Object(l.useSelect)((function(e){return e(f.a).getDateRangeDates({offsetDays:b.g})})),M={startDate:D.startDate,endDate:D.endDate,dimensions:["pagePath","adSourceName"],metrics:[{name:"totalAdRevenue"}],dimensionFilters:{adSourceName:"Google AdSense account (".concat(N,")")},orderby:[{metric:{metricName:"totalAdRevenue"},desc:!0}],limit:1},R=Object(l.useSelect)((function(e){return n&&!1===j&&T&&C&&w&&x&&A?e(b.r).getReport(M):null})),B=!1===Object(O.a)(R),I=n&&!1===j&&w&&C&&A&&x&&T&&B,P=Object(l.useDispatch)(g.b).dismissOverlayNotification,L=Object(a.useCallback)((function(){Object(y.J)("".concat(i,"_top-earning-pages-widget"),"view_overlay_CTA")}),[i]),F=function(){P("AnalyticsAndAdSenseLinkedOverlayNotification")};return r.createElement(_.a,{shouldShowNotification:I,GraphicDesktop:s.a,GraphicMobile:u.a,notificationID:"AnalyticsAndAdSenseLinkedOverlayNotification",onShow:L},r.createElement("div",{className:"googlesitekit-overlay-notification__body"},r.createElement("h3",null,Object(c.__)("See your top earning content","google-site-kit")),r.createElement("p",null,Object(c.__)("Data is now available for the pages that earn the most AdSense revenue.","google-site-kit"))),r.createElement("div",{className:"googlesitekit-overlay-notification__actions"},r.createElement(o.Button,{tertiary:!0,disabled:S,onClick:function(){F(),Object(y.J)("".concat(i,"_top-earning-pages-widget"),"dismiss_overlay_CTA")}},Object(c.__)("Maybe later","google-site-kit")),r.createElement(o.Button,{disabled:S,onClick:function(n){!function(n){n.preventDefault(),F(),setTimeout((function(){e.history.replaceState({},"","#".concat(d.c)),e.scrollTo({top:Object(E.a)(".googlesitekit-widget--adsenseTopEarningPagesGA4",t),behavior:"smooth"})}),50)}(n),Object(y.J)("".concat(i,"_top-earning-pages-widget"),"confirm_overlay_CTA")}},Object(c.__)("Show me","google-site-kit"))))}))}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&e.createElement(a.Fragment,null,e.createElement("p",null,Object(c.__)("The following modules failed to be recovered:","google-site-kit")),e.createElement("ul",null,Object.keys(n).map((function(t){return e.createElement("li",{key:t},Object(c.sprintf)( +/* translators: 1: Module name, 2: Error message */ +Object(c.__)("%1$s: %2$s","google-site-kit"),n[t].name,n[t].message))})))))}Errors.propTypes={recoveryErrors:i.a.object.isRequired}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DashboardEntryPoint}));var r=n(0),i=n.n(r),a=n(1121),c=n(1123);function DashboardEntryPoint(t){var n=t.setupModuleSlug;return n?e.createElement(a.a,{moduleSlug:n}):e.createElement(c.a,null)}DashboardEntryPoint.propTypes={setupModuleSlug:i.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ModuleSetup}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(0),l=n.n(o),s=n(85),u=n(246),d=n(1),g=n(2),f=n(3),m=n(13),p=n(19),h=n(32),v=n(34),b=n(9),E=n(228),_=n(17),O=n(227),y=n(1122);function ModuleSetup(t){var n=t.moduleSlug,r=Object(f.useDispatch)(h.a).navigateTo,a=Object(f.useSelect)((function(e){return e(p.a).getModule(n)})),o=Object(f.useRegistry)(),l=Object(u.a)(function(){var e=c()(i.a.mark((function e(t){var a,c,l;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(v.c)("module_setup");case 2:return e.next=4,Object(b.J)("moduleSetup","complete_module_setup",n);case 4:if(!t){e.next=7;break}return r(t),e.abrupt("return");case 7:return a=o.select,c=o.resolveSelect,e.next=10,c(m.c).getSiteInfo();case 10:l=a(m.c).getAdminURL("googlesitekit-dashboard",{notification:"authentication_success",slug:n}),r(l);case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[o,r,n]),k=null==a?void 0:a.onCompleteSetup,j=Object(d.useCallback)((function(){return k(o,l)}),[k,o,l]),S=Object(d.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(b.J)("moduleSetup","cancel_module_setup",n);case 2:case"end":return e.stop()}}),e)}))),[n]);if(Object(s.a)((function(){Object(b.J)("moduleSetup","view_module_setup",n)})),!(null==a?void 0:a.SetupComponent))return null;var w=a.SetupComponent;return e.createElement(d.Fragment,null,e.createElement(O.a,null,e.createElement(E.a,null)),e.createElement("div",{className:"googlesitekit-setup"},e.createElement(_.e,null,e.createElement(_.k,null,e.createElement(_.a,{size:12},e.createElement("section",{className:"googlesitekit-setup__wrapper"},e.createElement(_.e,null,e.createElement(_.k,null,e.createElement(_.a,{size:12},e.createElement("p",{className:"googlesitekit-setup__intro-title"},Object(g.__)("Connect Service","google-site-kit")),e.createElement(w,{module:a,finishSetup:l})))),e.createElement(y.a,{module:a,onCancel:S,onComplete:"function"==typeof k?j:void 0})))))))}ModuleSetup.propTypes={moduleSlug:l.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ModuleSetupFooter}));var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(15),l=n.n(o),s=n(0),u=n.n(s),d=n(11),g=n.n(d),f=n(2),m=n(1),p=n(3),h=n(13),v=n(17),b=n(21),E=n(10),_=n(19);function ModuleSetupFooter(t){var n=t.module,r=t.onCancel,a=t.onComplete,o=Object(m.useState)(!1),s=l()(o,2),u=s[0],d=s[1],O=Object(p.useSelect)((function(e){return e(h.c).getAdminURL("googlesitekit-settings")})),y=Object(p.useSelect)((function(e){var t,r;return null===(t=e(null==n?void 0:n.storeName))||void 0===t||null===(r=t.isSetupBlocked)||void 0===r?void 0:r.call(t)})),k=Object(p.useSelect)((function(e){return e(_.a).canSubmitChanges(null==n?void 0:n.slug)})),j=Object(m.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return d(!0),e.next=3,a();case 3:d(!1);case 4:case"end":return e.stop()}}),e)}))),[d,a]);return n?e.createElement("div",{className:g()("googlesitekit-setup__footer","googlesitekit-setup__footer--".concat(null==n?void 0:n.slug))},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{alignMiddle:!0,smSize:2,mdSize:4,lgSize:6},e.createElement(b.a,{id:"setup-".concat(n.slug,"-cancel"),href:O,onClick:r},y?Object(f.__)("Back","google-site-kit"):Object(f.__)("Cancel","google-site-kit"))),a&&e.createElement(v.a,{alignRight:!0,smSize:2,mdSize:4,lgSize:6},e.createElement(E.SpinnerButton,{id:"setup-".concat(n.slug,"-complete"),onClick:j,disabled:!k||u,isSaving:u},Object(f.__)("Complete Setup","google-site-kit")))))):null}ModuleSetupFooter.propTypes={module:u.a.shape({slug:u.a.string.isRequired,storeName:u.a.string.isRequired}).isRequired,onCancel:u.a.func.isRequired,onComplete:u.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return DashboardMainApp}));var i=n(15),a=n.n(i),c=n(11),o=n.n(c),l=n(1),s=n(85),u=n(3),d=n(70),g=n(9),f=n(227),m=n(698),p=n(423),h=n(378),v=n(710),b=n(715),E=n(228),_=n(1125),O=n(212),y=n(1138),k=n(619),j=n(1153),S=n(22),w=n(6),C=n(47),A=n(36),x=n(29),T=n(620),N=n(718),D=n(621),M=n(24),R=n(105),B=n(725),I=n(189),P=n(87),L=n(13),F=n(391),z=n(167),V=n(45);function DashboardMainApp(){var t,n,i=Object(R.a)("audienceSegmentation"),c=Object(l.useState)(!1),W=a()(c,2),G=W[0],U=W[1],H=Object(A.a)(),q=Object(M.e)(),K=Object(I.a)("widgetArea"),J=a()(K,2),Y=J[0],$=J[1],X=Object(u.useDispatch)(x.a).setValues,Q=Object(u.useSelect)((function(e){return e(w.a).getGrantedScopes()})),Z=Object(u.useSelect)((function(e){return e(x.a).getValue(w.d,"permissionsError")})),ee=void 0!==Q&&(null==Z||null===(t=Z.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.some((function(e){return Q.includes(e)}))),te=Object(u.useSelect)((function(e){return i&&e(w.a).getConfiguredAudiences()}));Object(s.a)((function(){if(H||setTimeout((function(){return U(!0)}),5e3),Y){var t=".googlesitekit-widget-area--".concat(Y);setTimeout((function(){function n(){e.scrollTo({top:Object(P.a)(t,q),behavior:"smooth"})}e.addEventListener("scrollend",(function t(){n(),e.removeEventListener("scrollend",t)})),n(),$(void 0)}),100)}})),Object(l.useEffect)((function(){void 0!==Z&&ee&&X(w.d,{permissionsError:{}})}),[ee,X,Z]);var ne=Object(u.useSelect)((function(e){return H?e(w.a).getViewableModules():null})),re={modules:ne||void 0},ie=Object(u.useSelect)((function(e){return e(C.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_KEY_METRICS,re)})),ae=Object(u.useSelect)((function(e){return e(C.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_TRAFFIC,re)})),ce=Object(u.useSelect)((function(e){return e(C.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_CONTENT,re)})),oe=Object(u.useSelect)((function(e){return e(C.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_SPEED,re)})),le=Object(u.useSelect)((function(e){return e(C.a).isWidgetContextActive(d.CONTEXT_MAIN_DASHBOARD_MONETIZATION,re)})),se=Object(u.useSelect)((function(e){return e(w.a).isKeyMetricsWidgetHidden()})),ue=Object(F.a)(),de=Object(u.useSelect)((function(e){return!0===e(L.c).isKeyMetricsSetupCompleted()&&!1===se||e(w.a).isAuthenticated()&&!1===e(L.c).isKeyMetricsSetupCompleted()&&ue}));Object(B.a)();var ge=null;return le?ge=S.c:oe?ge=S.d:ce?ge=S.a:ae?ge=S.e:ie&&(ge=S.b),r.createElement(l.Fragment,null,r.createElement(k.a,null),r.createElement(D.a,null),r.createElement(f.a,{subHeader:r.createElement(_.a,null),showNavigation:!0},r.createElement(v.a,null),r.createElement(b.a,null),!H&&r.createElement(m.a,null),r.createElement(E.a,null)),r.createElement(z.a,{areaSlug:V.b.BANNERS_BELOW_NAV,groupID:V.c.SETUP_CTAS}),r.createElement(N.a,null),!0!==se&&r.createElement(p.a,{id:S.b,slug:d.CONTEXT_MAIN_DASHBOARD_KEY_METRICS,className:o()({"googlesitekit-widget-context--last":ge===S.b})}),r.createElement(p.a,{id:S.e,slug:d.CONTEXT_MAIN_DASHBOARD_TRAFFIC,className:o()({"googlesitekit-widget-context--last":ge===S.e})}),r.createElement(p.a,{id:S.a,slug:d.CONTEXT_MAIN_DASHBOARD_CONTENT,className:o()({"googlesitekit-widget-context--last":ge===S.a})}),r.createElement(p.a,{id:S.d,slug:d.CONTEXT_MAIN_DASHBOARD_SPEED,className:o()({"googlesitekit-widget-context--last":ge===S.d})}),r.createElement(p.a,{id:S.c,slug:d.CONTEXT_MAIN_DASHBOARD_MONETIZATION,className:o()({"googlesitekit-widget-context--last":ge===S.c})}),r.createElement(O.a,{triggerID:"view_dashboard",ttl:g.a}),G&&r.createElement(y.a,null),de&&r.createElement(j.a,null),i&&te&&r.createElement(h.c,null),r.createElement(T.a,null))}}).call(this,n(28),n(4))},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return BannerNotifications}));var r=n(15),i=n.n(r),a=n(1),c=n(3),o=n(19),l=n(6),s=n(8),u=n(189),d=n(1126),g=n(1128),f=n(1130),m=n(1131),p=n(648),h=n(36),v=n(1133),b=n(1134),E=n(1136),_=n(23),O=n(392),y=n(45),k=n(167),j=["ads",n(51).e,"sign-in-with-google"];function BannerNotifications(){var t=Object(h.a)(),n=Object(c.useSelect)((function(e){return e(l.a).isAuthenticated()})),r=Object(c.useSelect)((function(e){return e(o.a).isModuleActive("adsense")})),S=Object(c.useSelect)((function(e){return e(o.a).isModuleConnected("analytics-4")})),w=Object(c.useSelect)((function(e){return e(l.a).hasScope(s.p)})),C=Object(c.useSelect)((function(e){return e(s.r).hasMismatchedGoogleTagID()})),A=Object(c.useSelect)((function(e){return e(_.b).getValue(O.a)})),x=Object(c.useSelect)((function(e){if(t||!S)return!1;var n=e(s.r).getOwnerID(),r=e(l.a).getID();return void 0!==n&&void 0!==r?n===r:void 0})),T=Object(u.a)("notification"),N=i()(T,1)[0],D=Object(u.a)("slug"),M=i()(D,1)[0];return t?e.createElement(a.Fragment,null,e.createElement(k.a,{areaSlug:y.b.BANNERS_ABOVE_NAV})):e.createElement(a.Fragment,null,r&&e.createElement(m.a,null),e.createElement(f.a,null),"authentication_success"===N&&!j.includes(M)&&e.createElement(d.a,null),"ad_blocking_recovery_setup_success"===N&&e.createElement(E.a,null),e.createElement(v.a,null),n&&e.createElement(g.a,null),!A&&e.createElement(p.a,null),S&&w&&x&&e.createElement(a.Fragment,null,C&&e.createElement(b.a,null)),e.createElement(k.a,{areaSlug:y.b.BANNERS_ABOVE_NAV}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,r){var i=n(5),a=n.n(i),c=n(16),o=n.n(c),l=n(15),s=n.n(l),u=n(1),d=n(2),g=n(1195),f=n(3),m=n(189),p=n(95),h=n(1127),v=n(22),b=n(19),E=n(13),_=n(6),O=n(37),y=n(87),k=n(18),j=n(24),S=n(21);t.a=function SetupSuccessBannerNotification(){var t,n=Object(m.a)("slug"),i=s()(n,1)[0],c=Object(m.a)("notification"),l=s()(c,1)[0],w=Object(j.e)(),C=Object(k.a)(),A=Object(f.useSelect)((function(e){return e(b.a).getModules()})),x=Object(f.useSelect)((function(e){return e(_.a).hasCapability(_.K)})),T=Object(f.useSelect)((function(e){var t,n=null==A||null===(t=A[i])||void 0===t?void 0:t.storeName;if(!n)return null;var r=e(n).getSetupSuccessContent;return r?r():null})),N=Object(f.useSelect)((function(e){return e(E.c).getAdminURL("googlesitekit-settings")})),D=Object(u.useCallback)((function(){Object(O.b)("".concat(C,"_authentication-success-notification"),"view_notification")}),[C]),M=Object(u.useCallback)(o()(a.a.mark((function t(){var n;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Object(O.b)("".concat(C,"_authentication-success-notification"),"confirm_notification");case 2:n=Object(g.a)(e.location.href,"notification"),e.history.replaceState(null,"",n);case 4:case"end":return t.stop()}}),t)}))),[C]);if(void 0===A)return null;if(!l||""===l)return null;if("authentication_success"===l&&!x)return null;if("authentication_success"===l&&i&&!(null===(t=A[i])||void 0===t?void 0:t.active))return null;var R={id:"connected-successfully",setupTitle:Object(d.__)("Site Kit","google-site-kit"),description:"",learnMore:{label:"",url:"",description:""}};switch(l){case"authentication_success":if(A[i]&&(R.id="".concat(R.id,"-").concat(i),R.setupTitle=A[i].name,R.description="",T)){var B=T.description,I=T.learnMore;R.description=B,R.learnMore=I}if("pagespeed-insights"===i){var P="#".concat(v.d);R.description=r.createElement("p",{className:"googlesitekit-publisher-win__link"},r.createElement(S.a,{href:P,onClick:function(t){t.preventDefault(),e.history.replaceState({},"",P),e.scrollTo({top:Object(y.a)(P,w),behavior:"smooth"})}},Object(d.__)("Jump to the bottom of the dashboard to see how fast your home page is","google-site-kit")))}else R.description||R.learnMore.label||(R.description=Object(d.__)("Connect more services to see more stats.","google-site-kit"),R.learnMore={label:Object(d.__)("Go to Settings","google-site-kit"),url:"".concat(N,"#/connect-more-services"),target:p.a.INTERNAL});return r.createElement(u.Fragment,null,r.createElement(p.b,{id:R.id,title:Object(d.sprintf)( +/* translators: %s: the name of a module that setup was completed for */ +Object(d.__)("Congrats on completing the setup for %s!","google-site-kit"),R.setupTitle),description:R.description,handleDismiss:function(){},WinImageSVG:h.a,onView:D,dismiss:Object(d.__)("OK, Got it!","google-site-kit"),onDismiss:M,format:"smaller",type:"win-success",learnMoreLabel:R.learnMore.label,learnMoreDescription:R.learnMore.description,learnMoreURL:R.learnMore.url,learnMoreTarget:R.learnMore.target}));default:return null}}}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&e.createElement(E.a,{recoveryErrors:w})),I=D):(R=Object(g.__)("The data for the following modules was previously shared with other users on the site by another admin who no longer has access. To restore access, you may recover the module as the new owner.","google-site-kit"),B=e.createElement(d.Fragment,null,S.map((function(t){return e.createElement("div",{key:t},e.createElement(m.Checkbox,{checked:r[t],name:"module-recovery-alert-checkbox",id:"module-recovery-alert-checkbox-".concat(t),onChange:function(){return N(t)},value:t,disabled:_},k[t].name))})),e.createElement("p",{className:"googlesitekit-publisher-win__desc"},Object(g.__)("By recovering the selected modules, you will restore access for other users by sharing access via your Google account. This does not make any changes to external services and can be managed at any time via the dashboard sharing settings.","google-site-kit")),Object.keys(w).length>0&&e.createElement(E.a,{recoveryErrors:w})),I=D),e.createElement(b.b,{id:"module-recovery-alert",title:Object(g.__)("Dashboard data for some services has been interrupted","google-site-kit"),onCTAClick:I,ctaLabel:I?Object(g.__)("Recover","google-site-kit"):null,ctaLink:I?"#":null,description:R,learnMoreURL:j,learnMoreLabel:Object(g.__)("Learn more","google-site-kit"),isDismissible:P,dismiss:Object(g.__)("Remind me later","google-site-kit"),dismissExpires:v.a},B)}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(1),i=n(2),a=n(3),c=n(19),o=n(31),l=n(1132),s=n(95);t.a=function AdSenseAlerts(){var t=Object(a.useSelect)((function(e){return e(c.a).isModuleConnected("adsense")})),n=Object(a.useSelect)((function(e){return e(o.m).getAccountID()})),u=Object(a.useSelect)((function(e){return e(o.m).getNotifications()}));return t&&n&&void 0!==u?e.createElement(r.Fragment,null,u.map((function(t){var n=t.id,r=t.title,a=t.description,c=t.format,o=t.ctaURL,u=t.ctaLabel,d=t.ctaTarget,g=t.severity,f=t.isDismissable;return e.createElement(s.b,{className:"googlesitekit-adsense-alert",key:n,id:n,title:r||"",description:a,WinImageSVG:l.a,format:c||"small",ctaLink:o,ctaLabel:u,ctaTarget:d,type:g,dismiss:Object(i.__)("OK, Got it!","google-site-kit"),isDismissible:f||!0,logo:!0,module:"adsense",moduleName:Object(i._x)("AdSense","Service name","google-site-kit"),dismissExpires:0,showOnce:!1})}))):null}}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;tAdSense, otherwise this feature won’t work","google-site-kit"),{a:r.createElement(f.a,{href:_,external:!0,hideExternalIndicator:!0})})),dismiss:Object(c.__)("OK, Got it!","google-site-kit"),onDismiss:function(){Object(g.J)("".concat(t,"_adsense-abr-success-notification"),"confirm_notification");var n=Object(o.a)(e.location.href,"notification");e.history.replaceState(null,"",n)},isDismissible:!0,onView:O,type:"win-success",WinImageSVG:function WinImageSVG(){return r.createElement(s.a,null)},format:"small"})}}).call(this,n(28),n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return c=e.done,e},e:function(e){o=!0,a=e},f:function(){try{c||null==n.return||n.return()}finally{if(o)throw a}}}}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var r,i=j(n);try{for(i.s();!(r=i.n()).done;){var a=r.value,c=K[a.question_ordinal],o=a.answer_ordinal||[];if(!c||!o.includes(c))return J++,!1}}catch(e){i.e(e)}finally{i.f()}}return t===J})),$=Object(f.useCallback)((function(e){B||(I(!0),H("question_answered",{question_ordinal:null==Y?void 0:Y.question_ordinal,answer:e}),setTimeout((function(){U(V,{answers:[].concat(c()(G),[{question_ordinal:null==Y?void 0:Y.question_ordinal,answer:e}])}),I(!1)}),300))}),[G,Y,V,H,U,B]);(null==L?void 0:L.length)&&J>L.length&&((q=(P||[]).find((function(e){var t,n=j(e.trigger_condition||[]);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(r.answer_ordinal.includes(K[r.question_ordinal]))return q=e,!0}}catch(e){n.e(e)}finally{n.f()}return!1})))||(q=P[0]));var X=Object(f.useCallback)((function(){var e;H("follow_up_link_clicked",{completion_ordinal:null===(e=q)||void 0===e?void 0:e.completion_ordinal}),H("survey_closed"),U(V,{hideSurvey:!0})}),[V,H,U,q]),Q=Object(f.useCallback)((function(){H("survey_closed"),D(!1)}),[H]),Z=Object(f.useCallback)((function(){U(V,{hideSurvey:!0})}),[V,U]);if(Object(f.useEffect)((function(){var e;q&&!S&&(w(!0),H("completion_shown",{completion_ordinal:null===(e=q)||void 0===e?void 0:e.completion_ordinal}))}),[S,H,q]),Object(d.a)((function(){D(!0)})),W||!L||!P||void 0===z)return null;if(q)return e.createElement(g.a,{direction:"up",in:N,onExited:Z},e.createElement("div",{className:"googlesitekit-survey"},e.createElement(b.a,{dismissSurvey:Q,ctaOnClick:X,ctaText:q.follow_up_text,ctaURL:q.follow_up_url,title:q.completion_title},q.completion_text)));if(!A.includes(null==Y?void 0:Y.question_type))return null;var ee={key:Y.question_text,answerQuestion:$,dismissSurvey:Q,question:Y.question_text,submitButtonText:(null==L?void 0:L.length)===J?Object(m.__)("Submit","google-site-kit"):Object(m.__)("Next","google-site-kit")};return e.createElement(g.a,{direction:"up",in:N,onExited:Z},e.createElement("div",{className:"googlesitekit-survey"},"multi_select"===Y.question_type&&e.createElement(O.a,i()({},ee,{choices:Y.question.answer_choice,minChoices:Y.question.min_choices,maxChoices:Y.question.max_choices})),"open_text"===Y.question_type&&e.createElement(_.a,i()({},ee,{subtitle:Y.question.subtitle,placeholder:Y.question.placeholder})),"rating"===Y.question_type&&e.createElement(E.a,i()({},ee,{choices:Y.question.answer_choice})),"single_select"===Y.question_type&&e.createElement(y.a,i()({},ee,{choices:Y.question.answer_choice})),!1===z&&1===(null==Y?void 0:Y.question_ordinal)&&e.createElement("div",{className:"googlesitekit-survey__footer"},e.createElement(k.a,null))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(10),c=n(521);function SurveyCompletion(t){var n=t.title,r=t.children,i=t.ctaText,o=t.ctaURL,l=t.ctaOnClick,s=t.dismissSurvey;return e.createElement("div",{className:"googlesitekit-survey__completion"},e.createElement(c.a,{title:n,dismissSurvey:s}),e.createElement("div",{className:"googlesitekit-survey__body"},r),o&&i&&e.createElement("div",{className:"googlesitekit-survey__footer"},e.createElement(a.Button,{href:o,onClick:l,target:"_blank"},i)))}SurveyCompletion.propTypes={title:i.a.string.isRequired,children:i.a.node,ctaText:i.a.string,ctaURL:i.a.string,ctaOnClick:i.a.func,dismissSurvey:i.a.func.isRequired},SurveyCompletion.defaultProps={title:"",children:null,ctaText:"",ctaURL:"",ctaOnClick:null},t.a=SurveyCompletion}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(521),c=n(1142);function SurveyQuestionRating(t){var n=t.question,r=t.choices,i=t.answerQuestion,o=t.dismissSurvey;return e.createElement("div",{className:"googlesitekit-survey__question-rating"},e.createElement(a.a,{title:n,dismissSurvey:o}),e.createElement("div",{className:"googlesitekit-survey__body"},e.createElement("div",{className:"googlesitekit-survey__choices"},r.map((function(t,n){return e.createElement(c.a,{key:n,choice:t,answerQuestion:i})})))))}SurveyQuestionRating.propTypes={question:i.a.string.isRequired,choices:i.a.arrayOf(i.a.shape({answer_ordinal:i.a.oneOfType([i.a.string,i.a.number]),text:i.a.string})).isRequired,answerQuestion:i.a.func.isRequired,dismissSurvey:i.a.func.isRequired},t.a=SurveyQuestionRating}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(1),c=n(10),o=n(1143),l=n(1144),s=n(1145),u=n(1146),d=n(1147),g={1:o.a,2:l.a,3:s.a,4:u.a,5:d.a};function SurveyQuestionRatingChoice(t){var n=t.choice,r=t.answerQuestion,i=Object(a.useCallback)((function(){"function"==typeof r&&r({answer:{answer_ordinal:n.answer_ordinal}})}),[r,n]),o=g[n.answer_ordinal];return o?e.createElement("div",{className:"googlesitekit-survey__choice"},e.createElement(c.Button,{icon:e.createElement(o,{width:30,height:30}),"aria-label":n.text,onClick:i}),e.createElement("p",null,n.text)):null}SurveyQuestionRatingChoice.propTypes={choice:i.a.shape({answer_ordinal:i.a.oneOfType([i.a.string,i.a.number]),text:i.a.string}).isRequired},t.a=SurveyQuestionRatingChoice}).call(this,n(4))},function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0,T=Object.values(C).filter((function(e){return e.selected})).length,N=E&&T===E,D=x||T1&&e.createElement(p.HelperText,{persistent:!0},Object(m.sprintf)( +/* translators: %s: the number of answers. */ +Object(m.__)("Choose at least %s answers","google-site-kit"),u)),e.createElement(p.Button,{onClick:function(){var e=Object.values(C).filter((function(e){return e.selected})).map((function(e){var t=e.answer_ordinal,n=e.answer_text;return n?{answer_ordinal:t,answer_text:n}:{answer_ordinal:t}}));a({answer:e})},disabled:D},O)))}SurveyQuestionMultiSelect.propTypes={question:u.a.string.isRequired,choices:u.a.arrayOf(u.a.shape({answer_ordinal:u.a.oneOfType([u.a.string,u.a.number]),text:u.a.string,write_in:u.a.bool})).isRequired,answerQuestion:u.a.func.isRequired,dismissSurvey:u.a.func.isRequired,minChoices:u.a.number,maxChoices:u.a.number,submitButtonText:u.a.string.isRequired},t.a=SurveyQuestionMultiSelect}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(7),i=n.n(r),a=n(15),c=n.n(a),o=n(0),l=n.n(o),s=n(1),u=n(10),d=n(521),g=n(1151);function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t0,k=""===p||y&&""===E;return e.createElement("div",{className:"googlesitekit-single-select"},e.createElement(d.a,{title:n,dismissSurvey:a}),e.createElement("div",{className:"googlesitekit-survey__body"},O.map((function(t,n){return e.createElement(g.a,{key:n,value:p,setValue:h,writeIn:E,setWriteIn:_,choice:t})}))),e.createElement("div",{className:"googlesitekit-survey__footer"},e.createElement(u.Button,{onClick:function(){var e=y?{answer_text:E}:{};i({answer:m({answer_ordinal:Number(p)},e)})},disabled:k},o)))}SurveyQuestionSingleSelect.propTypes={question:l.a.string.isRequired,choices:l.a.arrayOf(l.a.shape({answer_ordinal:l.a.oneOfType([l.a.string,l.a.number]),text:l.a.string,write_in:l.a.bool})).isRequired,answerQuestion:l.a.func.isRequired,dismissSurvey:l.a.func.isRequired},t.a=SurveyQuestionSingleSelect}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(1),c=n(2),o=n(10),l=n(103),s=n(618);function SurveyQuestionSingleSelectChoice(t){var n=t.value,r=t.setValue,i=t.writeIn,u=t.setWriteIn,d=t.choice,g=d.answer_ordinal,f=d.text,m=d.write_in,p=n===g,h="googlesitekit-survey__multi-select-".concat(g,"-").concat(f);return e.createElement("div",{className:"googlesitekit-single-select__choice"},e.createElement(o.Radio,{id:f.replace(/ /g,"-"),value:g,checked:p,name:f,onClick:function(){return r(g)}},f),m&&e.createElement(a.Fragment,null,e.createElement(l.a,null,e.createElement("label",{htmlFor:h},Object(c.sprintf)( +/* translators: %s: Option name */ +Object(c.__)("Text input for option %s","google-site-kit"),f))),e.createElement(o.TextField,{id:h,onChange:function(e){return u(e.target.value.slice(0,s.a))},value:i,disabled:!p})))}SurveyQuestionSingleSelectChoice.propTypes={choice:i.a.shape({answer_ordinal:i.a.oneOfType([i.a.string,i.a.number]),text:i.a.string,write_in:i.a.bool}),value:i.a.string.isRequired,setValue:i.a.func.isRequired,writeIn:i.a.string.isRequired,setWriteIn:i.a.func.isRequired},t.a=SurveyQuestionSingleSelectChoice}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SurveyTerms}));var r=n(2),i=n(39),a=n(3),c=n(13),o=n(21);function SurveyTerms(){var t=Object(a.useSelect)((function(e){return e(c.c).getGooglePrivacyPolicyURL()})),n=Object(a.useSelect)((function(e){return e(c.c).getGoogleTermsURL()}));return e.createElement("p",{className:"googlesitekit-survey__terms"},Object(i.a)(Object(r.__)("By continuing, you agree to allow Google to use your answers and account info to improve services, per our Privacy & Terms.","google-site-kit"),{privacy:e.createElement(o.a,{href:t,external:!0,hideExternalIndicator:!0,noFlex:!0}),terms:e.createElement(o.a,{href:n,external:!0,hideExternalIndicator:!0,noFlex:!0})}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricsSelectionPanel}));var r=n(3),i=n(23),a=n(26),c=n(159),o=n(1154);function MetricsSelectionPanel(){var t=Object(r.useSelect)((function(e){return e(i.b).getValue(a.k)}));return e.createElement(c.a,{value:{key:"MetricsSelectionPanel",value:!!t}},e.createElement(o.a,null))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Panel}));var r=n(15),i=n.n(r),a=n(7),c=n.n(a),o=n(11),l=n.n(o),s=n(1),u=n(3),d=n(29),g=n(23),f=n(6),m=n(26),p=n(687),h=n(114),v=n(18),b=n(9),E=n(105);function Panel(){var t=Object(v.a)(),n=Object(E.a)("conversionReporting"),r=Object(u.useSelect)((function(e){return e(g.b).getValue(m.k)})),a=Object(u.useInViewSelect)((function(e){var t=e(f.a).getKeyMetrics();if(!Array.isArray(t))return[];var n=e(f.a).isKeyMetricAvailable;return t.filter(n)})),o=Object(u.useDispatch)(d.a).setValues,_=Object(u.useDispatch)(g.b).setValue,O=Object(s.useCallback)((function(){var e;o(m.j,(e={},c()(e,m.i,a),c()(e,m.a,a),e)),Object(b.J)("".concat(t,"_kmw-sidebar"),"metrics_sidebar_view")}),[a,o,t]),y=Object(s.useCallback)((function(){r&&_(m.k,!1)}),[_,r]),k=Object(s.useState)(!1),j=i()(k,2),S=j[0],w=j[1];return e.createElement(h.e,{isOpen:r||S,onOpen:O,closePanel:y,className:l()("googlesitekit-km-selection-panel",{"googlesitekit-acr-km-selection-panel":n})},e.createElement(p.a,{isOpen:r,closePanel:y,savedViewableMetrics:a,setIsNavigatingToOAuthURL:w}))}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),function(e,t){var r=n(5),i=n.n(r),a=n(16),c=n.n(a),o=n(332),l=n(144),s=n(34),u=n(219),d=n(22),g=n(1120);Object(o.a)(c()(i.a.mark((function n(){var r,a,c,o,f;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!e._googlesitekitLegacyData.admin.resetSession){n.next=3;break}return n.next=3,Object(s.b)();case 3:(r=document.getElementById("js-googlesitekit-main-dashboard"))&&(a=r.dataset,c=a.setupModuleSlug,o=a.viewOnly,f=d.q,c||(f=o?d.o:d.n),Object(l.render)(t.createElement(u.a,{viewContext:f},t.createElement(g.a,{setupModuleSlug:c})),r));case 5:case"end":return n.stop()}}),n)}))))}.call(this,n(28),n(4))}],[[1265,1,0]]]); \ No newline at end of file diff --git a/plugins/google-site-kit/dist/assets/js/googlesitekit-metric-selection-3ee8a23dcaf39401f05a.js b/plugins/google-site-kit/dist/assets/js/googlesitekit-metric-selection-3ee8a23dcaf39401f05a.js deleted file mode 100644 index 83132c189..000000000 --- a/plugins/google-site-kit/dist/assets/js/googlesitekit-metric-selection-3ee8a23dcaf39401f05a.js +++ /dev/null @@ -1,44 +0,0 @@ -(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[16],{10:function(e,t){e.exports=googlesitekit.components},100:function(e,t,n){"use strict";n.d(t,"a",(function(){return g}));var r=n(5),i=n.n(r),a=n(7),o=n.n(a),c=n(15),s=n.n(c),l=n(57);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;tNote: %s","google-site-kit"),S),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:f,disabled:A},Object(l.__)("Cancel","google-site-kit")),x?e.createElement(u.Button,{href:x,onClick:E,target:"_blank",danger:N},j):e.createElement(u.SpinnerButton,{onClick:E,danger:N,disabled:A,isSaving:A},j||Object(l.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:i.a.string,dialogActive:i.a.bool,handleDialog:i.a.func,handleConfirm:i.a.func.isRequired,onOpen:i.a.func,onClose:i.a.func,title:i.a.string,confirmButton:i.a.string,danger:i.a.bool,small:i.a.bool,medium:i.a.bool,buttonLink:i.a.string},t.a=ModalDialog}).call(this,n(4))},113:function(e,t,n){"use strict";var r=n(319),i=n(307);n.d(t,"b",(function(){return i.a}));var a=n(308);n.d(t,"c",(function(){return a.a}));var o=n(309);n.d(t,"d",(function(){return o.a}));var c=n(310);n.d(t,"a",(function(){return c.a})),t.e=r.a},115:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(380),i=function(e,t,n){Object(r.a)((function(n){return e.includes(n.keyCode)&&t.current.contains(n.target)}),n)}},117:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(21),i=n.n(r),a=n(155),o=n.n(a),c=n(11),s=n.n(c),l=n(1),u=n.n(l),d=n(2),g=n(10),f=n(156),m=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,l=t.primaryProps,u=t.size,p=t.step,v=t.tooltipProps,b=u>1?Object(f.a)(u):[],h=function(e){return s()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",i()({className:s()("googlesitekit-tour-tooltip",p.className)},v),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(a.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},b.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:h(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(g.Button,i()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,l.title&&e.createElement(g.Button,i()({className:"googlesitekit-tooltip-button",text:!0},l),l.title))),e.createElement(g.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(13),i=function(e){return Object(r.isFinite)(e)?e:0}},119:function(e,t,n){"use strict";var r=n(0),i=n(40),a=Object(r.createContext)(i.a);t.a=a},122:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),i=n(119),a=n(40),o=function(e){var t=Object(r.useContext)(i.a);return Object(a.b)(e,t)}},123:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(21),i=n.n(r),a=n(7),o=n.n(a),c=n(24),s=n.n(c),l=n(1),u=n.n(l),d=n(11),g=n.n(d);function Cell(t){var n,r=t.className,a=t.alignTop,c=t.alignMiddle,l=t.alignBottom,u=t.alignRight,d=t.alignLeft,f=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,v=t.smSize,b=t.smStart,h=t.smOrder,O=t.mdSize,_=t.mdStart,E=t.mdOrder,y=t.lgSize,k=t.lgStart,j=t.lgOrder,S=t.size,w=t.children,N=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",i()({},N,{className:g()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":a,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":l,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":f,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},o()(n,"mdc-layout-grid__cell--span-".concat(S),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(y,"-desktop"),12>=y&&y>0),o()(n,"mdc-layout-grid__cell--start-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--order-".concat(j,"-desktop"),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--start-".concat(_,"-tablet"),8>=_&&_>0),o()(n,"mdc-layout-grid__cell--order-".concat(E,"-tablet"),8>=E&&E>0),o()(n,"mdc-layout-grid__cell--span-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--start-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},124:function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),o=n.n(a),c=n(1),s=n.n(c),l=n(11),u=n.n(l),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.className,a=t.children,c=o()(t,["className","children"]);return e.createElement("div",i()({ref:n,className:u()("mdc-layout-grid__inner",r)},c),a)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),o=n.n(a),c=n(1),s=n.n(c),l=n(11),u=n.n(l),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,a=t.fill,c=t.className,s=t.children,l=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:u()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":l,"mdc-layout-grid--fill":a})},d,{ref:n}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},1253:function(e,t,n){"use strict";n.r(t),function(e){var t=n(326),r=n(141),i=n(216),a=n(1074),o=n(22);Object(t.a)((function(){var t=document.getElementById("js-googlesitekit-metric-selection");t&&Object(r.render)(e.createElement(i.a,{viewContext:o.p},e.createElement(a.a,null)),t)}))}.call(this,n(4))},126:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(i=e.sent,a=i.cacheHit,o=i.value,!a){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e)})),createSnapshot:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},a=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(f.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(f.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(f.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:a,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,a=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=a.snapshot,c=(o.error,i()(o,["error"]));return c;default:return e}}}},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(v(e).map((function(e){return e.getActions().createSnapshot()})))},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(v(e).map((function(e){return e.getActions().restoreSnapshot()})))}},132:function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(11),o=n.n(a),c=n(38),s=n(2),l=n(20),u=n(35);function SourceLink(t){var n=t.name,r=t.href,i=t.className,a=t.external;return Object(u.a)()?null:e.createElement("div",{className:o()("googlesitekit-source-link",i)},Object(c.a)(Object(s.sprintf)( -/* translators: %s: source link */ -Object(s.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(l.a,{key:"link",href:r,external:a})}))}SourceLink.propTypes={name:i.a.string,href:i.a.string,className:i.a.string,external:i.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},135:function(e,t,n){"use strict";var r=n(0),i=Object(r.createContext)(!1);t.a=i},137:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;tHelp us improve Site Kit by sharing anonymous usage data. All collected data is treated in accordance with the Google Privacy Policy.","google-site-kit"),{a:e.createElement(h.a,{key:"link",href:"https://policies.google.com/privacy",external:!0}),span:e.createElement("span",null)})),(null==j?void 0:j.message)&&e.createElement("div",{className:"googlesitekit-error-text"},null==j?void 0:j.message))}OptIn.propTypes={id:s.a.string,name:s.a.string,className:s.a.string,trackEventCategory:s.a.string,alignLeftCheckbox:s.a.bool}}).call(this,n(4))},213:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Item}));var r=n(1),i=n.n(r);function Item(t){var n=t.icon,r=t.label;return e.createElement("div",{className:"googlesitekit-user-menu__item"},e.createElement("div",{className:"googlesitekit-user-menu__item-icon"},n),e.createElement("span",{className:"googlesitekit-user-menu__item-label"},r))}Item.propTypes={icon:i.a.node,label:i.a.string}}).call(this,n(4))},216:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Root}));var r=n(16),i=n.n(r),a=n(1),o=n.n(a),c=n(420),s=n(527),l=n(0),u=n(3),d=n.n(u),g=n(217),f=n(218),m=n(40),p=n(219),v=n(221),b=n(222),h=n(58),O=n(157),_=n(171);function Root(t){var n=t.children,r=t.registry,a=t.viewContext,o=void 0===a?null:a,d=c.a,E=Object(l.useState)({key:"Root",value:!0}),y=i()(E,1)[0];return e.createElement(l.StrictMode,null,e.createElement(O.a,{value:y},e.createElement(u.RegistryProvider,{value:r},e.createElement(f.a,{value:m.a},e.createElement(h.a,{value:o},e.createElement(s.a,{theme:d()},e.createElement(g.a,null,e.createElement(v.a,null,n,o&&e.createElement(b.a,null)),Object(_.a)(o)&&e.createElement(p.a,null))))))))}Root.propTypes={children:o.a.node,registry:o.a.object,viewContext:o.a.string.isRequired},Root.defaultProps={registry:d.a}}).call(this,n(4))},217:function(e,t,n){"use strict";(function(e,r){var i=n(51),a=n.n(i),o=n(53),c=n.n(o),s=n(68),l=n.n(s),u=n(69),d=n.n(u),g=n(49),f=n.n(g),m=n(1),p=n.n(m),v=n(0),b=n(2),h=n(170),O=n(58),_=n(90),E=n(9);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f()(e);if(t){var i=f()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return d()(this,n)}}var k=function(t){l()(ErrorHandler,t);var n=y(ErrorHandler);function ErrorHandler(e){var t;return a()(this,ErrorHandler),(t=n.call(this,e)).state={error:null,info:null,copied:!1},t}return c()(ErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Caught an error:",t,n),this.setState({error:t,info:n}),Object(E.J)("react_error","handle_".concat(this.context||"unknown","_error"),"".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,i=t.info;return n?r.createElement(_.b,{id:"googlesitekit-error",className:"googlesitekit-error-handler",title:Object(b.__)("Site Kit encountered an error","google-site-kit"),description:r.createElement(h.a,{message:n.message,componentStack:i.componentStack}),isDismissible:!1,format:"small",type:"win-error"},r.createElement("pre",{className:"googlesitekit-overflow-auto"},n.message,i.componentStack)):e}}]),ErrorHandler}(v.Component);k.contextType=O.b,k.propTypes={children:p.a.node.isRequired},t.a=k}).call(this,n(28),n(4))},218:function(e,t,n){"use strict";var r=n(119),i=(r.a.Consumer,r.a.Provider);t.a=i},219:function(e,t,n){"use strict";(function(e){var r=n(3),i=n(220),a=n(6);t.a=function PermissionsModal(){return Object(r.useSelect)((function(e){return e(a.a).isAuthenticated()}))?e.createElement(i.a,null):null}}).call(this,n(4))},22:function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"m",(function(){return o})),n.d(t,"t",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"s",(function(){return l})),n.d(t,"i",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"u",(function(){return m})),n.d(t,"v",(function(){return p})),n.d(t,"q",(function(){return v})),n.d(t,"p",(function(){return b})),n.d(t,"b",(function(){return h})),n.d(t,"e",(function(){return O})),n.d(t,"a",(function(){return _})),n.d(t,"d",(function(){return E})),n.d(t,"c",(function(){return y})),n.d(t,"f",(function(){return k})),n.d(t,"g",(function(){return j}));var r="mainDashboard",i="entityDashboard",a="mainDashboardViewOnly",o="entityDashboardViewOnly",c="userInput",s="activation",l="splash",u="adminBar",d="adminBarViewOnly",g="settings",f="adBlockingRecovery",m="wpDashboard",p="wpDashboardViewOnly",v="moduleSetup",b="metricSelection",h="key-metrics",O="traffic",_="content",E="speed",y="monetization",k=[r,i,a,o,c,l,g,v,b],j=[a,o,d,p]},220:function(e,t,n){"use strict";(function(e,r){var i=n(5),a=n.n(i),o=n(15),c=n.n(o),s=n(2),l=n(0),u=n(3),d=n(112),g=n(29),f=n(32),m=n(6),p=n(130),v=n(73);t.a=function AuthenticatedPermissionsModal(){var t,n,i,o,b=Object(u.useRegistry)(),h=Object(u.useSelect)((function(e){return e(m.a).getPermissionScopeError()})),O=Object(u.useSelect)((function(e){return e(m.a).getUnsatisfiedScopes()})),_=Object(u.useSelect)((function(t){var n,r,i;return t(m.a).getConnectURL({additionalScopes:null==h||null===(n=h.data)||void 0===n?void 0:n.scopes,redirectURL:(null==h||null===(r=h.data)||void 0===r?void 0:r.redirectURL)||e.location.href,errorRedirectURL:null==h||null===(i=h.data)||void 0===i?void 0:i.errorRedirectURL})})),E=Object(u.useDispatch)(m.a).clearPermissionScopeError,y=Object(u.useDispatch)(f.a).navigateTo,k=Object(u.useDispatch)(g.a).setValues,j=Object(l.useCallback)((function(){E()}),[E]),S=Object(l.useCallback)(c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(m.d,{permissionsError:h}),e.next=3,Object(p.c)(b);case 3:y(_);case 4:case"end":return e.stop()}}),e)}))),[b,_,y,h,k]);return Object(l.useEffect)((function(){(function(){var e=c()(a.a.mark((function e(){var t,n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(null==h||null===(t=h.data)||void 0===t?void 0:t.skipModal)||!(null==h||null===(n=h.data)||void 0===n||null===(r=n.scopes)||void 0===r?void 0:r.length)){e.next=3;break}return e.next=3,S();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}),[S,h]),h?(null==h||null===(t=h.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.length)?(null==h||null===(i=h.data)||void 0===i?void 0:i.skipModal)||O&&(null==h||null===(o=h.data)||void 0===o?void 0:o.scopes.every((function(e){return O.includes(e)})))?null:r.createElement(v.a,null,r.createElement(d.a,{title:Object(s.__)("Additional Permissions Required","google-site-kit"),subtitle:h.message,confirmButton:Object(s.__)("Proceed","google-site-kit"),dialogActive:!0,handleConfirm:S,handleDialog:j,medium:!0})):(e.console.warn("permissionsError lacks scopes array to use for redirect, so not showing the PermissionsModal. permissionsError was:",h),null):null}}).call(this,n(28),n(4))},221:function(e,t,n){"use strict";var r=n(5),i=n.n(r),a=n(15),o=n.n(a),c=n(16),s=n.n(c),l=n(0),u=n(3),d=n(130);t.a=function RestoreSnapshots(e){var t=e.children,n=Object(u.useRegistry)(),r=Object(l.useState)(!1),a=s()(r,2),c=a[0],g=a[1];return Object(l.useEffect)((function(){c||o()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(n);case 2:g(!0);case 3:case"end":return e.stop()}}),e)})))()}),[n,c]),c?t:null}},222:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return FeatureTours}));var i=n(84),a=n(0),o=n(3),c=n(6),s=n(18),l=n(94);function FeatureTours(){var t=Object(s.a)(),n=Object(o.useDispatch)(c.a).triggerTourForView;Object(i.a)((function(){n(t)}));var u=Object(o.useSelect)((function(e){return e(c.a).getCurrentTour()}));return Object(a.useEffect)((function(){if(u){var t=document.getElementById("js-googlesitekit-main-dashboard");if(t){var n=new ResizeObserver((function(){e.dispatchEvent(new Event("resize"))}));return n.observe(t),function(){n.disconnect()}}}}),[u]),u?r.createElement(l.a,{tourID:u.slug,steps:u.steps,gaEventCategory:u.gaEventCategory,callback:u.callback}):null}}).call(this,n(28),n(4))},224:function(e,t,n){"use strict";(function(e){var r=n(16),i=n.n(r),a=n(1),o=n.n(a),c=n(11),s=n.n(c),l=n(581),u=n(2),d=n(0),g=n(3),f=n(244),m=n(265),p=n(269),v=n(6),b=n(17),h=n(274),O=n(281),_=n(283),E=n(35),y=n(54),k=n(20),j=n(289),S=n(14),w=n(290);function Header(t){var n,r=t.children,a=t.subHeader,o=t.showNavigation,c=!!Object(y.c)(),N=Object(E.a)();Object(w.a)();var T=Object(g.useSelect)((function(e){return e(S.c).getAdminURL("googlesitekit-dashboard")})),A=Object(g.useSelect)((function(e){return e(v.a).isAuthenticated()})),C=Object(l.a)({childList:!0}),I=i()(C,2),R=I[0],L=!!(null===(n=I[1].target)||void 0===n?void 0:n.childElementCount);return e.createElement(d.Fragment,null,e.createElement("header",{className:s()("googlesitekit-header",{"googlesitekit-header--has-subheader":L,"googlesitekit-header--has-navigation":o})},e.createElement(b.e,null,e.createElement(b.k,null,e.createElement(b.a,{smSize:1,mdSize:2,lgSize:4,className:"googlesitekit-header__logo",alignMiddle:!0},e.createElement(k.a,{"aria-label":Object(u.__)("Go to dashboard","google-site-kit"),className:"googlesitekit-header__logo-link",href:T},e.createElement(f.a,null))),e.createElement(b.a,{smSize:3,mdSize:6,lgSize:8,className:"googlesitekit-header__children",alignMiddle:!0},r,!A&&c&&N&&e.createElement(_.a,null),A&&!N&&e.createElement(m.a,null))))),e.createElement("div",{className:"googlesitekit-subheader",ref:R},e.createElement(p.a,null),a),o&&e.createElement(h.a,null),c&&e.createElement(j.a,null),e.createElement(O.a,null))}Header.displayName="Header",Header.propTypes={children:o.a.node,subHeader:o.a.element,showNavigation:o.a.bool},Header.defaultProps={children:null,subHeader:null},t.a=Header}).call(this,n(4))},225:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return HelpMenu}));var r=n(16),i=n.n(r),a=n(1),o=n.n(a),c=n(207),s=n(0),l=n(56),u=n(2),d=n(3),g=n(10),f=n(291),m=n(115),p=n(9),v=n(162),b=n(19),h=n(18),O=n(14);function HelpMenu(t){var n=t.children,r=Object(s.useState)(!1),a=i()(r,2),o=a[0],_=a[1],E=Object(s.useRef)(),y=Object(h.a)();Object(c.a)(E,(function(){return _(!1)})),Object(m.a)([l.c,l.f],E,(function(){return _(!1)}));var k=Object(d.useSelect)((function(e){return e(b.a).isModuleActive("adsense")})),j=Object(s.useCallback)((function(){o||Object(p.J)("".concat(y,"_headerbar"),"open_helpmenu"),_(!o)}),[o,y]),S=Object(s.useCallback)((function(){_(!1)}),[]),w=Object(d.useSelect)((function(e){return e(O.c).getDocumentationLinkURL("fix-common-issues")}));return e.createElement("div",{ref:E,className:"googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},e.createElement(g.Button,{"aria-controls":"googlesitekit-help-menu","aria-expanded":o,"aria-label":Object(u.__)("Help","google-site-kit"),"aria-haspopup":"menu",className:"googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon googlesitekit-help-menu__button mdc-button--dropdown",icon:e.createElement(f.a,{width:"20",height:"20"}),onClick:j,text:!0,tooltipEnterDelayInMS:500}),e.createElement(g.Menu,{className:"googlesitekit-width-auto",menuOpen:o,id:"googlesitekit-help-menu",onSelected:S},n,e.createElement(v.a,{gaEventLabel:"fix_common_issues",href:w},Object(u.__)("Fix common issues","google-site-kit")),e.createElement(v.a,{gaEventLabel:"documentation",href:"https://sitekit.withgoogle.com/documentation/"},Object(u.__)("Read help docs","google-site-kit")),e.createElement(v.a,{gaEventLabel:"support_forum",href:"https://wordpress.org/support/plugin/google-site-kit/"},Object(u.__)("Get support","google-site-kit")),k&&e.createElement(v.a,{gaEventLabel:"adsense_help",href:"https://support.google.com/adsense/"},Object(u.__)("Get help with AdSense","google-site-kit"))))}HelpMenu.propTypes={children:o.a.node}}).call(this,n(4))},226:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1280?i:e>960?a:e>600?o:c}},265:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return UserMenu}));var i=n(5),a=n.n(i),o=n(15),c=n.n(o),s=n(16),l=n.n(s),u=n(207),d=n(0),g=n(2),f=n(56),m=n(3),p=n(10),v=n(112),b=n(9),h=n(34),O=n(73),_=n(266),E=n(213),y=n(267),k=n(268),j=n(29),S=n(14),w=n(6),N=n(32),T=n(8),A=n(115),C=n(18);function UserMenu(){var t=Object(m.useSelect)((function(e){return e(S.c).getProxyPermissionsURL()})),n=Object(m.useSelect)((function(e){return e(w.a).getEmail()})),i=Object(m.useSelect)((function(e){return e(w.a).getPicture()})),o=Object(m.useSelect)((function(e){return e(w.a).getFullName()})),s=Object(m.useSelect)((function(e){return e(S.c).getAdminURL("googlesitekit-splash",{googlesitekit_context:"revoked"})})),I=Object(m.useSelect)((function(e){return e(j.a).getValue(T.d,"isAutoCreatingCustomDimensionsForAudience")})),R=Object(d.useState)(!1),L=l()(R,2),D=L[0],x=L[1],P=Object(d.useState)(!1),M=l()(P,2),B=M[0],H=M[1],F=Object(d.useRef)(),U=Object(d.useRef)(),z=Object(C.a)(),V=Object(m.useDispatch)(N.a).navigateTo;Object(u.a)(F,(function(){return H(!1)})),Object(A.a)([f.c,f.f],F,(function(){var e;H(!1),null===(e=U.current)||void 0===e||e.focus()})),Object(d.useEffect)((function(){var t=function(e){f.c===e.keyCode&&(x(!1),H(!1))};return e.addEventListener("keyup",t),function(){e.removeEventListener("keyup",t)}}),[]);var G,W=Object(d.useCallback)((function(){B||Object(b.J)("".concat(z,"_headerbar"),"open_usermenu"),H(!B)}),[B,z]),q=Object(d.useCallback)((function(){x(!D),H(!1)}),[D]),K=Object(d.useCallback)(function(){var e=c()(a.a.mark((function e(n,r){var i;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=r.detail.item,e.t0=null==i?void 0:i.id,e.next="manage-sites"===e.t0?4:"disconnect"===e.t0?9:11;break;case 4:if(!t){e.next=8;break}return e.next=7,Object(b.J)("".concat(z,"_headerbar_usermenu"),"manage_sites");case 7:V(t);case 8:return e.abrupt("break",12);case 9:return q(),e.abrupt("break",12);case 11:W();case 12:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),[t,W,q,V,z]),Y=Object(d.useCallback)(c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return x(!1),e.next=3,Object(h.b)();case 3:return e.next=5,Object(b.J)("".concat(z,"_headerbar_usermenu"),"disconnect_user");case 5:V(s);case 6:case"end":return e.stop()}}),e)}))),[s,V,z]);return n?(o&&n&&(G=Object(g.sprintf)( -/* translators: Account info text. 1: User's (full) name 2: User's email address. */ -Object(g.__)("Google Account for %1$s (Email: %2$s)","google-site-kit"),o,n)),o&&!n&&(G=Object(g.sprintf)( -/* translators: Account info text. 1: User's (full) name. */ -Object(g.__)("Google Account for %1$s","google-site-kit"),o)),!o&&n&&(G=Object(g.sprintf)( -/* translators: Account info text. 1: User's email address. */ -Object(g.__)("Google Account (Email: %1$s)","google-site-kit"),n)),r.createElement(d.Fragment,null,r.createElement("div",{ref:F,className:"googlesitekit-user-selector googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},r.createElement(p.Button,{disabled:I,ref:U,className:"googlesitekit-header__dropdown mdc-button--dropdown googlesitekit-border-radius-round--tablet googlesitekit-border-radius-round--phone googlesitekit-border-radius-round googlesitekit-button-icon",text:!0,onClick:W,icon:!!i&&r.createElement("i",{className:"mdc-button__icon mdc-button__account","aria-hidden":"true"},r.createElement("img",{className:"mdc-button__icon--image",src:i,alt:Object(g.__)("User Avatar","google-site-kit")})),"aria-haspopup":"menu","aria-expanded":B,"aria-controls":"user-menu","aria-label":I?void 0:Object(g.__)("Account","google-site-kit"),tooltip:!0,tooltipEnterDelayInMS:500,customizedTooltip:I?null:r.createElement("span",{"aria-label":G},r.createElement("strong",null,Object(g.__)("Google Account","google-site-kit")),r.createElement("br",null),r.createElement("br",null),o,o&&r.createElement("br",null),n)}),r.createElement(p.Menu,{className:"googlesitekit-user-menu",menuOpen:B,onSelected:K,id:"user-menu"},r.createElement("li",null,r.createElement(_.a,null)),!!t&&r.createElement("li",{id:"manage-sites",className:"mdc-list-item",role:"menuitem"},r.createElement(E.a,{icon:r.createElement(k.a,{width:"22"}),label:Object(g.__)("Manage Sites","google-site-kit")})),r.createElement("li",{id:"disconnect",className:"mdc-list-item",role:"menuitem"},r.createElement(E.a,{icon:r.createElement(y.a,{width:"22"}),label:Object(g.__)("Disconnect","google-site-kit")})))),r.createElement(O.a,null,r.createElement(v.a,{dialogActive:D,handleConfirm:Y,handleDialog:q,title:Object(g.__)("Disconnect","google-site-kit"),subtitle:Object(g.__)("Disconnecting Site Kit by Google will remove your access to all services. After disconnecting, you will need to re-authorize to restore service.","google-site-kit"),confirmButton:Object(g.__)("Disconnect","google-site-kit"),danger:!0,small:!0})))):null}}).call(this,n(28),n(4))},266:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Details}));var r=n(2),i=n(3),a=n(6);function Details(){var t=Object(i.useSelect)((function(e){return e(a.a).getPicture()})),n=Object(i.useSelect)((function(e){return e(a.a).getFullName()})),o=Object(i.useSelect)((function(e){return e(a.a).getEmail()}));return e.createElement("div",{className:"googlesitekit-user-menu__details","aria-label":Object(r.__)("Google account","google-site-kit")},!!t&&e.createElement("img",{className:"googlesitekit-user-menu__details-avatar",src:t,alt:""}),e.createElement("div",{className:"googlesitekit-user-menu__details-info"},e.createElement("p",{className:"googlesitekit-user-menu__details-info__name"},n),e.createElement("p",{className:"googlesitekit-user-menu__details-info__email","aria-label":Object(r.__)("Email","google-site-kit")},o)))}}).call(this,n(4))},267:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw a}}}}function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nSign in to connect more services and control sharing access.","google-site-kit"),{strong:e.createElement("strong",null)}):Object(s.a)(Object(l.__)("You can see stats from all shared Google services, but you can't make any changes. Learn more","google-site-kit"),{a:e.createElement(v.a,{href:a,external:!0,onClick:E,"aria-label":Object(l.__)("Learn more about dashboard sharing","google-site-kit")})});return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item googlesitekit-view-only-menu__description"},e.createElement("p",null,y),n&&e.createElement(d.Button,{onClick:_},Object(l._x)("Sign in with Google","Service name","google-site-kit")))}}).call(this,n(4))},286:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SharedServices}));var r=n(2),i=n(3),a=n(6),o=n(287);function SharedServices(){var t=Object(i.useSelect)((function(e){return e(a.a).getViewableModules()}));return void 0===t?null:e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("h4",null,Object(r.__)("Shared services","google-site-kit")),e.createElement("ul",null,t.map((function(t){return e.createElement(o.a,{key:t,module:t})}))))}}).call(this,n(4))},287:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Service}));var r=n(1),i=n.n(r),a=n(38),o=n(2),c=n(3),s=n(19),l=n(6);function Service(t){var n=t.module,r=Object(c.useSelect)((function(e){return e(l.a).hasCapability(l.H)})),i=Object(c.useSelect)((function(e){return e(s.a).getModule(n)||{}})),u=i.name,d=i.owner,g=Object(c.useSelect)((function(e){return e(s.a).getModuleIcon(n)}));return e.createElement("li",{className:"googlesitekit-view-only-menu__service"},e.createElement("span",{className:"googlesitekit-view-only-menu__service--icon"},e.createElement(g,{height:26})),e.createElement("span",{className:"googlesitekit-view-only-menu__service--name"},u),r&&(null==d?void 0:d.login)&&e.createElement("span",{className:"googlesitekit-view-only-menu__service--owner"},Object(a.a)(Object(o.sprintf)( -/* translators: %s: module owner Google Account email address */ -Object(o.__)("Shared by %s","google-site-kit"),d.login),{strong:e.createElement("strong",{title:d.login})})))}Service.propTypes={module:i.a.string.isRequired}}).call(this,n(4))},288:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Tracking}));var r=n(38),i=n(2),a=n(212),o=n(18);function Tracking(){var t=Object(o.a)();return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("p",null,Object(r.a)(Object(i.__)("Thanks for using Site Kit!
Help us make it even better","google-site-kit"),{br:e.createElement("br",null)})),e.createElement(a.a,{trackEventCategory:"".concat(t,"_headerbar_viewonly"),alignCheckboxLeft:!0}))}}).call(this,n(4))},289:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SubtleNotifications}));var r=n(166),i=n(47);function SubtleNotifications(){return e.createElement(r.a,{areaSlug:i.b.BANNERS_BELOW_NAV})}}).call(this,n(4))},29:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/forms"},290:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(5),i=n.n(r),a=n(15),o=n.n(a),c=n(0),s=n(3),l=n(14),u=n(18),d=n(34),g=n(9),f=function(){var e=Object(u.a)(),t=Object(s.useSelect)((function(e){return e(l.c).isUsingProxy()})),n=Object(s.useSelect)((function(e){return e(l.c).getSetupErrorMessage()}));Object(c.useEffect)((function(){n||void 0===t||function(){var n=o()(i.a.mark((function n(){var r,a;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Object(d.d)("start_user_setup");case 2:return r=n.sent,n.next=5,Object(d.d)("start_site_setup");case 5:if(a=n.sent,!r.cacheHit){n.next=10;break}return n.next=9,Object(d.c)("start_user_setup");case 9:Object(g.J)("".concat(e,"_setup"),"complete_user_setup",t?"proxy":"custom-oauth");case 10:if(!a.cacheHit){n.next=14;break}return n.next=13,Object(d.c)("start_site_setup");case 13:Object(g.J)("".concat(e,"_setup"),"complete_site_setup",t?"proxy":"custom-oauth");case 14:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()}),[e,t,n])}},291:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0,S="key-metric-selection-checkbox-".concat(n);return e.createElement(v.c,{id:S,slug:n,title:r,description:a,isNewlyDetected:c,isItemSelected:k,isItemDisabled:j,onCheckboxChange:y},h.length>0&&e.createElement("div",{className:"googlesitekit-selection-panel-item-error"},Object(u.sprintf)( -/* translators: %s: module names. */ -Object(u._n)("%s is disconnected, no data to show","%s are disconnected, no data to show",h.length,"google-site-kit"),h.join(Object(u.__)(" and ","google-site-kit")))))}MetricItem.propTypes={slug:s.a.string.isRequired,title:s.a.string.isRequired,description:s.a.string.isRequired,isNewlyDetected:s.a.bool,savedItemSlugs:s.a.array}}).call(this,n(4))},304:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&e.createElement("p",{className:"googlesitekit-selection-panel-items__subheading"},o)),h>0&&e.createElement("div",{className:"googlesitekit-selection-panel-items__subsection"},b(m)),v)}SelectionPanelItems.propTypes={currentSelectionTitle:o.a.string,availableItemsTitle:o.a.string,savedItemSlugs:o.a.array,availableSavedItems:o.a.object,availableUnsavedItems:o.a.object,ItemComponent:o.a.elementType,notice:o.a.node}}).call(this,n(4))},310:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelFooter}));var r=n(5),i=n.n(r),a=n(15),o=n.n(a),c=n(16),s=n.n(c),l=n(13),u=n(1),d=n.n(u),g=n(0),f=n(38),m=n(2),p=n(3),v=n(10),b=n(111),h=n(9),O=n(8),_=n(42),E=n(59);function SelectionPanelFooter(t){var n=t.savedItemSlugs,r=void 0===n?[]:n,a=t.selectedItemSlugs,c=void 0===a?[]:a,u=t.saveSettings,d=void 0===u?function(){}:u,y=t.saveError,k=t.itemLimitError,j=t.minSelectedItemCount,S=void 0===j?0:j,w=t.maxSelectedItemCount,N=void 0===w?0:w,T=t.isBusy,A=t.onSaveSuccess,C=void 0===A?function(){}:A,I=t.onCancel,R=void 0===I?function(){}:I,L=t.isOpen,D=t.closePanel,x=void 0===D?function(){}:D,P=Object(g.useState)(null),M=s()(P,2),B=M[0],H=M[1],F=Object(g.useState)(!1),U=s()(F,2),z=U[0],V=U[1],G=Object(p.useSelect)((function(e){return e(O.r).isFetchingSyncAvailableAudiences()})),W=Object(g.useMemo)((function(){return!Object(l.isEqual)(Object(h.F)(c),Object(h.F)(r))}),[r,c]),q=(null==r?void 0:r.length)>0&&W?Object(m.__)("Apply changes","google-site-kit"):Object(m.__)("Save selection","google-site-kit"),K=Object(g.useCallback)(o()(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(c);case 2:t=e.sent,t.error||(C(),x(),H(q),V(!0));case 5:case"end":return e.stop()}}),e)}))),[d,c,C,x,q]),Y=Object(g.useCallback)((function(){x(),R()}),[x,R]),X=Object(g.useState)(null),J=s()(X,2),$=J[0],Z=J[1];Object(g.useEffect)((function(){null!==$&&$!==L&&L&&(H(null),V(!1)),Z(L)}),[L,$]);var Q=(null==c?void 0:c.length)||0,ee=G?e.createElement(_.a,{width:"89px",height:"20px"}):e.createElement("p",{className:"googlesitekit-selection-panel-footer__item-count"},Object(f.a)(Object(m.sprintf)( -/* translators: 1: Number of selected items. 2: Maximum number of items that can be selected. */ -Object(m.__)("%1$d selected (up to %2$d)","google-site-kit"),Q,N),{MaxCount:e.createElement("span",{className:"googlesitekit-selection-panel-footer__item-count--max-count"})}));return e.createElement("footer",{className:"googlesitekit-selection-panel-footer"},y&&e.createElement(b.a,{error:y}),e.createElement("div",{className:"googlesitekit-selection-panel-footer__content"},W&&k?e.createElement(E.a,{noPrefix:!0,message:k}):ee,e.createElement("div",{className:"googlesitekit-selection-panel-footer__actions"},e.createElement(v.Button,{tertiary:!0,onClick:Y,disabled:T},Object(m.__)("Cancel","google-site-kit")),e.createElement(v.SpinnerButton,{onClick:K,isSaving:T,disabled:QN||T||!L&&z},B||q))))}SelectionPanelFooter.propTypes={savedItemSlugs:d.a.array,selectedItemSlugs:d.a.array,saveSettings:d.a.func,saveError:d.a.object,itemLimitError:d.a.string,minSelectedItemCount:d.a.number,maxSelectedItemCount:d.a.number,isBusy:d.a.bool,onSaveSuccess:d.a.func,onCancel:d.a.func,isOpen:d.a.bool,closePanel:d.a.func}}).call(this,n(4))},319:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanel}));var r=n(11),i=n.n(r),a=n(1),o=n.n(a),c=n(320);function SelectionPanel(t){var n=t.children,r=t.isOpen,a=t.isLoading,o=t.onOpen,s=t.closePanel,l=t.className,u=null==l?void 0:l.split(/\s+/).map((function(e){return".".concat(e)})).join(""),d=u?"".concat(u," .googlesitekit-selection-panel-item .googlesitekit-selection-box input"):".googlesitekit-selection-panel-item .googlesitekit-selection-box input";return e.createElement(c.a,{className:i()("googlesitekit-selection-panel",l),isOpen:r,isLoading:a,onOpen:o,closeSheet:s,focusTrapOptions:{initialFocus:d}},n)}SelectionPanel.propTypes={children:o.a.node,isOpen:o.a.bool,isLoading:o.a.bool,onOpen:o.a.func,closePanel:o.a.func,className:o.a.string}}).call(this,n(4))},32:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/location"},320:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SideSheet}));var r=n(7),i=n.n(r),a=n(11),o=n.n(a),c=n(396),s=n.n(c),l=n(1),u=n.n(l),d=n(207),g=n(380),f=n(0),m=n(56),p=n(73);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw a}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},o=a.ttl,s=void 0===o?c.b:o,l=a.timestamp,u=void 0===l?Math.round(Date.now()/1e3):l,d=a.isError,f=void 0!==d&&d,t.next=3,v();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(g).concat(n),JSON.stringify({timestamp:u,ttl:s,value:r,isError:f})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),_=function(){var t=o()(i.a.mark((function t(n){var r,a;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,a=n.startsWith(d)?n:"".concat(g).concat(n),r.removeItem(a),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=o()(i.a.mark((function t(){var n,r,a,o;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],a=0;a1&&r.length>0)return i}return t})),Y=Object(p.useSelect)((function(e){return F?e(w.r).getKeyMetricsConversionEventWidgets():[]})),X=d()({},b.c.SLUG,0),J={},$={},Z=function(e){var t,r=n[e].group;if((r===s||s===b.c.SLUG&&x.includes(e))&&(J[e]=n[e]),s===b.g.SLUG&&B.includes(e)&&B.includes(e)&&(J[e]=n[e]),!X[r]){var i=Object.keys(n).filter((function(e){return!(n[e].group!==r||!(null==D?void 0:D.includes(e)))})).length;X[r]=i}(null==K?void 0:K.length)&&(K.some((function(t){return Y[t].includes(e)}))&&($[r]=[].concat(c()(null!==(t=$[r])&&void 0!==t?t:[]),[e])))};for(var Q in n)Z(Q);var ee=Object(p.useDispatch)(h.a).setValues,te=Object(g.useCallback)((function(){var e;ee(b.j,(e={},d()(e,b.i,D),d()(e,b.a,[].concat(c()(x),c()(P))),d()(e,b.p,[]),e))}),[D,x,P,ee]),ne=Object(g.useCallback)((function(e,t){if(e)u(e);else{var n=q[t];R(t),u(n.SLUG)}P.length&&te()}),[q,P,u,te]),re=Object(p.useSelect)((function(e){return e(N.b).getValue(b.k)})),ie=Object(f.a)(re),ae=Object.keys($);Object(g.useEffect)((function(){if(!ie&&re)if(u(b.c.SLUG),R(0),ae.length&&L){var e=q.find((function(e){return e.SLUG===ae[0]}));R(q.indexOf(e)),u(e.SLUG)}else R(0),u(b.c.SLUG);ie&&!re&&te()}),[re,ie,P,q,L,ae,te]);var oe=[[].concat(c()(W),c()(G.slice(0,2))),c()(G.slice(2))];return e.createElement("div",{className:"googlesitekit-chip-tab-group"},e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-items"},!L&&oe.map((function(t){return e.createElement("div",{key:"row-".concat(t[0].SLUG),className:"googlesitekit-chip-tab-group__tab-items-row"},t.map((function(t){return e.createElement(O.a,{key:t.SLUG,slug:t.SLUG,label:t.LABEL,hasNewBadge:!!(null==$?void 0:$[t.SLUG]),isActive:t.SLUG===s,onClick:ne,selectedCount:X[t.SLUG]})})))})),L&&e.createElement(v.TabBar,{activeIndex:I,handleActiveIndexUpdate:function(e){return ne(null,e)}},q.map((function(t,n){var r=C[t.SLUG]||S.a;return e.createElement(v.Tab,{key:n,"aria-label":t.LABEL},e.createElement(r,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__tab-item-mobile-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(t.SLUG)}),t.LABEL,X[t.SLUG]>0&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",X[t.SLUG],")"),!!(null==$?void 0:$[t.SLUG])&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))})))),e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-item"},Object.keys(J).map((function(t){var n,i=J[t].group,o=null==$||null===(n=$[i])||void 0===n?void 0:n.includes(t);return e.createElement(_.a,a()({key:t,slug:t,savedItemSlugs:r,isNewlyDetected:o},J[t]))})),!Object.keys(J).length&&e.createElement("div",{className:"googlesitekit-chip-tab-group__graphic"},e.createElement(E.a,{height:250}),e.createElement("p",null,Object(m.__)("No metrics were selected yet","google-site-kit")))))}}).call(this,n(4))},353:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Chip}));var r,i=n(7),a=n.n(i),o=n(1),c=n.n(o),s=n(11),l=n.n(s),u=n(10),d=n(25),g=n(226),f=n(203),m=n(74),p=(r={},a()(r,d.c.SLUG,g.a),a()(r,d.g.SLUG,f.a),r);function Chip(t){var n=t.slug,r=t.label,i=t.isActive,a=t.onClick,o=t.hasNewBadge,c=void 0!==o&&o,s=t.selectedCount,d=void 0===s?0:s,g=p[n]||m.a;return e.createElement(u.Button,{className:l()("googlesitekit-chip-tab-group__chip-item",{"googlesitekit-chip-tab-group__chip-item--active":i}),icon:e.createElement(g,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(n)}),trailingIcon:d>0?e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",d,")"):null,onClick:function(){return a(n)}},r,c&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))}Chip.propTypes={slug:c.a.string.isRequired,label:c.a.string.isRequired,isActive:c.a.bool,hasNewBadge:c.a.bool,selectedCount:c.a.number,onClick:c.a.func.isRequired}}).call(this,n(4))},354:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:a;return t instanceof Set&&t.has(e)}}).call(this,n(28))},42:function(e,t,n){"use strict";(function(e){var r=n(7),i=n.n(r),a=n(1),o=n.n(a),c=n(11),s=n.n(c),l=n(26);function PreviewBlock(t){var n,r,a=t.className,o=t.width,c=t.height,u=t.shape,d=t.padding,g=t.smallWidth,f=t.smallHeight,m=t.tabletWidth,p=t.tabletHeight,v=t.desktopWidth,b=t.desktopHeight,h=Object(l.e)(),O={width:(n={},i()(n,l.b,g),i()(n,l.c,m),i()(n,l.a,v),i()(n,l.d,v),n),height:(r={},i()(r,l.b,f),i()(r,l.c,p),i()(r,l.a,b),i()(r,l.d,v),r)};return e.createElement("div",{className:s()("googlesitekit-preview-block",a,{"googlesitekit-preview-block--padding":d}),style:{width:O.width[h]||o,height:O.height[h]||c}},e.createElement("div",{className:s()("googlesitekit-preview-block__wrapper",{"googlesitekit-preview-block__wrapper--circle":"circular"===u})}))}PreviewBlock.propTypes={className:o.a.string,width:o.a.string,height:o.a.string,shape:o.a.string,padding:o.a.bool,smallWidth:o.a.string,smallHeight:o.a.string,tabletWidth:o.a.string,tabletHeight:o.a.string,desktopWidth:o.a.string,desktopHeight:o.a.string},PreviewBlock.defaultProps={className:void 0,width:"100px",height:"100px",shape:"square",padding:!1,smallWidth:void 0,smallHeight:void 0,tabletWidth:void 0,tabletHeight:void 0,desktopWidth:void 0,desktopHeight:void 0},t.a=PreviewBlock}).call(this,n(4))},46:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return a}));var r={BOXES:"boxes",COMPOSITE:"composite"},i={QUARTER:"quarter",HALF:"half",FULL:"full"},a="core/widgets"},47:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(22),i="core/notifications",a={ERRORS:"notification-area-errors",BANNERS_ABOVE_NAV:"notification-area-banners-above-nav",BANNERS_BELOW_NAV:"notification-area-banners-below-nav"},o={DEFAULT:"default",SETUP_CTAS:"setup-ctas"},c=[r.s,r.n,r.l,r.o,r.m]},50:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return o}));var r=n(3),i=n(19),a=n(79);function o(t){var n=t.moduleName,o=t.FallbackComponent,c=t.IncompleteComponent;return function(t){function WhenActiveComponent(a){var s=Object(r.useSelect)((function(e){return e(i.a).getModule(n)}),[n]);if(!s)return null;var l=o||a.WidgetNull||null;if(!1===s.active)return l&&e.createElement(l,a);if(!1===s.connected){var u=c||l;return u&&e.createElement(u,a)}return e.createElement(t,a)}return WhenActiveComponent.displayName="When".concat(Object(a.c)(n),"Active"),(t.displayName||t.name)&&(WhenActiveComponent.displayName+="(".concat(t.displayName||t.name,")")),WhenActiveComponent}}}).call(this,n(4))},54:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(22),i=n(18),a=r.n,o=r.l;function c(){var e=Object(i.a)();return e===r.n||e===r.o?a:e===r.l||e===r.m?o:null}},541:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e,t){var n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return!(n.bottomredo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(s,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:i.a.string.isRequired,reconnectURL:i.a.string,noPrefix:i.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return s})),n.d(t,"M",(function(){return l})),n.d(t,"O",(function(){return u})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return g})),n.d(t,"J",(function(){return f})),n.d(t,"I",(function(){return m})),n.d(t,"N",(function(){return p})),n.d(t,"f",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"h",(function(){return h})),n.d(t,"j",(function(){return O})),n.d(t,"l",(function(){return _})),n.d(t,"m",(function(){return E})),n.d(t,"n",(function(){return y})),n.d(t,"o",(function(){return k})),n.d(t,"q",(function(){return j})),n.d(t,"s",(function(){return S})),n.d(t,"r",(function(){return w})),n.d(t,"t",(function(){return N})),n.d(t,"w",(function(){return T})),n.d(t,"u",(function(){return A})),n.d(t,"v",(function(){return C})),n.d(t,"x",(function(){return I})),n.d(t,"y",(function(){return R})),n.d(t,"A",(function(){return L})),n.d(t,"B",(function(){return D})),n.d(t,"C",(function(){return x})),n.d(t,"D",(function(){return P})),n.d(t,"k",(function(){return M})),n.d(t,"F",(function(){return B})),n.d(t,"z",(function(){return H})),n.d(t,"G",(function(){return F})),n.d(t,"E",(function(){return U})),n.d(t,"i",(function(){return z})),n.d(t,"p",(function(){return V})),n.d(t,"Q",(function(){return G})),n.d(t,"P",(function(){return W}));var r="core/user",i="connected_url_mismatch",a="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",l="googlesitekit_setup",u="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",m="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",v="kmAnalyticsAdSenseTopEarningContent",b="kmAnalyticsEngagedTrafficSource",h="kmAnalyticsLeastEngagingPages",O="kmAnalyticsNewVisitors",_="kmAnalyticsPopularAuthors",E="kmAnalyticsPopularContent",y="kmAnalyticsPopularProducts",k="kmAnalyticsReturningVisitors",j="kmAnalyticsTopCities",S="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",N="kmAnalyticsTopCitiesDrivingPurchases",T="kmAnalyticsTopDeviceDrivingPurchases",A="kmAnalyticsTopConvertingTrafficSource",C="kmAnalyticsTopCountries",I="kmAnalyticsTopPagesDrivingLeads",R="kmAnalyticsTopRecentTrendingPages",L="kmAnalyticsTopTrafficSource",D="kmAnalyticsTopTrafficSourceDrivingAddToCart",x="kmAnalyticsTopTrafficSourceDrivingLeads",P="kmAnalyticsTopTrafficSourceDrivingPurchases",M="kmAnalyticsPagesPerVisit",B="kmAnalyticsVisitLength",H="kmAnalyticsTopReturningVisitorPages",F="kmSearchConsolePopularKeywords",U="kmAnalyticsVisitsPerVisitor",z="kmAnalyticsMostEngagingPages",V="kmAnalyticsTopCategories",G=[v,b,h,O,_,E,y,k,V,j,S,w,N,T,A,C,R,L,D,M,B,H,U,z,V],W=[].concat(G,[F])},66:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;tSettings","google-site-kit"),{link:e.createElement(f.a,{secondary:!0,onClick:_,disabled:h}),strong:e.createElement("strong",null)})))}Header.propTypes={closePanel:i.a.func.isRequired}}).call(this,n(4))},682:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return Footer}));var i=n(5),a=n.n(i),o=n(15),c=n.n(o),s=n(1),l=n.n(s),u=n(0),d=n(164),g=n(2),f=n(3),m=n(6),p=n(29),v=n(32),b=n(19),h=n(25),O=n(8),_=n(140),E=n(36),y=n(18),k=n(9),j=n(683),S=n(122);function Footer(t){var n=t.isOpen,i=t.closePanel,o=t.savedMetrics,s=t.onNavigationToOAuthURL,l=void 0===s?function(){}:s,w=t.isFullScreen,N=void 0!==w&&w,T=Object(y.a)(),A=Object(S.a)("conversionReporting"),C=Object(f.useSelect)((function(e){return e(p.a).getValue(h.j,h.i)})),I=Object(f.useSelect)((function(e){return e(m.a).isSavingKeyMetricsSettings()})),R="".concat(T,"_kmw-sidebar"),L=null==C?void 0:C.flatMap((function(e){var t=_.a[e];return(null==t?void 0:t.requiredCustomDimensions)||[]})),D=Object(f.useInViewSelect)((function(e){return!!(null==L?void 0:L.length)&&!e(O.r).hasCustomDimensions(L)}),[L]),x=Object(f.useInViewSelect)((function(e){return e(m.a).hasScope(O.h)})),P=Object(f.useSelect)((function(e){return e(b.a).isModuleConnected("analytics-4")})),M=Object(d.a)(e.location.href,{notification:"custom_dimensions"}),B=Object(f.useSelect)((function(e){var t=e(m.a).getConnectURL({additionalScopes:[O.h],redirectURL:M});return!!t&&e(v.a).isNavigatingTo(t)})),H=Object(f.useDispatch)(m.a),F=H.saveKeyMetricsSettings,U=H.setPermissionScopeError,z=Object(f.useDispatch)(p.a).setValues,V=Object(f.useSelect)((function(e){return e(O.r).getKeyMetricsConversionEventWidgets()})),G=Object(u.useCallback)(function(){var e=c()(a.a.mark((function e(t){var n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,F({widgetSlugs:t});case 2:return n=e.sent,r=n.error,e.abrupt("return",{error:r});case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[F]),W=Object(u.useCallback)((function(e){Object.values(V).flat().some((function(t){return e.includes(t)}))?Object(k.J)(R,"metrics_sidebar_save","conversion_reporting"):Object(k.J)(R,"metrics_sidebar_save"),P&&D&&(z(O.n,{autoSubmit:!0}),x||(l(),i(),U({code:E.a,message:Object(g.__)("Additional permissions are required to create new Analytics custom dimensions","google-site-kit"),data:{status:403,scopes:[O.h],skipModal:!0,redirectURL:M}})))}),[R,P,D,z,x,l,i,U,M,V]),q=Object(u.useCallback)((function(){Object(k.J)(R,"metrics_sidebar_cancel")}),[R]),K=A?h.n:h.m;return r.createElement(j.a,{savedItemSlugs:o,selectedItemSlugs:C,saveSettings:G,minSelectedItemCount:h.o,maxSelectedItemCount:K,isBusy:I||B,onSaveSuccess:function(){W(C)},onCancel:q,isOpen:n,closePanel:i,isFullScreen:N})}Footer.propTypes={isOpen:l.a.bool,closePanel:l.a.func.isRequired,savedMetrics:l.a.array,onNavigationToOAuthURL:l.a.func,isFullScreen:l.a.bool}}).call(this,n(28),n(4))},683:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelFooter}));var r=n(5),i=n.n(r),a=n(15),o=n.n(a),c=n(16),s=n.n(c),l=n(13),u=n(1),d=n.n(u),g=n(0),f=n(38),m=n(2),p=n(3),v=n(10),b=n(9),h=n(8),O=n(42);function SelectionPanelFooter(t){var n=t.savedItemSlugs,r=void 0===n?[]:n,a=t.selectedItemSlugs,c=void 0===a?[]:a,u=t.saveSettings,d=void 0===u?function(){}:u,_=t.minSelectedItemCount,E=void 0===_?0:_,y=t.maxSelectedItemCount,k=void 0===y?0:y,j=t.isBusy,S=t.onSaveSuccess,w=void 0===S?function(){}:S,N=t.onCancel,T=void 0===N?function(){}:N,A=t.isOpen,C=t.closePanel,I=void 0===C?function(){}:C,R=t.isFullScreen,L=void 0!==R&&R,D=Object(g.useState)(null),x=s()(D,2),P=x[0],M=x[1],B=Object(g.useState)(!1),H=s()(B,2),F=H[0],U=H[1],z=Object(p.useSelect)((function(e){return e(h.r).isFetchingSyncAvailableAudiences()})),V=Object(g.useMemo)((function(){return!Object(l.isEqual)(Object(b.F)(c),Object(b.F)(r))}),[r,c]),G=(null==r?void 0:r.length)>0&&V?Object(m.__)("Apply changes","google-site-kit"):Object(m.__)("Save selection","google-site-kit");L&&(G=Object(m.__)("Complete setup","google-site-kit"));var W=Object(g.useCallback)(o()(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(c);case 2:t=e.sent,t.error||(w(),I(),M(G),U(!0));case 5:case"end":return e.stop()}}),e)}))),[d,c,w,I,G]),q=Object(g.useCallback)((function(){I(),T()}),[I,T]),K=Object(g.useState)(null),Y=s()(K,2),X=Y[0],J=Y[1];Object(g.useEffect)((function(){null!==X&&X!==A&&A&&(M(null),U(!1)),J(A)}),[A,X]);var $=(null==c?void 0:c.length)||0,Z=z?e.createElement(O.a,{width:"89px",height:"20px"}):e.createElement("p",{className:"googlesitekit-selection-panel-footer__item-count"},Object(f.a)(Object(m.sprintf)( -/* translators: 1: Number of selected items. 2: Maximum number of items that can be selected. */ -Object(m.__)("%1$d selected (up to %2$d)","google-site-kit"),$,k),{MaxCount:e.createElement("span",{className:"googlesitekit-selection-panel-footer__item-count--max-count"})}));return e.createElement("footer",{className:"googlesitekit-selection-panel-footer"},e.createElement("div",{className:"googlesitekit-selection-panel-footer__content"},e.createElement("div",{className:"googlesitekit-selection-panel-footer__actions"},e.createElement(v.Button,{tertiary:!0,onClick:q,disabled:j},Object(m.__)("Cancel","google-site-kit")),Z,e.createElement(v.SpinnerButton,{onClick:W,isSaving:j,disabled:$k||j||!A&&F},P||G))))}SelectionPanelFooter.propTypes={savedItemSlugs:d.a.array,selectedItemSlugs:d.a.array,saveSettings:d.a.func,saveError:d.a.object,itemLimitError:d.a.string,minSelectedItemCount:d.a.number,maxSelectedItemCount:d.a.number,isBusy:d.a.bool,onSaveSuccess:d.a.func,onCancel:d.a.func,isOpen:d.a.bool,closePanel:d.a.func,isFullScreen:d.a.bool}}).call(this,n(4))},684:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricItems}));var r=n(7),i=n.n(r),a=n(1),o=n.n(a),c=n(2),s=n(3),l=n(83),u=n(6),d=n(46),g=n(140),f=n(303),m=n(35),p=n(122),v=n(685),b=n(113);function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;tE&&(n=Object(o.sprintf)( -/* translators: 1: Maximum number of metrics that can be selected. 2: Number of selected metrics. */ -Object(o.__)("Select up to %1$d metrics (%2$d selected)","google-site-kit"),E,_));var y=O;return h&&n&&(y={message:n}),e.createElement(g.a,{error:y,skipRetryMessage:!!n})}))}).call(this,n(4))},687:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SelectionPanelError}));var i=n(1),a=n.n(i),o=n(0),c=n(541),s=n(111),l=n(66);function SelectionPanelError(t){var n=t.error,i=t.noPrefix,a=void 0===i||i,u=t.skipRetryMessage,d=void 0===u||u,g=Object(o.useRef)();return Object(o.useEffect)((function(){if(n){var t=e.document.activeElement;t&&t.closest(".googlesitekit-selection-panel-item")&&Object(c.a)(g.current,t)&&t.scrollIntoView()}}),[n]),n?r.createElement("div",{className:"googlesitekit-selection-panel-error",ref:g},r.createElement(s.a,{Icon:l.a,error:n,noPrefix:a,skipRetryMessage:d})):null}SelectionPanelError.propTypes={error:a.a.shape({message:a.a.string}),noPrefix:a.a.bool,skipRetryMessage:a.a.bool}}).call(this,n(28),n(4))},70:function(e,t,n){"use strict";n.r(t),n.d(t,"CONTEXT_MAIN_DASHBOARD_KEY_METRICS",(function(){return r})),n.d(t,"CONTEXT_MAIN_DASHBOARD_TRAFFIC",(function(){return i})),n.d(t,"CONTEXT_MAIN_DASHBOARD_CONTENT",(function(){return a})),n.d(t,"CONTEXT_MAIN_DASHBOARD_SPEED",(function(){return o})),n.d(t,"CONTEXT_MAIN_DASHBOARD_MONETIZATION",(function(){return c})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_TRAFFIC",(function(){return s})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_CONTENT",(function(){return l})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_SPEED",(function(){return u})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_MONETIZATION",(function(){return d}));var r="mainDashboardKeyMetrics",i="mainDashboardTraffic",a="mainDashboardContent",o="mainDashboardSpeed",c="mainDashboardMonetization",s="entityDashboardTraffic",l="entityDashboardContent",u="entityDashboardSpeed",d="entityDashboardMonetization";t.default={CONTEXT_MAIN_DASHBOARD_KEY_METRICS:r,CONTEXT_MAIN_DASHBOARD_TRAFFIC:i,CONTEXT_MAIN_DASHBOARD_CONTENT:a,CONTEXT_MAIN_DASHBOARD_SPEED:o,CONTEXT_MAIN_DASHBOARD_MONETIZATION:c,CONTEXT_ENTITY_DASHBOARD_TRAFFIC:s,CONTEXT_ENTITY_DASHBOARD_CONTENT:l,CONTEXT_ENTITY_DASHBOARD_SPEED:u,CONTEXT_ENTITY_DASHBOARD_MONETIZATION:d}},71:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r={EXTERNAL:"external",INTERNAL:"internal"}},72:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return c}));var r=n(33),i=n.n(r),a=n(82),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(e,t)}};function c(e){var t,n="object"===i()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},73:function(e,t,n){"use strict";var r=n(16),i=n.n(r),a=n(254),o=n(1),c=n.n(o),s=n(0),l=n(141);function Portal(e){var t=e.children,n=e.slug,r=Object(s.useState)(document.createElement("div")),o=i()(r,1)[0];return Object(a.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(l.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},74:function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},75:function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),o=n.n(a),c=n(11),s=n.n(c),l=n(1),u=n.n(l),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.label,a=t.className,c=t.hasLeftSpacing,l=void 0!==c&&c,u=o()(t,["label","className","hasLeftSpacing"]);return e.createElement("span",i()({ref:n},u,{className:s()("googlesitekit-badge",a,{"googlesitekit-badge--has-left-spacing":l})}),r)}));g.displayName="Badge",g.propTypes={label:u.a.string.isRequired,hasLeftSpacing:u.a.bool},t.a=g}).call(this,n(4))},76:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(1),i=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,i=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:i}},n)}IconWrapper.propTypes={children:i.a.node.isRequired,marginLeft:i.a.number,marginRight:i.a.number}}).call(this,n(4))},77:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=_(e,t),r=n.formatUnit,i=n.formatDecimal;try{return r()}catch(e){return i()}},h=function(e){var t=O(e),n=t.hours,r=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(i):"".concat(n,":").concat(r,":").concat(i)},O=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=O(e),r=n.hours,i=n.minutes,a=n.seconds;return{hours:r,minutes:i,seconds:a,formatUnit:function(){var n=t.unitDisplay,o=v(v({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(a,v(v({},o),{},{unit:"second"})):Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?w(a,v(v({},o),{},{unit:"second"})):"",i?w(i,v(v({},o),{},{unit:"minute"})):"",r?w(r,v(v({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. -Object(m.__)("%ds","google-site-kit"),a);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. -Object(m.__)("%dm","google-site-kit"),i),o=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. -Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?t:"",i?n:"",r?o:"").trim()}}},E=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},y=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. -Object(m.__)("%sM","google-site-kit"),w(E(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),w(E(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(m.__)("%sK","google-site-kit"),w(E(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function k(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=v({},e)),t}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=k(t),r=n.style,i=void 0===r?"metric":r;return"metric"===i?y(e):"duration"===i?b(e,n):"durationISO"===i?h(e):w(e,n)}var S=f()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?T():n,a=u()(t,["locale"]);try{return new Intl.NumberFormat(r,a).format(e)}catch(t){S("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(a)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],l={},d=0,g=Object.entries(a);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?T():n,i=t.style,a=void 0===i?"long":i,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:a,type:c});return s.format(e)} -/* translators: used between list items, there is a space after the comma. */var l=Object(m.__)(", ","google-site-kit");return e.join(l)},T=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},82:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i}));var r=n(145),i=n.n(r)()(e)}).call(this,n(28))},83:function(e,t,n){"use strict";n.r(t),n.d(t,"AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY",(function(){return r})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY",(function(){return i})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_AUDIENCE_SEGMENTATION",(function(){return a})),n.d(t,"AREA_MAIN_DASHBOARD_CONTENT_PRIMARY",(function(){return o})),n.d(t,"AREA_MAIN_DASHBOARD_SPEED_PRIMARY",(function(){return c})),n.d(t,"AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY",(function(){return s})),n.d(t,"AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY",(function(){return l})),n.d(t,"AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY",(function(){return u})),n.d(t,"AREA_ENTITY_DASHBOARD_SPEED_PRIMARY",(function(){return d})),n.d(t,"AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY",(function(){return g}));var r="mainDashboardKeyMetricsPrimary",i="mainDashboardTrafficPrimary",a="mainDashboardTrafficAudienceSegmentation",o="mainDashboardContentPrimary",c="mainDashboardSpeedPrimary",s="mainDashboardMonetizationPrimary",l="entityDashboardTrafficPrimary",u="entityDashboardContentPrimary",d="entityDashboardSpeedPrimary",g="entityDashboardMonetizationPrimary";t.default={AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY:r,AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY:i,AREA_MAIN_DASHBOARD_CONTENT_PRIMARY:o,AREA_MAIN_DASHBOARD_SPEED_PRIMARY:c,AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY:s,AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY:l,AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY:u,AREA_ENTITY_DASHBOARD_SPEED_PRIMARY:d,AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY:g}},85:function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(11),o=n.n(a);function ChangeArrow(t){var n=t.direction,r=t.invertColor,i=t.width,a=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:i,height:a,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},86:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(26),i=n(118);function a(t,n){var r=document.querySelector(t);if(!r)return 0;var i=r.getBoundingClientRect().top,a=o(n);return i+e.scrollY-a}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,a=document.querySelector(".googlesitekit-header");return n=!!a&&"sticky"===e.getComputedStyle(a).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(i.a)(n))<0?0:n}}).call(this,n(28))},88:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(12),i=n.n(r),a=function(e,t){var n=t.dateRangeLength;i()(Array.isArray(e),"report must be an array to partition."),i()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return i.b})),n.d(t,"K",(function(){return i.c})),n.d(t,"G",(function(){return a.a})),n.d(t,"L",(function(){return a.b})),n.d(t,"I",(function(){return u})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return p})),n.d(t,"k",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"d",(function(){return k})),n.d(t,"c",(function(){return j})),n.d(t,"e",(function(){return S})),n.d(t,"b",(function(){return w})),n.d(t,"a",(function(){return N})),n.d(t,"g",(function(){return T})),n.d(t,"f",(function(){return A})),n.d(t,"o",(function(){return C})),n.d(t,"x",(function(){return I})),n.d(t,"q",(function(){return R})),n.d(t,"H",(function(){return L})),n.d(t,"t",(function(){return D})),n.d(t,"w",(function(){return x})),n.d(t,"l",(function(){return P})),n.d(t,"p",(function(){return M.b})),n.d(t,"i",(function(){return M.a})),n.d(t,"u",(function(){return B.b})),n.d(t,"r",(function(){return B.a})),n.d(t,"B",(function(){return B.c})),n.d(t,"y",(function(){return H})),n.d(t,"v",(function(){return F})),n.d(t,"F",(function(){return V})),n.d(t,"E",(function(){return G.a})),n.d(t,"h",(function(){return W})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(13),i=n(37),a=n(72),o=n(33),c=n.n(o),s=n(92),l=n.n(s),u=function(e){return l()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var i=t[r];i&&"object"===c()(i)&&!Array.isArray(i)&&(i=e(i)),n[r]=i})),n}(e)))};n(96);var d=n(81);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[g,f,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function R(e){E()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function L(e){E()(I(e),k);var t=e.split("-"),n=O()(t,3),r=n[0],i=n[1],a=n[2];return new Date(r,i-1,a)}function D(e,t){return R(P(e,t*N))}function x(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function P(e,t){E()(I(e)||Object(r.isDate)(e)&&!isNaN(e),k);var n=I(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var M=n(97),B=n(80);function H(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function F(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var U=n(27),z=n.n(U),V=function(e){return Array.isArray(e)?z()(e).sort():e},G=n(88);function W(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},90:function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return BannerNotification}));var r=n(21),i=n.n(r),a=n(7),o=n.n(a),c=n(5),s=n.n(c),l=n(15),u=n.n(l),d=n(16),g=n.n(d),f=n(1),m=n.n(f),p=n(11),v=n.n(p),b=n(204),h=n(206),O=n(84),_=n(93),E=n(0),y=n(107),k=n(3),j=n(17),S=n(86),w=n(34),N=n(26),T=n(191),A=n(192),C=n(193),I=n(199),R=n(200),L=n(71),D=n(108),x=n(118),P=n(32),M=n(201);function BannerNotification(t){var n,r=t.badgeLabel,a=t.children,c=t.className,l=void 0===c?"":c,d=t.ctaLabel,f=t.ctaLink,m=t.ctaTarget,p=t.description,B=t.dismiss,H=t.dismissExpires,F=void 0===H?0:H,U=t.format,z=void 0===U?"":U,V=t.id,G=t.isDismissible,W=void 0===G||G,q=t.learnMoreDescription,K=t.learnMoreLabel,Y=t.learnMoreURL,X=t.learnMoreTarget,J=void 0===X?L.a.EXTERNAL:X,$=t.logo,Z=t.module,Q=t.moduleName,ee=t.onCTAClick,te=t.onView,ne=t.onDismiss,re=t.onLearnMoreClick,ie=t.showOnce,ae=void 0!==ie&&ie,oe=t.SmallImageSVG,ce=t.title,se=t.type,le=t.WinImageSVG,ue=t.showSmallWinImage,de=void 0===ue||ue,ge=t.smallWinImageSVGWidth,fe=void 0===ge?75:ge,me=t.smallWinImageSVGHeight,pe=void 0===me?75:me,ve=t.mediumWinImageSVGWidth,be=void 0===ve?105:ve,he=t.mediumWinImageSVGHeight,Oe=void 0===he?105:he,_e=t.rounded,Ee=void 0!==_e&&_e,ye=t.footer,ke=t.secondaryPane,je=t.ctaComponent,Se=Object(E.useState)(!1),we=g()(Se,2),Ne=we[0],Te=we[1],Ae=Object(E.useState)(!1),Ce=g()(Ae,2),Ie=Ce[0],Re=Ce[1],Le="notification::dismissed::".concat(V),De=function(){return Object(w.f)(Le,new Date,{ttl:null})},xe=Object(_.a)(),Pe=Object(N.e)(),Me=Object(b.a)(),Be=Object(E.useState)(!1),He=g()(Be,2),Fe=He[0],Ue=He[1],ze=Object(E.useRef)(),Ve=Object(h.a)(ze,{rootMargin:"".concat(-Object(x.a)(Object(S.c)(Pe)),"px 0px 0px 0px"),threshold:0});Object(E.useEffect)((function(){!Fe&&(null==Ve?void 0:Ve.isIntersecting)&&("function"==typeof te&&te(),Ue(!0))}),[V,te,Fe,Ve]);var Ge=xe>=600;Object(O.a)(u()(s.a.mark((function e(){var t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(F>0)){e.next=3;break}return e.next=3,$e();case 3:if(!W){e.next=9;break}return e.next=6,Object(w.d)(Le);case 6:t=e.sent,n=t.cacheHit,Re(n);case 9:if(!ae){e.next=12;break}return e.next=12,De();case 12:case"end":return e.stop()}}),e)}))));var We=function(){var e=u()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(y.a)(f)&&"_blank"!==m,Ke=function(){return qe||Te(!0),new Promise((function(e){setTimeout(u()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,De();case 2:Me()&&Re(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Ye=Object(k.useSelect)((function(e){return!!f&&e(P.a).isNavigatingTo(f)})),Xe=Object(k.useDispatch)(P.a).navigateTo,Je=function(){var e=u()(s.a.mark((function e(t){var n,r,i;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,i=r.dismissOnCTAClick,n=void 0===i||i;case 12:if(!W||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Xe(f);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),$e=function(){var e=u()(s.a.mark((function e(){var t,n,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(w.d)(Le);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(F,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var a=n.invertColor,o=void 0!==a&&a;return Object(r.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),i=n.n(r),a=n(13),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=l(l({},u),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(i,n),d=Object(c.a)(i,n,s,r),g={},f=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),S),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:f,disabled:A},Object(l.__)("Cancel","google-site-kit")),x?e.createElement(u.Button,{href:x,onClick:E,target:"_blank",danger:N},j):e.createElement(u.SpinnerButton,{onClick:E,danger:N,disabled:A,isSaving:A},j||Object(l.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:i.a.string,dialogActive:i.a.bool,handleDialog:i.a.func,handleConfirm:i.a.func.isRequired,onOpen:i.a.func,onClose:i.a.func,title:i.a.string,confirmButton:i.a.string,danger:i.a.bool,small:i.a.bool,medium:i.a.bool,buttonLink:i.a.string},t.a=ModalDialog}).call(this,n(4))},114:function(e,t,n){"use strict";var r=n(325),i=n(313);n.d(t,"b",(function(){return i.a}));var a=n(314);n.d(t,"c",(function(){return a.a}));var o=n(315);n.d(t,"d",(function(){return o.a}));var c=n(316);n.d(t,"a",(function(){return c.a})),t.e=r.a},115:function(e,t,n){"use strict";var r=n(1),i=n(38),a=Object(r.createContext)(i.a);t.a=a},117:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(386),i=function(e,t,n){Object(r.a)((function(n){return e.includes(n.keyCode)&&t.current.contains(n.target)}),n)}},120:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var r=n(20),i=n.n(r),a=n(157),o=n.n(a),c=n(11),s=n.n(c),l=n(0),u=n.n(l),d=n(2),g=n(10),f=n(158),m=n(110);function TourTooltip(t){var n=t.backProps,r=t.closeProps,c=t.index,l=t.primaryProps,u=t.size,p=t.step,v=t.tooltipProps,b=u>1?Object(f.a)(u):[],h=function(e){return s()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",i()({className:s()("googlesitekit-tour-tooltip",p.className)},v),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(a.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},b.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:h(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(g.Button,i()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,l.title&&e.createElement(g.Button,i()({className:"googlesitekit-tooltip-button",text:!0},l),l.title))),e.createElement(g.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(m.a,{width:"14",height:"14"}),onClick:r.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},121:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(14),i=function(e){return Object(r.isFinite)(e)?e:0}},124:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(20),i=n.n(r),a=n(7),o=n.n(a),c=n(25),s=n.n(c),l=n(0),u=n.n(l),d=n(11),g=n.n(d);function Cell(t){var n,r=t.className,a=t.alignTop,c=t.alignMiddle,l=t.alignBottom,u=t.alignRight,d=t.alignLeft,f=t.smAlignRight,m=t.mdAlignRight,p=t.lgAlignRight,v=t.smSize,b=t.smStart,h=t.smOrder,O=t.mdSize,_=t.mdStart,E=t.mdOrder,y=t.lgSize,k=t.lgStart,j=t.lgOrder,S=t.size,w=t.children,N=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",i()({},N,{className:g()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":a,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":l,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":f,"mdc-layout-grid__cell--align-right-tablet":m,"mdc-layout-grid__cell--align-right-desktop":p},o()(n,"mdc-layout-grid__cell--span-".concat(S),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(y,"-desktop"),12>=y&&y>0),o()(n,"mdc-layout-grid__cell--start-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--order-".concat(j,"-desktop"),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--start-".concat(_,"-tablet"),8>=_&&_>0),o()(n,"mdc-layout-grid__cell--order-".concat(E,"-tablet"),8>=E&&E>0),o()(n,"mdc-layout-grid__cell--span-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--start-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),w)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(20),i=n.n(r),a=n(25),o=n.n(a),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.className,a=t.children,c=o()(t,["className","children"]);return e.createElement("div",i()({ref:n,className:u()("mdc-layout-grid__inner",r)},c),a)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},126:function(e,t,n){"use strict";(function(e){var r=n(20),i=n.n(r),a=n(25),o=n.n(a),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,a=t.fill,c=t.className,s=t.children,l=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:u()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":l,"mdc-layout-grid--fill":a})},d,{ref:n}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},1261:function(e,t,n){"use strict";n.r(t),function(e){var t=n(332),r=n(144),i=n(219),a=n(1083),o=n(22);Object(t.a)((function(){var t=document.getElementById("js-googlesitekit-metric-selection");t&&Object(r.render)(e.createElement(i.a,{viewContext:o.p},e.createElement(a.a,null)),t)}))}.call(this,n(4))},127:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==c[0]?c[0]:{},n=t.clearAfterRestore,r=void 0===n||n,e.next=4,{payload:{},type:"RESTORE_SNAPSHOT"};case 4:if(i=e.sent,a=i.cacheHit,o=i.value,!a){e.next=13;break}return e.next=10,{payload:{snapshot:o},type:"SET_STATE_FROM_SNAPSHOT"};case 10:if(!r){e.next=13;break}return e.next=13,{payload:{},type:"DELETE_SNAPSHOT"};case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e)})),createSnapshot:s.a.mark((function e(){var t;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{payload:{},type:"CREATE_SNAPSHOT"};case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))},a=(t={},o()(t,"DELETE_SNAPSHOT",(function(){return Object(f.c)("datastore::cache::".concat(e))})),o()(t,"CREATE_SNAPSHOT",Object(d.createRegistryControl)((function(t){return function(){return Object(f.f)("datastore::cache::".concat(e),t.stores[e].store.getState())}}))),o()(t,"RESTORE_SNAPSHOT",(function(){return Object(f.d)("datastore::cache::".concat(e),m.b)})),t);return{initialState:n,actions:r,controls:a,reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1?arguments[1]:void 0,r=t.type,a=t.payload;switch(r){case"SET_STATE_FROM_SNAPSHOT":var o=a.snapshot,c=(o.error,i()(o,["error"]));return c;default:return e}}}},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Object.values(e.stores).filter((function(e){return Object.keys(e.getActions()).includes("restoreSnapshot")}))},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(v(e).map((function(e){return e.getActions().createSnapshot()})))},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.a;return Promise.all(v(e).map((function(e){return e.getActions().restoreSnapshot()})))}},133:function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(11),o=n.n(a),c=n(39),s=n(2),l=n(21),u=n(36);function SourceLink(t){var n=t.name,r=t.href,i=t.className,a=t.external;return Object(u.a)()?null:e.createElement("div",{className:o()("googlesitekit-source-link",i)},Object(c.a)(Object(s.sprintf)( +/* translators: %s: source link */ +Object(s.__)("Source: %s","google-site-kit"),"".concat(n,"")),{a:e.createElement(l.a,{key:"link",href:r,external:a})}))}SourceLink.propTypes={name:i.a.string,href:i.a.string,className:i.a.string,external:i.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},136:function(e,t,n){"use strict";var r=n(1),i=Object(r.createContext)(!1);t.a=i},139:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;tHelp us improve Site Kit by sharing anonymous usage data. All collected data is treated in accordance with the Google Privacy Policy.","google-site-kit"),{a:e.createElement(h.a,{key:"link",href:"https://policies.google.com/privacy",external:!0}),span:e.createElement("span",null)})),(null==j?void 0:j.message)&&e.createElement("div",{className:"googlesitekit-error-text"},null==j?void 0:j.message))}OptIn.propTypes={id:s.a.string,name:s.a.string,className:s.a.string,trackEventCategory:s.a.string,alignLeftCheckbox:s.a.bool}}).call(this,n(4))},215:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Item}));var r=n(0),i=n.n(r);function Item(t){var n=t.icon,r=t.label;return e.createElement("div",{className:"googlesitekit-user-menu__item"},e.createElement("div",{className:"googlesitekit-user-menu__item-icon"},n),e.createElement("span",{className:"googlesitekit-user-menu__item-label"},r))}Item.propTypes={icon:i.a.node,label:i.a.string}}).call(this,n(4))},219:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Root}));var r=n(15),i=n.n(r),a=n(0),o=n.n(a),c=n(425),s=n(529),l=n(1),u=n(3),d=n.n(u),g=n(220),f=n(221),m=n(38),p=n(222),v=n(224),b=n(225),h=n(59),O=n(159),_=n(172);function Root(t){var n=t.children,r=t.registry,a=t.viewContext,o=void 0===a?null:a,d=c.a,E=Object(l.useState)({key:"Root",value:!0}),y=i()(E,1)[0];return e.createElement(l.StrictMode,null,e.createElement(O.a,{value:y},e.createElement(u.RegistryProvider,{value:r},e.createElement(f.a,{value:m.a},e.createElement(h.a,{value:o},e.createElement(s.a,{theme:d()},e.createElement(g.a,null,e.createElement(v.a,null,n,o&&e.createElement(b.a,null)),Object(_.a)(o)&&e.createElement(p.a,null))))))))}Root.propTypes={children:o.a.node,registry:o.a.object,viewContext:o.a.string.isRequired},Root.defaultProps={registry:d.a}}).call(this,n(4))},22:function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"m",(function(){return o})),n.d(t,"t",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"s",(function(){return l})),n.d(t,"i",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"u",(function(){return m})),n.d(t,"v",(function(){return p})),n.d(t,"q",(function(){return v})),n.d(t,"p",(function(){return b})),n.d(t,"b",(function(){return h})),n.d(t,"e",(function(){return O})),n.d(t,"a",(function(){return _})),n.d(t,"d",(function(){return E})),n.d(t,"c",(function(){return y})),n.d(t,"f",(function(){return k})),n.d(t,"g",(function(){return j}));var r="mainDashboard",i="entityDashboard",a="mainDashboardViewOnly",o="entityDashboardViewOnly",c="userInput",s="activation",l="splash",u="adminBar",d="adminBarViewOnly",g="settings",f="adBlockingRecovery",m="wpDashboard",p="wpDashboardViewOnly",v="moduleSetup",b="metricSelection",h="key-metrics",O="traffic",_="content",E="speed",y="monetization",k=[r,i,a,o,c,l,g,v,b],j=[a,o,d,p]},220:function(e,t,n){"use strict";(function(e,r){var i=n(52),a=n.n(i),o=n(53),c=n.n(o),s=n(68),l=n.n(s),u=n(69),d=n.n(u),g=n(49),f=n.n(g),m=n(0),p=n.n(m),v=n(1),b=n(2),h=n(171),O=n(59),_=n(95),E=n(9);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f()(e);if(t){var i=f()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return d()(this,n)}}var k=function(t){l()(ErrorHandler,t);var n=y(ErrorHandler);function ErrorHandler(e){var t;return a()(this,ErrorHandler),(t=n.call(this,e)).state={error:null,info:null,copied:!1},t}return c()(ErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Caught an error:",t,n),this.setState({error:t,info:n}),Object(E.J)("react_error","handle_".concat(this.context||"unknown","_error"),"".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,i=t.info;return n?r.createElement(_.b,{id:"googlesitekit-error",className:"googlesitekit-error-handler",title:Object(b.__)("Site Kit encountered an error","google-site-kit"),description:r.createElement(h.a,{message:n.message,componentStack:i.componentStack}),isDismissible:!1,format:"small",type:"win-error"},r.createElement("pre",{className:"googlesitekit-overflow-auto"},n.message,i.componentStack)):e}}]),ErrorHandler}(v.Component);k.contextType=O.b,k.propTypes={children:p.a.node.isRequired},t.a=k}).call(this,n(28),n(4))},221:function(e,t,n){"use strict";var r=n(115),i=(r.a.Consumer,r.a.Provider);t.a=i},222:function(e,t,n){"use strict";(function(e){var r=n(3),i=n(223),a=n(6);t.a=function PermissionsModal(){return Object(r.useSelect)((function(e){return e(a.a).isAuthenticated()}))?e.createElement(i.a,null):null}}).call(this,n(4))},223:function(e,t,n){"use strict";(function(e,r){var i=n(5),a=n.n(i),o=n(16),c=n.n(o),s=n(2),l=n(1),u=n(3),d=n(112),g=n(29),f=n(32),m=n(6),p=n(130),v=n(73);t.a=function AuthenticatedPermissionsModal(){var t,n,i,o,b=Object(u.useRegistry)(),h=Object(u.useSelect)((function(e){return e(m.a).getPermissionScopeError()})),O=Object(u.useSelect)((function(e){return e(m.a).getUnsatisfiedScopes()})),_=Object(u.useSelect)((function(t){var n,r,i;return t(m.a).getConnectURL({additionalScopes:null==h||null===(n=h.data)||void 0===n?void 0:n.scopes,redirectURL:(null==h||null===(r=h.data)||void 0===r?void 0:r.redirectURL)||e.location.href,errorRedirectURL:null==h||null===(i=h.data)||void 0===i?void 0:i.errorRedirectURL})})),E=Object(u.useDispatch)(m.a).clearPermissionScopeError,y=Object(u.useDispatch)(f.a).navigateTo,k=Object(u.useDispatch)(g.a).setValues,j=Object(l.useCallback)((function(){E()}),[E]),S=Object(l.useCallback)(c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return k(m.d,{permissionsError:h}),e.next=3,Object(p.c)(b);case 3:y(_);case 4:case"end":return e.stop()}}),e)}))),[b,_,y,h,k]);return Object(l.useEffect)((function(){(function(){var e=c()(a.a.mark((function e(){var t,n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(null==h||null===(t=h.data)||void 0===t?void 0:t.skipModal)||!(null==h||null===(n=h.data)||void 0===n||null===(r=n.scopes)||void 0===r?void 0:r.length)){e.next=3;break}return e.next=3,S();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}),[S,h]),h?(null==h||null===(t=h.data)||void 0===t||null===(n=t.scopes)||void 0===n?void 0:n.length)?(null==h||null===(i=h.data)||void 0===i?void 0:i.skipModal)||O&&(null==h||null===(o=h.data)||void 0===o?void 0:o.scopes.every((function(e){return O.includes(e)})))?null:r.createElement(v.a,null,r.createElement(d.a,{title:Object(s.__)("Additional Permissions Required","google-site-kit"),subtitle:h.message,confirmButton:Object(s.__)("Proceed","google-site-kit"),dialogActive:!0,handleConfirm:S,handleDialog:j,medium:!0})):(e.console.warn("permissionsError lacks scopes array to use for redirect, so not showing the PermissionsModal. permissionsError was:",h),null):null}}).call(this,n(28),n(4))},224:function(e,t,n){"use strict";var r=n(5),i=n.n(r),a=n(16),o=n.n(a),c=n(15),s=n.n(c),l=n(1),u=n(3),d=n(130);t.a=function RestoreSnapshots(e){var t=e.children,n=Object(u.useRegistry)(),r=Object(l.useState)(!1),a=s()(r,2),c=a[0],g=a[1];return Object(l.useEffect)((function(){c||o()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(n);case 2:g(!0);case 3:case"end":return e.stop()}}),e)})))()}),[n,c]),c?t:null}},225:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return FeatureTours}));var i=n(85),a=n(1),o=n(3),c=n(6),s=n(18),l=n(94);function FeatureTours(){var t=Object(s.a)(),n=Object(o.useDispatch)(c.a).triggerTourForView;Object(i.a)((function(){n(t)}));var u=Object(o.useSelect)((function(e){return e(c.a).getCurrentTour()}));return Object(a.useEffect)((function(){if(u){var t=document.getElementById("js-googlesitekit-main-dashboard");if(t){var n=new ResizeObserver((function(){e.dispatchEvent(new Event("resize"))}));return n.observe(t),function(){n.disconnect()}}}}),[u]),u?r.createElement(l.a,{tourID:u.slug,steps:u.steps,gaEventCategory:u.gaEventCategory,callback:u.callback}):null}}).call(this,n(28),n(4))},227:function(e,t,n){"use strict";(function(e){var r=n(15),i=n.n(r),a=n(0),o=n.n(a),c=n(11),s=n.n(c),l=n(583),u=n(2),d=n(1),g=n(3),f=n(249),m=n(271),p=n(275),v=n(6),b=n(17),h=n(280),O=n(287),_=n(289),E=n(36),y=n(54),k=n(21),j=n(295),S=n(13),w=n(296);function Header(t){var n,r=t.children,a=t.subHeader,o=t.showNavigation,c=!!Object(y.c)(),N=Object(E.a)();Object(w.a)();var T=Object(g.useSelect)((function(e){return e(S.c).getAdminURL("googlesitekit-dashboard")})),A=Object(g.useSelect)((function(e){return e(v.a).isAuthenticated()})),C=Object(l.a)({childList:!0}),I=i()(C,2),R=I[0],L=!!(null===(n=I[1].target)||void 0===n?void 0:n.childElementCount);return e.createElement(d.Fragment,null,e.createElement("header",{className:s()("googlesitekit-header",{"googlesitekit-header--has-subheader":L,"googlesitekit-header--has-navigation":o})},e.createElement(b.e,null,e.createElement(b.k,null,e.createElement(b.a,{smSize:1,mdSize:2,lgSize:4,className:"googlesitekit-header__logo",alignMiddle:!0},e.createElement(k.a,{"aria-label":Object(u.__)("Go to dashboard","google-site-kit"),className:"googlesitekit-header__logo-link",href:T},e.createElement(f.a,null))),e.createElement(b.a,{smSize:3,mdSize:6,lgSize:8,className:"googlesitekit-header__children",alignMiddle:!0},r,!A&&c&&N&&e.createElement(_.a,null),A&&!N&&e.createElement(m.a,null))))),e.createElement("div",{className:"googlesitekit-subheader",ref:R},e.createElement(p.a,null),a),o&&e.createElement(h.a,null),c&&e.createElement(j.a,null),e.createElement(O.a,null))}Header.displayName="Header",Header.propTypes={children:o.a.node,subHeader:o.a.element,showNavigation:o.a.bool},Header.defaultProps={children:null,subHeader:null},t.a=Header}).call(this,n(4))},228:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return HelpMenu}));var r=n(15),i=n.n(r),a=n(0),o=n.n(a),c=n(210),s=n(1),l=n(56),u=n(2),d=n(3),g=n(10),f=n(297),m=n(117),p=n(9),v=n(163),b=n(19),h=n(18),O=n(13);function HelpMenu(t){var n=t.children,r=Object(s.useState)(!1),a=i()(r,2),o=a[0],_=a[1],E=Object(s.useRef)(),y=Object(h.a)();Object(c.a)(E,(function(){return _(!1)})),Object(m.a)([l.c,l.f],E,(function(){return _(!1)}));var k=Object(d.useSelect)((function(e){return e(b.a).isModuleActive("adsense")})),j=Object(s.useCallback)((function(){o||Object(p.J)("".concat(y,"_headerbar"),"open_helpmenu"),_(!o)}),[o,y]),S=Object(s.useCallback)((function(){_(!1)}),[]),w=Object(d.useSelect)((function(e){return e(O.c).getDocumentationLinkURL("fix-common-issues")}));return e.createElement("div",{ref:E,className:"googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},e.createElement(g.Button,{"aria-controls":"googlesitekit-help-menu","aria-expanded":o,"aria-label":Object(u.__)("Help","google-site-kit"),"aria-haspopup":"menu",className:"googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon googlesitekit-help-menu__button mdc-button--dropdown",icon:e.createElement(f.a,{width:"20",height:"20"}),onClick:j,text:!0,tooltipEnterDelayInMS:500}),e.createElement(g.Menu,{className:"googlesitekit-width-auto",menuOpen:o,id:"googlesitekit-help-menu",onSelected:S},n,e.createElement(v.a,{gaEventLabel:"fix_common_issues",href:w},Object(u.__)("Fix common issues","google-site-kit")),e.createElement(v.a,{gaEventLabel:"documentation",href:"https://sitekit.withgoogle.com/documentation/"},Object(u.__)("Read help docs","google-site-kit")),e.createElement(v.a,{gaEventLabel:"support_forum",href:"https://wordpress.org/support/plugin/google-site-kit/"},Object(u.__)("Get support","google-site-kit")),k&&e.createElement(v.a,{gaEventLabel:"adsense_help",href:"https://support.google.com/adsense/"},Object(u.__)("Get help with AdSense","google-site-kit"))))}HelpMenu.propTypes={children:o.a.node}}).call(this,n(4))},229:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1280?i:e>960?a:e>600?o:c}},243:function(e,t,n){"use strict";(function(e){var r=n(15),i=n.n(r),a=n(1);t.a=function(t,n){var r=Object(a.useState)(null),o=i()(r,2),c=o[0],s=o[1];return Object(a.useEffect)((function(){if(t.current&&"function"==typeof e.IntersectionObserver){var r=new e.IntersectionObserver((function(e){s(e[e.length-1])}),n);return r.observe(t.current),function(){s(null),r.disconnect()}}return function(){}}),[t.current,n.threshold,n.root,n.rootMargin]),c}}).call(this,n(28))},249:function(e,t,n){"use strict";(function(e){var r=n(2),i=n(139),a=n(250),o=n(103);t.a=function Logo(){return e.createElement("div",{className:"googlesitekit-logo","aria-hidden":"true"},e.createElement(i.a,{className:"googlesitekit-logo__logo-g",height:"34",width:"32"}),e.createElement(a.a,{className:"googlesitekit-logo__logo-sitekit",height:"26",width:"99"}),e.createElement(o.a,null,Object(r.__)("Site Kit by Google Logo","google-site-kit")))}}).call(this,n(4))},250:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw a}}}}function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nSign in to connect more services and control sharing access.","google-site-kit"),{strong:e.createElement("strong",null)}):Object(s.a)(Object(l.__)("You can see stats from all shared Google services, but you can't make any changes. Learn more","google-site-kit"),{a:e.createElement(v.a,{href:a,external:!0,onClick:E,"aria-label":Object(l.__)("Learn more about dashboard sharing","google-site-kit")})});return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item googlesitekit-view-only-menu__description"},e.createElement("p",null,y),n&&e.createElement(d.Button,{onClick:_},Object(l._x)("Sign in with Google","Service name","google-site-kit")))}}).call(this,n(4))},292:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SharedServices}));var r=n(2),i=n(3),a=n(6),o=n(293);function SharedServices(){var t=Object(i.useSelect)((function(e){return e(a.a).getViewableModules()}));return void 0===t?null:e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("h4",null,Object(r.__)("Shared services","google-site-kit")),e.createElement("ul",null,t.map((function(t){return e.createElement(o.a,{key:t,module:t})}))))}}).call(this,n(4))},293:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Service}));var r=n(0),i=n.n(r),a=n(39),o=n(2),c=n(3),s=n(19),l=n(6);function Service(t){var n=t.module,r=Object(c.useSelect)((function(e){return e(l.a).hasCapability(l.H)})),i=Object(c.useSelect)((function(e){return e(s.a).getModule(n)||{}})),u=i.name,d=i.owner,g=Object(c.useSelect)((function(e){return e(s.a).getModuleIcon(n)}));return e.createElement("li",{className:"googlesitekit-view-only-menu__service"},e.createElement("span",{className:"googlesitekit-view-only-menu__service--icon"},e.createElement(g,{height:26})),e.createElement("span",{className:"googlesitekit-view-only-menu__service--name"},u),r&&(null==d?void 0:d.login)&&e.createElement("span",{className:"googlesitekit-view-only-menu__service--owner"},Object(a.a)(Object(o.sprintf)( +/* translators: %s: module owner Google Account email address */ +Object(o.__)("Shared by %s","google-site-kit"),d.login),{strong:e.createElement("strong",{title:d.login})})))}Service.propTypes={module:i.a.string.isRequired}}).call(this,n(4))},294:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Tracking}));var r=n(39),i=n(2),a=n(214),o=n(18);function Tracking(){var t=Object(o.a)();return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("p",null,Object(r.a)(Object(i.__)("Thanks for using Site Kit!
Help us make it even better","google-site-kit"),{br:e.createElement("br",null)})),e.createElement(a.a,{trackEventCategory:"".concat(t,"_headerbar_viewonly"),alignCheckboxLeft:!0}))}}).call(this,n(4))},295:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SubtleNotifications}));var r=n(167),i=n(45);function SubtleNotifications(){return e.createElement(r.a,{areaSlug:i.b.BANNERS_BELOW_NAV})}}).call(this,n(4))},296:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(5),i=n.n(r),a=n(16),o=n.n(a),c=n(1),s=n(3),l=n(13),u=n(18),d=n(34),g=n(9),f=function(){var e=Object(u.a)(),t=Object(s.useSelect)((function(e){return e(l.c).isUsingProxy()})),n=Object(s.useSelect)((function(e){return e(l.c).getSetupErrorMessage()}));Object(c.useEffect)((function(){n||void 0===t||function(){var n=o()(i.a.mark((function n(){var r,a;return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Object(d.d)("start_user_setup");case 2:return r=n.sent,n.next=5,Object(d.d)("start_site_setup");case 5:if(a=n.sent,!r.cacheHit){n.next=10;break}return n.next=9,Object(d.c)("start_user_setup");case 9:Object(g.J)("".concat(e,"_setup"),"complete_user_setup",t?"proxy":"custom-oauth");case 10:if(!a.cacheHit){n.next=14;break}return n.next=13,Object(d.c)("start_site_setup");case 13:Object(g.J)("".concat(e,"_setup"),"complete_site_setup",t?"proxy":"custom-oauth");case 14:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()}),[e,t,n])}},297:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0,S="key-metric-selection-checkbox-".concat(n);return e.createElement(v.c,{id:S,slug:n,title:r,description:a,isNewlyDetected:c,isItemSelected:k,isItemDisabled:j,onCheckboxChange:y},h.length>0&&e.createElement("div",{className:"googlesitekit-selection-panel-item-error"},Object(u.sprintf)( +/* translators: %s: module names. */ +Object(u._n)("%s is disconnected, no data to show","%s are disconnected, no data to show",h.length,"google-site-kit"),h.join(Object(u.__)(" and ","google-site-kit")))))}MetricItem.propTypes={slug:s.a.string.isRequired,title:s.a.string.isRequired,description:s.a.string.isRequired,isNewlyDetected:s.a.bool,savedItemSlugs:s.a.array}}).call(this,n(4))},310:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&e.createElement("p",{className:"googlesitekit-selection-panel-items__subheading"},o)),h>0&&e.createElement("div",{className:"googlesitekit-selection-panel-items__subsection"},b(m)),v)}SelectionPanelItems.propTypes={currentSelectionTitle:o.a.string,availableItemsTitle:o.a.string,savedItemSlugs:o.a.array,availableSavedItems:o.a.object,availableUnsavedItems:o.a.object,ItemComponent:o.a.elementType,notice:o.a.node}}).call(this,n(4))},316:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelFooter}));var r=n(5),i=n.n(r),a=n(16),o=n.n(a),c=n(15),s=n.n(c),l=n(14),u=n(0),d=n.n(u),g=n(1),f=n(39),m=n(2),p=n(3),v=n(10),b=n(111),h=n(9),O=n(8),_=n(42),E=n(57);function SelectionPanelFooter(t){var n=t.savedItemSlugs,r=void 0===n?[]:n,a=t.selectedItemSlugs,c=void 0===a?[]:a,u=t.saveSettings,d=void 0===u?function(){}:u,y=t.saveError,k=t.itemLimitError,j=t.minSelectedItemCount,S=void 0===j?0:j,w=t.maxSelectedItemCount,N=void 0===w?0:w,T=t.isBusy,A=t.onSaveSuccess,C=void 0===A?function(){}:A,I=t.onCancel,R=void 0===I?function(){}:I,L=t.isOpen,D=t.closePanel,x=void 0===D?function(){}:D,P=Object(g.useState)(null),M=s()(P,2),B=M[0],H=M[1],F=Object(g.useState)(!1),z=s()(F,2),U=z[0],V=z[1],G=Object(p.useSelect)((function(e){return e(O.r).isFetchingSyncAvailableAudiences()})),W=Object(g.useMemo)((function(){return!Object(l.isEqual)(Object(h.F)(c),Object(h.F)(r))}),[r,c]),q=(null==r?void 0:r.length)>0&&W?Object(m.__)("Apply changes","google-site-kit"):Object(m.__)("Save selection","google-site-kit"),K=Object(g.useCallback)(o()(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(c);case 2:t=e.sent,t.error||(C(),x(),H(q),V(!0));case 5:case"end":return e.stop()}}),e)}))),[d,c,C,x,q]),Y=Object(g.useCallback)((function(){x(),R()}),[x,R]),X=Object(g.useState)(null),J=s()(X,2),$=J[0],Z=J[1];Object(g.useEffect)((function(){null!==$&&$!==L&&L&&(H(null),V(!1)),Z(L)}),[L,$]);var Q=(null==c?void 0:c.length)||0,ee=G?e.createElement(_.a,{width:"89px",height:"20px"}):e.createElement("p",{className:"googlesitekit-selection-panel-footer__item-count"},Object(f.a)(Object(m.sprintf)( +/* translators: 1: Number of selected items. 2: Maximum number of items that can be selected. */ +Object(m.__)("%1$d selected (up to %2$d)","google-site-kit"),Q,N),{MaxCount:e.createElement("span",{className:"googlesitekit-selection-panel-footer__item-count--max-count"})}));return e.createElement("footer",{className:"googlesitekit-selection-panel-footer"},y&&e.createElement(b.a,{error:y}),e.createElement("div",{className:"googlesitekit-selection-panel-footer__content"},W&&k?e.createElement(E.a,{noPrefix:!0,message:k}):ee,e.createElement("div",{className:"googlesitekit-selection-panel-footer__actions"},e.createElement(v.Button,{tertiary:!0,onClick:Y,disabled:T},Object(m.__)("Cancel","google-site-kit")),e.createElement(v.SpinnerButton,{onClick:K,isSaving:T,disabled:QN||T||!L&&U},B||q))))}SelectionPanelFooter.propTypes={savedItemSlugs:d.a.array,selectedItemSlugs:d.a.array,saveSettings:d.a.func,saveError:d.a.object,itemLimitError:d.a.string,minSelectedItemCount:d.a.number,maxSelectedItemCount:d.a.number,isBusy:d.a.bool,onSaveSuccess:d.a.func,onCancel:d.a.func,isOpen:d.a.bool,closePanel:d.a.func}}).call(this,n(4))},32:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/location"},325:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanel}));var r=n(11),i=n.n(r),a=n(0),o=n.n(a),c=n(326);function SelectionPanel(t){var n=t.children,r=t.isOpen,a=t.isLoading,o=t.onOpen,s=t.closePanel,l=t.className,u=null==l?void 0:l.split(/\s+/).map((function(e){return".".concat(e)})).join(""),d=u?"".concat(u," .googlesitekit-selection-panel-item .googlesitekit-selection-box input"):".googlesitekit-selection-panel-item .googlesitekit-selection-box input";return e.createElement(c.a,{className:i()("googlesitekit-selection-panel",l),isOpen:r,isLoading:a,onOpen:o,closeSheet:s,focusTrapOptions:{initialFocus:d}},n)}SelectionPanel.propTypes={children:o.a.node,isOpen:o.a.bool,isLoading:o.a.bool,onOpen:o.a.func,closePanel:o.a.func,className:o.a.string}}).call(this,n(4))},326:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SideSheet}));var r=n(7),i=n.n(r),a=n(11),o=n.n(a),c=n(400),s=n.n(c),l=n(0),u=n.n(l),d=n(210),g=n(386),f=n(1),m=n(56),p=n(73);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw a}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==p[2]?p[2]:{},o=a.ttl,s=void 0===o?c.b:o,l=a.timestamp,u=void 0===l?Math.round(Date.now()/1e3):l,d=a.isError,f=void 0!==d&&d,t.next=3,v();case 3:if(!(m=t.sent)){t.next=14;break}return t.prev=5,m.setItem("".concat(g).concat(n),JSON.stringify({timestamp:u,ttl:s,value:r,isError:f})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),_=function(){var t=o()(i.a.mark((function t(n){var r,a;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(r=t.sent)){t.next=14;break}return t.prev=4,a=n.startsWith(d)?n:"".concat(g).concat(n),r.removeItem(a),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=o()(i.a.mark((function t(){var n,r,a,o;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,r=[],a=0;a1&&r.length>0)return i}return t})),Y=Object(p.useSelect)((function(e){return H?e(w.r).getKeyMetricsConversionEventWidgets():[]})),X=d()({},b.c.SLUG,0),J={},$={},Z=function(e){var t,r=n[e].group;if((r===s||s===b.c.SLUG&&x.includes(e))&&(J[e]=n[e]),s===b.g.SLUG&&z.includes(e)&&z.includes(e)&&(J[e]=n[e]),!X[r]){var i=Object.keys(n).filter((function(e){return!(n[e].group!==r||!(null==D?void 0:D.includes(e)))})).length;X[r]=i}(null==K?void 0:K.length)&&(K.some((function(t){return Y[t].includes(e)}))&&($[r]=[].concat(c()(null!==(t=$[r])&&void 0!==t?t:[]),[e])))};for(var Q in n)Z(Q);var ee=Object(p.useDispatch)(h.a).setValues,te=Object(g.useCallback)((function(){var e;ee(b.j,(e={},d()(e,b.i,D),d()(e,b.a,[].concat(c()(x),c()(P))),d()(e,b.p,[]),e))}),[D,x,P,ee]),ne=Object(g.useCallback)((function(e,t){if(e)u(e);else{var n=q[t];R(t),u(n.SLUG)}P.length&&te()}),[q,P,u,te]),re=Object(p.useSelect)((function(e){return e(N.b).getValue(b.k)})),ie=Object(f.a)(re),ae=Object.keys($);Object(g.useEffect)((function(){if(!ie&&re)if(u(b.c.SLUG),R(0),ae.length&&L){var e=q.find((function(e){return e.SLUG===ae[0]}));R(q.indexOf(e)),u(e.SLUG)}else R(0),u(b.c.SLUG);ie&&!re&&te()}),[re,ie,P,q,L,ae,te]);var oe=[[].concat(c()(W),c()(G.slice(0,2))),c()(G.slice(2))];return e.createElement("div",{className:"googlesitekit-chip-tab-group"},e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-items"},!L&&oe.map((function(t){return e.createElement("div",{key:"row-".concat(t[0].SLUG),className:"googlesitekit-chip-tab-group__tab-items-row"},t.map((function(t){return e.createElement(O.a,{key:t.SLUG,slug:t.SLUG,label:t.LABEL,hasNewBadge:!!(null==$?void 0:$[t.SLUG]),isActive:t.SLUG===s,onClick:ne,selectedCount:X[t.SLUG]})})))})),L&&e.createElement(v.TabBar,{activeIndex:I,handleActiveIndexUpdate:function(e){return ne(null,e)}},q.map((function(t,n){var r=C[t.SLUG]||S.a;return e.createElement(v.Tab,{key:n,"aria-label":t.LABEL},e.createElement(r,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__tab-item-mobile-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(t.SLUG)}),t.LABEL,X[t.SLUG]>0&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",X[t.SLUG],")"),!!(null==$?void 0:$[t.SLUG])&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))})))),e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-item"},Object.keys(J).map((function(t){var n,i=J[t].group,o=null==$||null===(n=$[i])||void 0===n?void 0:n.includes(t);return e.createElement(_.a,a()({key:t,slug:t,savedItemSlugs:r,isNewlyDetected:o},J[t]))})),!Object.keys(J).length&&e.createElement("div",{className:"googlesitekit-chip-tab-group__graphic"},e.createElement(E.a,{height:250}),e.createElement("p",null,Object(m.__)("No metrics were selected yet","google-site-kit")))))}}).call(this,n(4))},357:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Chip}));var r,i=n(7),a=n.n(i),o=n(0),c=n.n(o),s=n(11),l=n.n(s),u=n(10),d=n(26),g=n(229),f=n(206),m=n(74),p=(r={},a()(r,d.c.SLUG,g.a),a()(r,d.g.SLUG,f.a),r);function Chip(t){var n=t.slug,r=t.label,i=t.isActive,a=t.onClick,o=t.hasNewBadge,c=void 0!==o&&o,s=t.selectedCount,d=void 0===s?0:s,g=p[n]||m.a;return e.createElement(u.Button,{className:l()("googlesitekit-chip-tab-group__chip-item",{"googlesitekit-chip-tab-group__chip-item--active":i}),icon:e.createElement(g,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(n)}),trailingIcon:d>0?e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",d,")"):null,onClick:function(){return a(n)}},r,c&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))}Chip.propTypes={slug:c.a.string.isRequired,label:c.a.string.isRequired,isActive:c.a.bool,hasNewBadge:c.a.bool,selectedCount:c.a.number,onClick:c.a.func.isRequired}}).call(this,n(4))},358:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:a;return t instanceof Set&&t.has(e)}}).call(this,n(28))},40:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r="_googlesitekitDataLayer",i="data-googlesitekit-gtag"},42:function(e,t,n){"use strict";(function(e){var r=n(7),i=n.n(r),a=n(0),o=n.n(a),c=n(11),s=n.n(c),l=n(24);function PreviewBlock(t){var n,r,a=t.className,o=t.width,c=t.height,u=t.shape,d=t.padding,g=t.smallWidth,f=t.smallHeight,m=t.tabletWidth,p=t.tabletHeight,v=t.desktopWidth,b=t.desktopHeight,h=Object(l.e)(),O={width:(n={},i()(n,l.b,g),i()(n,l.c,m),i()(n,l.a,v),i()(n,l.d,v),n),height:(r={},i()(r,l.b,f),i()(r,l.c,p),i()(r,l.a,b),i()(r,l.d,v),r)};return e.createElement("div",{className:s()("googlesitekit-preview-block",a,{"googlesitekit-preview-block--padding":d}),style:{width:O.width[h]||o,height:O.height[h]||c}},e.createElement("div",{className:s()("googlesitekit-preview-block__wrapper",{"googlesitekit-preview-block__wrapper--circle":"circular"===u})}))}PreviewBlock.propTypes={className:o.a.string,width:o.a.string,height:o.a.string,shape:o.a.string,padding:o.a.bool,smallWidth:o.a.string,smallHeight:o.a.string,tabletWidth:o.a.string,tabletHeight:o.a.string,desktopWidth:o.a.string,desktopHeight:o.a.string},PreviewBlock.defaultProps={className:void 0,width:"100px",height:"100px",shape:"square",padding:!1,smallWidth:void 0,smallHeight:void 0,tabletWidth:void 0,tabletHeight:void 0,desktopWidth:void 0,desktopHeight:void 0},t.a=PreviewBlock}).call(this,n(4))},45:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(22),i="core/notifications",a={ERRORS:"notification-area-errors",BANNERS_ABOVE_NAV:"notification-area-banners-above-nav",BANNERS_BELOW_NAV:"notification-area-banners-below-nav"},o={DEFAULT:"default",SETUP_CTAS:"setup-ctas"},c=[r.s,r.n,r.l,r.o,r.m]},47:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return a}));var r={BOXES:"boxes",COMPOSITE:"composite"},i={QUARTER:"quarter",HALF:"half",FULL:"full"},a="core/widgets"},50:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return o}));var r=n(3),i=n(19),a=n(80);function o(t){var n=t.moduleName,o=t.FallbackComponent,c=t.IncompleteComponent;return function(t){function WhenActiveComponent(a){var s=Object(r.useSelect)((function(e){return e(i.a).getModule(n)}),[n]);if(!s)return null;var l=o||a.WidgetNull||null;if(!1===s.active)return l&&e.createElement(l,a);if(!1===s.connected){var u=c||l;return u&&e.createElement(u,a)}return e.createElement(t,a)}return WhenActiveComponent.displayName="When".concat(Object(a.c)(n),"Active"),(t.displayName||t.name)&&(WhenActiveComponent.displayName+="(".concat(t.displayName||t.name,")")),WhenActiveComponent}}}).call(this,n(4))},54:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(22),i=n(18),a=r.n,o=r.l;function c(){var e=Object(i.a)();return e===r.n||e===r.o?a:e===r.l||e===r.m?o:null}},543:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e,t){var n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return!(n.bottomredo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(s,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:i.a.string.isRequired,reconnectURL:i.a.string,noPrefix:i.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},58:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(40);function i(e){return function(){e[r.a]=e[r.a]||[],e[r.a].push(arguments)}}},59:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(1),i=Object(r.createContext)(""),a=(i.Consumer,i.Provider);t.b=i},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return s})),n.d(t,"M",(function(){return l})),n.d(t,"O",(function(){return u})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return g})),n.d(t,"J",(function(){return f})),n.d(t,"I",(function(){return m})),n.d(t,"N",(function(){return p})),n.d(t,"f",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"h",(function(){return h})),n.d(t,"j",(function(){return O})),n.d(t,"l",(function(){return _})),n.d(t,"m",(function(){return E})),n.d(t,"n",(function(){return y})),n.d(t,"o",(function(){return k})),n.d(t,"q",(function(){return j})),n.d(t,"s",(function(){return S})),n.d(t,"r",(function(){return w})),n.d(t,"t",(function(){return N})),n.d(t,"w",(function(){return T})),n.d(t,"u",(function(){return A})),n.d(t,"v",(function(){return C})),n.d(t,"x",(function(){return I})),n.d(t,"y",(function(){return R})),n.d(t,"A",(function(){return L})),n.d(t,"B",(function(){return D})),n.d(t,"C",(function(){return x})),n.d(t,"D",(function(){return P})),n.d(t,"k",(function(){return M})),n.d(t,"F",(function(){return B})),n.d(t,"z",(function(){return H})),n.d(t,"G",(function(){return F})),n.d(t,"E",(function(){return z})),n.d(t,"i",(function(){return U})),n.d(t,"p",(function(){return V})),n.d(t,"Q",(function(){return G})),n.d(t,"P",(function(){return W}));var r="core/user",i="connected_url_mismatch",a="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",l="googlesitekit_setup",u="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",m="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",v="kmAnalyticsAdSenseTopEarningContent",b="kmAnalyticsEngagedTrafficSource",h="kmAnalyticsLeastEngagingPages",O="kmAnalyticsNewVisitors",_="kmAnalyticsPopularAuthors",E="kmAnalyticsPopularContent",y="kmAnalyticsPopularProducts",k="kmAnalyticsReturningVisitors",j="kmAnalyticsTopCities",S="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",N="kmAnalyticsTopCitiesDrivingPurchases",T="kmAnalyticsTopDeviceDrivingPurchases",A="kmAnalyticsTopConvertingTrafficSource",C="kmAnalyticsTopCountries",I="kmAnalyticsTopPagesDrivingLeads",R="kmAnalyticsTopRecentTrendingPages",L="kmAnalyticsTopTrafficSource",D="kmAnalyticsTopTrafficSourceDrivingAddToCart",x="kmAnalyticsTopTrafficSourceDrivingLeads",P="kmAnalyticsTopTrafficSourceDrivingPurchases",M="kmAnalyticsPagesPerVisit",B="kmAnalyticsVisitLength",H="kmAnalyticsTopReturningVisitorPages",F="kmSearchConsolePopularKeywords",z="kmAnalyticsVisitsPerVisitor",U="kmAnalyticsMostEngagingPages",V="kmAnalyticsTopCategories",G=[v,b,h,O,_,E,y,k,V,j,S,w,N,T,A,C,R,L,D,M,B,H,z,U,V],W=[].concat(G,[F])},66:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;tSettings","google-site-kit"),{link:e.createElement(f.a,{secondary:!0,onClick:_,disabled:h}),strong:e.createElement("strong",null)})))}Header.propTypes={closePanel:i.a.func.isRequired}}).call(this,n(4))},690:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return Footer}));var i=n(5),a=n.n(i),o=n(16),c=n.n(o),s=n(0),l=n.n(s),u=n(1),d=n(165),g=n(2),f=n(3),m=n(6),p=n(29),v=n(32),b=n(19),h=n(26),O=n(8),_=n(143),E=n(35),y=n(18),k=n(9),j=n(691),S=n(105);function Footer(t){var n=t.isOpen,i=t.closePanel,o=t.savedMetrics,s=t.onNavigationToOAuthURL,l=void 0===s?function(){}:s,w=t.isFullScreen,N=void 0!==w&&w,T=Object(y.a)(),A=Object(S.a)("conversionReporting"),C=Object(f.useSelect)((function(e){return e(p.a).getValue(h.j,h.i)})),I=Object(f.useSelect)((function(e){return e(m.a).isSavingKeyMetricsSettings()})),R="".concat(T,"_kmw-sidebar"),L=null==C?void 0:C.flatMap((function(e){var t=_.a[e];return(null==t?void 0:t.requiredCustomDimensions)||[]})),D=Object(f.useInViewSelect)((function(e){return!!(null==L?void 0:L.length)&&!e(O.r).hasCustomDimensions(L)}),[L]),x=Object(f.useInViewSelect)((function(e){return e(m.a).hasScope(O.h)})),P=Object(f.useSelect)((function(e){return e(b.a).isModuleConnected("analytics-4")})),M=Object(d.a)(e.location.href,{notification:"custom_dimensions"}),B=Object(f.useSelect)((function(e){var t=e(m.a).getConnectURL({additionalScopes:[O.h],redirectURL:M});return!!t&&e(v.a).isNavigatingTo(t)})),H=Object(f.useDispatch)(m.a),F=H.saveKeyMetricsSettings,z=H.setPermissionScopeError,U=Object(f.useDispatch)(p.a).setValues,V=Object(f.useSelect)((function(e){return e(O.r).getKeyMetricsConversionEventWidgets()})),G=Object(u.useCallback)(function(){var e=c()(a.a.mark((function e(t){var n,r;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,F({widgetSlugs:t});case 2:return n=e.sent,r=n.error,e.abrupt("return",{error:r});case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[F]),W=Object(u.useCallback)((function(e){Object.values(V).flat().some((function(t){return e.includes(t)}))?Object(k.J)(R,"metrics_sidebar_save","conversion_reporting"):Object(k.J)(R,"metrics_sidebar_save"),P&&D&&(U(O.n,{autoSubmit:!0}),x||(l(),i(),z({code:E.a,message:Object(g.__)("Additional permissions are required to create new Analytics custom dimensions","google-site-kit"),data:{status:403,scopes:[O.h],skipModal:!0,redirectURL:M}})))}),[R,P,D,U,x,l,i,z,M,V]),q=Object(u.useCallback)((function(){Object(k.J)(R,"metrics_sidebar_cancel")}),[R]),K=A?h.n:h.m;return r.createElement(j.a,{savedItemSlugs:o,selectedItemSlugs:C,saveSettings:G,minSelectedItemCount:h.o,maxSelectedItemCount:K,isBusy:I||B,onSaveSuccess:function(){W(C)},onCancel:q,isOpen:n,closePanel:i,isFullScreen:N})}Footer.propTypes={isOpen:l.a.bool,closePanel:l.a.func.isRequired,savedMetrics:l.a.array,onNavigationToOAuthURL:l.a.func,isFullScreen:l.a.bool}}).call(this,n(28),n(4))},691:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelFooter}));var r=n(5),i=n.n(r),a=n(16),o=n.n(a),c=n(15),s=n.n(c),l=n(14),u=n(0),d=n.n(u),g=n(1),f=n(39),m=n(2),p=n(3),v=n(10),b=n(9),h=n(8),O=n(42);function SelectionPanelFooter(t){var n=t.savedItemSlugs,r=void 0===n?[]:n,a=t.selectedItemSlugs,c=void 0===a?[]:a,u=t.saveSettings,d=void 0===u?function(){}:u,_=t.minSelectedItemCount,E=void 0===_?0:_,y=t.maxSelectedItemCount,k=void 0===y?0:y,j=t.isBusy,S=t.onSaveSuccess,w=void 0===S?function(){}:S,N=t.onCancel,T=void 0===N?function(){}:N,A=t.isOpen,C=t.closePanel,I=void 0===C?function(){}:C,R=t.isFullScreen,L=void 0!==R&&R,D=Object(g.useState)(null),x=s()(D,2),P=x[0],M=x[1],B=Object(g.useState)(!1),H=s()(B,2),F=H[0],z=H[1],U=Object(p.useSelect)((function(e){return e(h.r).isFetchingSyncAvailableAudiences()})),V=Object(g.useMemo)((function(){return!Object(l.isEqual)(Object(b.F)(c),Object(b.F)(r))}),[r,c]),G=(null==r?void 0:r.length)>0&&V?Object(m.__)("Apply changes","google-site-kit"):Object(m.__)("Save selection","google-site-kit");L&&(G=Object(m.__)("Complete setup","google-site-kit"));var W=Object(g.useCallback)(o()(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(c);case 2:t=e.sent,t.error||(w(),I(),M(G),z(!0));case 5:case"end":return e.stop()}}),e)}))),[d,c,w,I,G]),q=Object(g.useCallback)((function(){I(),T()}),[I,T]),K=Object(g.useState)(null),Y=s()(K,2),X=Y[0],J=Y[1];Object(g.useEffect)((function(){null!==X&&X!==A&&A&&(M(null),z(!1)),J(A)}),[A,X]);var $=(null==c?void 0:c.length)||0,Z=U?e.createElement(O.a,{width:"89px",height:"20px"}):e.createElement("p",{className:"googlesitekit-selection-panel-footer__item-count"},Object(f.a)(Object(m.sprintf)( +/* translators: 1: Number of selected items. 2: Maximum number of items that can be selected. */ +Object(m.__)("%1$d selected (up to %2$d)","google-site-kit"),$,k),{MaxCount:e.createElement("span",{className:"googlesitekit-selection-panel-footer__item-count--max-count"})}));return e.createElement("footer",{className:"googlesitekit-selection-panel-footer"},e.createElement("div",{className:"googlesitekit-selection-panel-footer__content"},e.createElement("div",{className:"googlesitekit-selection-panel-footer__actions"},e.createElement(v.Button,{tertiary:!0,onClick:q,disabled:j},Object(m.__)("Cancel","google-site-kit")),Z,e.createElement(v.SpinnerButton,{onClick:W,isSaving:j,disabled:$k||j||!A&&F},P||G))))}SelectionPanelFooter.propTypes={savedItemSlugs:d.a.array,selectedItemSlugs:d.a.array,saveSettings:d.a.func,saveError:d.a.object,itemLimitError:d.a.string,minSelectedItemCount:d.a.number,maxSelectedItemCount:d.a.number,isBusy:d.a.bool,onSaveSuccess:d.a.func,onCancel:d.a.func,isOpen:d.a.bool,closePanel:d.a.func,isFullScreen:d.a.bool}}).call(this,n(4))},692:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricItems}));var r=n(7),i=n.n(r),a=n(0),o=n.n(a),c=n(2),s=n(3),l=n(84),u=n(6),d=n(47),g=n(143),f=n(309),m=n(36),p=n(105),v=n(693),b=n(114);function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;tE&&(n=Object(o.sprintf)( +/* translators: 1: Maximum number of metrics that can be selected. 2: Number of selected metrics. */ +Object(o.__)("Select up to %1$d metrics (%2$d selected)","google-site-kit"),E,_));var y=O;return h&&n&&(y={message:n}),e.createElement(g.a,{error:y,skipRetryMessage:!!n})}))}).call(this,n(4))},695:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SelectionPanelError}));var i=n(0),a=n.n(i),o=n(1),c=n(543),s=n(111),l=n(66);function SelectionPanelError(t){var n=t.error,i=t.noPrefix,a=void 0===i||i,u=t.skipRetryMessage,d=void 0===u||u,g=Object(o.useRef)();return Object(o.useEffect)((function(){if(n){var t=e.document.activeElement;t&&t.closest(".googlesitekit-selection-panel-item")&&Object(c.a)(g.current,t)&&t.scrollIntoView()}}),[n]),n?r.createElement("div",{className:"googlesitekit-selection-panel-error",ref:g},r.createElement(s.a,{Icon:l.a,error:n,noPrefix:a,skipRetryMessage:d})):null}SelectionPanelError.propTypes={error:a.a.shape({message:a.a.string}),noPrefix:a.a.bool,skipRetryMessage:a.a.bool}}).call(this,n(28),n(4))},70:function(e,t,n){"use strict";n.r(t),n.d(t,"CONTEXT_MAIN_DASHBOARD_KEY_METRICS",(function(){return r})),n.d(t,"CONTEXT_MAIN_DASHBOARD_TRAFFIC",(function(){return i})),n.d(t,"CONTEXT_MAIN_DASHBOARD_CONTENT",(function(){return a})),n.d(t,"CONTEXT_MAIN_DASHBOARD_SPEED",(function(){return o})),n.d(t,"CONTEXT_MAIN_DASHBOARD_MONETIZATION",(function(){return c})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_TRAFFIC",(function(){return s})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_CONTENT",(function(){return l})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_SPEED",(function(){return u})),n.d(t,"CONTEXT_ENTITY_DASHBOARD_MONETIZATION",(function(){return d}));var r="mainDashboardKeyMetrics",i="mainDashboardTraffic",a="mainDashboardContent",o="mainDashboardSpeed",c="mainDashboardMonetization",s="entityDashboardTraffic",l="entityDashboardContent",u="entityDashboardSpeed",d="entityDashboardMonetization";t.default={CONTEXT_MAIN_DASHBOARD_KEY_METRICS:r,CONTEXT_MAIN_DASHBOARD_TRAFFIC:i,CONTEXT_MAIN_DASHBOARD_CONTENT:a,CONTEXT_MAIN_DASHBOARD_SPEED:o,CONTEXT_MAIN_DASHBOARD_MONETIZATION:c,CONTEXT_ENTITY_DASHBOARD_TRAFFIC:s,CONTEXT_ENTITY_DASHBOARD_CONTENT:l,CONTEXT_ENTITY_DASHBOARD_SPEED:u,CONTEXT_ENTITY_DASHBOARD_MONETIZATION:d}},71:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r={EXTERNAL:"external",INTERNAL:"internal"}},72:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return c}));var r=n(33),i=n.n(r),a=n(83),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(e,t)}};function c(e){var t,n="object"===i()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},73:function(e,t,n){"use strict";var r=n(15),i=n.n(r),a=n(259),o=n(0),c=n.n(o),s=n(1),l=n(144);function Portal(e){var t=e.children,n=e.slug,r=Object(s.useState)(document.createElement("div")),o=i()(r,1)[0];return Object(a.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(l.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},74:function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},75:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:c,t=e.fps,n=e.leading,r=e.initialWidth,u=void 0===r?0:r,d=e.initialHeight,g=void 0===d?0:d,f=Object(a.a)("undefined"==typeof document?[u,g]:l,t,n),m=i()(f,2),p=m[0],v=m[1],b=function(){return v(l)};return Object(o.a)(s,"resize",b),Object(o.a)(s,"orientationchange",b),p},d=function(e){return u(e)[0]}}).call(this,n(28))},78:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(0),i=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,i=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:i}},n)}IconWrapper.propTypes={children:i.a.node.isRequired,marginLeft:i.a.number,marginRight:i.a.number}}).call(this,n(4))},8:function(e,t,n){"use strict";n.d(t,"r",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"s",(function(){return a})),n.d(t,"z",(function(){return o})),n.d(t,"o",(function(){return c})),n.d(t,"q",(function(){return s})),n.d(t,"g",(function(){return l})),n.d(t,"p",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"i",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"m",(function(){return m})),n.d(t,"n",(function(){return p})),n.d(t,"h",(function(){return v})),n.d(t,"x",(function(){return b})),n.d(t,"w",(function(){return h})),n.d(t,"y",(function(){return O})),n.d(t,"u",(function(){return _})),n.d(t,"v",(function(){return E})),n.d(t,"f",(function(){return y})),n.d(t,"l",(function(){return k})),n.d(t,"e",(function(){return j})),n.d(t,"t",(function(){return S})),n.d(t,"c",(function(){return w})),n.d(t,"d",(function(){return N})),n.d(t,"b",(function(){return T}));var r="modules/analytics-4",i="account_create",a="property_create",o="webdatastream_create",c="analyticsSetup",s=10,l=1,u="https://www.googleapis.com/auth/tagmanager.readonly",d="enhanced-measurement-form",g="enhanced-measurement-enabled",f="enhanced-measurement-should-dismiss-activation-banner",m="analyticsAccountCreate",p="analyticsCustomDimensionsCreate",v="https://www.googleapis.com/auth/analytics.edit",b="dashboardAllTrafficWidgetDimensionName",h="dashboardAllTrafficWidgetDimensionColor",O="dashboardAllTrafficWidgetDimensionValue",_="dashboardAllTrafficWidgetActiveRowIndex",E="dashboardAllTrafficWidgetLoaded",y={googlesitekit_post_date:{parameterName:"googlesitekit_post_date",displayName:"WordPress Post Date",description:"Created by Site Kit: Date when a post was published",scope:"EVENT"},googlesitekit_post_author:{parameterName:"googlesitekit_post_author",displayName:"WordPress Post Author",description:"Created by Site Kit: WordPress name of the post author",scope:"EVENT"},googlesitekit_post_categories:{parameterName:"googlesitekit_post_categories",displayName:"WordPress Post Categories",description:"Created by Site Kit: Names of categories assigned to a post",scope:"EVENT"},googlesitekit_post_type:{parameterName:"googlesitekit_post_type",displayName:"WordPress Post Type",description:"Created by Site Kit: Content type of a post",scope:"EVENT"}},k={ADD_TO_CART:"add_to_cart",PURCHASE:"purchase",SUBMIT_LEAD_FORM:"submit_lead_form",GENERATE_LEAD:"generate_lead",CONTACT:"contact"},j=[k.CONTACT,k.GENERATE_LEAD,k.SUBMIT_LEAD_FORM],S={"new-visitors":{description:"People who visited the site for the first time",displayName:"New visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"new"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:new_visitors"}}}}]}}]}}}}]},"returning-visitors":{description:"People who have visited your site at least once before",displayName:"Returning visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"returning"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:returning_visitors"}}}}]}}]}}}}]}},w="audiencePermissionsSetup",N="audienceTileCustomDimensionCreate",T="audience-selection-panel-expirable-new-badge-"},80:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return a}));var r=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},i=function(e){return e.replace(/([a-z0-9]{1})([A-Z]{1})/g,"$1_$2").toUpperCase()};function a(e){return e.split("-").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}},81:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(107);function i(e){try{return new URL(e).pathname}catch(e){}return null}function a(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function o(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(e,t){if(!Object(r.a)(e))return e;if(e.length<=t)return e;var n=new URL(e),i=e.replace(n.origin,"");if(i.length1&&void 0!==arguments[1]?arguments[1]:{},n=_(e,t),r=n.formatUnit,i=n.formatDecimal;try{return r()}catch(e){return i()}},h=function(e){var t=O(e),n=t.hours,r=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(i):"".concat(n,":").concat(r,":").concat(i)},O=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=O(e),r=n.hours,i=n.minutes,a=n.seconds;return{hours:r,minutes:i,seconds:a,formatUnit:function(){var n=t.unitDisplay,o=v(v({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(a,v(v({},o),{},{unit:"second"})):Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?w(a,v(v({},o),{},{unit:"second"})):"",i?w(i,v(v({},o),{},{unit:"minute"})):"",r?w(r,v(v({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(m.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. +Object(m.__)("%ds","google-site-kit"),a);if(0===e)return t;var n=Object(m.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. +Object(m.__)("%dm","google-site-kit"),i),o=Object(m.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. +Object(m.__)("%dh","google-site-kit"),r);return Object(m.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(m._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?t:"",i?n:"",r?o:"").trim()}}},E=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},y=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in millions. +Object(m.__)("%sM","google-site-kit"),w(E(e),e%10==0?{}:t)):1e4<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),w(E(e))):1e3<=e?Object(m.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(m.__)("%sK","google-site-kit"),w(E(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function k(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=v({},e)),t}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=k(t),r=n.style,i=void 0===r?"metric":r;return"metric"===i?y(e):"duration"===i?b(e,n):"durationISO"===i?h(e):w(e,n)}var S=f()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?T():n,a=u()(t,["locale"]);try{return new Intl.NumberFormat(r,a).format(e)}catch(t){S("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(a)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],l={},d=0,g=Object.entries(a);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?T():n,i=t.style,a=void 0===i?"long":i,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:a,type:c});return s.format(e)} +/* translators: used between list items, there is a space after the comma. */var l=Object(m.__)(", ","google-site-kit");return e.join(l)},T=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},83:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i}));var r=n(147),i=n.n(r)()(e)}).call(this,n(28))},84:function(e,t,n){"use strict";n.r(t),n.d(t,"AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY",(function(){return r})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY",(function(){return i})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_AUDIENCE_SEGMENTATION",(function(){return a})),n.d(t,"AREA_MAIN_DASHBOARD_CONTENT_PRIMARY",(function(){return o})),n.d(t,"AREA_MAIN_DASHBOARD_SPEED_PRIMARY",(function(){return c})),n.d(t,"AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY",(function(){return s})),n.d(t,"AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY",(function(){return l})),n.d(t,"AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY",(function(){return u})),n.d(t,"AREA_ENTITY_DASHBOARD_SPEED_PRIMARY",(function(){return d})),n.d(t,"AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY",(function(){return g}));var r="mainDashboardKeyMetricsPrimary",i="mainDashboardTrafficPrimary",a="mainDashboardTrafficAudienceSegmentation",o="mainDashboardContentPrimary",c="mainDashboardSpeedPrimary",s="mainDashboardMonetizationPrimary",l="entityDashboardTrafficPrimary",u="entityDashboardContentPrimary",d="entityDashboardSpeedPrimary",g="entityDashboardMonetizationPrimary";t.default={AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY:r,AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY:i,AREA_MAIN_DASHBOARD_CONTENT_PRIMARY:o,AREA_MAIN_DASHBOARD_SPEED_PRIMARY:c,AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY:s,AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY:l,AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY:u,AREA_ENTITY_DASHBOARD_SPEED_PRIMARY:d,AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY:g}},86:function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(11),o=n.n(a);function ChangeArrow(t){var n=t.direction,r=t.invertColor,i=t.width,a=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:i,height:a,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},87:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(24),i=n(121);function a(t,n){var r=document.querySelector(t);if(!r)return 0;var i=r.getBoundingClientRect().top,a=o(n);return i+e.scrollY-a}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,a=document.querySelector(".googlesitekit-header");return n=!!a&&"sticky"===e.getComputedStyle(a).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(i.a)(n))<0?0:n}}).call(this,n(28))},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(12),i=n.n(r),a=function(e,t){var n=t.dateRangeLength;i()(Array.isArray(e),"report must be an array to partition."),i()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return i.b})),n.d(t,"K",(function(){return i.c})),n.d(t,"G",(function(){return a.a})),n.d(t,"L",(function(){return a.b})),n.d(t,"I",(function(){return u})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return p})),n.d(t,"k",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"d",(function(){return k})),n.d(t,"c",(function(){return j})),n.d(t,"e",(function(){return S})),n.d(t,"b",(function(){return w})),n.d(t,"a",(function(){return N})),n.d(t,"g",(function(){return T})),n.d(t,"f",(function(){return A})),n.d(t,"o",(function(){return C})),n.d(t,"x",(function(){return I})),n.d(t,"q",(function(){return R})),n.d(t,"H",(function(){return L})),n.d(t,"t",(function(){return D})),n.d(t,"w",(function(){return x})),n.d(t,"l",(function(){return P})),n.d(t,"p",(function(){return M.b})),n.d(t,"i",(function(){return M.a})),n.d(t,"u",(function(){return B.b})),n.d(t,"r",(function(){return B.a})),n.d(t,"B",(function(){return B.c})),n.d(t,"y",(function(){return H})),n.d(t,"v",(function(){return F})),n.d(t,"F",(function(){return V})),n.d(t,"E",(function(){return G.a})),n.d(t,"h",(function(){return W})),n.d(t,"M",(function(){return q})),n.d(t,"m",(function(){return K}));var r=n(14),i=n(37),a=n(72),o=n(33),c=n.n(o),s=n(93),l=n.n(s),u=function(e){return l()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var i=t[r];i&&"object"===c()(i)&&!Array.isArray(i)&&(i=e(i)),n[r]=i})),n}(e)))};n(96);var d=n(82);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function m(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,r=[g,f,m];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function R(e){E()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function L(e){E()(I(e),k);var t=e.split("-"),n=O()(t,3),r=n[0],i=n[1],a=n[2];return new Date(r,i-1,a)}function D(e,t){return R(P(e,t*N))}function x(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function P(e,t){E()(I(e)||Object(r.isDate)(e)&&!isNaN(e),k);var n=I(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var M=n(97),B=n(81);function H(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function F(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var z=n(27),U=n.n(z),V=function(e){return Array.isArray(e)?U()(e).sort():e},G=n(89);function W(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var q=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},K=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},90:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(1),i=n(18),a=n(9);function o(e,t){var n=Object(i.a)(),o=null!=t?t:"".concat(n,"_").concat(e);return{view:Object(r.useCallback)((function(){for(var e=arguments.length,t=new Array(e),n=0;n=600;Object(O.a)(u()(s.a.mark((function e(){var t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(F>0)){e.next=3;break}return e.next=3,$e();case 3:if(!W){e.next=9;break}return e.next=6,Object(S.d)(Le);case 6:t=e.sent,n=t.cacheHit,Re(n);case 9:if(!ae){e.next=12;break}return e.next=12,De();case 12:case"end":return e.stop()}}),e)}))));var We=function(){var e=u()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:Ke();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=Object(E.a)(f)&&"_blank"!==m,Ke=function(){return qe||Te(!0),new Promise((function(e){setTimeout(u()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,De();case 2:Me()&&Re(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Ye=Object(y.useSelect)((function(e){return!!f&&e(x.a).isNavigatingTo(f)})),Xe=Object(y.useDispatch)(x.a).navigateTo,Je=function(){var e=u()(s.a.mark((function e(t){var n,r,i;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),qe&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:r=e.t0,i=r.dismissOnCTAClick,n=void 0===i||i;case 12:if(!W||!n){e.next=15;break}return e.next=15,Ke();case 15:qe&&Xe(f);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),$e=function(){var e=u()(s.a.mark((function e(){var t,n,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.d)(Le);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((r=new Date(n)).setSeconds(r.getSeconds()+parseInt(F,10)),!(r1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var a=n.invertColor,o=void 0!==a&&a;return Object(r.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),i=n.n(r),a=n(14),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=l(l({},u),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(i,n),d=Object(c.a)(i,n,s,r),g={},f=function(){for(var e=arguments.length,t=new Array(e),n=0;n=R&&R>0),o()(r,"mdc-layout-grid__cell--span-".concat(E,"-desktop"),12>=E&&E>0),o()(r,"mdc-layout-grid__cell--start-".concat(j,"-desktop"),12>=j&&j>0),o()(r,"mdc-layout-grid__cell--order-".concat(k,"-desktop"),12>=k&&k>0),o()(r,"mdc-layout-grid__cell--span-".concat(S,"-tablet"),8>=S&&S>0),o()(r,"mdc-layout-grid__cell--start-".concat(O,"-tablet"),8>=O&&O>0),o()(r,"mdc-layout-grid__cell--order-".concat(y,"-tablet"),8>=y&&y>0),o()(r,"mdc-layout-grid__cell--span-".concat(b,"-phone"),4>=b&&b>0),o()(r,"mdc-layout-grid__cell--start-".concat(h,"-phone"),4>=h&&h>0),o()(r,"mdc-layout-grid__cell--order-".concat(m,"-phone"),4>=m&&m>0),r))}),w)}Cell.propTypes={smSize:l.a.number,smStart:l.a.number,smOrder:l.a.number,mdSize:l.a.number,mdStart:l.a.number,mdOrder:l.a.number,lgSize:l.a.number,lgStart:l.a.number,lgOrder:l.a.number,size:l.a.number,alignTop:l.a.bool,alignMiddle:l.a.bool,alignBottom:l.a.bool,alignRight:l.a.bool,alignLeft:l.a.bool,smAlignRight:l.a.bool,mdAlignRight:l.a.bool,lgAlignRight:l.a.bool,className:l.a.string,children:l.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,r(4))},1233:function(e,t,r){"use strict";r.r(t),function(e){var n=r(3),i=r.n(n),a=r(828);Object(a.b)(i.a);var o=Object(a.a)(i.a);void 0===e.googlesitekit&&(e.googlesitekit={}),e.googlesitekit.modules=o,t.default=o}.call(this,r(28))},124:function(e,t,r){"use strict";(function(e){var n=r(21),i=r.n(n),a=r(24),o=r.n(a),c=r(1),s=r.n(c),u=r(11),l=r.n(u),d=r(0),g=Object(d.forwardRef)((function(t,r){var n=t.className,a=t.children,c=o()(t,["className","children"]);return e.createElement("div",i()({ref:r,className:l()("mdc-layout-grid__inner",n)},c),a)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,r(4))},125:function(e,t,r){"use strict";(function(e){var n=r(21),i=r.n(n),a=r(24),o=r.n(a),c=r(1),s=r.n(c),u=r(11),l=r.n(u),d=r(0),g=Object(d.forwardRef)((function(t,r){var n=t.alignLeft,a=t.fill,c=t.className,s=t.children,u=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:l()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":n,"mdc-layout-grid--collapsed":u,"mdc-layout-grid--fill":a})},d,{ref:r}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,r(4))},126:function(e,t,r){"use strict";var n=r(0);function i(){return(i=Object.assign||function(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{},i=n.ownedSettingsSlugs,a=void 0===i?void 0:i,c=n.storeName,u=void 0===c?void 0:c,g=n.settingSlugs,m=void 0===g?[]:g,S=n.initialSettings,j=void 0===S?void 0:S,k=n.validateHaveSettingsChanged,R=void 0===k?C():k;l()(e,"type is required."),l()(t,"identifier is required."),l()(r,"datapoint is required.");var w=u||"".concat(e,"/").concat(t),_={ownedSettingsSlugs:a,settings:j,savedSettings:void 0},A=Object(h.a)({baseName:"getSettings",controlCallback:function(){return f.a.get(e,t,r,{},{useCache:!1})},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O(O({},t),e.settings||{})})}}),N=Object(h.a)({baseName:"saveSettings",controlCallback:function(n){var i=n.values;return f.a.set(e,t,r,i)},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O({},t)})},argsToParams:function(e){return{values:e}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.values;l()(Object(d.isPlainObject)(t),"values is required.")}}),M={},D={setSettings:function(e){return l()(Object(d.isPlainObject)(e),"values is required."),{payload:{values:e},type:"SET_SETTINGS"}},rollbackSettings:function(){return{payload:{},type:"ROLLBACK_SETTINGS"}},saveSettings:o.a.mark((function e(){var t,r,n,i,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.commonActions.getRegistry();case 2:return t=e.sent,e.next=5,y("saveSettings",[]);case 5:return r=t.select(w).getSettings(),e.next=8,N.actions.fetchSaveSettings(r);case 8:if(n=e.sent,i=n.response,!(a=n.error)){e.next=14;break}return e.next=14,E(a,"saveSettings",[]);case 14:return e.abrupt("return",{response:i,error:a});case 15:case"end":return e.stop()}}),e)}))},T={},I=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_,t=arguments.length>1?arguments[1]:void 0,r=t.type,n=t.payload;switch(r){case"SET_SETTINGS":var i=n.values;return O(O({},e),{},{settings:O(O({},e.settings||{}),i)});case"ROLLBACK_SETTINGS":return O(O({},e),{},{settings:e.savedSettings});default:return void 0!==M[r]?M[r](e,{type:r,payload:n}):e}},x={getSettings:o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.commonActions.getRegistry();case 2:if(t=e.sent,t.select(w).getSettings()){e.next=7;break}return e.next=7,A.actions.fetchGetSettings();case 7:case"end":return e.stop()}}),e)}))},P=Object(p.g)(R),L=P.safeSelector,q=P.dangerousSelector,U={haveSettingsChanged:L,__dangerousHaveSettingsChanged:q,getSettings:function(e){return e.settings},hasSettingChanged:function(e,t){l()(t,"setting is required.");var r=e.settings,n=e.savedSettings;return!(!r||!n)&&!Object(d.isEqual)(r[t],n[t])},isDoingSaveSettings:function(e){return Object.values(e.isFetchingSaveSettings).some(Boolean)},getOwnedSettingsSlugs:function(e){return e.ownedSettingsSlugs},haveOwnedSettingsChanged:Object(v.createRegistrySelector)((function(e){return function(){var t=e(w).getOwnedSettingsSlugs();return e(w).haveSettingsChanged(t)}}))};m.forEach((function(e){var t=Object(b.b)(e),r=Object(b.a)(e);D["set".concat(t)]=function(e){return l()(void 0!==e,"value is required for calls to set".concat(t,"().")),{payload:{value:e},type:"SET_".concat(r)}},M["SET_".concat(r)]=function(t,r){var n=r.payload.value;return O(O({},t),{},{settings:O(O({},t.settings||{}),{},s()({},e,n))})},U["get".concat(t)]=Object(v.createRegistrySelector)((function(t){return function(){return(t(w).getSettings()||{})[e]}}))}));var H=Object(v.combineStores)(v.commonStore,A,N,{initialState:_,actions:D,controls:T,reducer:I,resolvers:x,selectors:U});return O(O({},H),{},{STORE_NAME:w})};function w(e,t){return function(){var r=i()(o.a.mark((function r(n){var i,a,c,s;return o.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(i=n.select,a=n.dispatch,!i(t).haveSettingsChanged()){r.next=8;break}return r.next=4,a(t).saveSettings();case 4:if(c=r.sent,!(s=c.error)){r.next=8;break}return r.abrupt("return",{error:s});case 8:return r.next=10,f.a.invalidateCache("modules",e);case 10:return r.abrupt("return",{});case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}function _(e){return function(t){var r=t.select,n=t.dispatch;return r(e).haveSettingsChanged()?n(e).rollbackSettings():{}}}function A(e){return function(t){var r=Object(p.e)(t)(e),n=r.haveSettingsChanged,i=r.isDoingSubmitChanges;l()(!i(),j),l()(n(),k)}}function C(){return function(e,t,r){var n=t.settings,i=t.savedSettings;r&&l()(!Object(d.isEqual)(Object(d.pick)(n,r),Object(d.pick)(i,r)),k),l()(!Object(d.isEqual)(n,i),k)}}},2:function(e,t){e.exports=googlesitekit.i18n},20:function(e,t,r){"use strict";(function(e){var n=r(21),i=r.n(n),a=r(24),o=r.n(a),c=r(11),s=r.n(c),u=r(1),l=r.n(u),d=r(142),g=r(0),f=r(2),v=r(126),p=r(127),b=r(128),h=r(77),m=r(76),S=Object(g.forwardRef)((function(t,r){var n,a=t["aria-label"],c=t.secondary,u=void 0!==c&&c,l=t.arrow,g=void 0!==l&&l,S=t.back,O=void 0!==S&&S,y=t.caps,E=void 0!==y&&y,j=t.children,k=t.className,R=void 0===k?"":k,w=t.danger,_=void 0!==w&&w,A=t.disabled,C=void 0!==A&&A,N=t.external,M=void 0!==N&&N,D=t.hideExternalIndicator,T=void 0!==D&&D,I=t.href,x=void 0===I?"":I,P=t.inverse,L=void 0!==P&&P,q=t.noFlex,U=void 0!==q&&q,H=t.onClick,G=t.small,B=void 0!==G&&G,F=t.standalone,V=void 0!==F&&F,K=t.linkButton,z=void 0!==K&&K,W=t.to,$=t.leadingIcon,J=t.trailingIcon,Q=o()(t,["aria-label","secondary","arrow","back","caps","children","className","danger","disabled","external","hideExternalIndicator","href","inverse","noFlex","onClick","small","standalone","linkButton","to","leadingIcon","trailingIcon"]),X=x||W||!H?W?"ROUTER_LINK":M?"EXTERNAL_LINK":"LINK":C?"BUTTON_DISABLED":"BUTTON",Y="BUTTON"===X||"BUTTON_DISABLED"===X?"button":"ROUTER_LINK"===X?d.b:"a",Z=("EXTERNAL_LINK"===X&&(n=Object(f._x)("(opens in a new tab)","screen reader text","google-site-kit")),"BUTTON_DISABLED"===X&&(n=Object(f._x)("(disabled)","screen reader text","google-site-kit")),n?a?"".concat(a," ").concat(n):"string"==typeof j?"".concat(j," ").concat(n):void 0:a),ee=$,te=J;return O&&(ee=e.createElement(b.a,{width:14,height:14})),M&&!T&&(te=e.createElement(h.a,{width:14,height:14})),g&&!L&&(te=e.createElement(v.a,{width:14,height:14})),g&&L&&(te=e.createElement(p.a,{width:14,height:14})),e.createElement(Y,i()({"aria-label":Z,className:s()("googlesitekit-cta-link",R,{"googlesitekit-cta-link--secondary":u,"googlesitekit-cta-link--inverse":L,"googlesitekit-cta-link--small":B,"googlesitekit-cta-link--caps":E,"googlesitekit-cta-link--danger":_,"googlesitekit-cta-link--disabled":C,"googlesitekit-cta-link--standalone":V,"googlesitekit-cta-link--link-button":z,"googlesitekit-cta-link--no-flex":!!U}),disabled:C,href:"LINK"!==X&&"EXTERNAL_LINK"!==X||C?void 0:x,onClick:H,rel:"EXTERNAL_LINK"===X?"noopener noreferrer":void 0,ref:r,target:"EXTERNAL_LINK"===X?"_blank":void 0,to:W},Q),!!ee&&e.createElement(m.a,{marginRight:5},ee),e.createElement("span",{className:"googlesitekit-cta-link__contents"},j),!!te&&e.createElement(m.a,{marginLeft:5},te))}));S.propTypes={arrow:l.a.bool,back:l.a.bool,caps:l.a.bool,children:l.a.node,className:l.a.string,danger:l.a.bool,disabled:l.a.bool,external:l.a.bool,hideExternalIndicator:l.a.bool,href:l.a.string,inverse:l.a.bool,leadingIcon:l.a.node,linkButton:l.a.bool,noFlex:l.a.bool,onClick:l.a.func,small:l.a.bool,standalone:l.a.bool,to:l.a.string,trailingIcon:l.a.node},t.a=S}).call(this,r(4))},223:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return WarningNotice}));var n=r(11),i=r.n(n),a=r(1),o=r.n(a);function WarningNotice(t){var r=t.children,n=t.className;return e.createElement("div",{className:i()("googlesitekit-warning-notice",n)},r)}WarningNotice.propTypes={children:o.a.node.isRequired,className:o.a.string}}).call(this,r(4))},235:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return AdBlockerWarning}));var n=r(1),i=r.n(n),a=r(3),o=r(14),c=r(19),s=r(383);function AdBlockerWarning(t){var r=t.moduleSlug,n=t.className,i=Object(a.useSelect)((function(e){return e(c.a).getModuleStoreName(r)})),u=Object(a.useSelect)((function(e){var t;return null===(t=e(i))||void 0===t?void 0:t.getAdBlockerWarningMessage()})),l=Object(a.useSelect)((function(e){return e(o.c).getDocumentationLinkURL("".concat(r,"-ad-blocker-detected"))}));return e.createElement(s.a,{className:n,getHelpLink:l,warningMessage:u})}AdBlockerWarning.propTypes={className:i.a.string,moduleSlug:i.a.string.isRequired}}).call(this,r(4))},3:function(e,t){e.exports=googlesitekit.data},37:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return O})),r.d(t,"b",(function(){return m})),r.d(t,"c",(function(){return S}));var n=r(98),i=e._googlesitekitTrackingData||{},a=i.activeModules,o=void 0===a?[]:a,c=i.isSiteKitScreen,s=i.trackingEnabled,u=i.trackingID,l=i.referenceSiteURL,d=i.userIDHash,g=i.isAuthenticated,f={activeModules:o,trackingEnabled:s,trackingID:u,referenceSiteURL:l,userIDHash:d,isSiteKitScreen:c,userRoles:i.userRoles,isAuthenticated:g,pluginVersion:"1.145.0"},v=Object(n.a)(f),p=v.enableTracking,b=v.disableTracking,h=(v.isTrackingEnabled,v.initializeSnippet),m=v.trackEvent,S=v.trackEventOnce;function O(e){e?p():b()}c&&s&&h()}).call(this,r(28))},383:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return AdBlockerWarningMessage}));var n=r(1),i=r.n(n),a=r(2),o=r(38),c=r(20),s=r(223),u=r(384);function AdBlockerWarningMessage(t){var r=t.className,n=void 0===r?"":r,i=t.getHelpLink,l=void 0===i?"":i,d=t.warningMessage,g=void 0===d?null:d;return g?e.createElement(s.a,{className:n},Object(o.a)(Object(a.sprintf)( +(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[17],{100:function(e,t,r){"use strict";r.d(t,"a",(function(){return g}));var n=r(5),i=r.n(n),a=r(7),o=r.n(a),c=r(16),s=r.n(c),u=r(58);function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t=R&&R>0),o()(r,"mdc-layout-grid__cell--span-".concat(E,"-desktop"),12>=E&&E>0),o()(r,"mdc-layout-grid__cell--start-".concat(j,"-desktop"),12>=j&&j>0),o()(r,"mdc-layout-grid__cell--order-".concat(k,"-desktop"),12>=k&&k>0),o()(r,"mdc-layout-grid__cell--span-".concat(S,"-tablet"),8>=S&&S>0),o()(r,"mdc-layout-grid__cell--start-".concat(O,"-tablet"),8>=O&&O>0),o()(r,"mdc-layout-grid__cell--order-".concat(y,"-tablet"),8>=y&&y>0),o()(r,"mdc-layout-grid__cell--span-".concat(b,"-phone"),4>=b&&b>0),o()(r,"mdc-layout-grid__cell--start-".concat(h,"-phone"),4>=h&&h>0),o()(r,"mdc-layout-grid__cell--order-".concat(m,"-phone"),4>=m&&m>0),r))}),w)}Cell.propTypes={smSize:l.a.number,smStart:l.a.number,smOrder:l.a.number,mdSize:l.a.number,mdStart:l.a.number,mdOrder:l.a.number,lgSize:l.a.number,lgStart:l.a.number,lgOrder:l.a.number,size:l.a.number,alignTop:l.a.bool,alignMiddle:l.a.bool,alignBottom:l.a.bool,alignRight:l.a.bool,alignLeft:l.a.bool,smAlignRight:l.a.bool,mdAlignRight:l.a.bool,lgAlignRight:l.a.bool,className:l.a.string,children:l.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,r(4))},1241:function(e,t,r){"use strict";r.r(t),function(e){var n=r(3),i=r.n(n),a=r(833);Object(a.b)(i.a);var o=Object(a.a)(i.a);void 0===e.googlesitekit&&(e.googlesitekit={}),e.googlesitekit.modules=o,t.default=o}.call(this,r(28))},125:function(e,t,r){"use strict";(function(e){var n=r(20),i=r.n(n),a=r(25),o=r.n(a),c=r(0),s=r.n(c),u=r(11),l=r.n(u),d=r(1),g=Object(d.forwardRef)((function(t,r){var n=t.className,a=t.children,c=o()(t,["className","children"]);return e.createElement("div",i()({ref:r,className:l()("mdc-layout-grid__inner",n)},c),a)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,r(4))},126:function(e,t,r){"use strict";(function(e){var n=r(20),i=r.n(n),a=r(25),o=r.n(a),c=r(0),s=r.n(c),u=r(11),l=r.n(u),d=r(1),g=Object(d.forwardRef)((function(t,r){var n=t.alignLeft,a=t.fill,c=t.className,s=t.children,u=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:l()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":n,"mdc-layout-grid--collapsed":u,"mdc-layout-grid--fill":a})},d,{ref:r}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,r(4))},127:function(e,t,r){"use strict";var n=r(1);function i(){return(i=Object.assign||function(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{},i=n.ownedSettingsSlugs,a=void 0===i?void 0:i,c=n.storeName,u=void 0===c?void 0:c,g=n.settingSlugs,m=void 0===g?[]:g,S=n.initialSettings,j=void 0===S?void 0:S,k=n.validateHaveSettingsChanged,R=void 0===k?C():k;l()(e,"type is required."),l()(t,"identifier is required."),l()(r,"datapoint is required.");var w=u||"".concat(e,"/").concat(t),_={ownedSettingsSlugs:a,settings:j,savedSettings:void 0},A=Object(h.a)({baseName:"getSettings",controlCallback:function(){return f.a.get(e,t,r,{},{useCache:!1})},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O(O({},t),e.settings||{})})}}),N=Object(h.a)({baseName:"saveSettings",controlCallback:function(n){var i=n.values;return f.a.set(e,t,r,i)},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O({},t)})},argsToParams:function(e){return{values:e}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.values;l()(Object(d.isPlainObject)(t),"values is required.")}}),M={},D={setSettings:function(e){return l()(Object(d.isPlainObject)(e),"values is required."),{payload:{values:e},type:"SET_SETTINGS"}},rollbackSettings:function(){return{payload:{},type:"ROLLBACK_SETTINGS"}},saveSettings:o.a.mark((function e(){var t,r,n,i,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.commonActions.getRegistry();case 2:return t=e.sent,e.next=5,y("saveSettings",[]);case 5:return r=t.select(w).getSettings(),e.next=8,N.actions.fetchSaveSettings(r);case 8:if(n=e.sent,i=n.response,!(a=n.error)){e.next=14;break}return e.next=14,E(a,"saveSettings",[]);case 14:return e.abrupt("return",{response:i,error:a});case 15:case"end":return e.stop()}}),e)}))},T={},I=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_,t=arguments.length>1?arguments[1]:void 0,r=t.type,n=t.payload;switch(r){case"SET_SETTINGS":var i=n.values;return O(O({},e),{},{settings:O(O({},e.settings||{}),i)});case"ROLLBACK_SETTINGS":return O(O({},e),{},{settings:e.savedSettings});default:return void 0!==M[r]?M[r](e,{type:r,payload:n}):e}},x={getSettings:o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.commonActions.getRegistry();case 2:if(t=e.sent,t.select(w).getSettings()){e.next=7;break}return e.next=7,A.actions.fetchGetSettings();case 7:case"end":return e.stop()}}),e)}))},P=Object(p.g)(R),L=P.safeSelector,q=P.dangerousSelector,U={haveSettingsChanged:L,__dangerousHaveSettingsChanged:q,getSettings:function(e){return e.settings},hasSettingChanged:function(e,t){l()(t,"setting is required.");var r=e.settings,n=e.savedSettings;return!(!r||!n)&&!Object(d.isEqual)(r[t],n[t])},isDoingSaveSettings:function(e){return Object.values(e.isFetchingSaveSettings).some(Boolean)},getOwnedSettingsSlugs:function(e){return e.ownedSettingsSlugs},haveOwnedSettingsChanged:Object(v.createRegistrySelector)((function(e){return function(){var t=e(w).getOwnedSettingsSlugs();return e(w).haveSettingsChanged(t)}}))};m.forEach((function(e){var t=Object(b.b)(e),r=Object(b.a)(e);D["set".concat(t)]=function(e){return l()(void 0!==e,"value is required for calls to set".concat(t,"().")),{payload:{value:e},type:"SET_".concat(r)}},M["SET_".concat(r)]=function(t,r){var n=r.payload.value;return O(O({},t),{},{settings:O(O({},t.settings||{}),{},s()({},e,n))})},U["get".concat(t)]=Object(v.createRegistrySelector)((function(t){return function(){return(t(w).getSettings()||{})[e]}}))}));var H=Object(v.combineStores)(v.commonStore,A,N,{initialState:_,actions:D,controls:T,reducer:I,resolvers:x,selectors:U});return O(O({},H),{},{STORE_NAME:w})};function w(e,t){return function(){var r=i()(o.a.mark((function r(n){var i,a,c,s;return o.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(i=n.select,a=n.dispatch,!i(t).haveSettingsChanged()){r.next=8;break}return r.next=4,a(t).saveSettings();case 4:if(c=r.sent,!(s=c.error)){r.next=8;break}return r.abrupt("return",{error:s});case 8:return r.next=10,f.a.invalidateCache("modules",e);case 10:return r.abrupt("return",{});case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}function _(e){return function(t){var r=t.select,n=t.dispatch;return r(e).haveSettingsChanged()?n(e).rollbackSettings():{}}}function A(e){return function(t){var r=Object(p.e)(t)(e),n=r.haveSettingsChanged,i=r.isDoingSubmitChanges;l()(!i(),j),l()(n(),k)}}function C(){return function(e,t,r){var n=t.settings,i=t.savedSettings;r&&l()(!Object(d.isEqual)(Object(d.pick)(n,r),Object(d.pick)(i,r)),k),l()(!Object(d.isEqual)(n,i),k)}}},2:function(e,t){e.exports=googlesitekit.i18n},21:function(e,t,r){"use strict";(function(e){var n=r(20),i=r.n(n),a=r(25),o=r.n(a),c=r(11),s=r.n(c),u=r(0),l=r.n(u),d=r(145),g=r(1),f=r(2),v=r(127),p=r(128),b=r(129),h=r(75),m=r(78),S=Object(g.forwardRef)((function(t,r){var n,a=t["aria-label"],c=t.secondary,u=void 0!==c&&c,l=t.arrow,g=void 0!==l&&l,S=t.back,O=void 0!==S&&S,y=t.caps,E=void 0!==y&&y,j=t.children,k=t.className,R=void 0===k?"":k,w=t.danger,_=void 0!==w&&w,A=t.disabled,C=void 0!==A&&A,N=t.external,M=void 0!==N&&N,D=t.hideExternalIndicator,T=void 0!==D&&D,I=t.href,x=void 0===I?"":I,P=t.inverse,L=void 0!==P&&P,q=t.noFlex,U=void 0!==q&&q,H=t.onClick,G=t.small,B=void 0!==G&&G,F=t.standalone,V=void 0!==F&&F,K=t.linkButton,z=void 0!==K&&K,W=t.to,$=t.leadingIcon,J=t.trailingIcon,Q=o()(t,["aria-label","secondary","arrow","back","caps","children","className","danger","disabled","external","hideExternalIndicator","href","inverse","noFlex","onClick","small","standalone","linkButton","to","leadingIcon","trailingIcon"]),X=x||W||!H?W?"ROUTER_LINK":M?"EXTERNAL_LINK":"LINK":C?"BUTTON_DISABLED":"BUTTON",Y="BUTTON"===X||"BUTTON_DISABLED"===X?"button":"ROUTER_LINK"===X?d.b:"a",Z=("EXTERNAL_LINK"===X&&(n=Object(f._x)("(opens in a new tab)","screen reader text","google-site-kit")),"BUTTON_DISABLED"===X&&(n=Object(f._x)("(disabled)","screen reader text","google-site-kit")),n?a?"".concat(a," ").concat(n):"string"==typeof j?"".concat(j," ").concat(n):void 0:a),ee=$,te=J;return O&&(ee=e.createElement(b.a,{width:14,height:14})),M&&!T&&(te=e.createElement(h.a,{width:14,height:14})),g&&!L&&(te=e.createElement(v.a,{width:14,height:14})),g&&L&&(te=e.createElement(p.a,{width:14,height:14})),e.createElement(Y,i()({"aria-label":Z,className:s()("googlesitekit-cta-link",R,{"googlesitekit-cta-link--secondary":u,"googlesitekit-cta-link--inverse":L,"googlesitekit-cta-link--small":B,"googlesitekit-cta-link--caps":E,"googlesitekit-cta-link--danger":_,"googlesitekit-cta-link--disabled":C,"googlesitekit-cta-link--standalone":V,"googlesitekit-cta-link--link-button":z,"googlesitekit-cta-link--no-flex":!!U}),disabled:C,href:"LINK"!==X&&"EXTERNAL_LINK"!==X||C?void 0:x,onClick:H,rel:"EXTERNAL_LINK"===X?"noopener noreferrer":void 0,ref:r,target:"EXTERNAL_LINK"===X?"_blank":void 0,to:W},Q),!!ee&&e.createElement(m.a,{marginRight:5},ee),e.createElement("span",{className:"googlesitekit-cta-link__contents"},j),!!te&&e.createElement(m.a,{marginLeft:5},te))}));S.propTypes={arrow:l.a.bool,back:l.a.bool,caps:l.a.bool,children:l.a.node,className:l.a.string,danger:l.a.bool,disabled:l.a.bool,external:l.a.bool,hideExternalIndicator:l.a.bool,href:l.a.string,inverse:l.a.bool,leadingIcon:l.a.node,linkButton:l.a.bool,noFlex:l.a.bool,onClick:l.a.func,small:l.a.bool,standalone:l.a.bool,to:l.a.string,trailingIcon:l.a.node},t.a=S}).call(this,r(4))},226:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return WarningNotice}));var n=r(11),i=r.n(n),a=r(0),o=r.n(a);function WarningNotice(t){var r=t.children,n=t.className;return e.createElement("div",{className:i()("googlesitekit-warning-notice",n)},r)}WarningNotice.propTypes={children:o.a.node.isRequired,className:o.a.string}}).call(this,r(4))},238:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return AdBlockerWarning}));var n=r(0),i=r.n(n),a=r(3),o=r(13),c=r(19),s=r(389);function AdBlockerWarning(t){var r=t.moduleSlug,n=t.className,i=Object(a.useSelect)((function(e){return e(c.a).getModuleStoreName(r)})),u=Object(a.useSelect)((function(e){var t;return null===(t=e(i))||void 0===t?void 0:t.getAdBlockerWarningMessage()})),l=Object(a.useSelect)((function(e){return e(o.c).getDocumentationLinkURL("".concat(r,"-ad-blocker-detected"))}));return e.createElement(s.a,{className:n,getHelpLink:l,warningMessage:u})}AdBlockerWarning.propTypes={className:i.a.string,moduleSlug:i.a.string.isRequired}}).call(this,r(4))},3:function(e,t){e.exports=googlesitekit.data},37:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return O})),r.d(t,"b",(function(){return m})),r.d(t,"c",(function(){return S}));var n=r(98),i=e._googlesitekitTrackingData||{},a=i.activeModules,o=void 0===a?[]:a,c=i.isSiteKitScreen,s=i.trackingEnabled,u=i.trackingID,l=i.referenceSiteURL,d=i.userIDHash,g=i.isAuthenticated,f={activeModules:o,trackingEnabled:s,trackingID:u,referenceSiteURL:l,userIDHash:d,isSiteKitScreen:c,userRoles:i.userRoles,isAuthenticated:g,pluginVersion:"1.146.0"},v=Object(n.a)(f),p=v.enableTracking,b=v.disableTracking,h=(v.isTrackingEnabled,v.initializeSnippet),m=v.trackEvent,S=v.trackEventOnce;function O(e){e?p():b()}c&&s&&h()}).call(this,r(28))},38:function(e,t,r){"use strict";(function(e){var n,i;r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return o}));var a=new Set((null===(n=e)||void 0===n||null===(i=n._googlesitekitBaseData)||void 0===i?void 0:i.enabledFeatures)||[]),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a;return t instanceof Set&&t.has(e)}}).call(this,r(28))},389:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return AdBlockerWarningMessage}));var n=r(0),i=r.n(n),a=r(2),o=r(39),c=r(21),s=r(226),u=r(390);function AdBlockerWarningMessage(t){var r=t.className,n=void 0===r?"":r,i=t.getHelpLink,l=void 0===i?"":i,d=t.warningMessage,g=void 0===d?null:d;return g?e.createElement(s.a,{className:n},Object(o.a)(Object(a.sprintf)( /* translators: 1: The warning message. 2: "Get help" text. */ -Object(a.__)("%1$s. %2$s","google-site-kit"),g,Object(a.__)("Get help","google-site-kit")),{Link:e.createElement(c.a,{href:l,external:!0,hideExternalIndicator:!0,trailingIcon:e.createElement(u.a,{width:15,height:15})})})):null}AdBlockerWarningMessage.propTypes={className:i.a.string,getHelpLink:i.a.string,warningMessage:i.a.string}}).call(this,r(4))},384:function(e,t,r){"use strict";var n=r(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:a;return t instanceof Set&&t.has(e)}}).call(this,r(28))},44:function(e,t){e.exports=googlesitekit.api},48:function(e,t,r){"use strict";r.d(t,"a",(function(){return O}));var n=r(5),i=r.n(n),a=r(7),o=r.n(a),c=r(12),s=r.n(c),u=r(13),l=r(65),d=r(79),g=r(9);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t1?r-1:0),i=1;i3&&void 0!==arguments[3]?arguments[3]:{},c=a.client,u=void 0===c||c,f=a.server,p=void 0===f||f,b=a.storeName,h=void 0===b?void 0:b;s()(t,"type is required."),s()(r,"identifier is required."),s()(n,"datapoint is required.");var m=h||"".concat(t,"/").concat(r),S={serverNotifications:p?void 0:{},clientNotifications:u?void 0:{}},O=Object(g.a)({baseName:"getNotifications",controlCallback:function(){return l.a.get(t,r,n)},reducerCallback:function(e,t){return v(v({},e),{},{serverNotifications:t.reduce((function(e,t){return v(v({},e),{},o()({},t.id,t))}),{})})}}),y={addNotification:function(e){return s()(e,"notification is required."),{payload:{notification:e},type:"ADD_NOTIFICATION"}},removeNotification:function(e){return s()(e,"id is required."),{payload:{id:e},type:"REMOVE_NOTIFICATION"}}},E={},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:S,r=arguments.length>1?arguments[1]:void 0,n=r.type,i=r.payload;switch(n){case"ADD_NOTIFICATION":var a=i.notification;return v(v({},t),{},{clientNotifications:v(v({},t.clientNotifications||{}),{},o()({},a.id,a))});case"REMOVE_NOTIFICATION":var c=i.id;if(void 0===t.clientNotifications||void 0===t.clientNotifications[c])return void 0!==t.serverNotifications&&void 0!==t.serverNotifications[c]&&e.console.warn('Cannot remove server-side notification with ID "'.concat(c,'"; this may be changed in a future release.')),t;var s=v({},t.clientNotifications);return delete s[c],v(v({},t),{},{clientNotifications:s});default:return t}},k={getNotifications:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.commonActions.getRegistry();case 2:if(t=e.sent,t.select(m).getNotifications()){e.next=7;break}return e.next=7,O.actions.fetchGetNotifications();case 7:case"end":return e.stop()}}),e)}))};p||delete k.getNotifications;var R={getNotifications:function(e){var t=e.serverNotifications,r=e.clientNotifications;return void 0===t&&void 0===r?t:Object.values(v(v({},t||{}),r||{}))}},w=Object(d.combineStores)(O,{initialState:S,actions:y,controls:E,reducer:j,resolvers:k,selectors:R});return v(v({},w),{},{STORE_NAME:m})}}).call(this,r(28))},556:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return ModuleSettingsWarning}));var n=r(3),i=r(19),a=r(6),o=r(223),c=r(235);function ModuleSettingsWarning(t){var r=t.slug,s=Object(n.useSelect)((function(e){var t;return null===(t=e(i.a))||void 0===t?void 0:t.getCheckRequirementsError(r)}));return s?a.c===s.code?e.createElement(c.a,{moduleSlug:r}):e.createElement(o.a,null,s.message):null}}).call(this,r(4))},57:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(39);function i(e){return function(){e[n.a]=e[n.a]||[],e[n.a].push(arguments)}}},6:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return i})),r.d(t,"e",(function(){return a})),r.d(t,"d",(function(){return o})),r.d(t,"c",(function(){return c})),r.d(t,"H",(function(){return s})),r.d(t,"M",(function(){return u})),r.d(t,"O",(function(){return l})),r.d(t,"K",(function(){return d})),r.d(t,"L",(function(){return g})),r.d(t,"J",(function(){return f})),r.d(t,"I",(function(){return v})),r.d(t,"N",(function(){return p})),r.d(t,"f",(function(){return b})),r.d(t,"g",(function(){return h})),r.d(t,"h",(function(){return m})),r.d(t,"j",(function(){return S})),r.d(t,"l",(function(){return O})),r.d(t,"m",(function(){return y})),r.d(t,"n",(function(){return E})),r.d(t,"o",(function(){return j})),r.d(t,"q",(function(){return k})),r.d(t,"s",(function(){return R})),r.d(t,"r",(function(){return w})),r.d(t,"t",(function(){return _})),r.d(t,"w",(function(){return A})),r.d(t,"u",(function(){return C})),r.d(t,"v",(function(){return N})),r.d(t,"x",(function(){return M})),r.d(t,"y",(function(){return D})),r.d(t,"A",(function(){return T})),r.d(t,"B",(function(){return I})),r.d(t,"C",(function(){return x})),r.d(t,"D",(function(){return P})),r.d(t,"k",(function(){return L})),r.d(t,"F",(function(){return q})),r.d(t,"z",(function(){return U})),r.d(t,"G",(function(){return H})),r.d(t,"E",(function(){return G})),r.d(t,"i",(function(){return B})),r.d(t,"p",(function(){return F})),r.d(t,"Q",(function(){return V})),r.d(t,"P",(function(){return K}));var n="core/user",i="connected_url_mismatch",a="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",v="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",h="kmAnalyticsEngagedTrafficSource",m="kmAnalyticsLeastEngagingPages",S="kmAnalyticsNewVisitors",O="kmAnalyticsPopularAuthors",y="kmAnalyticsPopularContent",E="kmAnalyticsPopularProducts",j="kmAnalyticsReturningVisitors",k="kmAnalyticsTopCities",R="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",_="kmAnalyticsTopCitiesDrivingPurchases",A="kmAnalyticsTopDeviceDrivingPurchases",C="kmAnalyticsTopConvertingTrafficSource",N="kmAnalyticsTopCountries",M="kmAnalyticsTopPagesDrivingLeads",D="kmAnalyticsTopRecentTrendingPages",T="kmAnalyticsTopTrafficSource",I="kmAnalyticsTopTrafficSourceDrivingAddToCart",x="kmAnalyticsTopTrafficSourceDrivingLeads",P="kmAnalyticsTopTrafficSourceDrivingPurchases",L="kmAnalyticsPagesPerVisit",q="kmAnalyticsVisitLength",U="kmAnalyticsTopReturningVisitorPages",H="kmSearchConsolePopularKeywords",G="kmAnalyticsVisitsPerVisitor",B="kmAnalyticsMostEngagingPages",F="kmAnalyticsTopCategories",V=[b,h,m,S,O,y,E,j,F,k,R,w,_,A,C,N,D,T,I,L,q,U,G,B,F],K=[].concat(V,[H])},61:function(e,t,r){"use strict";r.d(t,"a",(function(){return w})),r.d(t,"b",(function(){return _})),r.d(t,"c",(function(){return A})),r.d(t,"d",(function(){return N})),r.d(t,"e",(function(){return M})),r.d(t,"g",(function(){return T})),r.d(t,"f",(function(){return I}));var n,i=r(5),a=r.n(i),o=r(27),c=r.n(o),s=r(7),u=r.n(s),l=r(12),d=r.n(l),g=r(60),f=r.n(g),v=r(13),p=r(114);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.reduce((function(e,r){return r(e,t)}),e)}},E=m,j=m,k=m,R=function(e){return e},w=function(){for(var e=arguments.length,t=new Array(e),r=0;r=1?r[i]+1:1,r[i]>1&&t.push(i)}return t},N={actions:_,controls:A,reducer:R},M=function(e){return function(t){return D(e(t))}},D=f()((function(e){return Object(v.mapValues)(e,(function(e,t){return function(){var r=e.apply(void 0,arguments);return d()(void 0!==r,"".concat(t,"(...) is not resolved")),r}}))}));function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.negate,n=void 0!==r&&r,i=Object(p.b)((function(t){return function(r){var i=!n,a=!!n;try{for(var o=arguments.length,c=new Array(o>1?o-1:0),s=1;s1?n-1:0),a=1;a2&&void 0!==arguments[2]?arguments[2]:[];return u()(e,"error is required."),u()(t,"baseName is required."),u()(r&&Array.isArray(r),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:e,baseName:t,args:r}}},clearError:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return u()(e,"baseName is required."),u()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:e,args:t}}},clearErrors:function(e){return{type:"CLEAR_ERRORS",payload:{baseName:e}}}};function h(e){u()(e,"storeName must be defined.");var t={getErrorForSelector:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"selectorName is required."),t.getError(e,r,n)},getErrorForAction:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"actionName is required."),t.getError(e,r,n)},getError:function(e,t,r){var n=e.errors;return u()(t,"baseName is required."),n[p(t,r)]},getErrors:function(e){var t=new Set(Object.values(e.errors));return Array.from(t)},getMetaDataForError:function(e,t){var r=Object.keys(e.errors).find((function(r){return e.errors[r]===t}));return r?{baseName:r.substring(0,r.indexOf("::")),args:e.errorArgs[r]}:null},getSelectorDataForError:Object(c.b)((function(t){return function(r,n){var i=t(e).getMetaDataForError(n);if(i){var a=i.baseName,o=i.args;if(!!t(e)[a])return{storeName:e,name:a,args:o}}return null}})),hasErrors:function(e){return t.getErrors(e).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"RECEIVE_ERROR":var a=n.baseName,o=n.args,c=n.error,s=p(a,o);return v(v({},e),{},{errors:v(v({},e.errors||{}),{},i()({},s,c)),errorArgs:v(v({},e.errorArgs||{}),{},i()({},s,o))});case"CLEAR_ERROR":var u=n.baseName,l=n.args,d=v({},e),g=p(u,l);return d.errors=v({},e.errors||{}),d.errorArgs=v({},e.errorArgs||{}),delete d.errors[g],delete d.errorArgs[g],d;case"CLEAR_ERRORS":var f=n.baseName,b=v({},e);if(f)for(var h in b.errors=v({},e.errors||{}),b.errorArgs=v({},e.errorArgs||{}),b.errors)(h===f||h.startsWith("".concat(f,"::")))&&(delete b.errors[h],delete b.errorArgs[h]);else b.errors={},b.errorArgs={};return b;default:return e}},resolvers:{},selectors:t}}},72:function(e,t,r){"use strict";r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return c}));var n=r(33),i=r.n(n),a=r(82),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(e,t)}};function c(e){var t,r="object"===i()(e)?e.toString():e;return null==r||null===(t=r.replace)||void 0===t?void 0:t.call(r,/\/+$/,"")}},76:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return IconWrapper}));var n=r(1),i=r.n(n);function IconWrapper(t){var r=t.children,n=t.marginLeft,i=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:n,marginRight:i}},r)}IconWrapper.propTypes={children:i.a.node.isRequired,marginLeft:i.a.number,marginRight:i.a.number}}).call(this,r(4))},77:function(e,t,r){"use strict";var n=r(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=O(e,t),n=r.formatUnit,i=r.formatDecimal;try{return n()}catch(e){return i()}},m=function(e){var t=S(e),r=t.hours,n=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),n=("0"+n).slice(-2),"00"===(r=("0"+r).slice(-2))?"".concat(n,":").concat(i):"".concat(r,":").concat(n,":").concat(i)},S=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},O=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=S(e),n=r.hours,i=r.minutes,a=r.seconds;return{hours:n,minutes:i,seconds:a,formatUnit:function(){var r=t.unitDisplay,o=b(b({unitDisplay:void 0===r?"short":r},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(a,b(b({},o),{},{unit:"second"})):Object(v.sprintf)( +Object(a.__)("%1$s. %2$s","google-site-kit"),g,Object(a.__)("Get help","google-site-kit")),{Link:e.createElement(c.a,{href:l,external:!0,hideExternalIndicator:!0,trailingIcon:e.createElement(u.a,{width:15,height:15})})})):null}AdBlockerWarningMessage.propTypes={className:i.a.string,getHelpLink:i.a.string,warningMessage:i.a.string}}).call(this,r(4))},390:function(e,t,r){"use strict";var n=r(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1?r-1:0),i=1;i3&&void 0!==arguments[3]?arguments[3]:{},c=a.client,u=void 0===c||c,f=a.server,p=void 0===f||f,b=a.storeName,h=void 0===b?void 0:b;s()(t,"type is required."),s()(r,"identifier is required."),s()(n,"datapoint is required.");var m=h||"".concat(t,"/").concat(r),S={serverNotifications:p?void 0:{},clientNotifications:u?void 0:{}},O=Object(g.a)({baseName:"getNotifications",controlCallback:function(){return l.a.get(t,r,n)},reducerCallback:function(e,t){return v(v({},e),{},{serverNotifications:t.reduce((function(e,t){return v(v({},e),{},o()({},t.id,t))}),{})})}}),y={addNotification:function(e){return s()(e,"notification is required."),{payload:{notification:e},type:"ADD_NOTIFICATION"}},removeNotification:function(e){return s()(e,"id is required."),{payload:{id:e},type:"REMOVE_NOTIFICATION"}}},E={},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:S,r=arguments.length>1?arguments[1]:void 0,n=r.type,i=r.payload;switch(n){case"ADD_NOTIFICATION":var a=i.notification;return v(v({},t),{},{clientNotifications:v(v({},t.clientNotifications||{}),{},o()({},a.id,a))});case"REMOVE_NOTIFICATION":var c=i.id;if(void 0===t.clientNotifications||void 0===t.clientNotifications[c])return void 0!==t.serverNotifications&&void 0!==t.serverNotifications[c]&&e.console.warn('Cannot remove server-side notification with ID "'.concat(c,'"; this may be changed in a future release.')),t;var s=v({},t.clientNotifications);return delete s[c],v(v({},t),{},{clientNotifications:s});default:return t}},k={getNotifications:i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.commonActions.getRegistry();case 2:if(t=e.sent,t.select(m).getNotifications()){e.next=7;break}return e.next=7,O.actions.fetchGetNotifications();case 7:case"end":return e.stop()}}),e)}))};p||delete k.getNotifications;var R={getNotifications:function(e){var t=e.serverNotifications,r=e.clientNotifications;return void 0===t&&void 0===r?t:Object.values(v(v({},t||{}),r||{}))}},w=Object(d.combineStores)(O,{initialState:S,actions:y,controls:E,reducer:j,resolvers:k,selectors:R});return v(v({},w),{},{STORE_NAME:m})}}).call(this,r(28))},558:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return ModuleSettingsWarning}));var n=r(3),i=r(19),a=r(6),o=r(226),c=r(238);function ModuleSettingsWarning(t){var r=t.slug,s=Object(n.useSelect)((function(e){var t;return null===(t=e(i.a))||void 0===t?void 0:t.getCheckRequirementsError(r)}));return s?a.c===s.code?e.createElement(c.a,{moduleSlug:r}):e.createElement(o.a,null,s.message):null}}).call(this,r(4))},58:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(40);function i(e){return function(){e[n.a]=e[n.a]||[],e[n.a].push(arguments)}}},6:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return i})),r.d(t,"e",(function(){return a})),r.d(t,"d",(function(){return o})),r.d(t,"c",(function(){return c})),r.d(t,"H",(function(){return s})),r.d(t,"M",(function(){return u})),r.d(t,"O",(function(){return l})),r.d(t,"K",(function(){return d})),r.d(t,"L",(function(){return g})),r.d(t,"J",(function(){return f})),r.d(t,"I",(function(){return v})),r.d(t,"N",(function(){return p})),r.d(t,"f",(function(){return b})),r.d(t,"g",(function(){return h})),r.d(t,"h",(function(){return m})),r.d(t,"j",(function(){return S})),r.d(t,"l",(function(){return O})),r.d(t,"m",(function(){return y})),r.d(t,"n",(function(){return E})),r.d(t,"o",(function(){return j})),r.d(t,"q",(function(){return k})),r.d(t,"s",(function(){return R})),r.d(t,"r",(function(){return w})),r.d(t,"t",(function(){return _})),r.d(t,"w",(function(){return A})),r.d(t,"u",(function(){return C})),r.d(t,"v",(function(){return N})),r.d(t,"x",(function(){return M})),r.d(t,"y",(function(){return D})),r.d(t,"A",(function(){return T})),r.d(t,"B",(function(){return I})),r.d(t,"C",(function(){return x})),r.d(t,"D",(function(){return P})),r.d(t,"k",(function(){return L})),r.d(t,"F",(function(){return q})),r.d(t,"z",(function(){return U})),r.d(t,"G",(function(){return H})),r.d(t,"E",(function(){return G})),r.d(t,"i",(function(){return B})),r.d(t,"p",(function(){return F})),r.d(t,"Q",(function(){return V})),r.d(t,"P",(function(){return K}));var n="core/user",i="connected_url_mismatch",a="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",v="googlesitekit_delegate_module_sharing_management",p="googlesitekit_update_plugins",b="kmAnalyticsAdSenseTopEarningContent",h="kmAnalyticsEngagedTrafficSource",m="kmAnalyticsLeastEngagingPages",S="kmAnalyticsNewVisitors",O="kmAnalyticsPopularAuthors",y="kmAnalyticsPopularContent",E="kmAnalyticsPopularProducts",j="kmAnalyticsReturningVisitors",k="kmAnalyticsTopCities",R="kmAnalyticsTopCitiesDrivingLeads",w="kmAnalyticsTopCitiesDrivingAddToCart",_="kmAnalyticsTopCitiesDrivingPurchases",A="kmAnalyticsTopDeviceDrivingPurchases",C="kmAnalyticsTopConvertingTrafficSource",N="kmAnalyticsTopCountries",M="kmAnalyticsTopPagesDrivingLeads",D="kmAnalyticsTopRecentTrendingPages",T="kmAnalyticsTopTrafficSource",I="kmAnalyticsTopTrafficSourceDrivingAddToCart",x="kmAnalyticsTopTrafficSourceDrivingLeads",P="kmAnalyticsTopTrafficSourceDrivingPurchases",L="kmAnalyticsPagesPerVisit",q="kmAnalyticsVisitLength",U="kmAnalyticsTopReturningVisitorPages",H="kmSearchConsolePopularKeywords",G="kmAnalyticsVisitsPerVisitor",B="kmAnalyticsMostEngagingPages",F="kmAnalyticsTopCategories",V=[b,h,m,S,O,y,E,j,F,k,R,w,_,A,C,N,D,T,I,L,q,U,G,B,F],K=[].concat(V,[H])},61:function(e,t,r){"use strict";r.d(t,"a",(function(){return w})),r.d(t,"b",(function(){return _})),r.d(t,"c",(function(){return A})),r.d(t,"d",(function(){return N})),r.d(t,"e",(function(){return M})),r.d(t,"g",(function(){return T})),r.d(t,"f",(function(){return I}));var n,i=r(5),a=r.n(i),o=r(27),c=r.n(o),s=r(7),u=r.n(s),l=r(12),d=r.n(l),g=r(60),f=r.n(g),v=r(14),p=r(116);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.reduce((function(e,r){return r(e,t)}),e)}},E=m,j=m,k=m,R=function(e){return e},w=function(){for(var e=arguments.length,t=new Array(e),r=0;r=1?r[i]+1:1,r[i]>1&&t.push(i)}return t},N={actions:_,controls:A,reducer:R},M=function(e){return function(t){return D(e(t))}},D=f()((function(e){return Object(v.mapValues)(e,(function(e,t){return function(){var r=e.apply(void 0,arguments);return d()(void 0!==r,"".concat(t,"(...) is not resolved")),r}}))}));function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.negate,n=void 0!==r&&r,i=Object(p.b)((function(t){return function(r){var i=!n,a=!!n;try{for(var o=arguments.length,c=new Array(o>1?o-1:0),s=1;s1?n-1:0),a=1;a2&&void 0!==arguments[2]?arguments[2]:[];return u()(e,"error is required."),u()(t,"baseName is required."),u()(r&&Array.isArray(r),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:e,baseName:t,args:r}}},clearError:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return u()(e,"baseName is required."),u()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:e,args:t}}},clearErrors:function(e){return{type:"CLEAR_ERRORS",payload:{baseName:e}}}};function h(e){u()(e,"storeName must be defined.");var t={getErrorForSelector:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"selectorName is required."),t.getError(e,r,n)},getErrorForAction:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(r,"actionName is required."),t.getError(e,r,n)},getError:function(e,t,r){var n=e.errors;return u()(t,"baseName is required."),n[p(t,r)]},getErrors:function(e){var t=new Set(Object.values(e.errors));return Array.from(t)},getMetaDataForError:function(e,t){var r=Object.keys(e.errors).find((function(r){return e.errors[r]===t}));return r?{baseName:r.substring(0,r.indexOf("::")),args:e.errorArgs[r]}:null},getSelectorDataForError:Object(c.b)((function(t){return function(r,n){var i=t(e).getMetaDataForError(n);if(i){var a=i.baseName,o=i.args;if(!!t(e)[a])return{storeName:e,name:a,args:o}}return null}})),hasErrors:function(e){return t.getErrors(e).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"RECEIVE_ERROR":var a=n.baseName,o=n.args,c=n.error,s=p(a,o);return v(v({},e),{},{errors:v(v({},e.errors||{}),{},i()({},s,c)),errorArgs:v(v({},e.errorArgs||{}),{},i()({},s,o))});case"CLEAR_ERROR":var u=n.baseName,l=n.args,d=v({},e),g=p(u,l);return d.errors=v({},e.errors||{}),d.errorArgs=v({},e.errorArgs||{}),delete d.errors[g],delete d.errorArgs[g],d;case"CLEAR_ERRORS":var f=n.baseName,b=v({},e);if(f)for(var h in b.errors=v({},e.errors||{}),b.errorArgs=v({},e.errorArgs||{}),b.errors)(h===f||h.startsWith("".concat(f,"::")))&&(delete b.errors[h],delete b.errorArgs[h]);else b.errors={},b.errorArgs={};return b;default:return e}},resolvers:{},selectors:t}}},72:function(e,t,r){"use strict";r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return c}));var n=r(33),i=r.n(n),a=r(83),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(e,t)}};function c(e){var t,r="object"===i()(e)?e.toString():e;return null==r||null===(t=r.replace)||void 0===t?void 0:t.call(r,/\/+$/,"")}},75:function(e,t,r){"use strict";var n=r(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=O(e,t),n=r.formatUnit,i=r.formatDecimal;try{return n()}catch(e){return i()}},m=function(e){var t=S(e),r=t.hours,n=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),n=("0"+n).slice(-2),"00"===(r=("0"+r).slice(-2))?"".concat(n,":").concat(i):"".concat(r,":").concat(n,":").concat(i)},S=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},O=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=S(e),n=r.hours,i=r.minutes,a=r.seconds;return{hours:n,minutes:i,seconds:a,formatUnit:function(){var r=t.unitDisplay,o=b(b({unitDisplay:void 0===r?"short":r},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?w(a,b(b({},o),{},{unit:"second"})):Object(v.sprintf)( /* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ Object(v._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?w(a,b(b({},o),{},{unit:"second"})):"",i?w(i,b(b({},o),{},{unit:"minute"})):"",n?w(n,b(b({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(v.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. Object(v.__)("%ds","google-site-kit"),a);if(0===e)return t;var r=Object(v.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. @@ -11,7 +11,7 @@ Object(v._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a? Object(v.__)("%sM","google-site-kit"),w(y(e),e%10==0?{}:t)):1e4<=e?Object(v.sprintf)(// translators: %s: an abbreviated number in thousands. Object(v.__)("%sK","google-site-kit"),w(y(e))):1e3<=e?Object(v.sprintf)(// translators: %s: an abbreviated number in thousands. Object(v.__)("%sK","google-site-kit"),w(y(e),e%10==0?{}:t)):w(e,{signDisplay:"never",maximumFractionDigits:1})};function j(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=b({},e)),t}function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var r=j(t),n=r.style,i=void 0===n?"metric":n;return"metric"===i?E(e):"duration"===i?h(e,r):"durationISO"===i?m(e):w(e,r)}var R=f()(console.warn),w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.locale,n=void 0===r?A():r,a=l()(t,["locale"]);try{return new Intl.NumberFormat(n,a).format(e)}catch(t){R("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(n),", ").concat(JSON.stringify(a)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],u={},d=0,g=Object.entries(a);d1&&void 0!==arguments[1]?arguments[1]:{},r=t.locale,n=void 0===r?A():r,i=t.style,a=void 0===i?"long":i,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(n,{style:a,type:c});return s.format(e)} -/* translators: used between list items, there is a space after the comma. */var u=Object(v.__)(", ","google-site-kit");return e.join(u)},A=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,r=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(r){var n=r.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,r(28))},82:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return i}));var n=r(145),i=r.n(n)()(e)}).call(this,r(28))},828:function(e,t,r){"use strict";r.d(t,"b",(function(){return L})),r.d(t,"a",(function(){return q}));var n=r(12),i=r.n(n),a=r(3),o=r(555),c=r(194),s=r(65),u=r(7),l=r.n(u),d=r(5),g=r.n(d),f=r(15),v=r.n(f),p=r(164),b=r(14),h=r(6);function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function S(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=t.storeName,n=void 0===r?void 0:r,o=t.requiresSetup,c=void 0===o||o;i()(n,"storeName is required.");var s={},u={},d=l()({},"WAIT_FOR_REAUTH_RESOLVERS",Object(a.createRegistryControl)((function(e){return v()(g.a.mark((function t(){var r,n,i,a,o,c;return g.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.resolveSelect,n=r(h.a),i=n.getAuthentication,a=n.getConnectURL,o=r(b.c),c=o.getSiteInfo,t.next=5,Promise.all([i(),c(),a()]);case 5:case"end":return t.stop()}}),t)})))}))),f=function(e){return e},m={getAdminReauthURL:g.a.mark((function e(){return g.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{type:"WAIT_FOR_REAUTH_RESOLVERS"};case 2:case"end":return e.stop()}}),e)}))},O={getAdminScreenURL:Object(a.createRegistrySelector)((function(e){return function(t,r){return e(b.c).getAdminURL("googlesitekit-dashboard",r)}})),getAdminReauthURL:Object(a.createRegistrySelector)((function(t){return function(r){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=t(h.a).needsReauthentication();if(void 0!==a){var o={};c||!0!==i||(o.notification="authentication_success",o.reAuth=void 0);var s=t(n).getAdminScreenURL(S({slug:e,reAuth:i},o));if(void 0!==s){if(!a)return s;var u=t(h.a).getConnectURL({redirectURL:s});return Object(p.a)(u,{status:i})}}}}))};return{STORE_NAME:n,initialState:s,actions:u,controls:d,reducer:f,resolvers:m,selectors:O}},y=r(61);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function j(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=t.storeName,n=t.settingSlugs,u=t.ownedSettingsSlugs,l=void 0===u?void 0:u,d=t.initialSettings,g=void 0===d?void 0:d,f=t.requiresSetup,v=void 0===f||f,p=t.submitChanges,b=t.rollbackChanges,h=t.validateHaveSettingsChanged,m=void 0===h?null:h,S=t.validateCanSubmitChanges,E=t.validateIsSetupBlocked,j=void 0===E?void 0:E;i()(e,"slug is required."),i()(r,"storeName is required.");var k=Object(o.a)("modules",e,"notifications",{storeName:r}),R=O(e,{storeName:r,requiresSetup:v}),_={};if(v&&j){var A=Object(y.g)(j,{negate:!0}),C=A.safeSelector,N=A.dangerousSelector;_.selectors={isSetupBlocked:C,__dangerousIsSetupBlocked:N}}var M={};if(void 0!==n){var D=Object(c.c)("modules",e,"settings",{ownedSettingsSlugs:l,storeName:r,settingSlugs:n,initialSettings:g,validateHaveSettingsChanged:m||Object(c.e)()}),T=w({submitChanges:p||Object(c.g)(e,r),rollbackChanges:b||Object(c.f)(r),validateCanSubmitChanges:S||Object(c.d)(r)});M=Object(a.combineStores)(k,D,T,R,Object(s.b)(r),_)}else M=Object(a.combineStores)(a.commonStore,k,R,_,Object(s.b)(r),w({submitChanges:p,validateCanSubmitChanges:S}));return M.STORE_NAME=r,M}var A=r(19);function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function N(e){for(var t=1;t0,"dateRangeLength must be a positive integer.");var n=-1*r;return{currentRange:e.slice(n),compareRange:e.slice(2*n,n)}}},9:function(e,t,r){"use strict";r.d(t,"J",(function(){return i.b})),r.d(t,"K",(function(){return i.c})),r.d(t,"G",(function(){return a.a})),r.d(t,"L",(function(){return a.b})),r.d(t,"I",(function(){return l})),r.d(t,"n",(function(){return d.a})),r.d(t,"C",(function(){return d.d})),r.d(t,"D",(function(){return d.e})),r.d(t,"z",(function(){return d.c})),r.d(t,"s",(function(){return d.b})),r.d(t,"A",(function(){return p})),r.d(t,"k",(function(){return b})),r.d(t,"j",(function(){return h})),r.d(t,"d",(function(){return j})),r.d(t,"c",(function(){return k})),r.d(t,"e",(function(){return R})),r.d(t,"b",(function(){return w})),r.d(t,"a",(function(){return _})),r.d(t,"g",(function(){return A})),r.d(t,"f",(function(){return C})),r.d(t,"o",(function(){return N})),r.d(t,"x",(function(){return M})),r.d(t,"q",(function(){return D})),r.d(t,"H",(function(){return T})),r.d(t,"t",(function(){return I})),r.d(t,"w",(function(){return x})),r.d(t,"l",(function(){return P})),r.d(t,"p",(function(){return L.b})),r.d(t,"i",(function(){return L.a})),r.d(t,"u",(function(){return q.b})),r.d(t,"r",(function(){return q.a})),r.d(t,"B",(function(){return q.c})),r.d(t,"y",(function(){return U})),r.d(t,"v",(function(){return H})),r.d(t,"F",(function(){return F})),r.d(t,"E",(function(){return V.a})),r.d(t,"h",(function(){return K})),r.d(t,"M",(function(){return z})),r.d(t,"m",(function(){return W}));var n=r(13),i=r(37),a=r(72),o=r(33),c=r.n(o),s=r(92),u=r.n(s),l=function(e){return u()(JSON.stringify(function e(t){var r={};return Object.keys(t).sort().forEach((function(n){var i=t[n];i&&"object"===c()(i)&&!Array.isArray(i)&&(i=e(i)),r[n]=i})),r}(e)))};r(96);var d=r(81);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function v(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,r=0,n=[g,f,v];r0&&void 0!==arguments[0]?arguments[0]:e,r=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(r){var n=r.match(/^(\w{2})?(_)?(\w{2})/);if(n&&n[0])return n[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,r(28))},83:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return i}));var n=r(147),i=r.n(n)()(e)}).call(this,r(28))},833:function(e,t,r){"use strict";r.d(t,"b",(function(){return L})),r.d(t,"a",(function(){return q}));var n=r(12),i=r.n(n),a=r(3),o=r(557),c=r(196),s=r(65),u=r(7),l=r.n(u),d=r(5),g=r.n(d),f=r(16),v=r.n(f),p=r(165),b=r(13),h=r(6);function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function S(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=t.storeName,n=void 0===r?void 0:r,o=t.requiresSetup,c=void 0===o||o;i()(n,"storeName is required.");var s={},u={},d=l()({},"WAIT_FOR_REAUTH_RESOLVERS",Object(a.createRegistryControl)((function(e){return v()(g.a.mark((function t(){var r,n,i,a,o,c;return g.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.resolveSelect,n=r(h.a),i=n.getAuthentication,a=n.getConnectURL,o=r(b.c),c=o.getSiteInfo,t.next=5,Promise.all([i(),c(),a()]);case 5:case"end":return t.stop()}}),t)})))}))),f=function(e){return e},m={getAdminReauthURL:g.a.mark((function e(){return g.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,{type:"WAIT_FOR_REAUTH_RESOLVERS"};case 2:case"end":return e.stop()}}),e)}))},O={getAdminScreenURL:Object(a.createRegistrySelector)((function(e){return function(t,r){return e(b.c).getAdminURL("googlesitekit-dashboard",r)}})),getAdminReauthURL:Object(a.createRegistrySelector)((function(t){return function(r){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=t(h.a).needsReauthentication();if(void 0!==a){var o={};c||!0!==i||(o.notification="authentication_success",o.reAuth=void 0);var s=t(n).getAdminScreenURL(S({slug:e,reAuth:i},o));if(void 0!==s){if(!a)return s;var u=t(h.a).getConnectURL({redirectURL:s});return Object(p.a)(u,{status:i})}}}}))};return{STORE_NAME:n,initialState:s,actions:u,controls:d,reducer:f,resolvers:m,selectors:O}},y=r(61);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function j(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=t.storeName,n=t.settingSlugs,u=t.ownedSettingsSlugs,l=void 0===u?void 0:u,d=t.initialSettings,g=void 0===d?void 0:d,f=t.requiresSetup,v=void 0===f||f,p=t.submitChanges,b=t.rollbackChanges,h=t.validateHaveSettingsChanged,m=void 0===h?null:h,S=t.validateCanSubmitChanges,E=t.validateIsSetupBlocked,j=void 0===E?void 0:E;i()(e,"slug is required."),i()(r,"storeName is required.");var k=Object(o.a)("modules",e,"notifications",{storeName:r}),R=O(e,{storeName:r,requiresSetup:v}),_={};if(v&&j){var A=Object(y.g)(j,{negate:!0}),C=A.safeSelector,N=A.dangerousSelector;_.selectors={isSetupBlocked:C,__dangerousIsSetupBlocked:N}}var M={};if(void 0!==n){var D=Object(c.c)("modules",e,"settings",{ownedSettingsSlugs:l,storeName:r,settingSlugs:n,initialSettings:g,validateHaveSettingsChanged:m||Object(c.e)()}),T=w({submitChanges:p||Object(c.g)(e,r),rollbackChanges:b||Object(c.f)(r),validateCanSubmitChanges:S||Object(c.d)(r)});M=Object(a.combineStores)(k,D,T,R,Object(s.b)(r),_)}else M=Object(a.combineStores)(a.commonStore,k,R,_,Object(s.b)(r),w({submitChanges:p,validateCanSubmitChanges:S}));return M.STORE_NAME=r,M}var A=r(19);function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function N(e){for(var t=1;t0,"dateRangeLength must be a positive integer.");var n=-1*r;return{currentRange:e.slice(n),compareRange:e.slice(2*n,n)}}},9:function(e,t,r){"use strict";r.d(t,"J",(function(){return i.b})),r.d(t,"K",(function(){return i.c})),r.d(t,"G",(function(){return a.a})),r.d(t,"L",(function(){return a.b})),r.d(t,"I",(function(){return l})),r.d(t,"n",(function(){return d.a})),r.d(t,"C",(function(){return d.d})),r.d(t,"D",(function(){return d.e})),r.d(t,"z",(function(){return d.c})),r.d(t,"s",(function(){return d.b})),r.d(t,"A",(function(){return p})),r.d(t,"k",(function(){return b})),r.d(t,"j",(function(){return h})),r.d(t,"d",(function(){return j})),r.d(t,"c",(function(){return k})),r.d(t,"e",(function(){return R})),r.d(t,"b",(function(){return w})),r.d(t,"a",(function(){return _})),r.d(t,"g",(function(){return A})),r.d(t,"f",(function(){return C})),r.d(t,"o",(function(){return N})),r.d(t,"x",(function(){return M})),r.d(t,"q",(function(){return D})),r.d(t,"H",(function(){return T})),r.d(t,"t",(function(){return I})),r.d(t,"w",(function(){return x})),r.d(t,"l",(function(){return P})),r.d(t,"p",(function(){return L.b})),r.d(t,"i",(function(){return L.a})),r.d(t,"u",(function(){return q.b})),r.d(t,"r",(function(){return q.a})),r.d(t,"B",(function(){return q.c})),r.d(t,"y",(function(){return U})),r.d(t,"v",(function(){return H})),r.d(t,"F",(function(){return F})),r.d(t,"E",(function(){return V.a})),r.d(t,"h",(function(){return K})),r.d(t,"M",(function(){return z})),r.d(t,"m",(function(){return W}));var n=r(14),i=r(37),a=r(72),o=r(33),c=r.n(o),s=r(93),u=r.n(s),l=function(e){return u()(JSON.stringify(function e(t){var r={};return Object.keys(t).sort().forEach((function(n){var i=t[n];i&&"object"===c()(i)&&!Array.isArray(i)&&(i=e(i)),r[n]=i})),r}(e)))};r(96);var d=r(82);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function v(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,r=0,n=[g,f,v];r0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var r=new Date(e);return Object(n.isDate)(r)&&!isNaN(r)}function D(e){y()(Object(n.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),r="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,r.length<2?"0".concat(r):r].join("-")}function T(e){y()(M(e),j);var t=e.split("-"),r=S()(t,3),n=r[0],i=r[1],a=r[2];return new Date(n,i-1,a)}function I(e,t){return D(P(e,t*_))}function x(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function P(e,t){y()(M(e)||Object(n.isDate)(e)&&!isNaN(e),j);var r=M(e)?Date.parse(e):e.getTime();return new Date(r-1e3*t)}var L=r(97),q=r(80);function U(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function H(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var G=r(27),B=r.n(G),F=function(e){return Array.isArray(e)?B()(e).sort():e},V=r(88);function K(e,t){var r=function(e){return"0"===e||0===e};if(r(e)&&r(t))return 0;if(r(e)||Number.isNaN(e))return null;var n=(t-e)/e;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var z=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},W=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(n.unescape)(t)}},96:function(e,t,r){"use strict";(function(e){r(51),r(53)}).call(this,r(28))},963:function(e,t,r){"use strict";(function(e){var n,i=r(16),a=r.n(i),o=r(15),c=r.n(o),s=r(5),u=r.n(s),l=r(7),d=r.n(l),g=r(60),f=r.n(g),v=r(12),p=r.n(v),b=r(13),h=r(2),m=r(44),S=r.n(m),O=r(3),y=r(19),E=r(14),j=r(6),k=r(48),R=r(9),w=r(964),_=r(61),A=u.a.mark(F);function C(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return N(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return N(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(c)throw a}}}}function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug,r=e.active;p()(t,"slug is required."),p()(void 0!==r,"active is required.")}}),q=Object(k.a)({baseName:"checkModuleAccess",controlCallback:function(e){var t=e.slug;return S.a.set("core","modules","check-access",{slug:t})},reducerCallback:function(e,t,r){var n=t.access,i=r.slug;return D(D({},e),{},{moduleAccess:D(D({},e.moduleAccess),{},d()({},i,n))})},argsToParams:function(e){return{slug:e}},validateParams:function(e){var t=e.slug;p()(t,"slug is required.")}}),U=Object(k.a)({baseName:"recoverModules",controlCallback:function(e){var t=e.slugs;return S.a.set("core","modules","recover-modules",{slugs:t})},reducerCallback:function(e,t){return D(D({},e),{},{recoveredModules:t})},argsToParams:function(e){return{slugs:e}},validateParams:function(e){var t=e.slugs;p()(t,"slugs is required.")}}),H={clientDefinitions:{},serverDefinitions:void 0,isAwaitingModulesRefresh:!1,checkRequirementsResults:{},moduleAccess:{},recoverableModules:void 0,sharedOwnershipModules:void 0,recoveredModules:void 0},G={activateModule:u.a.mark((function e(t){var r,n,i,a;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,G.setModuleActivation(t,!0);case 2:if(r=e.sent,n=r.response,i=r.error,!0!==(null==n?void 0:n.success)){e.next=10;break}return e.next=8,{payload:{slug:t},type:"SELECT_MODULE_REAUTH_URL"};case 8:return a=e.sent,e.abrupt("return",{response:D(D({},n),{},{moduleReauthURL:a}),error:i});case 10:return e.abrupt("return",{response:n,error:i});case 11:case"end":return e.stop()}}),e)})),deactivateModule:u.a.mark((function e(t){var r,n,i;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,G.setModuleActivation(t,!1);case 2:return r=e.sent,n=r.response,i=r.error,e.abrupt("return",{response:n,error:i});case 6:case"end":return e.stop()}}),e)})),setModuleActivation:Object(_.f)((function(e,t){p()(e,"slug is required."),p()(void 0!==t,"active is required.")}),u.a.mark((function e(t,r){var n,i,a;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L.actions.fetchSetModuleActivation(t,r);case 2:if(n=e.sent,i=n.response,a=n.error,!0!==(null==i?void 0:i.success)){e.next=8;break}return e.next=8,{payload:{},type:"REFETCH_AUTHENTICATION"};case 8:return e.abrupt("return",{response:i,error:a});case 9:case"end":return e.stop()}}),e)}))),registerModule:Object(_.f)((function(e){p()(e,"module slug is required")}),u.a.mark((function e(t){var r,n,i,a,o,c,s,l,d,g,f,v,p,b,h,m,S,E,j=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=j.length>1&&void 0!==j[1]?j[1]:{},n=r.storeName,i=r.name,a=r.description,o=r.features,c=r.Icon,s=r.order,l=r.homepage,d=r.SettingsEditComponent,g=r.SettingsViewComponent,f=r.SetupComponent,v=r.SettingsSetupIncompleteComponent,p=r.checkRequirements,b=r.onCompleteSetup,h=r.DashboardMainEffectComponent,m=r.DashboardEntityEffectComponent,S={storeName:n,name:i,description:a,features:o,Icon:c,order:s,homepage:l,SettingsEditComponent:d,SettingsViewComponent:g,SetupComponent:f,onCompleteSetup:b,SettingsSetupIncompleteComponent:v,checkRequirements:p,DashboardMainEffectComponent:h,DashboardEntityEffectComponent:m},e.next=4,{payload:{settings:S,slug:t},type:"REGISTER_MODULE"};case 4:return e.next=6,O.commonActions.getRegistry();case 6:(E=e.sent).dispatch(y.a).invalidateResolution("canActivateModule",[t]),E.dispatch(y.a).invalidateResolution("getCheckRequirementsError",[t]);case 9:case"end":return e.stop()}}),e)}))),receiveCheckRequirementsError:function(e,t){return p()(e,"slug is required"),p()(Object(b.isPlainObject)(t),"error is required and must be an object"),{payload:{slug:e,error:t},type:"RECEIVE_CHECK_REQUIREMENTS_ERROR"}},receiveCheckRequirementsSuccess:function(e){return p()(e,"slug is required"),{payload:{slug:e},type:"RECEIVE_CHECK_REQUIREMENTS_SUCCESS"}},receiveRecoverableModules:function(e){return p()(e,"recoverableModules is required."),{payload:{recoverableModules:e},type:"RECEIVE_RECOVERABLE_MODULES"}},recoverModules:Object(_.f)((function(e){p()(Array.isArray(e),"slugs must be an array")}),u.a.mark((function e(t){var r,n,i,a,o,c,s,l,d,g,f;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:return r=e.sent,n=r.dispatch,i=r.select,e.next=7,U.actions.fetchRecoverModules(t);case 7:a=e.sent,o=a.response,c=o.success,s=Object.keys(c).filter((function(e){return!!c[e]})),l=C(s),e.prev=12,l.s();case 14:if((d=l.n()).done){e.next=21;break}return g=d.value,f=i(y.a).getModuleStoreName(g),e.next=19,O.commonActions.await(n(f).fetchGetSettings());case 19:e.next=14;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(12),l.e(e.t0);case 26:return e.prev=26,l.f(),e.finish(26);case 29:if(!s.length){e.next=35;break}return e.next=32,P.actions.fetchGetModules();case 32:return n(y.a).invalidateResolution("getRecoverableModules",[]),e.next=35,O.commonActions.await(n(j.a).refreshCapabilities());case 35:return e.abrupt("return",{response:o});case 36:case"end":return e.stop()}}),e,null,[[12,23,26,29]])}))),receiveSharedOwnershipModules:function(e){return p()(e,"sharedOwnershipModules is required."),{payload:{sharedOwnershipModules:e},type:"RECEIVE_SHARED_OWNERSHIP_MODULES"}},clearRecoveredModules:function(){return{payload:{},type:"CLEAR_RECOVERED_MODULES"}}},B=(n={},d()(n,"REFETCH_AUTHENTICATION",Object(O.createRegistryControl)((function(e){var t=e.dispatch;return function(){return t(j.a).fetchGetAuthentication()}}))),d()(n,"SELECT_MODULE_REAUTH_URL",Object(O.createRegistryControl)((function(e){var t=e.select,r=e.resolveSelect;return function(){var e=c()(u.a.mark((function e(n){var i,a,o,c;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.payload,o=a.slug,e.next=4,r(y.a).getModule(o);case 4:if(c=t(y.a).getModuleStoreName(o)){e.next=7;break}return e.abrupt("return");case 7:if(!(null===(i=t(c))||void 0===i?void 0:i.getAdminReauthURL)){e.next=11;break}return e.next=10,r(c).getAdminReauthURL();case 10:return e.abrupt("return",e.sent);case 11:return e.abrupt("return",t(E.c).getAdminURL("googlesitekit-dashboard"));case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}))),n);function F(){var e,t;return u.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,O.commonActions.getRegistry();case 2:return e=r.sent,t=e.resolveSelect,r.next=6,O.commonActions.await(t(y.a).getModules());case 6:case"end":return r.stop()}}),A)}var V={getModules:u.a.mark((function e(){var t;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:if(t=e.sent,t.select(y.a).getModules()){e.next=7;break}return e.next=7,P.actions.fetchGetModules();case 7:case"end":return e.stop()}}),e)})),canActivateModule:u.a.mark((function e(t){var r,n,i,a,o,c,s;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:return r=e.sent,n=r.select,i=r.resolveSelect,e.next=6,O.commonActions.await(i(y.a).getModule(t));case 6:if(a=e.sent){e.next=9;break}return e.abrupt("return");case 9:if(o=[],a.dependencies.forEach((function(e){var t=n(y.a).getModule(e);(null==t?void 0:t.active)||o.push(t.name)})),!o.length){e.next=18;break} -/* translators: Error message text. 1: A flattened list of module names. 2: A module name. */return c=Object(h.__)("You need to set up %1$s to gain access to %2$s.","google-site-kit"),s=Object(h.sprintf)(c,Object(R.z)(o),a.name),e.next=16,G.receiveCheckRequirementsError(t,{code:y.b,message:s,data:{inactiveModules:o}});case 16:e.next=29;break;case 18:return e.prev=18,e.next=21,O.commonActions.await(a.checkRequirements(r));case 21:return e.next=23,G.receiveCheckRequirementsSuccess(t);case 23:e.next=29;break;case 25:return e.prev=25,e.t0=e.catch(18),e.next=29,G.receiveCheckRequirementsError(t,e.t0);case 29:case"end":return e.stop()}}),e,null,[[18,25]])})),hasModuleAccess:u.a.mark((function e(t){var r;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:if(r=e.sent,void 0!==r.select(y.a).hasModuleAccess(t)){e.next=7;break}return e.next=7,q.actions.fetchCheckModuleAccess(t);case 7:case"end":return e.stop()}}),e)})),getRecoverableModules:u.a.mark((function e(){var t,r,n;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:return t=e.sent,e.next=5,O.commonActions.await(t.resolveSelect(y.a).getModules());case 5:return r=e.sent,n=Object.entries(r||{}).reduce((function(e,t){var r=a()(t,2),n=r[0],i=r[1];return i.recoverable&&!i.internal&&e.push(n),e}),[]),e.next=9,G.receiveRecoverableModules(n);case 9:case"end":return e.stop()}}),e)})),getSharedOwnershipModules:u.a.mark((function t(){var r;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,O.commonActions.getRegistry();case 2:if(!t.sent.select(y.a).getSharedOwnershipModules()){t.next=5;break}return t.abrupt("return");case 5:if(e._googlesitekitDashboardSharingData){t.next=8;break}return e.console.error("Could not load core/modules dashboard sharing."),t.abrupt("return");case 8:return r=e._googlesitekitDashboardSharingData.sharedOwnershipModules,t.next=11,G.receiveSharedOwnershipModules(r);case 11:case"end":return t.stop()}}),t)})),getModule:F,isModuleActive:F,isModuleConnected:F},K={getModules:function(e){var t=e.clientDefinitions,r=e.serverDefinitions;if(void 0!==r)return I(r,t)},getModule:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModules();if(void 0!==n)return void 0===n[r]?null:n[r]}})),getModuleIcon:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null===n||null===n.Icon?null:n.Icon}})),getModuleDependencyNames:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n){if(null===n)return[];var i=e(y.a).getModules();return n.dependencies.map((function(e){var t;return(null===(t=i[e])||void 0===t?void 0:t.name)||e}))}}})),getModuleDependantNames:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n){if(null===n)return[];var i=e(y.a).getModules();return n.dependants.map((function(e){var t;return(null===(t=i[e])||void 0===t?void 0:t.name)||e}))}}})),getModuleStoreName:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null===n?null:n.storeName}})),isModuleAvailable:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null!==n}})),isModuleActive:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null===n?null:n.active}})),isModuleConnected:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null===n?null:n.active&&n.connected}})),isDoingSetModuleActivation:Object(O.createRegistrySelector)((function(e){return function(t,r){if(e(y.a).getModule(r))return!!e(y.a).isFetchingSetModuleActivation(r,!0)||(!!e(y.a).isFetchingSetModuleActivation(r,!1)||t.isAwaitingModulesRefresh)}})),canActivateModule:function(e,t){p()(t,"slug is required");var r=e.checkRequirementsResults[t];if(void 0!==r)return!0===r||!0===(null==r?void 0:r.canActivate)},getCheckRequirementsError:Object(O.createRegistrySelector)((function(e){return function(t,r){p()(r,"slug is required.");var n=t.checkRequirementsResults;return void 0===e(y.a).canActivateModule(r)||!0===n[r]?null:n[r]}})),getModuleFeatures:Object(O.createRegistrySelector)((function(e){return function(t,r){var n,i=e(y.a).getModules();if(void 0!==i)return Array.isArray(null===(n=i[r])||void 0===n?void 0:n.features)?i[r].features:[]}})),hasModuleAccess:function(e,t){return e.moduleAccess[t]},hasModuleOwnershipOrAccess:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModuleStoreName(r);if(void 0!==n){if(null===e(n))return!1;var i=e(n).getOwnerID(),a=e(j.a).getID();if(void 0!==i&&void 0!==a)return i===a||e(y.a).hasModuleAccess(r)}}})),getRecoverableModules:Object(O.createRegistrySelector)((function(e){return function(t){var r=e(y.a).getModules();if(void 0!==t.recoverableModules&&void 0!==r)return x(r,t.recoverableModules)}})),hasRecoverableModules:function(e){if(void 0!==e.recoverableModules)return Object.keys(e.recoverableModules).length>0},getSharedOwnershipModules:Object(O.createRegistrySelector)((function(e){return function(t){var r=e(y.a).getModules();if(void 0!==t.sharedOwnershipModules&&void 0!==r)return Object.values(r).reduce((function(e,r){return t.sharedOwnershipModules.includes(r.slug)?D(D({},e),{},d()({},r.slug,r)):e}),{})}})),getShareableModules:Object(O.createRegistrySelector)((function(e){return function(){var t=e(y.a).getModules();if(void 0!==t)return Object.keys(t).reduce((function(e,r){return t[r].shareable?D(d()({},r,t[r]),e):e}),{})}})),getRecoveredModules:function(e){return e.recoveredModules},getDetailsLinkURL:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n){if(null===n)return null;var i=e(y.a).getModuleStoreName(r),a=(e(i)||{}).getDetailsLinkURL;return"function"==typeof a?a():n.homepage?e(j.a).getAccountChooserURL(n.homepage):null}}}))},z=Object(O.combineStores)(P,L,q,U,{initialState:H,actions:G,controls:B,reducer:function(t,r){var n=r.type,i=r.payload;switch(n){case"REGISTER_MODULE":var a=i.slug,o=i.settings;return t.clientDefinitions[a]?(e.console.warn('Could not register module with slug "'.concat(a,'". Module "').concat(a,'" is already registered.')),t):D(D({},t),{},{clientDefinitions:D(D({},t.clientDefinitions),{},d()({},a,o))});case"RECEIVE_CHECK_REQUIREMENTS_ERROR":var c=i.slug,s=i.error;return D(D({},t),{},{checkRequirementsResults:D(D({},t.checkRequirementsResults),{},d()({},c,s))});case"RECEIVE_CHECK_REQUIREMENTS_SUCCESS":var u=i.slug;return D(D({},t),{},{checkRequirementsResults:D(D({},t.checkRequirementsResults),{},d()({},u,!0))});case"RECEIVE_RECOVERABLE_MODULES":var l=i.recoverableModules;return D(D({},t),{},{recoverableModules:l});case"RECEIVE_SHARED_OWNERSHIP_MODULES":var g=i.sharedOwnershipModules;return D(D({},t),{},{sharedOwnershipModules:g});case"CLEAR_RECOVERED_MODULES":return D(D({},t),{},{recoveredModules:void 0});default:return t}},resolvers:V,selectors:K});z.initialState,z.actions,z.controls,z.reducer,z.resolvers,z.selectors;t.a=z}).call(this,r(28))},964:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return DefaultSettingsSetupIncomplete}));var n=r(1),i=r.n(n),a=r(38),o=r(2),c=r(3),s=r(20),u=r(556),l=r(102),d=r(19);function DefaultSettingsSetupIncomplete(t){var r=t.slug,n=Object(c.useSelect)((function(e){return e(d.a).getModuleStoreName(r)})),i=Object(c.useSelect)((function(e){var t,r;return null===(t=e(n))||void 0===t||null===(r=t.getAdminReauthURL)||void 0===r?void 0:r.call(t)})),g=Object(c.useSelect)((function(e){var t;return null===(t=e(d.a))||void 0===t?void 0:t.getCheckRequirementsError(r)}));return e.createElement(l.a,{size:12},e.createElement("div",{className:"googlesitekit-settings-module__fields-group googlesitekit-settings-module__fields-group--no-border"},e.createElement(u.a,{slug:r})),e.createElement("div",{className:"googlesitekit-settings-module__fields-group-title"},Object(a.a)(Object(o.__)("Setup incomplete: continue module setup","google-site-kit"),{a:e.createElement(s.a,{className:"googlesitekit-settings-module__edit-button",href:i,disabled:!!g})})))}DefaultSettingsSetupIncomplete.propTypes={slug:i.a.string.isRequired}}).call(this,r(4))},966:function(e,t,r){"use strict";(function(e){var n=r(5),i=r.n(n),a=r(16),o=r.n(a),c=r(967),s=r.n(c),u=r(7),l=r.n(u),d=r(12),g=r.n(d),f=r(13),v=r(44),p=r.n(v),b=r(3),h=r(48),m=r(19),S=r(61);function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.savedSharingSettings;g()(t,"savedSharingSettings is required.")}}),R=Object(h.a)({baseName:"resetSharingSettings",controlCallback:function(e){return s()(e),p.a.set("core","modules","sharing-settings",{},{method:"DELETE"})},reducerCallback:function(e){return y(y({},e),{},{savedSharingSettings:{},sharingSettings:{}})}}),w={setSharingManagement:function(e,t){return g()(e,"moduleSlug is required."),g()(E.includes(t),"management must be one of: ".concat(E.join(", "),".")),{payload:{moduleSlug:e,management:t},type:"SET_SHARING_MANAGEMENT"}},setSharedRoles:function(e,t){return g()(e,"moduleSlug is required."),g()(Array.isArray(t)&&t.every((function(e){return"string"==typeof e})),"roles must be an array of strings."),{payload:{moduleSlug:e,roles:t},type:"SET_SHARED_ROLES"}},saveSharingSettings:i.a.mark((function e(){var t,r,n,a,c,s,u,l,d,g,f;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.commonActions.getRegistry();case 2:return t=e.sent,e.next=5,{type:"START_SUBMIT_SHARING_CHANGES",payload:{}};case 5:return r=t.select(m.a).getSharingSettings(),e.next=8,k.actions.fetchSaveSharingSettings(r);case 8:if(n=e.sent,a=n.response,!(c=n.error)&&Object.keys(a.newOwnerIDs).length)for(s=0,u=Object.entries(a.newOwnerIDs);s1&&void 0!==arguments[1]?arguments[1]:null,r=e.sharingSettings,n=e.savedSharingSettings;return t?!Object(f.isEqual)(Object(f.pick)(r,t),Object(f.pick)(n,t)):!Object(f.isEqual)(r,n)},haveSharingSettingsExpanded:function(e,t){var r=["management","sharedRoles"];g()(r.includes(t),"key must be one of: ".concat(r.join(", "),"."));var n=e.sharingSettings,i=e.savedSharingSettings;if(void 0!==n&&void 0!==i)return"management"===t?Object.keys(n).some((function(e){var t,r,a;return(null===(t=i[e])||void 0===t?void 0:t.management)!==(null===(r=n[e])||void 0===r?void 0:r.management)&&"all_admins"===(null===(a=n[e])||void 0===a?void 0:a.management)})):"sharedRoles"===t&&Object.keys(n).some((function(e){var t,r;return(null===(t=n[e])||void 0===t||null===(r=t.sharedRoles)||void 0===r?void 0:r.filter((function(t){var r,n;return!(null===(r=i[e])||void 0===r||null===(n=r.sharedRoles)||void 0===n?void 0:n.includes(t))})).length)>0}))},haveModuleSharingSettingsChanged:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;g()(t,"moduleSlug is required.");var n=e.sharingSettings,i=e.savedSharingSettings;if(void 0!==n&&void 0!==i)return r?!Object(f.isEqual)(Object(f.pick)(n[t],r),Object(f.pick)(i[t],r)):!Object(f.isEqual)(n[t],i[t])},isDoingSubmitSharingChanges:function(e){return!!e.isDoingSubmitSharingChanges},getDefaultSharedOwnershipModuleSettings:function(e){return e.defaultSharedOwnershipModuleSettings},haveSharingSettingsUpdated:function(e){var t=e.savedSharingSettings,r=e.sharedOwnershipModules;return!Object(f.isEmpty)(t)&&!Object(f.isEmpty)(r)&&Object.keys(t).some((function(e){var n=t[e],i=n.sharedRoles,a=n.management,o=r.includes(e)?"all_admins":"owner";return i.length>0||a!==o}))}},N=Object(b.combineStores)(k,R,{initialState:j,actions:w,selectors:C,reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_SHARING_MANAGEMENT":var i=n.moduleSlug,a=n.management;return y(y({},e),{},{sharingSettings:y(y({},e.sharingSettings),{},l()({},i,y(y({},e.sharingSettings[i]),{},{management:a})))});case"SET_SHARED_ROLES":var o=n.moduleSlug,c=n.roles;return y(y({},e),{},{sharingSettings:y(y({},e.sharingSettings),{},l()({},o,y(y({},e.sharingSettings[o]),{},{sharedRoles:c})))});case"RECEIVE_GET_SHARING_SETTINGS":var s=n.sharingSettings;return y(y({},e),{},{sharingSettings:s,savedSharingSettings:s});case"RECEIVE_SHAREABLE_ROLES":var u=n.shareableRoles;return y(y({},e),{},{shareableRoles:u});case"START_SUBMIT_SHARING_CHANGES":return y(y({},e),{},{isDoingSubmitSharingChanges:!0});case"FINISH_SUBMIT_SHARING_CHANGES":return y(y({},e),{},{isDoingSubmitSharingChanges:!1});case"ROLLBACK_SHARING_SETTINGS":return y(y({},e),{},{sharingSettings:e.savedSharingSettings});case"RECEIVE_DEFAULT_SHARED_OWNERSHIP_MODULE_SETTINGS":var d=n.defaultSharedOwnershipModuleSettings;return y(y({},e),{},{defaultSharedOwnershipModuleSettings:d});default:return e}},resolvers:_}),M=(N.initialState,N.actions);N.selectors,N.reducer;t.a=N}).call(this,r(28))},97:function(e,t,r){"use strict";(function(e){r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return o}));var n=r(231),i=r(85),a=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var a=r.invertColor,o=void 0!==a&&a;return Object(n.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,r(4))},98:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return d}));var n=r(7),i=r.n(n),a=r(13),o=r(99),c=r(100);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=u(u({},l),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(i,r),d=Object(c.a)(i,r,s,n),g={},f=function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(n.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var r=new Date(e);return Object(n.isDate)(r)&&!isNaN(r)}function D(e){y()(Object(n.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),r="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,r.length<2?"0".concat(r):r].join("-")}function T(e){y()(M(e),j);var t=e.split("-"),r=S()(t,3),n=r[0],i=r[1],a=r[2];return new Date(n,i-1,a)}function I(e,t){return D(P(e,t*_))}function x(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function P(e,t){y()(M(e)||Object(n.isDate)(e)&&!isNaN(e),j);var r=M(e)?Date.parse(e):e.getTime();return new Date(r-1e3*t)}var L=r(97),q=r(81);function U(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function H(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var G=r(27),B=r.n(G),F=function(e){return Array.isArray(e)?B()(e).sort():e},V=r(89);function K(e,t){var r=function(e){return"0"===e||0===e};if(r(e)&&r(t))return 0;if(r(e)||Number.isNaN(e))return null;var n=(t-e)/e;return Number.isNaN(n)||!Number.isFinite(n)?null:n}var z=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},W=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(n.unescape)(t)}},96:function(e,t,r){"use strict";(function(e){r(52),r(53)}).call(this,r(28))},968:function(e,t,r){"use strict";(function(e){var n,i=r(15),a=r.n(i),o=r(16),c=r.n(o),s=r(5),u=r.n(s),l=r(7),d=r.n(l),g=r(60),f=r.n(g),v=r(12),p=r.n(v),b=r(14),h=r(2),m=r(44),S=r.n(m),O=r(3),y=r(19),E=r(13),j=r(6),k=r(48),R=r(9),w=r(969),_=r(61),A=u.a.mark(F);function C(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return N(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return N(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(c)throw a}}}}function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:{},t=e.slug,r=e.active;p()(t,"slug is required."),p()(void 0!==r,"active is required.")}}),q=Object(k.a)({baseName:"checkModuleAccess",controlCallback:function(e){var t=e.slug;return S.a.set("core","modules","check-access",{slug:t})},reducerCallback:function(e,t,r){var n=t.access,i=r.slug;return D(D({},e),{},{moduleAccess:D(D({},e.moduleAccess),{},d()({},i,n))})},argsToParams:function(e){return{slug:e}},validateParams:function(e){var t=e.slug;p()(t,"slug is required.")}}),U=Object(k.a)({baseName:"recoverModules",controlCallback:function(e){var t=e.slugs;return S.a.set("core","modules","recover-modules",{slugs:t})},reducerCallback:function(e,t){return D(D({},e),{},{recoveredModules:t})},argsToParams:function(e){return{slugs:e}},validateParams:function(e){var t=e.slugs;p()(t,"slugs is required.")}}),H={clientDefinitions:{},serverDefinitions:void 0,isAwaitingModulesRefresh:!1,checkRequirementsResults:{},moduleAccess:{},recoverableModules:void 0,sharedOwnershipModules:void 0,recoveredModules:void 0},G={activateModule:u.a.mark((function e(t){var r,n,i,a;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,G.setModuleActivation(t,!0);case 2:if(r=e.sent,n=r.response,i=r.error,!0!==(null==n?void 0:n.success)){e.next=10;break}return e.next=8,{payload:{slug:t},type:"SELECT_MODULE_REAUTH_URL"};case 8:return a=e.sent,e.abrupt("return",{response:D(D({},n),{},{moduleReauthURL:a}),error:i});case 10:return e.abrupt("return",{response:n,error:i});case 11:case"end":return e.stop()}}),e)})),deactivateModule:u.a.mark((function e(t){var r,n,i;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,G.setModuleActivation(t,!1);case 2:return r=e.sent,n=r.response,i=r.error,e.abrupt("return",{response:n,error:i});case 6:case"end":return e.stop()}}),e)})),setModuleActivation:Object(_.f)((function(e,t){p()(e,"slug is required."),p()(void 0!==t,"active is required.")}),u.a.mark((function e(t,r){var n,i,a;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L.actions.fetchSetModuleActivation(t,r);case 2:if(n=e.sent,i=n.response,a=n.error,!0!==(null==i?void 0:i.success)){e.next=8;break}return e.next=8,{payload:{},type:"REFETCH_AUTHENTICATION"};case 8:return e.abrupt("return",{response:i,error:a});case 9:case"end":return e.stop()}}),e)}))),registerModule:Object(_.f)((function(e){p()(e,"module slug is required")}),u.a.mark((function e(t){var r,n,i,a,o,c,s,l,d,g,f,v,p,b,h,m,S,E,j=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=j.length>1&&void 0!==j[1]?j[1]:{},n=r.storeName,i=r.name,a=r.description,o=r.features,c=r.Icon,s=r.order,l=r.homepage,d=r.SettingsEditComponent,g=r.SettingsViewComponent,f=r.SetupComponent,v=r.SettingsSetupIncompleteComponent,p=r.checkRequirements,b=r.onCompleteSetup,h=r.DashboardMainEffectComponent,m=r.DashboardEntityEffectComponent,S={storeName:n,name:i,description:a,features:o,Icon:c,order:s,homepage:l,SettingsEditComponent:d,SettingsViewComponent:g,SetupComponent:f,onCompleteSetup:b,SettingsSetupIncompleteComponent:v,checkRequirements:p,DashboardMainEffectComponent:h,DashboardEntityEffectComponent:m},e.next=4,{payload:{settings:S,slug:t},type:"REGISTER_MODULE"};case 4:return e.next=6,O.commonActions.getRegistry();case 6:(E=e.sent).dispatch(y.a).invalidateResolution("canActivateModule",[t]),E.dispatch(y.a).invalidateResolution("getCheckRequirementsError",[t]);case 9:case"end":return e.stop()}}),e)}))),receiveCheckRequirementsError:function(e,t){return p()(e,"slug is required"),p()(Object(b.isPlainObject)(t),"error is required and must be an object"),{payload:{slug:e,error:t},type:"RECEIVE_CHECK_REQUIREMENTS_ERROR"}},receiveCheckRequirementsSuccess:function(e){return p()(e,"slug is required"),{payload:{slug:e},type:"RECEIVE_CHECK_REQUIREMENTS_SUCCESS"}},receiveRecoverableModules:function(e){return p()(e,"recoverableModules is required."),{payload:{recoverableModules:e},type:"RECEIVE_RECOVERABLE_MODULES"}},recoverModules:Object(_.f)((function(e){p()(Array.isArray(e),"slugs must be an array")}),u.a.mark((function e(t){var r,n,i,a,o,c,s,l,d,g,f;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:return r=e.sent,n=r.dispatch,i=r.select,e.next=7,U.actions.fetchRecoverModules(t);case 7:a=e.sent,o=a.response,c=o.success,s=Object.keys(c).filter((function(e){return!!c[e]})),l=C(s),e.prev=12,l.s();case 14:if((d=l.n()).done){e.next=21;break}return g=d.value,f=i(y.a).getModuleStoreName(g),e.next=19,O.commonActions.await(n(f).fetchGetSettings());case 19:e.next=14;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(12),l.e(e.t0);case 26:return e.prev=26,l.f(),e.finish(26);case 29:if(!s.length){e.next=35;break}return e.next=32,P.actions.fetchGetModules();case 32:return n(y.a).invalidateResolution("getRecoverableModules",[]),e.next=35,O.commonActions.await(n(j.a).refreshCapabilities());case 35:return e.abrupt("return",{response:o});case 36:case"end":return e.stop()}}),e,null,[[12,23,26,29]])}))),receiveSharedOwnershipModules:function(e){return p()(e,"sharedOwnershipModules is required."),{payload:{sharedOwnershipModules:e},type:"RECEIVE_SHARED_OWNERSHIP_MODULES"}},clearRecoveredModules:function(){return{payload:{},type:"CLEAR_RECOVERED_MODULES"}}},B=(n={},d()(n,"REFETCH_AUTHENTICATION",Object(O.createRegistryControl)((function(e){var t=e.dispatch;return function(){return t(j.a).fetchGetAuthentication()}}))),d()(n,"SELECT_MODULE_REAUTH_URL",Object(O.createRegistryControl)((function(e){var t=e.select,r=e.resolveSelect;return function(){var e=c()(u.a.mark((function e(n){var i,a,o,c;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.payload,o=a.slug,e.next=4,r(y.a).getModule(o);case 4:if(c=t(y.a).getModuleStoreName(o)){e.next=7;break}return e.abrupt("return");case 7:if(!(null===(i=t(c))||void 0===i?void 0:i.getAdminReauthURL)){e.next=11;break}return e.next=10,r(c).getAdminReauthURL();case 10:return e.abrupt("return",e.sent);case 11:return e.abrupt("return",t(E.c).getAdminURL("googlesitekit-dashboard"));case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}))),n);function F(){var e,t;return u.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,O.commonActions.getRegistry();case 2:return e=r.sent,t=e.resolveSelect,r.next=6,O.commonActions.await(t(y.a).getModules());case 6:case"end":return r.stop()}}),A)}var V={getModules:u.a.mark((function e(){var t;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:if(t=e.sent,t.select(y.a).getModules()){e.next=7;break}return e.next=7,P.actions.fetchGetModules();case 7:case"end":return e.stop()}}),e)})),canActivateModule:u.a.mark((function e(t){var r,n,i,a,o,c,s;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:return r=e.sent,n=r.select,i=r.resolveSelect,e.next=6,O.commonActions.await(i(y.a).getModule(t));case 6:if(a=e.sent){e.next=9;break}return e.abrupt("return");case 9:if(o=[],a.dependencies.forEach((function(e){var t=n(y.a).getModule(e);(null==t?void 0:t.active)||o.push(t.name)})),!o.length){e.next=18;break} +/* translators: Error message text. 1: A flattened list of module names. 2: A module name. */return c=Object(h.__)("You need to set up %1$s to gain access to %2$s.","google-site-kit"),s=Object(h.sprintf)(c,Object(R.z)(o),a.name),e.next=16,G.receiveCheckRequirementsError(t,{code:y.b,message:s,data:{inactiveModules:o}});case 16:e.next=29;break;case 18:return e.prev=18,e.next=21,O.commonActions.await(a.checkRequirements(r));case 21:return e.next=23,G.receiveCheckRequirementsSuccess(t);case 23:e.next=29;break;case 25:return e.prev=25,e.t0=e.catch(18),e.next=29,G.receiveCheckRequirementsError(t,e.t0);case 29:case"end":return e.stop()}}),e,null,[[18,25]])})),hasModuleAccess:u.a.mark((function e(t){var r;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:if(r=e.sent,void 0!==r.select(y.a).hasModuleAccess(t)){e.next=7;break}return e.next=7,q.actions.fetchCheckModuleAccess(t);case 7:case"end":return e.stop()}}),e)})),getRecoverableModules:u.a.mark((function e(){var t,r,n;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,O.commonActions.getRegistry();case 2:return t=e.sent,e.next=5,O.commonActions.await(t.resolveSelect(y.a).getModules());case 5:return r=e.sent,n=Object.entries(r||{}).reduce((function(e,t){var r=a()(t,2),n=r[0],i=r[1];return i.recoverable&&!i.internal&&e.push(n),e}),[]),e.next=9,G.receiveRecoverableModules(n);case 9:case"end":return e.stop()}}),e)})),getSharedOwnershipModules:u.a.mark((function t(){var r;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,O.commonActions.getRegistry();case 2:if(!t.sent.select(y.a).getSharedOwnershipModules()){t.next=5;break}return t.abrupt("return");case 5:if(e._googlesitekitDashboardSharingData){t.next=8;break}return e.console.error("Could not load core/modules dashboard sharing."),t.abrupt("return");case 8:return r=e._googlesitekitDashboardSharingData.sharedOwnershipModules,t.next=11,G.receiveSharedOwnershipModules(r);case 11:case"end":return t.stop()}}),t)})),getModule:F,isModuleActive:F,isModuleConnected:F},K={getModules:function(e){var t=e.clientDefinitions,r=e.serverDefinitions;if(void 0!==r)return I(r,t)},getModule:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModules();if(void 0!==n)return void 0===n[r]?null:n[r]}})),getModuleIcon:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null===n||null===n.Icon?null:n.Icon}})),getModuleDependencyNames:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n){if(null===n)return[];var i=e(y.a).getModules();return n.dependencies.map((function(e){var t;return(null===(t=i[e])||void 0===t?void 0:t.name)||e}))}}})),getModuleDependantNames:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n){if(null===n)return[];var i=e(y.a).getModules();return n.dependants.map((function(e){var t;return(null===(t=i[e])||void 0===t?void 0:t.name)||e}))}}})),getModuleStoreName:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null===n?null:n.storeName}})),isModuleAvailable:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null!==n}})),isModuleActive:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null===n?null:n.active}})),isModuleConnected:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n)return null===n?null:n.active&&n.connected}})),isDoingSetModuleActivation:Object(O.createRegistrySelector)((function(e){return function(t,r){if(e(y.a).getModule(r))return!!e(y.a).isFetchingSetModuleActivation(r,!0)||(!!e(y.a).isFetchingSetModuleActivation(r,!1)||t.isAwaitingModulesRefresh)}})),canActivateModule:function(e,t){p()(t,"slug is required");var r=e.checkRequirementsResults[t];if(void 0!==r)return!0===r||!0===(null==r?void 0:r.canActivate)},getCheckRequirementsError:Object(O.createRegistrySelector)((function(e){return function(t,r){p()(r,"slug is required.");var n=t.checkRequirementsResults;return void 0===e(y.a).canActivateModule(r)||!0===n[r]?null:n[r]}})),getModuleFeatures:Object(O.createRegistrySelector)((function(e){return function(t,r){var n,i=e(y.a).getModules();if(void 0!==i)return Array.isArray(null===(n=i[r])||void 0===n?void 0:n.features)?i[r].features:[]}})),hasModuleAccess:function(e,t){return e.moduleAccess[t]},hasModuleOwnershipOrAccess:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModuleStoreName(r);if(void 0!==n){if(null===e(n))return!1;var i=e(n).getOwnerID(),a=e(j.a).getID();if(void 0!==i&&void 0!==a)return i===a||e(y.a).hasModuleAccess(r)}}})),getRecoverableModules:Object(O.createRegistrySelector)((function(e){return function(t){var r=e(y.a).getModules();if(void 0!==t.recoverableModules&&void 0!==r)return x(r,t.recoverableModules)}})),hasRecoverableModules:function(e){if(void 0!==e.recoverableModules)return Object.keys(e.recoverableModules).length>0},getSharedOwnershipModules:Object(O.createRegistrySelector)((function(e){return function(t){var r=e(y.a).getModules();if(void 0!==t.sharedOwnershipModules&&void 0!==r)return Object.values(r).reduce((function(e,r){return t.sharedOwnershipModules.includes(r.slug)?D(D({},e),{},d()({},r.slug,r)):e}),{})}})),getShareableModules:Object(O.createRegistrySelector)((function(e){return function(){var t=e(y.a).getModules();if(void 0!==t)return Object.keys(t).reduce((function(e,r){return t[r].shareable?D(d()({},r,t[r]),e):e}),{})}})),getRecoveredModules:function(e){return e.recoveredModules},getDetailsLinkURL:Object(O.createRegistrySelector)((function(e){return function(t,r){var n=e(y.a).getModule(r);if(void 0!==n){if(null===n)return null;var i=e(y.a).getModuleStoreName(r),a=(e(i)||{}).getDetailsLinkURL;return"function"==typeof a?a():n.homepage?e(j.a).getAccountChooserURL(n.homepage):null}}}))},z=Object(O.combineStores)(P,L,q,U,{initialState:H,actions:G,controls:B,reducer:function(t,r){var n=r.type,i=r.payload;switch(n){case"REGISTER_MODULE":var a=i.slug,o=i.settings;return t.clientDefinitions[a]?(e.console.warn('Could not register module with slug "'.concat(a,'". Module "').concat(a,'" is already registered.')),t):D(D({},t),{},{clientDefinitions:D(D({},t.clientDefinitions),{},d()({},a,o))});case"RECEIVE_CHECK_REQUIREMENTS_ERROR":var c=i.slug,s=i.error;return D(D({},t),{},{checkRequirementsResults:D(D({},t.checkRequirementsResults),{},d()({},c,s))});case"RECEIVE_CHECK_REQUIREMENTS_SUCCESS":var u=i.slug;return D(D({},t),{},{checkRequirementsResults:D(D({},t.checkRequirementsResults),{},d()({},u,!0))});case"RECEIVE_RECOVERABLE_MODULES":var l=i.recoverableModules;return D(D({},t),{},{recoverableModules:l});case"RECEIVE_SHARED_OWNERSHIP_MODULES":var g=i.sharedOwnershipModules;return D(D({},t),{},{sharedOwnershipModules:g});case"CLEAR_RECOVERED_MODULES":return D(D({},t),{},{recoveredModules:void 0});default:return t}},resolvers:V,selectors:K});z.initialState,z.actions,z.controls,z.reducer,z.resolvers,z.selectors;t.a=z}).call(this,r(28))},969:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return DefaultSettingsSetupIncomplete}));var n=r(0),i=r.n(n),a=r(39),o=r(2),c=r(3),s=r(21),u=r(558),l=r(102),d=r(19);function DefaultSettingsSetupIncomplete(t){var r=t.slug,n=Object(c.useSelect)((function(e){return e(d.a).getModuleStoreName(r)})),i=Object(c.useSelect)((function(e){var t,r;return null===(t=e(n))||void 0===t||null===(r=t.getAdminReauthURL)||void 0===r?void 0:r.call(t)})),g=Object(c.useSelect)((function(e){var t;return null===(t=e(d.a))||void 0===t?void 0:t.getCheckRequirementsError(r)}));return e.createElement(l.a,{size:12},e.createElement("div",{className:"googlesitekit-settings-module__fields-group googlesitekit-settings-module__fields-group--no-border"},e.createElement(u.a,{slug:r})),e.createElement("div",{className:"googlesitekit-settings-module__fields-group-title"},Object(a.a)(Object(o.__)("Setup incomplete: continue module setup","google-site-kit"),{a:e.createElement(s.a,{className:"googlesitekit-settings-module__edit-button",href:i,disabled:!!g})})))}DefaultSettingsSetupIncomplete.propTypes={slug:i.a.string.isRequired}}).call(this,r(4))},97:function(e,t,r){"use strict";(function(e){r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return o}));var n=r(234),i=r(86),a=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var a=r.invertColor,o=void 0!==a&&a;return Object(n.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,r(4))},971:function(e,t,r){"use strict";(function(e){var n=r(5),i=r.n(n),a=r(15),o=r.n(a),c=r(972),s=r.n(c),u=r(7),l=r.n(u),d=r(12),g=r.n(d),f=r(14),v=r(44),p=r.n(v),b=r(3),h=r(48),m=r(19),S=r(61);function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.savedSharingSettings;g()(t,"savedSharingSettings is required.")}}),R=Object(h.a)({baseName:"resetSharingSettings",controlCallback:function(e){return s()(e),p.a.set("core","modules","sharing-settings",{},{method:"DELETE"})},reducerCallback:function(e){return y(y({},e),{},{savedSharingSettings:{},sharingSettings:{}})}}),w={setSharingManagement:function(e,t){return g()(e,"moduleSlug is required."),g()(E.includes(t),"management must be one of: ".concat(E.join(", "),".")),{payload:{moduleSlug:e,management:t},type:"SET_SHARING_MANAGEMENT"}},setSharedRoles:function(e,t){return g()(e,"moduleSlug is required."),g()(Array.isArray(t)&&t.every((function(e){return"string"==typeof e})),"roles must be an array of strings."),{payload:{moduleSlug:e,roles:t},type:"SET_SHARED_ROLES"}},saveSharingSettings:i.a.mark((function e(){var t,r,n,a,c,s,u,l,d,g,f;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.commonActions.getRegistry();case 2:return t=e.sent,e.next=5,{type:"START_SUBMIT_SHARING_CHANGES",payload:{}};case 5:return r=t.select(m.a).getSharingSettings(),e.next=8,k.actions.fetchSaveSharingSettings(r);case 8:if(n=e.sent,a=n.response,!(c=n.error)&&Object.keys(a.newOwnerIDs).length)for(s=0,u=Object.entries(a.newOwnerIDs);s1&&void 0!==arguments[1]?arguments[1]:null,r=e.sharingSettings,n=e.savedSharingSettings;return t?!Object(f.isEqual)(Object(f.pick)(r,t),Object(f.pick)(n,t)):!Object(f.isEqual)(r,n)},haveSharingSettingsExpanded:function(e,t){var r=["management","sharedRoles"];g()(r.includes(t),"key must be one of: ".concat(r.join(", "),"."));var n=e.sharingSettings,i=e.savedSharingSettings;if(void 0!==n&&void 0!==i)return"management"===t?Object.keys(n).some((function(e){var t,r,a;return(null===(t=i[e])||void 0===t?void 0:t.management)!==(null===(r=n[e])||void 0===r?void 0:r.management)&&"all_admins"===(null===(a=n[e])||void 0===a?void 0:a.management)})):"sharedRoles"===t&&Object.keys(n).some((function(e){var t,r;return(null===(t=n[e])||void 0===t||null===(r=t.sharedRoles)||void 0===r?void 0:r.filter((function(t){var r,n;return!(null===(r=i[e])||void 0===r||null===(n=r.sharedRoles)||void 0===n?void 0:n.includes(t))})).length)>0}))},haveModuleSharingSettingsChanged:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;g()(t,"moduleSlug is required.");var n=e.sharingSettings,i=e.savedSharingSettings;if(void 0!==n&&void 0!==i)return r?!Object(f.isEqual)(Object(f.pick)(n[t],r),Object(f.pick)(i[t],r)):!Object(f.isEqual)(n[t],i[t])},isDoingSubmitSharingChanges:function(e){return!!e.isDoingSubmitSharingChanges},getDefaultSharedOwnershipModuleSettings:function(e){return e.defaultSharedOwnershipModuleSettings},haveSharingSettingsUpdated:function(e){var t=e.savedSharingSettings,r=e.sharedOwnershipModules;return!Object(f.isEmpty)(t)&&!Object(f.isEmpty)(r)&&Object.keys(t).some((function(e){var n=t[e],i=n.sharedRoles,a=n.management,o=r.includes(e)?"all_admins":"owner";return i.length>0||a!==o}))}},N=Object(b.combineStores)(k,R,{initialState:j,actions:w,selectors:C,reducer:function(e,t){var r=t.type,n=t.payload;switch(r){case"SET_SHARING_MANAGEMENT":var i=n.moduleSlug,a=n.management;return y(y({},e),{},{sharingSettings:y(y({},e.sharingSettings),{},l()({},i,y(y({},e.sharingSettings[i]),{},{management:a})))});case"SET_SHARED_ROLES":var o=n.moduleSlug,c=n.roles;return y(y({},e),{},{sharingSettings:y(y({},e.sharingSettings),{},l()({},o,y(y({},e.sharingSettings[o]),{},{sharedRoles:c})))});case"RECEIVE_GET_SHARING_SETTINGS":var s=n.sharingSettings;return y(y({},e),{},{sharingSettings:s,savedSharingSettings:s});case"RECEIVE_SHAREABLE_ROLES":var u=n.shareableRoles;return y(y({},e),{},{shareableRoles:u});case"START_SUBMIT_SHARING_CHANGES":return y(y({},e),{},{isDoingSubmitSharingChanges:!0});case"FINISH_SUBMIT_SHARING_CHANGES":return y(y({},e),{},{isDoingSubmitSharingChanges:!1});case"ROLLBACK_SHARING_SETTINGS":return y(y({},e),{},{sharingSettings:e.savedSharingSettings});case"RECEIVE_DEFAULT_SHARED_OWNERSHIP_MODULE_SETTINGS":var d=n.defaultSharedOwnershipModuleSettings;return y(y({},e),{},{defaultSharedOwnershipModuleSettings:d});default:return e}},resolvers:_}),M=(N.initialState,N.actions);N.selectors,N.reducer;t.a=N}).call(this,r(28))},98:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return d}));var n=r(7),i=r.n(n),a=r(14),o=r(99),c=r(100);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=u(u({},l),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(i,r),d=Object(c.a)(i,r,s,n),g={},f=function(){for(var e=arguments.length,t=new Array(e),r=0;rNote: %s","google-site-kit"),j),{strong:e.createElement("strong",null)}))),e.createElement(l.DialogFooter,null,e.createElement(l.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:f,disabled:N},Object(u.__)("Cancel","google-site-kit")),x?e.createElement(l.Button,{href:x,onClick:_,target:"_blank",danger:w},S):e.createElement(l.SpinnerButton,{onClick:_,danger:w,disabled:N,isSaving:N},S||Object(u.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:i.a.string,dialogActive:i.a.bool,handleDialog:i.a.func,handleConfirm:i.a.func.isRequired,onOpen:i.a.func,onClose:i.a.func,title:i.a.string,confirmButton:i.a.string,danger:i.a.bool,small:i.a.bool,medium:i.a.bool,buttonLink:i.a.string},t.a=ModalDialog}).call(this,n(4))},115:function(e,t,n){"use strict";var r=n(1),i=n(38),a=Object(r.createContext)(i.a);t.a=a},118:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return v}));var r=n(7),i=n.n(r),a=n(20),o=n.n(a),c=n(15),s=n.n(c),u=n(25),l=n.n(u),d=n(216),g=n(0),f=n.n(g),p=n(1);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(t){function WithIntersectionObserverComponent(n){var r=n.onInView,i=l()(n,["onInView"]),a=Object(p.useRef)(),c=Object(d.a)(a,{root:null,threshold:.45}),u=Object(p.useState)(!1),g=s()(u,2),f=g[0],m=g[1],v=!!(null==c?void 0:c.isIntersecting)&&!!(null==c?void 0:c.intersectionRatio);return Object(p.useEffect)((function(){c&&v&&!f&&(r(),m(!0))}),[f,v,c,r]),e.createElement(t,o()({ref:a},i))}return WithIntersectionObserverComponent.displayName="WithIntersectionObserverComponent",(t.displayName||t.name)&&(WithIntersectionObserverComponent.displayName+="(".concat(t.displayName||t.name,")")),WithIntersectionObserverComponent.propTypes=function(e){for(var t=1;t=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(E,"-desktop"),12>=E&&E>0),o()(n,"mdc-layout-grid__cell--start-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--order-".concat(S,"-desktop"),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(y,"-tablet"),8>=y&&y>0),o()(n,"mdc-layout-grid__cell--start-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--order-".concat(_,"-tablet"),8>=_&&_>0),o()(n,"mdc-layout-grid__cell--span-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--start-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),A)}Cell.propTypes={smSize:l.a.number,smStart:l.a.number,smOrder:l.a.number,mdSize:l.a.number,mdStart:l.a.number,mdOrder:l.a.number,lgSize:l.a.number,lgStart:l.a.number,lgOrder:l.a.number,size:l.a.number,alignTop:l.a.bool,alignMiddle:l.a.bool,alignBottom:l.a.bool,alignRight:l.a.bool,alignLeft:l.a.bool,smAlignRight:l.a.bool,mdAlignRight:l.a.bool,lgAlignRight:l.a.bool,className:l.a.string,children:l.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(20),i=n.n(r),a=n(25),o=n.n(a),c=n(0),s=n.n(c),u=n(11),l=n.n(u),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.className,a=t.children,c=o()(t,["className","children"]);return e.createElement("div",i()({ref:n,className:l()("mdc-layout-grid__inner",r)},c),a)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},126:function(e,t,n){"use strict";(function(e){var r=n(20),i=n.n(r),a=n(25),o=n.n(a),c=n(0),s=n.n(c),u=n(11),l=n.n(u),d=n(1),g=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,a=t.fill,c=t.className,s=t.children,u=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:l()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":u,"mdc-layout-grid--fill":a})},d,{ref:n}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},127:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},i=n.slug,a=void 0===i?"":i,o=n.name,c=void 0===o?"":o,s=n.owner,u=void 0===s?{}:s;if(!a||!c)return e;var l="",d="";return"analytics-4"===a?e.match(/account/i)?l=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?l=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(l=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===a&&(l=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),l||(l=Object(r.sprintf)( +/* translators: %s: module name */ +Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),c)),u&&u.login&&(d=Object(r.sprintf)( +/* translators: %s: owner name */ +Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),u.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(l," ").concat(d)}},17:function(e,t,n){"use strict";var r=n(248);n.d(t,"i",(function(){return r.a}));var i=n(318);n.d(t,"f",(function(){return i.a}));var a=n(319);n.d(t,"h",(function(){return a.a}));var o=n(320);n.d(t,"j",(function(){return o.a}));var c=n(317);n.d(t,"g",(function(){return c.a}));var s=n(91),u=n.n(s);n.d(t,"b",(function(){return u.a})),n.d(t,"c",(function(){return s.DialogContent})),n.d(t,"d",(function(){return s.DialogFooter}));var l=n(102);n.d(t,"a",(function(){return l.a})),n.d(t,"e",(function(){return l.b})),n.d(t,"k",(function(){return l.c}))},173:function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(11),o=n.n(a),c=n(1),s=n(141),u=n(66),l=n(17),d=Object(c.forwardRef)((function(t,n){var r=t.className,i=t.title,a=t.description,c=t.dismissCTA,d=t.additionalCTA,g=t.type,f=void 0===g?"success":g,p=t.icon;return e.createElement(l.e,{ref:n},e.createElement(l.k,null,e.createElement(l.a,{alignMiddle:!0,size:12,className:o()("googlesitekit-subtle-notification",r,{"googlesitekit-subtle-notification--success":"success"===f,"googlesitekit-subtle-notification--warning":"warning"===f})},e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},p,"success"===f&&!p&&e.createElement(s.a,{width:24,height:24}),"warning"===f&&!p&&e.createElement(u.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,i),e.createElement("p",{className:"googlesitekit-subtle-notification__secondary_description"},a)),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},c,d))))}));d.propTypes={className:i.a.string,title:i.a.node.isRequired,description:i.a.node,dismissCTA:i.a.node,additionalCTA:i.a.node,type:i.a.string,icon:i.a.object},t.a=d}).call(this,n(4))},174:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LoadingWrapper}));var r=n(7),i=n.n(r),a=n(25),o=n.n(a),c=n(0),s=n.n(c),u=n(42);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function LoadingWrapper(t){var n=t.loading,r=t.children,i=o()(t,["loading","children"]);return n?e.createElement(u.a,i):r}LoadingWrapper.propTypes=function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:e,a=Object(c.useState)(Object(s.a)(r.location.href,t)||n),l=o()(a,2),d=l[0],g=l[1],f=function(e){g(e);var n=Object(u.a)(r.location.href,i()({},t,e));r.history.replaceState(null,"",n)};return[d,f]}}).call(this,n(28))},19:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r="core/modules",i="insufficient_module_dependencies"},196:function(e,t,n){"use strict";n.d(t,"a",(function(){return k})),n.d(t,"b",(function(){return S})),n.d(t,"c",(function(){return j})),n.d(t,"g",(function(){return A})),n.d(t,"f",(function(){return w})),n.d(t,"d",(function(){return C})),n.d(t,"e",(function(){return N}));var r=n(16),i=n.n(r),a=n(5),o=n.n(a),c=n(7),s=n.n(c),u=n(12),l=n.n(u),d=n(14),g=n(44),f=n.n(g),p=n(3),m=n(61),v=n(80),b=n(48),h=n(65);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{},i=r.ownedSettingsSlugs,a=void 0===i?void 0:i,c=r.storeName,u=void 0===c?void 0:c,g=r.settingSlugs,h=void 0===g?[]:g,y=r.initialSettings,k=void 0===y?void 0:y,S=r.validateHaveSettingsChanged,j=void 0===S?N():S;l()(e,"type is required."),l()(t,"identifier is required."),l()(n,"datapoint is required.");var A=u||"".concat(e,"/").concat(t),w={ownedSettingsSlugs:a,settings:k,savedSettings:void 0},C=Object(b.a)({baseName:"getSettings",controlCallback:function(){return f.a.get(e,t,n,{},{useCache:!1})},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O(O({},t),e.settings||{})})}}),R=Object(b.a)({baseName:"saveSettings",controlCallback:function(r){var i=r.values;return f.a.set(e,t,n,i)},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O({},t)})},argsToParams:function(e){return{values:e}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.values;l()(Object(d.isPlainObject)(t),"values is required.")}}),T={},D={setSettings:function(e){return l()(Object(d.isPlainObject)(e),"values is required."),{payload:{values:e},type:"SET_SETTINGS"}},rollbackSettings:function(){return{payload:{},type:"ROLLBACK_SETTINGS"}},saveSettings:o.a.mark((function e(){var t,n,r,i,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:return t=e.sent,e.next=5,_("saveSettings",[]);case 5:return n=t.select(A).getSettings(),e.next=8,R.actions.fetchSaveSettings(n);case 8:if(r=e.sent,i=r.response,!(a=r.error)){e.next=14;break}return e.next=14,E(a,"saveSettings",[]);case 14:return e.abrupt("return",{response:i,error:a});case 15:case"end":return e.stop()}}),e)}))},P={},L=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:w,t=arguments.length>1?arguments[1]:void 0,n=t.type,r=t.payload;switch(n){case"SET_SETTINGS":var i=r.values;return O(O({},e),{},{settings:O(O({},e.settings||{}),i)});case"ROLLBACK_SETTINGS":return O(O({},e),{},{settings:e.savedSettings});default:return void 0!==T[n]?T[n](e,{type:n,payload:r}):e}},x={getSettings:o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:if(t=e.sent,t.select(A).getSettings()){e.next=7;break}return e.next=7,C.actions.fetchGetSettings();case 7:case"end":return e.stop()}}),e)}))},I=Object(m.g)(j),M=I.safeSelector,U=I.dangerousSelector,B={haveSettingsChanged:M,__dangerousHaveSettingsChanged:U,getSettings:function(e){return e.settings},hasSettingChanged:function(e,t){l()(t,"setting is required.");var n=e.settings,r=e.savedSettings;return!(!n||!r)&&!Object(d.isEqual)(n[t],r[t])},isDoingSaveSettings:function(e){return Object.values(e.isFetchingSaveSettings).some(Boolean)},getOwnedSettingsSlugs:function(e){return e.ownedSettingsSlugs},haveOwnedSettingsChanged:Object(p.createRegistrySelector)((function(e){return function(){var t=e(A).getOwnedSettingsSlugs();return e(A).haveSettingsChanged(t)}}))};h.forEach((function(e){var t=Object(v.b)(e),n=Object(v.a)(e);D["set".concat(t)]=function(e){return l()(void 0!==e,"value is required for calls to set".concat(t,"().")),{payload:{value:e},type:"SET_".concat(n)}},T["SET_".concat(n)]=function(t,n){var r=n.payload.value;return O(O({},t),{},{settings:O(O({},t.settings||{}),{},s()({},e,r))})},B["get".concat(t)]=Object(p.createRegistrySelector)((function(t){return function(){return(t(A).getSettings()||{})[e]}}))}));var F=Object(p.combineStores)(p.commonStore,C,R,{initialState:w,actions:D,controls:P,reducer:L,resolvers:x,selectors:B});return O(O({},F),{},{STORE_NAME:A})};function A(e,t){return function(){var n=i()(o.a.mark((function n(r){var i,a,c,s;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(i=r.select,a=r.dispatch,!i(t).haveSettingsChanged()){n.next=8;break}return n.next=4,a(t).saveSettings();case 4:if(c=n.sent,!(s=c.error)){n.next=8;break}return n.abrupt("return",{error:s});case 8:return n.next=10,f.a.invalidateCache("modules",e);case 10:return n.abrupt("return",{});case 11:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}function w(e){return function(t){var n=t.select,r=t.dispatch;return n(e).haveSettingsChanged()?r(e).rollbackSettings():{}}}function C(e){return function(t){var n=Object(m.e)(t)(e),r=n.haveSettingsChanged,i=n.isDoingSubmitChanges;l()(!i(),k),l()(r(),S)}}function N(){return function(e,t,n){var r=t.settings,i=t.savedSettings;n&&l()(!Object(d.isEqual)(Object(d.pick)(r,n),Object(d.pick)(i,n)),S),l()(!Object(d.isEqual)(r,i),S)}}},2:function(e,t){e.exports=googlesitekit.i18n},21:function(e,t,n){"use strict";(function(e){var r=n(20),i=n.n(r),a=n(25),o=n.n(a),c=n(11),s=n.n(c),u=n(0),l=n.n(u),d=n(145),g=n(1),f=n(2),p=n(127),m=n(128),v=n(129),b=n(75),h=n(78),y=Object(g.forwardRef)((function(t,n){var r,a=t["aria-label"],c=t.secondary,u=void 0!==c&&c,l=t.arrow,g=void 0!==l&&l,y=t.back,O=void 0!==y&&y,_=t.caps,E=void 0!==_&&_,k=t.children,S=t.className,j=void 0===S?"":S,A=t.danger,w=void 0!==A&&A,C=t.disabled,N=void 0!==C&&C,R=t.external,T=void 0!==R&&R,D=t.hideExternalIndicator,P=void 0!==D&&D,L=t.href,x=void 0===L?"":L,I=t.inverse,M=void 0!==I&&I,U=t.noFlex,B=void 0!==U&&U,F=t.onClick,W=t.small,H=void 0!==W&&W,q=t.standalone,V=void 0!==q&&q,K=t.linkButton,G=void 0!==K&&K,Y=t.to,z=t.leadingIcon,X=t.trailingIcon,J=o()(t,["aria-label","secondary","arrow","back","caps","children","className","danger","disabled","external","hideExternalIndicator","href","inverse","noFlex","onClick","small","standalone","linkButton","to","leadingIcon","trailingIcon"]),$=x||Y||!F?Y?"ROUTER_LINK":T?"EXTERNAL_LINK":"LINK":N?"BUTTON_DISABLED":"BUTTON",Z="BUTTON"===$||"BUTTON_DISABLED"===$?"button":"ROUTER_LINK"===$?d.b:"a",Q=("EXTERNAL_LINK"===$&&(r=Object(f._x)("(opens in a new tab)","screen reader text","google-site-kit")),"BUTTON_DISABLED"===$&&(r=Object(f._x)("(disabled)","screen reader text","google-site-kit")),r?a?"".concat(a," ").concat(r):"string"==typeof k?"".concat(k," ").concat(r):void 0:a),ee=z,te=X;return O&&(ee=e.createElement(v.a,{width:14,height:14})),T&&!P&&(te=e.createElement(b.a,{width:14,height:14})),g&&!M&&(te=e.createElement(p.a,{width:14,height:14})),g&&M&&(te=e.createElement(m.a,{width:14,height:14})),e.createElement(Z,i()({"aria-label":Q,className:s()("googlesitekit-cta-link",j,{"googlesitekit-cta-link--secondary":u,"googlesitekit-cta-link--inverse":M,"googlesitekit-cta-link--small":H,"googlesitekit-cta-link--caps":E,"googlesitekit-cta-link--danger":w,"googlesitekit-cta-link--disabled":N,"googlesitekit-cta-link--standalone":V,"googlesitekit-cta-link--link-button":G,"googlesitekit-cta-link--no-flex":!!B}),disabled:N,href:"LINK"!==$&&"EXTERNAL_LINK"!==$||N?void 0:x,onClick:F,rel:"EXTERNAL_LINK"===$?"noopener noreferrer":void 0,ref:n,target:"EXTERNAL_LINK"===$?"_blank":void 0,to:Y},J),!!ee&&e.createElement(h.a,{marginRight:5},ee),e.createElement("span",{className:"googlesitekit-cta-link__contents"},k),!!te&&e.createElement(h.a,{marginLeft:5},te))}));y.propTypes={arrow:l.a.bool,back:l.a.bool,caps:l.a.bool,children:l.a.node,className:l.a.string,danger:l.a.bool,disabled:l.a.bool,external:l.a.bool,hideExternalIndicator:l.a.bool,href:l.a.string,inverse:l.a.bool,leadingIcon:l.a.node,linkButton:l.a.bool,noFlex:l.a.bool,onClick:l.a.func,small:l.a.bool,standalone:l.a.bool,to:l.a.string,trailingIcon:l.a.node},t.a=y}).call(this,n(4))},22:function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"m",(function(){return o})),n.d(t,"t",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"s",(function(){return u})),n.d(t,"i",(function(){return l})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"u",(function(){return p})),n.d(t,"v",(function(){return m})),n.d(t,"q",(function(){return v})),n.d(t,"p",(function(){return b})),n.d(t,"b",(function(){return h})),n.d(t,"e",(function(){return y})),n.d(t,"a",(function(){return O})),n.d(t,"d",(function(){return _})),n.d(t,"c",(function(){return E})),n.d(t,"f",(function(){return k})),n.d(t,"g",(function(){return S}));var r="mainDashboard",i="entityDashboard",a="mainDashboardViewOnly",o="entityDashboardViewOnly",c="userInput",s="activation",u="splash",l="adminBar",d="adminBarViewOnly",g="settings",f="adBlockingRecovery",p="wpDashboard",m="wpDashboardViewOnly",v="moduleSetup",b="metricSelection",h="key-metrics",y="traffic",O="content",_="speed",E="monetization",k=[r,i,a,o,c,u,g,v,b],S=[a,o,d,m]},226:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WarningNotice}));var r=n(11),i=n.n(r),a=n(0),o=n.n(a);function WarningNotice(t){var n=t.children,r=t.className;return e.createElement("div",{className:i()("googlesitekit-warning-notice",r)},n)}WarningNotice.propTypes={children:o.a.node.isRequired,className:o.a.string}}).call(this,n(4))},238:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockerWarning}));var r=n(0),i=n.n(r),a=n(3),o=n(13),c=n(19),s=n(389);function AdBlockerWarning(t){var n=t.moduleSlug,r=t.className,i=Object(a.useSelect)((function(e){return e(c.a).getModuleStoreName(n)})),u=Object(a.useSelect)((function(e){var t;return null===(t=e(i))||void 0===t?void 0:t.getAdBlockerWarningMessage()})),l=Object(a.useSelect)((function(e){return e(o.c).getDocumentationLinkURL("".concat(n,"-ad-blocker-detected"))}));return e.createElement(s.a,{className:r,getHelpLink:l,warningMessage:u})}AdBlockerWarning.propTypes={className:i.a.string,moduleSlug:i.a.string.isRequired}}).call(this,n(4))},24:function(e,t,n){"use strict";n.d(t,"d",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"b",(function(){return c})),n.d(t,"e",(function(){return s}));var r=n(77),i="xlarge",a="desktop",o="tablet",c="small";function s(){var e=Object(r.a)();return e>1280?i:e>960?a:e>600?o:c}},251:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return CTALinkSubtle}));var r=n(5),i=n.n(r),a=n(16),o=n.n(a),c=n(0),s=n.n(c),u=n(90),l=n(10),d=n(75);function CTALinkSubtle(t){var n=t.id,r=t.ctaLink,a=t.ctaLabel,c=t.onCTAClick,s=t.isCTALinkExternal,g=void 0!==s&&s,f=t.gaTrackingEventArgs,p=Object(u.a)(n),m=function(){var e=o()(i.a.mark((function e(t){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==c?void 0:c(t);case 2:p.confirm(null==f?void 0:f.label,null==f?void 0:f.value);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return e.createElement(l.Button,{className:"googlesitekit-subtle-notification__cta",href:r,onClick:m,target:g?"_blank":"_self",trailingIcon:g?e.createElement(d.a,{width:14,height:14}):void 0},a)}CTALinkSubtle.propTypes={id:s.a.string,ctaLink:s.a.string,ctaLabel:s.a.string,onCTAClick:s.a.func,isCTALinkExternal:s.a.bool,gaTrackingEventArgs:s.a.shape({label:s.a.string,value:s.a.string})}}).call(this,n(4))},268:function(e,t,n){"use strict";(function(e){var r=n(55),i=n.n(r),a=n(269),o=e._googlesitekitAPIFetchData||{},c=o.nonce,s=o.nonceEndpoint,u=o.preloadedData,l=o.rootURL;i.a.nonceEndpoint=s,i.a.nonceMiddleware=i.a.createNonceMiddleware(c),i.a.rootURLMiddleware=i.a.createRootURLMiddleware(l),i.a.preloadingMiddleware=Object(a.a)(u),i.a.use(i.a.nonceMiddleware),i.a.use(i.a.mediaUploadMiddleware),i.a.use(i.a.rootURLMiddleware),i.a.use(i.a.preloadingMiddleware),t.default=i.a}).call(this,n(28))},269:function(e,t,n){"use strict";var r=n(256);t.a=function(e){var t=Object.keys(e).reduce((function(t,n){return t[Object(r.getStablePath)(n)]=e[n],t}),{}),n=!1;return function(e,i){if(n)return i(e);setTimeout((function(){n=!0}),3e3);var a=e.parse,o=void 0===a||a,c=e.path;if("string"==typeof e.path){var s,u=(null===(s=e.method)||void 0===s?void 0:s.toUpperCase())||"GET",l=Object(r.getStablePath)(c);if(o&&"GET"===u&&t[l]){var d=Promise.resolve(t[l].body);return delete t[l],d}if("OPTIONS"===u&&t[u]&&t[u][l]){var g=Promise.resolve(t[u][l]);return delete t[u][l],g}}return i(e)}}},3:function(e,t){e.exports=googlesitekit.data},300:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return g}));var r=n(11),i=n.n(r),a=n(0),o=n.n(a),c=n(1),s=n(10),u=n(141),l=n(75),d=n(66),g={SUCCESS:"success",WARNING:"warning"},f=Object(c.forwardRef)((function(t,n){var r=t.title,a=t.description,o=t.Icon,c=t.ctaLink,f=t.ctaLabel,p=t.className,m=t.onCTAClick,v=t.isCTALinkExternal,b=t.dismissLabel,h=t.onDismiss,y=t.variant,O=void 0===y?g.SUCCESS:y,_=t.hideIcon,E=void 0!==_&&_;return e.createElement("div",{ref:n,className:i()("googlesitekit-subtle-notification",{"googlesitekit-subtle-notification--success":O===g.SUCCESS,"googlesitekit-subtle-notification--warning":O===g.WARNING},p)},!E&&e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},o&&e.createElement(o,{width:24,height:24}),!o&&O===g.SUCCESS&&e.createElement(u.a,{width:24,height:24}),!o&&O===g.WARNING&&e.createElement(d.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,r),a&&e.createElement("p",{className:"googlesitekit-subtle-notification__secondary_description"},a)),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},b&&e.createElement(s.Button,{tertiary:!0,onClick:h},b),f&&e.createElement(s.Button,{className:"googlesitekit-subtle-notification__cta",href:c,onClick:m,target:v?"_blank":"_self",trailingIcon:v?e.createElement(l.a,{width:14,height:14}):void 0},f)))}));f.propTypes={title:o.a.node.isRequired,description:o.a.string,Icon:o.a.elementType,ctaLink:o.a.string,ctaLabel:o.a.string,className:o.a.string,onCTAClick:o.a.func,isCTALinkExternal:o.a.bool,dismissLabel:o.a.string,onDismiss:o.a.func,variant:o.a.oneOf(Object.values(g)),hideIcon:o.a.bool},t.b=f}).call(this,n(4))},32:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/location"},35:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"f",(function(){return c})),n.d(t,"e",(function(){return s})),n.d(t,"c",(function(){return u})),n.d(t,"d",(function(){return l})),n.d(t,"b",(function(){return d}));n(14);var r=n(2),i="missing_required_scopes",a="insufficientPermissions",o="forbidden";function c(e){return(null==e?void 0:e.code)===i}function s(e){var t;return[a,o].includes(null==e||null===(t=e.data)||void 0===t?void 0:t.reason)}function u(e){var t;return!!(null==e||null===(t=e.data)||void 0===t?void 0:t.reconnectURL)}function l(e,t){return!(!(null==t?void 0:t.storeName)||s(e)||c(e)||u(e))}function d(e){return"internal_server_error"===(null==e?void 0:e.code)?Object(r.__)("There was a critical error on this website while fetching data","google-site-kit"):"invalid_json"===(null==e?void 0:e.code)?Object(r.__)("The server provided an invalid response","google-site-kit"):null==e?void 0:e.message}},359:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:a;return t instanceof Set&&t.has(e)}}).call(this,n(28))},389:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockerWarningMessage}));var r=n(0),i=n.n(r),a=n(2),o=n(39),c=n(21),s=n(226),u=n(390);function AdBlockerWarningMessage(t){var n=t.className,r=void 0===n?"":n,i=t.getHelpLink,l=void 0===i?"":i,d=t.warningMessage,g=void 0===d?null:d;return g?e.createElement(s.a,{className:r},Object(o.a)(Object(a.sprintf)( +/* translators: 1: The warning message. 2: "Get help" text. */ +Object(a.__)("%1$s. %2$s","google-site-kit"),g,Object(a.__)("Get help","google-site-kit")),{Link:e.createElement(c.a,{href:l,external:!0,hideExternalIndicator:!0,trailingIcon:e.createElement(u.a,{width:15,height:15})})})):null}AdBlockerWarningMessage.propTypes={className:i.a.string,getHelpLink:i.a.string,warningMessage:i.a.string}}).call(this,n(4))},390:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1?n-1:0),i=1;iredo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(s,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:i.a.string.isRequired,reconnectURL:i.a.string,noPrefix:i.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},58:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(40);function i(e){return function(){e[r.a]=e[r.a]||[],e[r.a].push(arguments)}}},59:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(1),i=Object(r.createContext)(""),a=(i.Consumer,i.Provider);t.b=i},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return s})),n.d(t,"M",(function(){return u})),n.d(t,"O",(function(){return l})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return g})),n.d(t,"J",(function(){return f})),n.d(t,"I",(function(){return p})),n.d(t,"N",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"h",(function(){return h})),n.d(t,"j",(function(){return y})),n.d(t,"l",(function(){return O})),n.d(t,"m",(function(){return _})),n.d(t,"n",(function(){return E})),n.d(t,"o",(function(){return k})),n.d(t,"q",(function(){return S})),n.d(t,"s",(function(){return j})),n.d(t,"r",(function(){return A})),n.d(t,"t",(function(){return w})),n.d(t,"w",(function(){return C})),n.d(t,"u",(function(){return N})),n.d(t,"v",(function(){return R})),n.d(t,"x",(function(){return T})),n.d(t,"y",(function(){return D})),n.d(t,"A",(function(){return P})),n.d(t,"B",(function(){return L})),n.d(t,"C",(function(){return x})),n.d(t,"D",(function(){return I})),n.d(t,"k",(function(){return M})),n.d(t,"F",(function(){return U})),n.d(t,"z",(function(){return B})),n.d(t,"G",(function(){return F})),n.d(t,"E",(function(){return W})),n.d(t,"i",(function(){return H})),n.d(t,"p",(function(){return q})),n.d(t,"Q",(function(){return V})),n.d(t,"P",(function(){return K}));var r="core/user",i="connected_url_mismatch",a="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",p="googlesitekit_delegate_module_sharing_management",m="googlesitekit_update_plugins",v="kmAnalyticsAdSenseTopEarningContent",b="kmAnalyticsEngagedTrafficSource",h="kmAnalyticsLeastEngagingPages",y="kmAnalyticsNewVisitors",O="kmAnalyticsPopularAuthors",_="kmAnalyticsPopularContent",E="kmAnalyticsPopularProducts",k="kmAnalyticsReturningVisitors",S="kmAnalyticsTopCities",j="kmAnalyticsTopCitiesDrivingLeads",A="kmAnalyticsTopCitiesDrivingAddToCart",w="kmAnalyticsTopCitiesDrivingPurchases",C="kmAnalyticsTopDeviceDrivingPurchases",N="kmAnalyticsTopConvertingTrafficSource",R="kmAnalyticsTopCountries",T="kmAnalyticsTopPagesDrivingLeads",D="kmAnalyticsTopRecentTrendingPages",P="kmAnalyticsTopTrafficSource",L="kmAnalyticsTopTrafficSourceDrivingAddToCart",x="kmAnalyticsTopTrafficSourceDrivingLeads",I="kmAnalyticsTopTrafficSourceDrivingPurchases",M="kmAnalyticsPagesPerVisit",U="kmAnalyticsVisitLength",B="kmAnalyticsTopReturningVisitorPages",F="kmSearchConsolePopularKeywords",W="kmAnalyticsVisitsPerVisitor",H="kmAnalyticsMostEngagingPages",q="kmAnalyticsTopCategories",V=[v,b,h,y,O,_,E,k,q,S,j,A,w,C,N,R,D,P,L,M,U,B,W,H,q],K=[].concat(V,[F])},604:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return PAXEmbeddedApp}));var i=n(5),a=n.n(i),o=n(16),c=n.n(o),s=n(15),u=n.n(s),l=n(0),d=n.n(l),g=n(426),f=n(209),p=n(1),m=n(2),v=n(3),b=n(42),h=n(92),y=n(6),O=n(8),_=n(734);function PAXEmbeddedApp(t){var n,i,o,s,l,d=t.displayMode,E=void 0===d?"default":d,k=t.onLaunch,S=t.onCampaignCreated,j=t.onFinishAndCloseSignUpFlow,A=Object(p.useState)("function"==typeof(null===(n=e)||void 0===n||null===(i=n.google)||void 0===i||null===(o=i.ads)||void 0===o||null===(s=o.integration)||void 0===s||null===(l=s.integrator)||void 0===l?void 0:l.launchGoogleAds)),w=u()(A,2),C=w[0],N=w[1],R=Object(p.useState)(!1),T=u()(R,2),D=T[0],P=T[1],L=Object(p.useState)(!0),x=u()(L,2),I=x[0],M=x[1],U=Object(p.useState)(void 0),B=u()(U,2),F=B[0],W=B[1],H=Object(v.useSelect)((function(e){return"reporting"!==E?{}:e(y.a).getDateRangeDates({offsetDays:O.g})})),q=Object(v.useSelect)((function(e){return e(y.a).isAdBlockerActive()})),V=Object(f.a)(PAXEmbeddedApp,"PAXEmbeddedApp"),K="googlesitekit-pax-embedded-app-".concat(V),G=Object(p.useRef)(),Y=Object(p.useCallback)((function(){"reporting"===E&&(null==G?void 0:G.current)&&H.startDate&&H.endDate&&G.current.getServices().adsDateRangeService.update({startDate:Object(_.c)(H.startDate),endDate:Object(_.c)(H.endDate)})}),[E,H.endDate,H.startDate]),z=Object(v.useRegistry)(),X=Object(p.useCallback)(c()(a.a.mark((function t(){var n,r;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!D){t.next=2;break}return t.abrupt("return");case 2:return P(!0),n=Object(_.a)({contentContainer:"#".concat(K),reportingStyle:"reporting"===E?"REPORTING_STYLE_MINI":"REPORTING_STYLE_FULL"}),r=Object(_.b)(z,{onCampaignCreated:S,onFinishAndCloseSignUpFlow:j}),t.prev=5,t.next=8,e.google.ads.integration.integrator.launchGoogleAds(n,r);case 8:G.current=t.sent,Y(),null==k||k(G.current),t.next=17;break;case 13:t.prev=13,t.t0=t.catch(5),W(t.t0),e.console.error("Google Ads Partner Experience Error:",t.t0);case 17:M(!1);case 18:case"end":return t.stop()}}),t,null,[[5,13]])}))),[E,K,D,S,j,k,z,Y]);return Object(g.a)((function(){var t,n,r,i,a;C||D||"function"==typeof(null===(t=e)||void 0===t||null===(n=t.google)||void 0===n||null===(r=n.ads)||void 0===r||null===(i=r.integration)||void 0===i||null===(a=i.integrator)||void 0===a?void 0:a.launchGoogleAds)&&N(!0)}),D?null:50),Object(p.useEffect)((function(){C&&!D&&X()}),[D,I,C,X]),Object(p.useEffect)((function(){Y()}),[Y,H.startDate,H.endDate]),r.createElement("div",{className:"googlesitekit-pax-embedded-app"},!!F&&!q&&r.createElement(h.a,{title:Object(m.__)("Google Ads error","google-site-kit"),description:Object(m.__)("Could not load Google Ads content.","google-site-kit"),error:!0}),I&&r.createElement(b.a,{width:"100%",height:"240px"}),r.createElement("div",{id:K}))}PAXEmbeddedApp.propTypes={displayMode:d.a.oneOf(["default","reporting","setup"]),onLaunch:d.a.func,onCampaignCreated:d.a.func,onFinishAndCloseSignUpFlow:d.a.func}}).call(this,n(28),n(4))},605:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupForm}));var r=n(5),i=n.n(r),a=n(16),o=n.n(a),c=n(0),s=n.n(c),u=n(1),l=n(2),d=n(3),g=n(10),f=n(168),p=n(146),m=n(778),v=n(13),b=n(407);function SetupForm(t){var n=t.finishSetup,r=t.createAccountCTA,a=t.isNavigatingToOAuthURL,c=Object(d.useSelect)((function(e){return e(f.c).canSubmitChanges()})),s=Object(d.useSelect)((function(e){return e(f.c).isDoingSubmitChanges()&&!a})),h=Object(d.useDispatch)(f.c).submitChanges,y=Object(d.useDispatch)(v.c),O=y.setConversionTrackingEnabled,_=y.saveConversionTrackingSettings,E=Object(u.useCallback)(function(){var e=o()(i.a.mark((function e(t){var r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),e.next=3,h();case 3:if(r=e.sent,r.error){e.next=10;break}return O(!0),e.next=9,_();case 9:n();case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[n,_,O,h]);return e.createElement("form",{className:"googlesitekit-ads-setup__form",onSubmit:E},e.createElement(p.a,{moduleSlug:"ads",storeName:f.c}),e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(m.a,null)),r&&e.createElement("div",{className:"googlesitekit-setup-module__create-account"},r),e.createElement(b.a,{className:"googlesitekit-margin-top-1",message:Object(l.__)("To track the performance of your campaigns, Site Kit will enable enhanced conversion tracking. You can always disable it in settings.","google-site-kit")}),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(g.SpinnerButton,{disabled:!c||s,isSaving:s},Object(l.__)("Complete setup","google-site-kit"))))}SetupForm.propTypes={finishSetup:s.a.func,createAccountCTA:s.a.node,isNavigatingToOAuthURL:s.a.bool},SetupForm.defaultProps={finishSetup:function(){},createAccountCTA:null,isNavigatingToOAuthURL:!1}}).call(this,n(4))},61:function(e,t,n){"use strict";n.d(t,"a",(function(){return A})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return C})),n.d(t,"d",(function(){return R})),n.d(t,"e",(function(){return T})),n.d(t,"g",(function(){return P})),n.d(t,"f",(function(){return L}));var r,i=n(5),a=n.n(i),o=n(27),c=n.n(o),s=n(7),u=n.n(s),l=n(12),d=n.n(l),g=n(60),f=n.n(g),p=n(14),m=n(116);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:r,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.reduce((function(e,n){return n(e,t)}),e)}},E=h,k=h,S=h,j=function(e){return e},A=function(){for(var e=arguments.length,t=new Array(e),n=0;n=1?n[i]+1:1,n[i]>1&&t.push(i)}return t},R={actions:w,controls:C,reducer:j},T=function(e){return function(t){return D(e(t))}},D=f()((function(e){return Object(p.mapValues)(e,(function(e,t){return function(){var n=e.apply(void 0,arguments);return d()(void 0!==n,"".concat(t,"(...) is not resolved")),n}}))}));function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.negate,r=void 0!==n&&n,i=Object(m.b)((function(t){return function(n){var i=!r,a=!!r;try{for(var o=arguments.length,c=new Array(o>1?o-1:0),s=1;s1?r-1:0),a=1;a2&&void 0!==arguments[2]?arguments[2]:{},i=e(h.c).getSiteInfo()||{},a=i.adminURL;if(void 0===a||void 0===n)return a;var c="/"===a[a.length-1]?a:"".concat(a,"/"),s=n,u="admin.php";if(-1!==n.indexOf(".php?")){var l=n.split("?");if(!(s=p.a.parse(l.pop()).page))return a;u=l.shift()}r.page;var d=o()(r,["page"]);return Object(m.a)("".concat(c).concat(u),E({page:s},d))}})),getAMPMode:k("ampMode"),getCurrentEntityID:k("currentEntityID"),getCurrentEntityTitle:k("currentEntityTitle"),getCurrentEntityType:k("currentEntityType"),getCurrentEntityURL:k("currentEntityURL"),getHomeURL:k("homeURL"),getReferenceSiteURL:k("referenceSiteURL"),getProxySetupURL:k("proxySetupURL"),getProxyPermissionsURL:k("proxyPermissionsURL"),getCurrentReferenceURL:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getCurrentEntityURL();return null!==t?t:e(h.c).getReferenceSiteURL()}})),isAMP:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getAMPMode();if(void 0!==t)return!!t}})),isPrimaryAMP:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getAMPMode();if(void 0!==t)return t===h.a}})),isSecondaryAMP:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getAMPMode();if(void 0!==t)return t===h.b}})),getAdminSettingsURL:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getAdminURL(),n=e(h.c).isMultisite();if(void 0!==t&&void 0!==n)return new URL(!0===n?"network/settings.php":"options-general.php",t).href}})),getTimezone:k("timezone"),isUsingProxy:k("usingProxy"),getSiteName:k("siteName"),getSetupErrorCode:k("setupErrorCode"),getSetupErrorMessage:k("setupErrorMessage"),getSetupErrorRedoURL:k("setupErrorRedoURL"),getProxySupportLinkURL:k("proxySupportLinkURL"),getWidgetsAdminURL:k("widgetsAdminURL"),getPostTypes:k("postTypes"),getPermaLinkParam:function(t){if(t.permaLink)return t.permaLink;var n=Object(v.a)(e.location.href,"permaLink");return n||!1},isWebStoriesActive:k("webStoriesActive"),isSiteURLMatch:Object(b.createRegistrySelector)((function(e){return function(t,n){var r=e(h.c).getReferenceSiteURL();return Object(y.B)(r)===Object(y.B)(n)}})),getSiteURLPermutations:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getReferenceSiteURL(),n=[],r=new URL(t);return r.hostname=r.hostname.replace(/^www\./i,""),r.protocol="http",n.push(Object(y.L)(r)),r.protocol="https",n.push(Object(y.L)(r)),r.hostname="www."+r.hostname,n.push(Object(y.L)(r)),r.protocol="http",n.push(Object(y.L)(r)),n}})),getWPVersion:k("wpVersion"),getUpdateCoreURL:k("updateCoreURL"),hasChangePluginAutoUpdatesCapacity:k("changePluginAutoUpdatesCapacity"),getSiteKitAutoUpdatesEnabled:k("siteKitAutoUpdatesEnabled"),getPluginBasename:k("pluginBasename"),getKeyMetricsSetupCompletedBy:k("keyMetricsSetupCompletedBy"),getKeyMetricsSetupNew:k("keyMetricsSetupNew"),hasMinimumWordPressVersion:Object(b.createRegistrySelector)((function(e){return function(t,n){g()(n,"minimumWPVersion is required.");var r=e(h.c).getWPVersion()||{},a=r.major,o=r.minor;if(void 0!==a&&void 0!==o){var c=n.split(".").map((function(e){return parseInt(e,10)})),s=i()(c,2),u=s[0],l=s[1];return u2&&void 0!==arguments[2]?arguments[2]:[];return u()(e,"error is required."),u()(t,"baseName is required."),u()(n&&Array.isArray(n),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:e,baseName:t,args:n}}},clearError:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return u()(e,"baseName is required."),u()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:e,args:t}}},clearErrors:function(e){return{type:"CLEAR_ERRORS",payload:{baseName:e}}}};function b(e){u()(e,"storeName must be defined.");var t={getErrorForSelector:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(n,"selectorName is required."),t.getError(e,n,r)},getErrorForAction:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(n,"actionName is required."),t.getError(e,n,r)},getError:function(e,t,n){var r=e.errors;return u()(t,"baseName is required."),r[m(t,n)]},getErrors:function(e){var t=new Set(Object.values(e.errors));return Array.from(t)},getMetaDataForError:function(e,t){var n=Object.keys(e.errors).find((function(n){return e.errors[n]===t}));return n?{baseName:n.substring(0,n.indexOf("::")),args:e.errorArgs[n]}:null},getSelectorDataForError:Object(c.b)((function(t){return function(n,r){var i=t(e).getMetaDataForError(r);if(i){var a=i.baseName,o=i.args;if(!!t(e)[a])return{storeName:e,name:a,args:o}}return null}})),hasErrors:function(e){return t.getErrors(e).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:v,controls:{},reducer:function(e,t){var n=t.type,r=t.payload;switch(n){case"RECEIVE_ERROR":var a=r.baseName,o=r.args,c=r.error,s=m(a,o);return p(p({},e),{},{errors:p(p({},e.errors||{}),{},i()({},s,c)),errorArgs:p(p({},e.errorArgs||{}),{},i()({},s,o))});case"CLEAR_ERROR":var u=r.baseName,l=r.args,d=p({},e),g=m(u,l);return d.errors=p({},e.errors||{}),d.errorArgs=p({},e.errorArgs||{}),delete d.errors[g],delete d.errorArgs[g],d;case"CLEAR_ERRORS":var f=r.baseName,v=p({},e);if(f)for(var b in v.errors=p({},e.errors||{}),v.errorArgs=p({},e.errorArgs||{}),v.errors)(b===f||b.startsWith("".concat(f,"::")))&&(delete v.errors[b],delete v.errorArgs[b]);else v.errors={},v.errorArgs={};return v;default:return e}},resolvers:{},selectors:t}}},655:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsStatuses}));var r=n(0),i=n.n(r),a=n(2),o=n(10);function SettingsStatuses(t){var n=t.statuses;if(!n||0===n.length)return null;return e.createElement("div",{className:"googlesitekit-settings-module__meta-items"},n.map((function(t){var n=t.label,r=t.status;return e.createElement("div",{key:n,className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},n),function(t){return void 0===t?e.createElement("div",{className:"googlesitekit-settings-module__meta-item-data"},e.createElement(o.ProgressBar,null)):e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},t?Object(a.__)("Enabled","google-site-kit"):Object(a.__)("Disabled","google-site-kit"))}(r))})))}SettingsStatuses.propTypes={statuses:i.a.arrayOf(i.a.shape({label:i.a.string.isRequired,status:i.a.oneOf([void 0,!0,!1])}))}}).call(this,n(4))},656:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ConversionTrackingToggle}));var r=n(15),i=n.n(r),a=n(1),o=n(2),c=n(10),s=n(3),u=n(13),l=n(57),d=n(174),g=n(657),f=n(18),p=n(9),m=n(0),v=n.n(m);function ConversionTrackingToggle(t){var n=t.children,r=t.loading,m=Object(f.a)(),v=Object(a.useState)(null),b=i()(v,1)[0],h=Object(a.useState)(!1),y=i()(h,2),O=y[0],_=y[1],E=Object(s.useSelect)((function(e){return e(u.c).isConversionTrackingEnabled()})),k=Object(s.useSelect)((function(e){return e(u.c).isFetchingSaveConversionTrackingSettings()})),S=Object(s.useDispatch)(u.c).setConversionTrackingEnabled;return e.createElement("div",null,e.createElement(d.a,{loading:r,width:"180px",height:"21.3px"},e.createElement("div",{className:"googlesitekit-module-settings-group__switch"},e.createElement(c.Switch,{label:Object(o.__)("Enhanced conversion tracking","google-site-kit"),checked:E,disabled:k||r,onClick:function(){E?(Object(p.J)("".concat(m),"ect_disable"),_(!0)):(Object(p.J)("".concat(m),"ect_enable"),S(!0))},hideLabel:!1}))),!!b&&e.createElement(l.a,{message:b.message}),e.createElement(d.a,{className:"googlesitekit-settings-conversion-tracking-switch-description--loading",loading:r,width:"750px",height:"42px",smallWidth:"386px",smallHeight:"84px",tabletWidth:"540px",tabletHeight:"84px"},e.createElement("p",{className:"googlesitekit-module-settings-group__helper-text"},n)),O&&e.createElement(g.a,{onConfirm:function(){Object(p.J)("".concat(m),"ect_confirm_disable"),S(!1),_(!1)},onCancel:function(){Object(p.J)("".concat(m),"ect_cancel_disable"),_(!1)}}))}ConversionTrackingToggle.propTypes={children:v.a.node.isRequired,loading:v.a.bool}}).call(this,n(4))},657:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ConfirmDisableConversionTrackingDialog}));var r=n(0),i=n.n(r),a=n(85),o=n(2),c=n(112),s=n(9),u=n(18);function ConfirmDisableConversionTrackingDialog(t){var n=t.onConfirm,r=t.onCancel,i=Object(u.a)(),l=Object(o.__)("By disabling enhanced conversion tracking, you will no longer have access to:","google-site-kit"),d=[Object(o.__)("Performance of your Ad campaigns","google-site-kit"),Object(o.__)("Tracking additional conversion-related events via Analytics","google-site-kit")];return Object(a.a)((function(){Object(s.J)("".concat(i),"ect_view_modal")})),e.createElement(c.a,{className:"googlesitekit-settings-module__confirm-disconnect-modal",dialogActive:!0,title:Object(o.__)("Disable enhanced conversion tracking","google-site-kit"),subtitle:l,handleConfirm:n,handleDialog:r,onClose:r,provides:d,confirmButton:Object(o.__)("Disable","google-site-kit"),danger:!0})}ConfirmDisableConversionTrackingDialog.propTypes={onConfirm:i.a.func.isRequired,onCancel:i.a.func.isRequired}}).call(this,n(4))},658:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsGroup}));var r=n(0),i=n.n(r);function SettingsGroup(t){var n=t.title,r=t.children;return e.createElement("div",{className:"googlesitekit-module-settings-group"},e.createElement("h4",null,n),r)}SettingsGroup.propTypes={title:i.a.string.isRequired,children:i.a.node.isRequired}}).call(this,n(4))},659:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return FirstPartyModeToggle}));var r=n(11),i=n.n(r),a=n(85),o=n(1),c=n(39),s=n(2),u=n(10),l=n(3),d=n(13),g=n(76),f=n(300),p=n(21),m=n(18),v=n(9),b=n(118),h=Object(b.a)(f.b);function FirstPartyModeToggle(t){var n=t.className,r=Object(m.a)(),f=Object(l.useSelect)((function(e){return e(d.c).isFirstPartyModeEnabled()})),b=Object(l.useSelect)((function(e){return e(d.c).isFetchingGetFPMServerRequirementStatus()})),y=Object(l.useSelect)((function(e){var t=e(d.c),n=t.isFPMHealthy,r=t.isScriptAccessEnabled;return!1!==n()&&!1!==r()})),O=Object(l.useDispatch)(d.c),_=O.fetchGetFPMServerRequirementStatus,E=O.setFirstPartyModeEnabled,k=Object(l.useSelect)((function(e){return e(d.c).getDocumentationLinkURL("first-party-mode-introduction")})),S=Object(l.useSelect)((function(e){return e(d.c).getDocumentationLinkURL("first-party-mode-server-requirements")}));Object(a.a)(_);var j=Object(o.useCallback)((function(){var e=f?"deactivate_first_party_mode":"activate_first_party_mode";Object(v.J)("".concat(r,"_fpm-settings-toggle"),e).finally((function(){E(!f)}))}),[f,E,r]);return e.createElement("div",{className:i()("googlesitekit-first-party-mode-toggle",n)},b&&e.createElement(u.ProgressBar,{small:!0,className:"googlesitekit-first-party-mode-toggle__progress"}),!b&&e.createElement("div",{className:"googlesitekit-module-settings-group__switch"},e.createElement(u.Switch,{label:Object(s.__)("First-party mode","google-site-kit"),checked:!!f&&y,disabled:!y,onClick:j,hideLabel:!1}),e.createElement("div",{className:"googlesitekit-first-party-mode-toggle__switch-badge"},e.createElement(g.a,{className:"googlesitekit-badge--beta",hasLeftSpacing:!0,label:Object(s.__)("Beta","google-site-kit")}))),e.createElement("p",{className:"googlesitekit-module-settings-group__helper-text"},Object(c.a)(Object(s.__)("Your tag data will be sent through your own domain to improve data quality and help you recover measurement signals. Learn more","google-site-kit"),{a:e.createElement(p.a,{href:k,onClick:function(){Object(v.J)("".concat(r,"_fpm-settings-toggle"),"click_learn_more_link")},external:!0,"aria-label":Object(s.__)("Learn more about First-party mode","google-site-kit")})})),!b&&!y&&e.createElement(h,{title:Object(c.a)(Object(s.__)("Your server’s current settings prevent First-party mode from working. To enable it, please contact your hosting provider and request access to external resources and plugin files. Learn more","google-site-kit"),{a:e.createElement(p.a,{href:S,onClick:function(){Object(v.J)("".concat(r,"_fpm-settings-toggle-disabled"),"click_learn_more_link")},external:!0,"aria-label":Object(s.__)("Learn more about First-party mode server requirements","google-site-kit")})}),variant:"warning",onInView:function(){Object(v.J)("".concat(r,"_fpm-settings-toggle-disabled"),"view_notice")}}))}}).call(this,n(4))},66:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(e,t)}};function c(e){var t,n="object"===i()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},734:function(e,t,n){"use strict";n.d(t,"a",(function(){return r.a})),n.d(t,"b",(function(){return _})),n.d(t,"c",(function(){return m}));var r=n(853),i=n(5),a=n.n(i),o=n(16),c=n.n(o),s=n(14),u=n(60),l=n.n(u),d=n(268),g=n(13),f=n(168),p=n(9);function m(e){var t=Object(p.H)(e);return{year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate()}}var v=n(6),b=n(44),h=n.n(b),y=function(){var e=c()(a.a.mark((function e(){var t;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Object(d.default)({path:"/wp/v2/pages?per_page=100"});case 3:return t=e.sent,e.abrupt("return",t.map((function(e){return{title:e.title.rendered,path:new URL(e.link).pathname}})));case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",[]);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(){return e.apply(this,arguments)}}();function O(){var e=l()((function(){return h.a.set("core","user","get-token")})),t=Object(s.debounce)(e.clear,3e4,{leading:!1,trailing:!0,maxWait:24e4});function n(){return t(),e()}return n.clear=function(){t.cancel(),e.clear()},n}function _(e){var t,n,r,i,o,s,u,l,d,p,b,h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},_=h.onCampaignCreated,E=void 0===_?null:_,k=h.onFinishAndCloseSignUpFlow,S=void 0===k?null:k,j=e.select,A=e.resolveSelect,w=O(),C={authenticationService:{get:(b=c()(a.a.mark((function e(){var t;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,w();case 2:return t=e.sent,e.abrupt("return",{accessToken:t.token});case 4:case"end":return e.stop()}}),e)}))),function(){return b.apply(this,arguments)}),fix:(p=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return w.clear(),e.abrupt("return",{retryReady:!0});case 2:case"end":return e.stop()}}),e)}))),function(){return p.apply(this,arguments)})},businessService:{getBusinessInfo:(d=c()(a.a.mark((function e(){var t,n;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,A(g.c).getSiteInfo();case 2:return t=j(g.c).getSiteName(),n=j(g.c).getHomeURL(),e.abrupt("return",{businessName:t,businessUrl:n});case 5:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)}),fixBusinessInfo:(l=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{retryReady:!0});case 1:case"end":return e.stop()}}),e)}))),function(){return l.apply(this,arguments)})},campaignService:{notifyNewCampaignCreated:(u=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!E){e.next=3;break}return e.next=3,E();case 3:return e.abrupt("return",{});case 4:case"end":return e.stop()}}),e)}))),function(){return u.apply(this,arguments)})},conversionTrackingService:{getSupportedConversionLabels:(s=c()(a.a.mark((function e(){var t;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,A(f.c).getModuleData();case 2:return t=j(f.c).getSupportedConversionEvents()||[],e.abrupt("return",{conversionLabels:t});case 4:case"end":return e.stop()}}),e)}))),function(){return s.apply(this,arguments)}),getPageViewConversionSetting:(o=c()(a.a.mark((function e(){var t;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y();case 2:return t=e.sent,e.abrupt("return",{websitePages:t});case 4:case"end":return e.stop()}}),e)}))),function(){return o.apply(this,arguments)}),getSupportedConversionTrackingTypes:(i=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{conversionTrackingTypes:["TYPE_CONVERSION_EVENT","TYPE_PAGE_VIEW"]});case 1:case"end":return e.stop()}}),e)}))),function(){return i.apply(this,arguments)})},termsAndConditionsService:{notify:(r=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{});case 1:case"end":return e.stop()}}),e)}))),function(){return r.apply(this,arguments)})},partnerDateRangeService:{get:(n=c()(a.a.mark((function t(){var n,r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.select(v.a).getDateRangeDates({offsetDays:f.b}),r=n.startDate,i=n.endDate,t.abrupt("return",{startDate:m(r),endDate:m(i)});case 2:case"end":return t.stop()}}),t)}))),function(){return n.apply(this,arguments)})},userActionService:{finishAndCloseSignUpFlow:(t=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!S){e.next=3;break}return e.next=3,S();case 3:return e.abrupt("return",{});case 4:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}};return C}},738:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsForm}));var r=n(2),i=n(1),a=n(39),o=n(3),c=n(168),s=n(656),u=n(146),l=n(778),d=n(105),g=n(180),f=n(13),p=n(21),m=n(658),v=n(659);function SettingsForm(){var t=Object(d.a)("adsPax"),n=Object(d.a)("firstPartyMode"),b=Object(o.useSelect)((function(e){return e(c.c).getConversionID()})),h=Object(o.useSelect)((function(e){return e(c.c).getPaxConversionID()})),y=Object(o.useSelect)((function(e){return e(c.c).getExtCustomerID()})),O=Object(o.useSelect)((function(e){return e(f.c).getDocumentationLinkURL("enhanced-conversion-tracking")})),_=t&&h?h:b,E=t&&(h||y);return e.createElement(i.Fragment,null,e.createElement("div",{className:"googlesitekit-ads-settings-fields"},e.createElement(u.a,{moduleSlug:"ads",storeName:c.c}),!E&&e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(l.a,{helperText:Object(r.__)("The Conversion Tracking ID will help track the performance of ad campaigns for the corresponding account","google-site-kit")})),E&&e.createElement("div",null,e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(r.__)("Conversion Tracking ID","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},""===_&&Object(r.__)("None","google-site-kit"),_||void 0===_&&e.createElement(g.b,{value:_}))),e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(r.__)("Customer ID","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},""===y&&Object(r.__)("None","google-site-kit"),y||void 0===y&&e.createElement(g.b,{value:y})))),e.createElement(m.a,{title:Object(r.__)("Improve your measurement","google-site-kit")},e.createElement(s.a,null,Object(a.a)(Object(r.__)("To track the performance of your campaigns, Site Kit will enable enhanced conversion tracking. Learn more","google-site-kit"),{a:e.createElement(p.a,{href:O,external:!0,"aria-label":Object(r.__)("Learn more about conversion tracking","google-site-kit")})})),n&&e.createElement(v.a,null))))}}).call(this,n(4))},75:function(e,t,n){"use strict";var r=n(1);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:c,t=e.fps,n=e.leading,r=e.initialWidth,l=void 0===r?0:r,d=e.initialHeight,g=void 0===d?0:d,f=Object(a.a)("undefined"==typeof document?[l,g]:u,t,n),p=i()(f,2),m=p[0],v=p[1],b=function(){return v(u)};return Object(o.a)(s,"resize",b),Object(o.a)(s,"orientationchange",b),m},d=function(e){return l(e)[0]}}).call(this,n(28))},778:function(e,t,n){"use strict";var r=n(852);n.d(t,"a",(function(){return r.a}));n(604)},78:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(0),i=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,i=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:i}},n)}IconWrapper.propTypes={children:i.a.node.isRequired,marginLeft:i.a.number,marginRight:i.a.number}}).call(this,n(4))},8:function(e,t,n){"use strict";n.d(t,"r",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"s",(function(){return a})),n.d(t,"z",(function(){return o})),n.d(t,"o",(function(){return c})),n.d(t,"q",(function(){return s})),n.d(t,"g",(function(){return u})),n.d(t,"p",(function(){return l})),n.d(t,"j",(function(){return d})),n.d(t,"i",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"m",(function(){return p})),n.d(t,"n",(function(){return m})),n.d(t,"h",(function(){return v})),n.d(t,"x",(function(){return b})),n.d(t,"w",(function(){return h})),n.d(t,"y",(function(){return y})),n.d(t,"u",(function(){return O})),n.d(t,"v",(function(){return _})),n.d(t,"f",(function(){return E})),n.d(t,"l",(function(){return k})),n.d(t,"e",(function(){return S})),n.d(t,"t",(function(){return j})),n.d(t,"c",(function(){return A})),n.d(t,"d",(function(){return w})),n.d(t,"b",(function(){return C}));var r="modules/analytics-4",i="account_create",a="property_create",o="webdatastream_create",c="analyticsSetup",s=10,u=1,l="https://www.googleapis.com/auth/tagmanager.readonly",d="enhanced-measurement-form",g="enhanced-measurement-enabled",f="enhanced-measurement-should-dismiss-activation-banner",p="analyticsAccountCreate",m="analyticsCustomDimensionsCreate",v="https://www.googleapis.com/auth/analytics.edit",b="dashboardAllTrafficWidgetDimensionName",h="dashboardAllTrafficWidgetDimensionColor",y="dashboardAllTrafficWidgetDimensionValue",O="dashboardAllTrafficWidgetActiveRowIndex",_="dashboardAllTrafficWidgetLoaded",E={googlesitekit_post_date:{parameterName:"googlesitekit_post_date",displayName:"WordPress Post Date",description:"Created by Site Kit: Date when a post was published",scope:"EVENT"},googlesitekit_post_author:{parameterName:"googlesitekit_post_author",displayName:"WordPress Post Author",description:"Created by Site Kit: WordPress name of the post author",scope:"EVENT"},googlesitekit_post_categories:{parameterName:"googlesitekit_post_categories",displayName:"WordPress Post Categories",description:"Created by Site Kit: Names of categories assigned to a post",scope:"EVENT"},googlesitekit_post_type:{parameterName:"googlesitekit_post_type",displayName:"WordPress Post Type",description:"Created by Site Kit: Content type of a post",scope:"EVENT"}},k={ADD_TO_CART:"add_to_cart",PURCHASE:"purchase",SUBMIT_LEAD_FORM:"submit_lead_form",GENERATE_LEAD:"generate_lead",CONTACT:"contact"},S=[k.CONTACT,k.GENERATE_LEAD,k.SUBMIT_LEAD_FORM],j={"new-visitors":{description:"People who visited the site for the first time",displayName:"New visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"new"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:new_visitors"}}}}]}}]}}}}]},"returning-visitors":{description:"People who have visited your site at least once before",displayName:"Returning visitors",membershipDurationDays:-1,filterClauses:[{clauseType:"INCLUDE",simpleFilter:{scope:"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",filterExpression:{andGroup:{filterExpressions:[{orGroup:{filterExpressions:[{dimensionOrMetricFilter:{fieldName:"newVsReturning",stringFilter:{matchType:"EXACT",value:"returning"}}}]}},{orGroup:{filterExpressions:[{notExpression:{dimensionOrMetricFilter:{fieldName:"groupId",stringFilter:{matchType:"EXACT",value:"created_by_googlesitekit:returning_visitors"}}}}]}}]}}}}]}},A="audiencePermissionsSetup",w="audienceTileCustomDimensionCreate",C="audience-selection-panel-expirable-new-badge-"},80:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return a}));var r=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},i=function(e){return e.replace(/([a-z0-9]{1})([A-Z]{1})/g,"$1_$2").toUpperCase()};function a(e){return e.split("-").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}},81:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(107);function i(e){try{return new URL(e).pathname}catch(e){}return null}function a(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function o(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(e,t){if(!Object(r.a)(e))return e;if(e.length<=t)return e;var n=new URL(e),i=e.replace(n.origin,"");if(i.length1&&void 0!==arguments[1]?arguments[1]:{},n=O(e,t),r=n.formatUnit,i=n.formatDecimal;try{return r()}catch(e){return i()}},h=function(e){var t=y(e),n=t.hours,r=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(i):"".concat(n,":").concat(r,":").concat(i)},y=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},O=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=y(e),r=n.hours,i=n.minutes,a=n.seconds;return{hours:r,minutes:i,seconds:a,formatUnit:function(){var n=t.unitDisplay,o=v(v({unitDisplay:void 0===n?"short":n},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?A(a,v(v({},o),{},{unit:"second"})):Object(p.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?A(a,v(v({},o),{},{unit:"second"})):"",i?A(i,v(v({},o),{},{unit:"minute"})):"",r?A(r,v(v({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(p.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. +Object(p.__)("%ds","google-site-kit"),a);if(0===e)return t;var n=Object(p.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. +Object(p.__)("%dm","google-site-kit"),i),o=Object(p.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. +Object(p.__)("%dh","google-site-kit"),r);return Object(p.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?t:"",i?n:"",r?o:"").trim()}}},_=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},E=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in millions. +Object(p.__)("%sM","google-site-kit"),A(_(e),e%10==0?{}:t)):1e4<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(p.__)("%sK","google-site-kit"),A(_(e))):1e3<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(p.__)("%sK","google-site-kit"),A(_(e),e%10==0?{}:t)):A(e,{signDisplay:"never",maximumFractionDigits:1})};function k(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=v({},e)),t}function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=k(t),r=n.style,i=void 0===r?"metric":r;return"metric"===i?E(e):"duration"===i?b(e,n):"durationISO"===i?h(e):A(e,n)}var j=f()(console.warn),A=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?C():n,a=l()(t,["locale"]);try{return new Intl.NumberFormat(r,a).format(e)}catch(t){j("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(a)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],u={},d=0,g=Object.entries(a);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?C():n,i=t.style,a=void 0===i?"long":i,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:a,type:c});return s.format(e)} +/* translators: used between list items, there is a space after the comma. */var u=Object(p.__)(", ","google-site-kit");return e.join(u)},C=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},83:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i}));var r=n(147),i=n.n(r)()(e)}).call(this,n(28))},84:function(e,t,n){"use strict";n.r(t),n.d(t,"AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY",(function(){return r})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY",(function(){return i})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_AUDIENCE_SEGMENTATION",(function(){return a})),n.d(t,"AREA_MAIN_DASHBOARD_CONTENT_PRIMARY",(function(){return o})),n.d(t,"AREA_MAIN_DASHBOARD_SPEED_PRIMARY",(function(){return c})),n.d(t,"AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY",(function(){return s})),n.d(t,"AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY",(function(){return u})),n.d(t,"AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY",(function(){return l})),n.d(t,"AREA_ENTITY_DASHBOARD_SPEED_PRIMARY",(function(){return d})),n.d(t,"AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY",(function(){return g}));var r="mainDashboardKeyMetricsPrimary",i="mainDashboardTrafficPrimary",a="mainDashboardTrafficAudienceSegmentation",o="mainDashboardContentPrimary",c="mainDashboardSpeedPrimary",s="mainDashboardMonetizationPrimary",u="entityDashboardTrafficPrimary",l="entityDashboardContentPrimary",d="entityDashboardSpeedPrimary",g="entityDashboardMonetizationPrimary";t.default={AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY:r,AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY:i,AREA_MAIN_DASHBOARD_CONTENT_PRIMARY:o,AREA_MAIN_DASHBOARD_SPEED_PRIMARY:c,AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY:s,AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY:u,AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY:l,AREA_ENTITY_DASHBOARD_SPEED_PRIMARY:d,AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY:g}},851:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsView}));var r=n(11),i=n.n(r),a=n(2),o=n(3),c=n(168),s=n(13),u=n(6),l=n(180),d=n(238),g=n(105),f=n(655);function SettingsView(){var t=Object(g.a)("adsPax"),n=Object(g.a)("firstPartyMode"),r=Object(o.useSelect)((function(e){return e(c.c).getConversionID()})),p=Object(o.useSelect)((function(e){return e(c.c).getPaxConversionID()})),m=Object(o.useSelect)((function(e){return e(c.c).getExtCustomerID()})),v=Object(o.useSelect)((function(e){return e(u.a).isAdBlockerActive()})),b=t&&p?p:r,h=t&&(p||m),y=Object(o.useSelect)((function(e){return e(s.c).isConversionTrackingEnabled()})),O=Object(o.useSelect)((function(e){if(!n)return!1;var t=e(s.c),r=t.isFirstPartyModeEnabled,i=t.isFPMHealthy,a=t.isScriptAccessEnabled;return r()&&i()&&a()}));return e.createElement("div",{className:"googlesitekit-setup-module"},e.createElement("div",{className:i()({"googlesitekit-settings-module__meta-item":v})},e.createElement(d.a,{moduleSlug:"ads"})),!v&&e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(a.__)("Conversion Tracking ID","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},""===b&&Object(a.__)("None","google-site-kit"),b||void 0===b&&e.createElement(l.b,{value:b}))),!v&&h&&e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(a.__)("Customer ID","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},""===m&&Object(a.__)("None","google-site-kit"),m||void 0===m&&e.createElement(l.b,{value:m}))),e.createElement(f.a,{statuses:n?[{label:Object(a.__)("Enhanced Conversion Tracking","google-site-kit"),status:y},{label:Object(a.__)("First-party mode","google-site-kit"),status:O}]:[{label:Object(a.__)("Conversion Tracking","google-site-kit"),status:y}]}))}}).call(this,n(4))},852:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ConversionIDTextField}));var r=n(15),i=n.n(r),a=n(11),o=n.n(a),c=n(1),s=n(2),u=n(155),l=n(3),d=n(10),g=n(168),f=n(103),p=n(544),m=n(359);function ConversionIDTextField(t){var n=t.helperText,r=Object(l.useSelect)((function(e){return e(g.c).getConversionID()})),a=Object(c.useState)(!r||Object(p.a)(r)),v=i()(a,2),b=v[0],h=v[1],y=Object(u.a)(h,500),O=Object(l.useDispatch)(g.c).setConversionID,_=Object(c.useCallback)((function(e){var t=e.currentTarget.value.trim().toUpperCase();""===t||/^AW-/.test(t)||(t="AW-".concat(t)),t!==r&&O(t),y(Object(p.a)(t))}),[y,r,O]);return e.createElement("div",{className:"googlesitekit-settings-module__fields-group"},e.createElement("h4",{className:"googlesitekit-settings-module__fields-group-title"},Object(s.__)("Conversion Tracking ID","google-site-kit")),n&&e.createElement("p",{className:"googlesitekit-settings-module__fields-group-helper-text"},n),e.createElement(d.TextField,{label:Object(s.__)("Conversion Tracking ID","google-site-kit"),className:o()("googlesitekit-text-field-conversion-tracking-id",{"mdc-text-field--error":!b}),helperText:!b&&Object(s.__)("Tracking for your Ads campaigns won’t work until you insert a valid ID","google-site-kit"),leadingIcon:e.createElement("span",{className:"googlesitekit-text-field-conversion-tracking-id-prefix"},"AW-"),trailingIcon:!b&&e.createElement("span",{className:"googlesitekit-text-field-icon--error"},e.createElement(f.a,null,Object(s.__)("Error","google-site-kit")),e.createElement(m.a,{width:14,height:12})),outlined:!0,value:null==r?void 0:r.replace(/^(AW)?-?/,""),onChange:_,maxLength:20}))}}).call(this,n(4))},853:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return c}));var r=n(12),i=n.n(r),a=n(14),o=n(511);function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.contentContainer,r=t.reportingStyle,c=t._global,s=void 0===c?e:c,u=null==s?void 0:s[o.a];return i()(Object(a.isPlainObject)(u),"base PAX config must be a plain object"),Object(a.merge)(u,n?{clientConfig:{contentContainer:n}}:{},r?{contentConfig:{partnerAdsExperienceConfig:{reportingStyle:r}}}:{})}}).call(this,n(28))},854:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsEdit}));var r=n(3),i=n(10),a=n(168),o=n(6),c=n(738),s=n(238);function SettingsEdit(){var t,n=Object(r.useSelect)((function(e){return e(a.c).isDoingSubmitChanges()}));return t=Object(r.useSelect)((function(e){return e(o.a).isAdBlockerActive()}))?e.createElement(s.a,{moduleSlug:"ads"}):n?e.createElement(i.ProgressBar,null):e.createElement(c.a,null),e.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--ads"},t)}}).call(this,n(4))},855:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupMain}));var r=n(0),i=n.n(r),a=n(1),o=n(39),c=n(2),s=n(3),u=n(613),l=n(605),d=n(185),g=n(238),f=n(6);function SetupMain(t){var n=t.finishSetup,r=Object(s.useSelect)((function(e){return e(f.a).isAdBlockerActive()}));return e.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--ads"},e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement("div",{className:"googlesitekit-setup-module__logo"},e.createElement(u.a,{width:"40",height:"40"})),e.createElement("h2",{className:"googlesitekit-heading-3 googlesitekit-setup-module__title"},Object(c._x)("Ads","Service name","google-site-kit"))),e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement(g.a,{moduleSlug:"ads"}),!r&&e.createElement(a.Fragment,null,e.createElement("p",null,Object(o.a)(Object(c.__)("Add your conversion ID below. Site Kit will place it on your site so you can track the performance of your Google Ads campaigns. Learn more","google-site-kit"),{a:e.createElement(d.a,{path:"/google-ads/thread/108976144/where-i-can-find-google-conversion-id-begins-with-aw",external:!0})}),e.createElement("br",null),Object(c.__)("You can always change this later in Site Kit Settings.","google-site-kit")),e.createElement(l.a,{finishSetup:n}))))}SetupMain.propTypes={finishSetup:i.a.func},SetupMain.defaultProps={finishSetup:function(){}}}).call(this,n(4))},856:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SetupMainPAX}));var i=n(5),a=n.n(i),o=n(16),c=n.n(o),s=n(7),u=n.n(s),l=n(15),d=n.n(l),g=n(246),f=n(1),p=n(39),m=n(2),v=n(165),b=n(3),h=n(10),y=n(613),O=n(605),_=n(185),E=n(238),k=n(6),S=n(32),j=n(168),A=n(189),w=n(604),C=n(13),N=n(511),R=n(105);function SetupMainPAX(t){var n=t.finishSetup,i=Object(A.a)(N.b),o=d()(i,2),s=o[0],l=o[1],T=!!s&&parseInt(s,10),D=Object(f.useRef)(),P=Object(b.useSelect)((function(e){return e(k.a).isAdBlockerActive()})),L=Object(b.useSelect)((function(e){return e(k.a).hasScope(j.a)})),x=Object(b.useSelect)((function(t){var n=Object(v.a)(e.location.href,u()({},N.b,N.c.LAUNCH));return t(k.a).getConnectURL({additionalScopes:[j.a,j.d],redirectURL:n})})),I=Object(b.useSelect)((function(e){return!!x&&e(S.a).isNavigatingTo(x)})),M=Object(b.useDispatch)(S.a).navigateTo,U=Object(b.useDispatch)(j.c),B=U.setPaxConversionID,F=U.setExtCustomerID,W=U.submitChanges,H=Object(g.a)(c()(a.a.mark((function e(){var t,n,r,i,o;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null==D?void 0:D.current){e.next=2;break}return e.abrupt("return");case 2:return t=D.current.getServices(),n=t.accountService,r=t.conversionTrackingIdService,e.next=5,n.getAccountId({});case 5:return i=e.sent,e.next=8,r.getConversionTrackingId({});case 8:if(o=e.sent,i.externalCustomerId||o.conversionTrackingId){e.next=11;break}return e.abrupt("return");case 11:return F(i.externalCustomerId),B(o.conversionTrackingId),e.next=15,W();case 15:case"end":return e.stop()}}),e)}))),[F,B]),q=Object(b.useRegistry)(),V=Object(g.a)(c()(a.a.mark((function e(){var t,r,i;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=q.select,r=q.resolveSelect,e.next=3,r(C.c).getSiteInfo();case 3:i=t(C.c).getAdminURL("googlesitekit-dashboard",{notification:N.d}),n(i);case 5:case"end":return e.stop()}}),e)}))),[q,n]),K=Object(f.useCallback)((function(){L?l(N.c.LAUNCH):M(x)}),[M,l,L,x]),G=Object(f.useCallback)((function(e){D.current=e}),[]),Y=Object(R.a)("adsPax");return Object(f.useEffect)((function(){Y&&K()}),[Y,K]),r.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--ads"},r.createElement("div",{className:"googlesitekit-setup-module__step"},r.createElement("div",{className:"googlesitekit-setup-module__logo"},r.createElement(y.a,{width:"40",height:"40"})),r.createElement("h2",{className:"googlesitekit-heading-3 googlesitekit-setup-module__title"},Object(m._x)("Ads","Service name","google-site-kit"))),r.createElement("div",{className:"googlesitekit-setup-module__step"},r.createElement(E.a,{moduleSlug:"ads"}),Y&&!T&&r.createElement(h.ProgressBar,null),!P&&N.c.LAUNCH===T&&L&&r.createElement(w.a,{displayMode:"setup",onLaunch:G,onCampaignCreated:H,onFinishAndCloseSignUpFlow:V}),!Y&&!P&&(!T||!L)&&r.createElement(f.Fragment,null,r.createElement("p",null,Object(p.a)(Object(m.__)("Add your conversion ID below. Site Kit will place it on your site so you can track the performance of your Google Ads campaigns. Learn more","google-site-kit"),{a:r.createElement(_.a,{path:"/google-ads/thread/108976144/where-i-can-find-google-conversion-id-begins-with-aw",external:!0})}),r.createElement("br",null),Object(m.__)("You can always change this later in Site Kit Settings.","google-site-kit")),r.createElement(O.a,{finishSetup:n,isNavigatingToOAuthURL:I,createAccountCTA:r.createElement(f.Fragment,null,r.createElement(h.SpinnerButton,{onClick:K,disabled:I,isSaving:I,inverse:!0},Object(m.__)("Create an account","google-site-kit")),!L&&r.createElement("p",{className:"googlesitekit-setup-module__permission-notice"},Object(m.__)("You’ll be asked to grant Site Kit additional permissions during the account creation process to create a new Ads account.","google-site-kit")))}))))}SetupMainPAX.defaultProps={finishSetup:function(){}}}).call(this,n(28),n(4))},857:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return PAXSetupSuccessSubtleNotification}));var i=n(15),a=n.n(i),o=n(0),c=n.n(o),s=n(2),u=n(3),l=n(45),d=n(87),g=n(173),f=n(189),p=n(24),m=n(142),v=n(251);function PAXSetupSuccessSubtleNotification(t){var n=t.id,i=t.Notification,o=Object(p.e)(),c=Object(u.useDispatch)(l.a).dismissNotification,b=Object(f.a)("notification"),h=a()(b,2)[1],y=function(){h(void 0)};return r.createElement(i,null,r.createElement(g.a,{title:Object(s.__)("Your Ads campaign was successfully set up!","google-site-kit"),description:Object(s.__)("Track your conversions, measure your campaign results and make the most of your ad spend","google-site-kit"),dismissCTA:r.createElement(m.a,{id:n,primary:!1,dismissLabel:Object(s.__)("Got it","google-site-kit"),onDismiss:y}),additionalCTA:r.createElement(v.a,{id:n,ctaLabel:Object(s.__)("Show me","google-site-kit"),onCTAClick:function(t){t.preventDefault(),setTimeout((function(){e.scrollTo({top:Object(d.a)(".googlesitekit-widget--partnerAdsPAX",o),behavior:"smooth"}),y(),c(n)}),50)}})}))}PAXSetupSuccessSubtleNotification.propTypes={id:c.a.string.isRequired,Notification:c.a.elementType.isRequired}}).call(this,n(28),n(4))},858:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupSuccessSubtleNotification}));var r=n(15),i=n.n(r),a=n(2),o=n(173),c=n(142),s=n(189);function SetupSuccessSubtleNotification(t){var n=t.id,r=t.Notification,u=Object(s.a)("notification"),l=i()(u,2)[1],d=Object(s.a)("slug"),g=i()(d,2)[1];return e.createElement(r,null,e.createElement(o.a,{title:Object(a.__)("Success! Your Conversion Tracking ID was added to your site","google-site-kit"),description:Object(a.__)("You can now track conversions for your Ads campaigns","google-site-kit"),dismissCTA:e.createElement(c.a,{id:n,primary:!1,dismissLabel:Object(a.__)("Got it","google-site-kit"),onDismiss:function(){l(void 0),g(void 0)}})}))}}).call(this,n(4))},86:function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),a=n(11),o=n.n(a);function ChangeArrow(t){var n=t.direction,r=t.invertColor,i=t.width,a=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:i,height:a,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},87:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(24),i=n(121);function a(t,n){var r=document.querySelector(t);if(!r)return 0;var i=r.getBoundingClientRect().top,a=o(n);return i+e.scrollY-a}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,a=document.querySelector(".googlesitekit-header");return n=!!a&&"sticky"===e.getComputedStyle(a).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(i.a)(n))<0?0:n}}).call(this,n(28))},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(12),i=n.n(r),a=function(e,t){var n=t.dateRangeLength;i()(Array.isArray(e),"report must be an array to partition."),i()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return i.b})),n.d(t,"K",(function(){return i.c})),n.d(t,"G",(function(){return a.a})),n.d(t,"L",(function(){return a.b})),n.d(t,"I",(function(){return l})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return m})),n.d(t,"k",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"d",(function(){return k})),n.d(t,"c",(function(){return S})),n.d(t,"e",(function(){return j})),n.d(t,"b",(function(){return A})),n.d(t,"a",(function(){return w})),n.d(t,"g",(function(){return C})),n.d(t,"f",(function(){return N})),n.d(t,"o",(function(){return R})),n.d(t,"x",(function(){return T})),n.d(t,"q",(function(){return D})),n.d(t,"H",(function(){return P})),n.d(t,"t",(function(){return L})),n.d(t,"w",(function(){return x})),n.d(t,"l",(function(){return I})),n.d(t,"p",(function(){return M.b})),n.d(t,"i",(function(){return M.a})),n.d(t,"u",(function(){return U.b})),n.d(t,"r",(function(){return U.a})),n.d(t,"B",(function(){return U.c})),n.d(t,"y",(function(){return B})),n.d(t,"v",(function(){return F})),n.d(t,"F",(function(){return q})),n.d(t,"E",(function(){return V.a})),n.d(t,"h",(function(){return K})),n.d(t,"M",(function(){return G})),n.d(t,"m",(function(){return Y}));var r=n(14),i=n(37),a=n(72),o=n(33),c=n.n(o),s=n(93),u=n.n(s),l=function(e){return u()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var i=t[r];i&&"object"===c()(i)&&!Array.isArray(i)&&(i=e(i)),n[r]=i})),n}(e)))};n(96);var d=n(82);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function p(e){return e.replace(/\n/gi,"
")}function m(e){for(var t=e,n=0,r=[g,f,p];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function D(e){_()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function P(e){_()(T(e),k);var t=e.split("-"),n=y()(t,3),r=n[0],i=n[1],a=n[2];return new Date(r,i-1,a)}function L(e,t){return D(I(e,t*w))}function x(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function I(e,t){_()(T(e)||Object(r.isDate)(e)&&!isNaN(e),k);var n=T(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var M=n(97),U=n(81);function B(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function F(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var W=n(27),H=n.n(W),q=function(e){return Array.isArray(e)?H()(e).sort():e},V=n(89);function K(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var G=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},Y=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},90:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(1),i=n(18),a=n(9);function o(e,t){var n=Object(i.a)(),o=null!=t?t:"".concat(n,"_").concat(e);return{view:Object(r.useCallback)((function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var a=n.invertColor,o=void 0!==a&&a;return Object(r.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),i=n.n(r),a=n(14),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=u(u({},l),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(i,n),d=Object(c.a)(i,n,s,r),g={},f=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),j),{strong:e.createElement("strong",null)}))),e.createElement(l.DialogFooter,null,e.createElement(l.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:f,disabled:N},Object(u.__)("Cancel","google-site-kit")),x?e.createElement(l.Button,{href:x,onClick:_,target:"_blank",danger:w},S):e.createElement(l.SpinnerButton,{onClick:_,danger:w,disabled:N,isSaving:N},S||Object(u.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:i.a.string,dialogActive:i.a.bool,handleDialog:i.a.func,handleConfirm:i.a.func.isRequired,onOpen:i.a.func,onClose:i.a.func,title:i.a.string,confirmButton:i.a.string,danger:i.a.bool,small:i.a.bool,medium:i.a.bool,buttonLink:i.a.string},t.a=ModalDialog}).call(this,n(4))},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(13),i=function(e){return Object(r.isFinite)(e)?e:0}},119:function(e,t,n){"use strict";var r=n(0),i=n(40),a=Object(r.createContext)(i.a);t.a=a},122:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),i=n(119),a=n(40),o=function(e){var t=Object(r.useContext)(i.a);return Object(a.b)(e,t)}},123:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var r=n(21),i=n.n(r),a=n(7),o=n.n(a),c=n(24),s=n.n(c),u=n(1),l=n.n(u),d=n(11),g=n.n(d);function Cell(t){var n,r=t.className,a=t.alignTop,c=t.alignMiddle,u=t.alignBottom,l=t.alignRight,d=t.alignLeft,f=t.smAlignRight,p=t.mdAlignRight,m=t.lgAlignRight,v=t.smSize,b=t.smStart,h=t.smOrder,y=t.mdSize,O=t.mdStart,_=t.mdOrder,E=t.lgSize,k=t.lgStart,S=t.lgOrder,j=t.size,A=t.children,w=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",i()({},w,{className:g()(r,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":a,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":u,"mdc-layout-grid__cell--align-right":l,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":f,"mdc-layout-grid__cell--align-right-tablet":p,"mdc-layout-grid__cell--align-right-desktop":m},o()(n,"mdc-layout-grid__cell--span-".concat(j),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(E,"-desktop"),12>=E&&E>0),o()(n,"mdc-layout-grid__cell--start-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--order-".concat(S,"-desktop"),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(y,"-tablet"),8>=y&&y>0),o()(n,"mdc-layout-grid__cell--start-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--order-".concat(_,"-tablet"),8>=_&&_>0),o()(n,"mdc-layout-grid__cell--span-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--start-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),A)}Cell.propTypes={smSize:l.a.number,smStart:l.a.number,smOrder:l.a.number,mdSize:l.a.number,mdStart:l.a.number,mdOrder:l.a.number,lgSize:l.a.number,lgStart:l.a.number,lgOrder:l.a.number,size:l.a.number,alignTop:l.a.bool,alignMiddle:l.a.bool,alignBottom:l.a.bool,alignRight:l.a.bool,alignLeft:l.a.bool,smAlignRight:l.a.bool,mdAlignRight:l.a.bool,lgAlignRight:l.a.bool,className:l.a.string,children:l.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},124:function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),o=n.n(a),c=n(1),s=n.n(c),u=n(11),l=n.n(u),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.className,a=t.children,c=o()(t,["className","children"]);return e.createElement("div",i()({ref:n,className:l()("mdc-layout-grid__inner",r)},c),a)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},125:function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),o=n.n(a),c=n(1),s=n.n(c),u=n(11),l=n.n(u),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.alignLeft,a=t.fill,c=t.className,s=t.children,u=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",i()({className:l()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":r,"mdc-layout-grid--collapsed":u,"mdc-layout-grid--fill":a})},d,{ref:n}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},126:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},i=n.slug,a=void 0===i?"":i,o=n.name,c=void 0===o?"":o,s=n.owner,u=void 0===s?{}:s;if(!a||!c)return e;var l="",d="";return"analytics-4"===a?e.match(/account/i)?l=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?l=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(l=Object(r.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===a&&(l=Object(r.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),l||(l=Object(r.sprintf)( -/* translators: %s: module name */ -Object(r.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),c)),u&&u.login&&(d=Object(r.sprintf)( -/* translators: %s: owner name */ -Object(r.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),u.login)),d||(d=Object(r.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(l," ").concat(d)}},17:function(e,t,n){"use strict";var r=n(243);n.d(t,"i",(function(){return r.a}));var i=n(312);n.d(t,"f",(function(){return i.a}));var a=n(313);n.d(t,"h",(function(){return a.a}));var o=n(314);n.d(t,"j",(function(){return o.a}));var c=n(311);n.d(t,"g",(function(){return c.a}));var s=n(89),u=n.n(s);n.d(t,"b",(function(){return u.a})),n.d(t,"c",(function(){return s.DialogContent})),n.d(t,"d",(function(){return s.DialogFooter}));var l=n(102);n.d(t,"a",(function(){return l.a})),n.d(t,"e",(function(){return l.b})),n.d(t,"k",(function(){return l.c}))},172:function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(11),o=n.n(a),c=n(0),s=n(139),u=n(66),l=n(17),d=Object(c.forwardRef)((function(t,n){var r=t.className,i=t.title,a=t.description,c=t.dismissCTA,d=t.additionalCTA,g=t.type,f=void 0===g?"success":g,p=t.icon;return e.createElement(l.e,{ref:n},e.createElement(l.k,null,e.createElement(l.a,{alignMiddle:!0,size:12,className:o()("googlesitekit-subtle-notification",r,{"googlesitekit-subtle-notification--success":"success"===f,"googlesitekit-subtle-notification--warning":"warning"===f})},e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},p,"success"===f&&!p&&e.createElement(s.a,{width:24,height:24}),"warning"===f&&!p&&e.createElement(u.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,i),e.createElement("p",{className:"googlesitekit-subtle-notification__secondary_description"},a)),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},c,d))))}));d.propTypes={className:i.a.string,title:i.a.node.isRequired,description:i.a.node,dismissCTA:i.a.node,additionalCTA:i.a.node,type:i.a.string,icon:i.a.object},t.a=d}).call(this,n(4))},173:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LoadingWrapper}));var r=n(7),i=n.n(r),a=n(24),o=n.n(a),c=n(1),s=n.n(c),u=n(42);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function LoadingWrapper(t){var n=t.loading,r=t.children,i=o()(t,["loading","children"]);return n?e.createElement(u.a,i):r}LoadingWrapper.propTypes=function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:e,a=Object(c.useState)(Object(s.a)(r.location.href,t)||n),l=o()(a,2),d=l[0],g=l[1],f=function(e){g(e);var n=Object(u.a)(r.location.href,i()({},t,e));r.history.replaceState(null,"",n)};return[d,f]}}).call(this,n(28))},187:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(1),i=n.n(r),a=" ";function DisplaySetting(e){return e.value||a}DisplaySetting.propTypes={value:i.a.oneOfType([i.a.string,i.a.bool,i.a.number])},t.b=DisplaySetting},19:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r="core/modules",i="insufficient_module_dependencies"},194:function(e,t,n){"use strict";n.d(t,"a",(function(){return k})),n.d(t,"b",(function(){return S})),n.d(t,"c",(function(){return j})),n.d(t,"g",(function(){return A})),n.d(t,"f",(function(){return w})),n.d(t,"d",(function(){return C})),n.d(t,"e",(function(){return N}));var r=n(15),i=n.n(r),a=n(5),o=n.n(a),c=n(7),s=n.n(c),u=n(12),l=n.n(u),d=n(13),g=n(44),f=n.n(g),p=n(3),m=n(61),v=n(79),b=n(48),h=n(65);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{},i=r.ownedSettingsSlugs,a=void 0===i?void 0:i,c=r.storeName,u=void 0===c?void 0:c,g=r.settingSlugs,h=void 0===g?[]:g,y=r.initialSettings,k=void 0===y?void 0:y,S=r.validateHaveSettingsChanged,j=void 0===S?N():S;l()(e,"type is required."),l()(t,"identifier is required."),l()(n,"datapoint is required.");var A=u||"".concat(e,"/").concat(t),w={ownedSettingsSlugs:a,settings:k,savedSettings:void 0},C=Object(b.a)({baseName:"getSettings",controlCallback:function(){return f.a.get(e,t,n,{},{useCache:!1})},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O(O({},t),e.settings||{})})}}),R=Object(b.a)({baseName:"saveSettings",controlCallback:function(r){var i=r.values;return f.a.set(e,t,n,i)},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O({},t)})},argsToParams:function(e){return{values:e}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.values;l()(Object(d.isPlainObject)(t),"values is required.")}}),T={},D={setSettings:function(e){return l()(Object(d.isPlainObject)(e),"values is required."),{payload:{values:e},type:"SET_SETTINGS"}},rollbackSettings:function(){return{payload:{},type:"ROLLBACK_SETTINGS"}},saveSettings:o.a.mark((function e(){var t,n,r,i,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:return t=e.sent,e.next=5,_("saveSettings",[]);case 5:return n=t.select(A).getSettings(),e.next=8,R.actions.fetchSaveSettings(n);case 8:if(r=e.sent,i=r.response,!(a=r.error)){e.next=14;break}return e.next=14,E(a,"saveSettings",[]);case 14:return e.abrupt("return",{response:i,error:a});case 15:case"end":return e.stop()}}),e)}))},P={},L=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:w,t=arguments.length>1?arguments[1]:void 0,n=t.type,r=t.payload;switch(n){case"SET_SETTINGS":var i=r.values;return O(O({},e),{},{settings:O(O({},e.settings||{}),i)});case"ROLLBACK_SETTINGS":return O(O({},e),{},{settings:e.savedSettings});default:return void 0!==T[n]?T[n](e,{type:n,payload:r}):e}},x={getSettings:o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.commonActions.getRegistry();case 2:if(t=e.sent,t.select(A).getSettings()){e.next=7;break}return e.next=7,C.actions.fetchGetSettings();case 7:case"end":return e.stop()}}),e)}))},I=Object(m.g)(j),M=I.safeSelector,U=I.dangerousSelector,B={haveSettingsChanged:M,__dangerousHaveSettingsChanged:U,getSettings:function(e){return e.settings},hasSettingChanged:function(e,t){l()(t,"setting is required.");var n=e.settings,r=e.savedSettings;return!(!n||!r)&&!Object(d.isEqual)(n[t],r[t])},isDoingSaveSettings:function(e){return Object.values(e.isFetchingSaveSettings).some(Boolean)},getOwnedSettingsSlugs:function(e){return e.ownedSettingsSlugs},haveOwnedSettingsChanged:Object(p.createRegistrySelector)((function(e){return function(){var t=e(A).getOwnedSettingsSlugs();return e(A).haveSettingsChanged(t)}}))};h.forEach((function(e){var t=Object(v.b)(e),n=Object(v.a)(e);D["set".concat(t)]=function(e){return l()(void 0!==e,"value is required for calls to set".concat(t,"().")),{payload:{value:e},type:"SET_".concat(n)}},T["SET_".concat(n)]=function(t,n){var r=n.payload.value;return O(O({},t),{},{settings:O(O({},t.settings||{}),{},s()({},e,r))})},B["get".concat(t)]=Object(p.createRegistrySelector)((function(t){return function(){return(t(A).getSettings()||{})[e]}}))}));var F=Object(p.combineStores)(p.commonStore,C,R,{initialState:w,actions:D,controls:P,reducer:L,resolvers:x,selectors:B});return O(O({},F),{},{STORE_NAME:A})};function A(e,t){return function(){var n=i()(o.a.mark((function n(r){var i,a,c,s;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(i=r.select,a=r.dispatch,!i(t).haveSettingsChanged()){n.next=8;break}return n.next=4,a(t).saveSettings();case 4:if(c=n.sent,!(s=c.error)){n.next=8;break}return n.abrupt("return",{error:s});case 8:return n.next=10,f.a.invalidateCache("modules",e);case 10:return n.abrupt("return",{});case 11:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}function w(e){return function(t){var n=t.select,r=t.dispatch;return n(e).haveSettingsChanged()?r(e).rollbackSettings():{}}}function C(e){return function(t){var n=Object(m.e)(t)(e),r=n.haveSettingsChanged,i=n.isDoingSubmitChanges;l()(!i(),k),l()(r(),S)}}function N(){return function(e,t,n){var r=t.settings,i=t.savedSettings;n&&l()(!Object(d.isEqual)(Object(d.pick)(r,n),Object(d.pick)(i,n)),S),l()(!Object(d.isEqual)(r,i),S)}}},2:function(e,t){e.exports=googlesitekit.i18n},20:function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),o=n.n(a),c=n(11),s=n.n(c),u=n(1),l=n.n(u),d=n(142),g=n(0),f=n(2),p=n(126),m=n(127),v=n(128),b=n(77),h=n(76),y=Object(g.forwardRef)((function(t,n){var r,a=t["aria-label"],c=t.secondary,u=void 0!==c&&c,l=t.arrow,g=void 0!==l&&l,y=t.back,O=void 0!==y&&y,_=t.caps,E=void 0!==_&&_,k=t.children,S=t.className,j=void 0===S?"":S,A=t.danger,w=void 0!==A&&A,C=t.disabled,N=void 0!==C&&C,R=t.external,T=void 0!==R&&R,D=t.hideExternalIndicator,P=void 0!==D&&D,L=t.href,x=void 0===L?"":L,I=t.inverse,M=void 0!==I&&I,U=t.noFlex,B=void 0!==U&&U,F=t.onClick,W=t.small,q=void 0!==W&&W,H=t.standalone,V=void 0!==H&&H,K=t.linkButton,G=void 0!==K&&K,Y=t.to,z=t.leadingIcon,X=t.trailingIcon,J=o()(t,["aria-label","secondary","arrow","back","caps","children","className","danger","disabled","external","hideExternalIndicator","href","inverse","noFlex","onClick","small","standalone","linkButton","to","leadingIcon","trailingIcon"]),$=x||Y||!F?Y?"ROUTER_LINK":T?"EXTERNAL_LINK":"LINK":N?"BUTTON_DISABLED":"BUTTON",Z="BUTTON"===$||"BUTTON_DISABLED"===$?"button":"ROUTER_LINK"===$?d.b:"a",Q=("EXTERNAL_LINK"===$&&(r=Object(f._x)("(opens in a new tab)","screen reader text","google-site-kit")),"BUTTON_DISABLED"===$&&(r=Object(f._x)("(disabled)","screen reader text","google-site-kit")),r?a?"".concat(a," ").concat(r):"string"==typeof k?"".concat(k," ").concat(r):void 0:a),ee=z,te=X;return O&&(ee=e.createElement(v.a,{width:14,height:14})),T&&!P&&(te=e.createElement(b.a,{width:14,height:14})),g&&!M&&(te=e.createElement(p.a,{width:14,height:14})),g&&M&&(te=e.createElement(m.a,{width:14,height:14})),e.createElement(Z,i()({"aria-label":Q,className:s()("googlesitekit-cta-link",j,{"googlesitekit-cta-link--secondary":u,"googlesitekit-cta-link--inverse":M,"googlesitekit-cta-link--small":q,"googlesitekit-cta-link--caps":E,"googlesitekit-cta-link--danger":w,"googlesitekit-cta-link--disabled":N,"googlesitekit-cta-link--standalone":V,"googlesitekit-cta-link--link-button":G,"googlesitekit-cta-link--no-flex":!!B}),disabled:N,href:"LINK"!==$&&"EXTERNAL_LINK"!==$||N?void 0:x,onClick:F,rel:"EXTERNAL_LINK"===$?"noopener noreferrer":void 0,ref:n,target:"EXTERNAL_LINK"===$?"_blank":void 0,to:Y},J),!!ee&&e.createElement(h.a,{marginRight:5},ee),e.createElement("span",{className:"googlesitekit-cta-link__contents"},k),!!te&&e.createElement(h.a,{marginLeft:5},te))}));y.propTypes={arrow:l.a.bool,back:l.a.bool,caps:l.a.bool,children:l.a.node,className:l.a.string,danger:l.a.bool,disabled:l.a.bool,external:l.a.bool,hideExternalIndicator:l.a.bool,href:l.a.string,inverse:l.a.bool,leadingIcon:l.a.node,linkButton:l.a.bool,noFlex:l.a.bool,onClick:l.a.func,small:l.a.bool,standalone:l.a.bool,to:l.a.string,trailingIcon:l.a.node},t.a=y}).call(this,n(4))},22:function(e,t,n){"use strict";n.d(t,"n",(function(){return r})),n.d(t,"l",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"m",(function(){return o})),n.d(t,"t",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"s",(function(){return u})),n.d(t,"i",(function(){return l})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return g})),n.d(t,"k",(function(){return f})),n.d(t,"u",(function(){return p})),n.d(t,"v",(function(){return m})),n.d(t,"q",(function(){return v})),n.d(t,"p",(function(){return b})),n.d(t,"b",(function(){return h})),n.d(t,"e",(function(){return y})),n.d(t,"a",(function(){return O})),n.d(t,"d",(function(){return _})),n.d(t,"c",(function(){return E})),n.d(t,"f",(function(){return k})),n.d(t,"g",(function(){return S}));var r="mainDashboard",i="entityDashboard",a="mainDashboardViewOnly",o="entityDashboardViewOnly",c="userInput",s="activation",u="splash",l="adminBar",d="adminBarViewOnly",g="settings",f="adBlockingRecovery",p="wpDashboard",m="wpDashboardViewOnly",v="moduleSetup",b="metricSelection",h="key-metrics",y="traffic",O="content",_="speed",E="monetization",k=[r,i,a,o,c,u,g,v,b],S=[a,o,d,m]},223:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WarningNotice}));var r=n(11),i=n.n(r),a=n(1),o=n.n(a);function WarningNotice(t){var n=t.children,r=t.className;return e.createElement("div",{className:i()("googlesitekit-warning-notice",r)},n)}WarningNotice.propTypes={children:o.a.node.isRequired,className:o.a.string}}).call(this,n(4))},235:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockerWarning}));var r=n(1),i=n.n(r),a=n(3),o=n(14),c=n(19),s=n(383);function AdBlockerWarning(t){var n=t.moduleSlug,r=t.className,i=Object(a.useSelect)((function(e){return e(c.a).getModuleStoreName(n)})),u=Object(a.useSelect)((function(e){var t;return null===(t=e(i))||void 0===t?void 0:t.getAdBlockerWarningMessage()})),l=Object(a.useSelect)((function(e){return e(o.c).getDocumentationLinkURL("".concat(n,"-ad-blocker-detected"))}));return e.createElement(s.a,{className:r,getHelpLink:l,warningMessage:u})}AdBlockerWarning.propTypes={className:i.a.string,moduleSlug:i.a.string.isRequired}}).call(this,n(4))},246:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return CTALinkSubtle}));var r=n(5),i=n.n(r),a=n(15),o=n.n(a),c=n(1),s=n.n(c),u=n(95),l=n(10),d=n(77);function CTALinkSubtle(t){var n=t.id,r=t.ctaLink,a=t.ctaLabel,c=t.onCTAClick,s=t.isCTALinkExternal,g=void 0!==s&&s,f=t.gaTrackingEventArgs,p=Object(u.a)(n),m=function(){var e=o()(i.a.mark((function e(t){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==c?void 0:c(t);case 2:p.confirm(null==f?void 0:f.label,null==f?void 0:f.value);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return e.createElement(l.Button,{className:"googlesitekit-subtle-notification__cta",href:r,onClick:m,target:g?"_blank":"_self",trailingIcon:g?e.createElement(d.a,{width:14,height:14}):void 0},a)}CTALinkSubtle.propTypes={id:s.a.string,ctaLink:s.a.string,ctaLabel:s.a.string,onCTAClick:s.a.func,isCTALinkExternal:s.a.bool,gaTrackingEventArgs:s.a.shape({label:s.a.string,value:s.a.string})}}).call(this,n(4))},26:function(e,t,n){"use strict";n.d(t,"d",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"b",(function(){return c})),n.d(t,"e",(function(){return s}));var r=n(93),i="xlarge",a="desktop",o="tablet",c="small";function s(){var e=Object(r.a)();return e>1280?i:e>960?a:e>600?o:c}},263:function(e,t,n){"use strict";(function(e){var r=n(55),i=n.n(r),a=n(264),o=e._googlesitekitAPIFetchData||{},c=o.nonce,s=o.nonceEndpoint,u=o.preloadedData,l=o.rootURL;i.a.nonceEndpoint=s,i.a.nonceMiddleware=i.a.createNonceMiddleware(c),i.a.rootURLMiddleware=i.a.createRootURLMiddleware(l),i.a.preloadingMiddleware=Object(a.a)(u),i.a.use(i.a.nonceMiddleware),i.a.use(i.a.mediaUploadMiddleware),i.a.use(i.a.rootURLMiddleware),i.a.use(i.a.preloadingMiddleware),t.default=i.a}).call(this,n(28))},264:function(e,t,n){"use strict";var r=n(250);t.a=function(e){var t=Object.keys(e).reduce((function(t,n){return t[Object(r.getStablePath)(n)]=e[n],t}),{}),n=!1;return function(e,i){if(n)return i(e);setTimeout((function(){n=!0}),3e3);var a=e.parse,o=void 0===a||a,c=e.path;if("string"==typeof e.path){var s,u=(null===(s=e.method)||void 0===s?void 0:s.toUpperCase())||"GET",l=Object(r.getStablePath)(c);if(o&&"GET"===u&&t[l]){var d=Promise.resolve(t[l].body);return delete t[l],d}if("OPTIONS"===u&&t[u]&&t[u][l]){var g=Promise.resolve(t[u][l]);return delete t[u][l],g}}return i(e)}}},294:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return g}));var r=n(11),i=n.n(r),a=n(1),o=n.n(a),c=n(0),s=n(10),u=n(139),l=n(77),d=n(66),g={SUCCESS:"success",WARNING:"warning"},f=Object(c.forwardRef)((function(t,n){var r=t.title,a=t.description,o=t.Icon,c=t.ctaLink,f=t.ctaLabel,p=t.className,m=t.onCTAClick,v=t.isCTALinkExternal,b=t.dismissLabel,h=t.onDismiss,y=t.variant,O=void 0===y?g.SUCCESS:y,_=t.hideIcon,E=void 0!==_&&_;return e.createElement("div",{ref:n,className:i()("googlesitekit-subtle-notification",{"googlesitekit-subtle-notification--success":O===g.SUCCESS,"googlesitekit-subtle-notification--warning":O===g.WARNING},p)},!E&&e.createElement("div",{className:"googlesitekit-subtle-notification__icon"},o&&e.createElement(o,{width:24,height:24}),!o&&O===g.SUCCESS&&e.createElement(u.a,{width:24,height:24}),!o&&O===g.WARNING&&e.createElement(d.a,{width:24,height:24})),e.createElement("div",{className:"googlesitekit-subtle-notification__content"},e.createElement("p",null,r),a&&e.createElement("p",{className:"googlesitekit-subtle-notification__secondary_description"},a)),e.createElement("div",{className:"googlesitekit-subtle-notification__action"},b&&e.createElement(s.Button,{tertiary:!0,onClick:h},b),f&&e.createElement(s.Button,{className:"googlesitekit-subtle-notification__cta",href:c,onClick:m,target:v?"_blank":"_self",trailingIcon:v?e.createElement(l.a,{width:14,height:14}):void 0},f)))}));f.propTypes={title:o.a.node.isRequired,description:o.a.string,Icon:o.a.elementType,ctaLink:o.a.string,ctaLabel:o.a.string,className:o.a.string,onCTAClick:o.a.func,isCTALinkExternal:o.a.bool,dismissLabel:o.a.string,onDismiss:o.a.func,variant:o.a.oneOf(Object.values(g)),hideIcon:o.a.bool},t.b=f}).call(this,n(4))},3:function(e,t){e.exports=googlesitekit.data},32:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r="core/location"},355:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t%2$s","google-site-kit"),g,Object(a.__)("Get help","google-site-kit")),{Link:e.createElement(c.a,{href:l,external:!0,hideExternalIndicator:!0,trailingIcon:e.createElement(u.a,{width:15,height:15})})})):null}AdBlockerWarningMessage.propTypes={className:i.a.string,getHelpLink:i.a.string,warningMessage:i.a.string}}).call(this,n(4))},384:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:a;return t instanceof Set&&t.has(e)}}).call(this,n(28))},403:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupEnhancedConversionTrackingNotice}));var r=n(11),i=n.n(r),a=n(3),o=n(14);function SetupEnhancedConversionTrackingNotice(t){var n=t.className,r=t.message,c=Object(a.useSelect)((function(e){return e(o.c).isConversionTrackingEnabled()}));return c||void 0===c?null:e.createElement("p",{className:i()(n,"googlesitekit-color--surfaces-on-background-variant")},r)}}).call(this,n(4))},42:function(e,t,n){"use strict";(function(e){var r=n(7),i=n.n(r),a=n(1),o=n.n(a),c=n(11),s=n.n(c),u=n(26);function PreviewBlock(t){var n,r,a=t.className,o=t.width,c=t.height,l=t.shape,d=t.padding,g=t.smallWidth,f=t.smallHeight,p=t.tabletWidth,m=t.tabletHeight,v=t.desktopWidth,b=t.desktopHeight,h=Object(u.e)(),y={width:(n={},i()(n,u.b,g),i()(n,u.c,p),i()(n,u.a,v),i()(n,u.d,v),n),height:(r={},i()(r,u.b,f),i()(r,u.c,m),i()(r,u.a,b),i()(r,u.d,v),r)};return e.createElement("div",{className:s()("googlesitekit-preview-block",a,{"googlesitekit-preview-block--padding":d}),style:{width:y.width[h]||o,height:y.height[h]||c}},e.createElement("div",{className:s()("googlesitekit-preview-block__wrapper",{"googlesitekit-preview-block__wrapper--circle":"circular"===l})}))}PreviewBlock.propTypes={className:o.a.string,width:o.a.string,height:o.a.string,shape:o.a.string,padding:o.a.bool,smallWidth:o.a.string,smallHeight:o.a.string,tabletWidth:o.a.string,tabletHeight:o.a.string,desktopWidth:o.a.string,desktopHeight:o.a.string},PreviewBlock.defaultProps={className:void 0,width:"100px",height:"100px",shape:"square",padding:!1,smallWidth:void 0,smallHeight:void 0,tabletWidth:void 0,tabletHeight:void 0,desktopWidth:void 0,desktopHeight:void 0},t.a=PreviewBlock}).call(this,n(4))},44:function(e,t){e.exports=googlesitekit.api},46:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return a}));var r={BOXES:"boxes",COMPOSITE:"composite"},i={QUARTER:"quarter",HALF:"half",FULL:"full"},a="core/widgets"},47:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var r=n(22),i="core/notifications",a={ERRORS:"notification-area-errors",BANNERS_ABOVE_NAV:"notification-area-banners-above-nav",BANNERS_BELOW_NAV:"notification-area-banners-below-nav"},o={DEFAULT:"default",SETUP_CTAS:"setup-ctas"},c=[r.s,r.n,r.l,r.o,r.m]},48:function(e,t,n){"use strict";n.d(t,"a",(function(){return O}));var r=n(5),i=n.n(r),a=n(7),o=n.n(a),c=n(12),s=n.n(c),u=n(13),l=n(65),d=n(79),g=n(9);function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t1?n-1:0),i=1;iredo the plugin setup.',"google-site-kit"),r));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(s,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:i.a.string.isRequired,reconnectURL:i.a.string,noPrefix:i.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"H",(function(){return s})),n.d(t,"M",(function(){return u})),n.d(t,"O",(function(){return l})),n.d(t,"K",(function(){return d})),n.d(t,"L",(function(){return g})),n.d(t,"J",(function(){return f})),n.d(t,"I",(function(){return p})),n.d(t,"N",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"h",(function(){return h})),n.d(t,"j",(function(){return y})),n.d(t,"l",(function(){return O})),n.d(t,"m",(function(){return _})),n.d(t,"n",(function(){return E})),n.d(t,"o",(function(){return k})),n.d(t,"q",(function(){return S})),n.d(t,"s",(function(){return j})),n.d(t,"r",(function(){return A})),n.d(t,"t",(function(){return w})),n.d(t,"w",(function(){return C})),n.d(t,"u",(function(){return N})),n.d(t,"v",(function(){return R})),n.d(t,"x",(function(){return T})),n.d(t,"y",(function(){return D})),n.d(t,"A",(function(){return P})),n.d(t,"B",(function(){return L})),n.d(t,"C",(function(){return x})),n.d(t,"D",(function(){return I})),n.d(t,"k",(function(){return M})),n.d(t,"F",(function(){return U})),n.d(t,"z",(function(){return B})),n.d(t,"G",(function(){return F})),n.d(t,"E",(function(){return W})),n.d(t,"i",(function(){return q})),n.d(t,"p",(function(){return H})),n.d(t,"Q",(function(){return V})),n.d(t,"P",(function(){return K}));var r="core/user",i="connected_url_mismatch",a="__global",o="temporary_persist_permission_error",c="adblocker_active",s="googlesitekit_authenticate",u="googlesitekit_setup",l="googlesitekit_view_dashboard",d="googlesitekit_manage_options",g="googlesitekit_read_shared_module_data",f="googlesitekit_manage_module_sharing_options",p="googlesitekit_delegate_module_sharing_management",m="googlesitekit_update_plugins",v="kmAnalyticsAdSenseTopEarningContent",b="kmAnalyticsEngagedTrafficSource",h="kmAnalyticsLeastEngagingPages",y="kmAnalyticsNewVisitors",O="kmAnalyticsPopularAuthors",_="kmAnalyticsPopularContent",E="kmAnalyticsPopularProducts",k="kmAnalyticsReturningVisitors",S="kmAnalyticsTopCities",j="kmAnalyticsTopCitiesDrivingLeads",A="kmAnalyticsTopCitiesDrivingAddToCart",w="kmAnalyticsTopCitiesDrivingPurchases",C="kmAnalyticsTopDeviceDrivingPurchases",N="kmAnalyticsTopConvertingTrafficSource",R="kmAnalyticsTopCountries",T="kmAnalyticsTopPagesDrivingLeads",D="kmAnalyticsTopRecentTrendingPages",P="kmAnalyticsTopTrafficSource",L="kmAnalyticsTopTrafficSourceDrivingAddToCart",x="kmAnalyticsTopTrafficSourceDrivingLeads",I="kmAnalyticsTopTrafficSourceDrivingPurchases",M="kmAnalyticsPagesPerVisit",U="kmAnalyticsVisitLength",B="kmAnalyticsTopReturningVisitorPages",F="kmSearchConsolePopularKeywords",W="kmAnalyticsVisitsPerVisitor",q="kmAnalyticsMostEngagingPages",H="kmAnalyticsTopCategories",V=[v,b,h,y,O,_,E,k,H,S,j,A,w,C,N,R,D,P,L,M,U,B,W,q,H],K=[].concat(V,[F])},601:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return PAXEmbeddedApp}));var i=n(5),a=n.n(i),o=n(15),c=n.n(o),s=n(16),u=n.n(s),l=n(1),d=n.n(l),g=n(421),f=n(205),p=n(0),m=n(2),v=n(3),b=n(42),h=n(91),y=n(6),O=n(8),_=n(730);function PAXEmbeddedApp(t){var n,i,o,s,l,d=t.displayMode,E=void 0===d?"default":d,k=t.onLaunch,S=t.onCampaignCreated,j=t.onFinishAndCloseSignUpFlow,A=Object(p.useState)("function"==typeof(null===(n=e)||void 0===n||null===(i=n.google)||void 0===i||null===(o=i.ads)||void 0===o||null===(s=o.integration)||void 0===s||null===(l=s.integrator)||void 0===l?void 0:l.launchGoogleAds)),w=u()(A,2),C=w[0],N=w[1],R=Object(p.useState)(!1),T=u()(R,2),D=T[0],P=T[1],L=Object(p.useState)(!0),x=u()(L,2),I=x[0],M=x[1],U=Object(p.useState)(void 0),B=u()(U,2),F=B[0],W=B[1],q=Object(v.useSelect)((function(e){return"reporting"!==E?{}:e(y.a).getDateRangeDates({offsetDays:O.g})})),H=Object(v.useSelect)((function(e){return e(y.a).isAdBlockerActive()})),V=Object(f.a)(PAXEmbeddedApp,"PAXEmbeddedApp"),K="googlesitekit-pax-embedded-app-".concat(V),G=Object(p.useRef)(),Y=Object(p.useCallback)((function(){"reporting"===E&&(null==G?void 0:G.current)&&q.startDate&&q.endDate&&G.current.getServices().adsDateRangeService.update({startDate:Object(_.c)(q.startDate),endDate:Object(_.c)(q.endDate)})}),[E,q.endDate,q.startDate]),z=Object(v.useRegistry)(),X=Object(p.useCallback)(c()(a.a.mark((function t(){var n,r;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!D){t.next=2;break}return t.abrupt("return");case 2:return P(!0),n=Object(_.a)({contentContainer:"#".concat(K),reportingStyle:"reporting"===E?"REPORTING_STYLE_MINI":"REPORTING_STYLE_FULL"}),r=Object(_.b)(z,{onCampaignCreated:S,onFinishAndCloseSignUpFlow:j}),t.prev=5,t.next=8,e.google.ads.integration.integrator.launchGoogleAds(n,r);case 8:G.current=t.sent,Y(),null==k||k(G.current),t.next=17;break;case 13:t.prev=13,t.t0=t.catch(5),W(t.t0),e.console.error("Google Ads Partner Experience Error:",t.t0);case 17:M(!1);case 18:case"end":return t.stop()}}),t,null,[[5,13]])}))),[E,K,D,S,j,k,z,Y]);return Object(g.a)((function(){var t,n,r,i,a;C||D||"function"==typeof(null===(t=e)||void 0===t||null===(n=t.google)||void 0===n||null===(r=n.ads)||void 0===r||null===(i=r.integration)||void 0===i||null===(a=i.integrator)||void 0===a?void 0:a.launchGoogleAds)&&N(!0)}),D?null:50),Object(p.useEffect)((function(){C&&!D&&X()}),[D,I,C,X]),Object(p.useEffect)((function(){Y()}),[Y,q.startDate,q.endDate]),r.createElement("div",{className:"googlesitekit-pax-embedded-app"},!!F&&!H&&r.createElement(h.a,{title:Object(m.__)("Google Ads error","google-site-kit"),description:Object(m.__)("Could not load Google Ads content.","google-site-kit"),error:!0}),I&&r.createElement(b.a,{width:"100%",height:"240px"}),r.createElement("div",{id:K}))}PAXEmbeddedApp.propTypes={displayMode:d.a.oneOf(["default","reporting","setup"]),onLaunch:d.a.func,onCampaignCreated:d.a.func,onFinishAndCloseSignUpFlow:d.a.func}}).call(this,n(28),n(4))},602:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupForm}));var r=n(5),i=n.n(r),a=n(15),o=n.n(a),c=n(1),s=n.n(c),u=n(0),l=n(2),d=n(3),g=n(10),f=n(167),p=n(144),m=n(773),v=n(14),b=n(403);function SetupForm(t){var n=t.finishSetup,r=t.createAccountCTA,a=t.isNavigatingToOAuthURL,c=Object(d.useSelect)((function(e){return e(f.c).canSubmitChanges()})),s=Object(d.useSelect)((function(e){return e(f.c).isDoingSubmitChanges()&&!a})),h=Object(d.useDispatch)(f.c).submitChanges,y=Object(d.useDispatch)(v.c),O=y.setConversionTrackingEnabled,_=y.saveConversionTrackingSettings,E=Object(u.useCallback)(function(){var e=o()(i.a.mark((function e(t){var r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),e.next=3,h();case 3:if(r=e.sent,r.error){e.next=10;break}return O(!0),e.next=9,_();case 9:n();case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[n,_,O,h]);return e.createElement("form",{className:"googlesitekit-ads-setup__form",onSubmit:E},e.createElement(p.a,{moduleSlug:"ads",storeName:f.c}),e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(m.a,null)),r&&e.createElement("div",{className:"googlesitekit-setup-module__create-account"},r),e.createElement(b.a,{className:"googlesitekit-margin-top-1",message:Object(l.__)("To track the performance of your campaigns, Site Kit will enable enhanced conversion tracking. You can always disable it in settings.","google-site-kit")}),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(g.SpinnerButton,{disabled:!c||s,isSaving:s},Object(l.__)("Complete setup","google-site-kit"))))}SetupForm.propTypes={finishSetup:s.a.func,createAccountCTA:s.a.node,isNavigatingToOAuthURL:s.a.bool},SetupForm.defaultProps={finishSetup:function(){},createAccountCTA:null,isNavigatingToOAuthURL:!1}}).call(this,n(4))},61:function(e,t,n){"use strict";n.d(t,"a",(function(){return A})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return C})),n.d(t,"d",(function(){return R})),n.d(t,"e",(function(){return T})),n.d(t,"g",(function(){return P})),n.d(t,"f",(function(){return L}));var r,i=n(5),a=n.n(i),o=n(27),c=n.n(o),s=n(7),u=n.n(s),l=n(12),d=n.n(l),g=n(60),f=n.n(g),p=n(13),m=n(114);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:r,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.reduce((function(e,n){return n(e,t)}),e)}},E=h,k=h,S=h,j=function(e){return e},A=function(){for(var e=arguments.length,t=new Array(e),n=0;n=1?n[i]+1:1,n[i]>1&&t.push(i)}return t},R={actions:w,controls:C,reducer:j},T=function(e){return function(t){return D(e(t))}},D=f()((function(e){return Object(p.mapValues)(e,(function(e,t){return function(){var n=e.apply(void 0,arguments);return d()(void 0!==n,"".concat(t,"(...) is not resolved")),n}}))}));function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.negate,r=void 0!==n&&n,i=Object(m.b)((function(t){return function(n){var i=!r,a=!!r;try{for(var o=arguments.length,c=new Array(o>1?o-1:0),s=1;s1?r-1:0),a=1;a2&&void 0!==arguments[2]?arguments[2]:{},i=e(h.c).getSiteInfo()||{},a=i.adminURL;if(void 0===a||void 0===n)return a;var c="/"===a[a.length-1]?a:"".concat(a,"/"),s=n,u="admin.php";if(-1!==n.indexOf(".php?")){var l=n.split("?");if(!(s=p.a.parse(l.pop()).page))return a;u=l.shift()}r.page;var d=o()(r,["page"]);return Object(m.a)("".concat(c).concat(u),E({page:s},d))}})),getAMPMode:k("ampMode"),getCurrentEntityID:k("currentEntityID"),getCurrentEntityTitle:k("currentEntityTitle"),getCurrentEntityType:k("currentEntityType"),getCurrentEntityURL:k("currentEntityURL"),getHomeURL:k("homeURL"),getReferenceSiteURL:k("referenceSiteURL"),getProxySetupURL:k("proxySetupURL"),getProxyPermissionsURL:k("proxyPermissionsURL"),getCurrentReferenceURL:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getCurrentEntityURL();return null!==t?t:e(h.c).getReferenceSiteURL()}})),isAMP:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getAMPMode();if(void 0!==t)return!!t}})),isPrimaryAMP:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getAMPMode();if(void 0!==t)return t===h.a}})),isSecondaryAMP:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getAMPMode();if(void 0!==t)return t===h.b}})),getTimezone:k("timezone"),isUsingProxy:k("usingProxy"),getSiteName:k("siteName"),getSetupErrorCode:k("setupErrorCode"),getSetupErrorMessage:k("setupErrorMessage"),getSetupErrorRedoURL:k("setupErrorRedoURL"),getProxySupportLinkURL:k("proxySupportLinkURL"),getWidgetsAdminURL:k("widgetsAdminURL"),getPostTypes:k("postTypes"),getPermaLinkParam:function(t){if(t.permaLink)return t.permaLink;var n=Object(v.a)(e.location.href,"permaLink");return n||!1},isWebStoriesActive:k("webStoriesActive"),isSiteURLMatch:Object(b.createRegistrySelector)((function(e){return function(t,n){var r=e(h.c).getReferenceSiteURL();return Object(y.B)(r)===Object(y.B)(n)}})),getSiteURLPermutations:Object(b.createRegistrySelector)((function(e){return function(){var t=e(h.c).getReferenceSiteURL(),n=[],r=new URL(t);return r.hostname=r.hostname.replace(/^www\./i,""),r.protocol="http",n.push(Object(y.L)(r)),r.protocol="https",n.push(Object(y.L)(r)),r.hostname="www."+r.hostname,n.push(Object(y.L)(r)),r.protocol="http",n.push(Object(y.L)(r)),n}})),getWPVersion:k("wpVersion"),getUpdateCoreURL:k("updateCoreURL"),hasChangePluginAutoUpdatesCapacity:k("changePluginAutoUpdatesCapacity"),getSiteKitAutoUpdatesEnabled:k("siteKitAutoUpdatesEnabled"),getPluginBasename:k("pluginBasename"),getKeyMetricsSetupCompletedBy:k("keyMetricsSetupCompletedBy"),getKeyMetricsSetupNew:k("keyMetricsSetupNew"),hasMinimumWordPressVersion:Object(b.createRegistrySelector)((function(e){return function(t,n){g()(n,"minimumWPVersion is required.");var r=e(h.c).getWPVersion()||{},a=r.major,o=r.minor;if(void 0!==a&&void 0!==o){var c=n.split(".").map((function(e){return parseInt(e,10)})),s=i()(c,2),u=s[0],l=s[1];return u2&&void 0!==arguments[2]?arguments[2]:[];return u()(e,"error is required."),u()(t,"baseName is required."),u()(n&&Array.isArray(n),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:e,baseName:t,args:n}}},clearError:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return u()(e,"baseName is required."),u()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:e,args:t}}},clearErrors:function(e){return{type:"CLEAR_ERRORS",payload:{baseName:e}}}};function b(e){u()(e,"storeName must be defined.");var t={getErrorForSelector:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(n,"selectorName is required."),t.getError(e,n,r)},getErrorForAction:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return u()(n,"actionName is required."),t.getError(e,n,r)},getError:function(e,t,n){var r=e.errors;return u()(t,"baseName is required."),r[m(t,n)]},getErrors:function(e){var t=new Set(Object.values(e.errors));return Array.from(t)},getMetaDataForError:function(e,t){var n=Object.keys(e.errors).find((function(n){return e.errors[n]===t}));return n?{baseName:n.substring(0,n.indexOf("::")),args:e.errorArgs[n]}:null},getSelectorDataForError:Object(c.b)((function(t){return function(n,r){var i=t(e).getMetaDataForError(r);if(i){var a=i.baseName,o=i.args;if(!!t(e)[a])return{storeName:e,name:a,args:o}}return null}})),hasErrors:function(e){return t.getErrors(e).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:v,controls:{},reducer:function(e,t){var n=t.type,r=t.payload;switch(n){case"RECEIVE_ERROR":var a=r.baseName,o=r.args,c=r.error,s=m(a,o);return p(p({},e),{},{errors:p(p({},e.errors||{}),{},i()({},s,c)),errorArgs:p(p({},e.errorArgs||{}),{},i()({},s,o))});case"CLEAR_ERROR":var u=r.baseName,l=r.args,d=p({},e),g=m(u,l);return d.errors=p({},e.errors||{}),d.errorArgs=p({},e.errorArgs||{}),delete d.errors[g],delete d.errorArgs[g],d;case"CLEAR_ERRORS":var f=r.baseName,v=p({},e);if(f)for(var b in v.errors=p({},e.errors||{}),v.errorArgs=p({},e.errorArgs||{}),v.errors)(b===f||b.startsWith("".concat(f,"::")))&&(delete v.errors[b],delete v.errorArgs[b]);else v.errors={},v.errorArgs={};return v;default:return e}},resolvers:{},selectors:t}}},650:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsGroup}));var r=n(1),i=n.n(r);function SettingsGroup(t){var n=t.title,r=t.children;return e.createElement("div",{className:"googlesitekit-module-settings-group"},e.createElement("h4",null,n),r)}SettingsGroup.propTypes={title:i.a.string.isRequired,children:i.a.node.isRequired}}).call(this,n(4))},651:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return FirstPartyModeToggle}));var r=n(11),i=n.n(r),a=n(84),o=n(0),c=n(38),s=n(2),u=n(10),l=n(3),d=n(14),g=n(75),f=n(294),p=n(20),m=n(18),v=n(9),b=n(104),h=Object(b.a)(f.b);function FirstPartyModeToggle(t){var n=t.className,r=Object(m.a)(),f=Object(l.useSelect)((function(e){return e(d.c).isFirstPartyModeEnabled()})),b=Object(l.useSelect)((function(e){return e(d.c).isFetchingGetFPMServerRequirementStatus()})),y=Object(l.useSelect)((function(e){var t=e(d.c),n=t.isFPMHealthy,r=t.isScriptAccessEnabled;return!1!==n()&&!1!==r()})),O=Object(l.useDispatch)(d.c),_=O.fetchGetFPMServerRequirementStatus,E=O.setFirstPartyModeEnabled,k=Object(l.useSelect)((function(e){return e(d.c).getDocumentationLinkURL("first-party-mode-introduction")})),S=Object(l.useSelect)((function(e){return e(d.c).getDocumentationLinkURL("first-party-mode-server-requirements")}));Object(a.a)(_);var j=Object(o.useCallback)((function(){var e=f?"deactivate_first_party_mode":"activate_first_party_mode";Object(v.J)("".concat(r,"_fpm-settings-toggle"),e).finally((function(){E(!f)}))}),[f,E,r]);return e.createElement("div",{className:i()("googlesitekit-first-party-mode-toggle",n)},b&&e.createElement(u.ProgressBar,{small:!0,className:"googlesitekit-first-party-mode-toggle__progress"}),!b&&e.createElement("div",{className:"googlesitekit-module-settings-group__switch"},e.createElement(u.Switch,{label:Object(s.__)("First-party mode","google-site-kit"),checked:!!f&&y,disabled:!y,onClick:j,hideLabel:!1}),e.createElement("div",{className:"googlesitekit-first-party-mode-toggle__switch-badge"},e.createElement(g.a,{className:"googlesitekit-badge--beta",hasLeftSpacing:!0,label:Object(s.__)("Beta","google-site-kit")}))),e.createElement("p",{className:"googlesitekit-module-settings-group__helper-text"},Object(c.a)(Object(s.__)("Your tag data will be sent through your own domain to improve data quality and help you recover measurement signals. Learn more","google-site-kit"),{a:e.createElement(p.a,{href:k,onClick:function(){Object(v.J)("".concat(r,"_fpm-settings-toggle"),"click_learn_more_link")},external:!0,"aria-label":Object(s.__)("Learn more about First-party mode","google-site-kit")})})),!b&&!y&&e.createElement(h,{title:Object(c.a)(Object(s.__)("Your server’s current settings prevent First-party mode from working. To enable it, please contact your hosting provider and request access to external resources and plugin files. Learn more","google-site-kit"),{a:e.createElement(p.a,{href:S,onClick:function(){Object(v.J)("".concat(r,"_fpm-settings-toggle-disabled"),"click_learn_more_link")},external:!0,"aria-label":Object(s.__)("Learn more about First-party mode server requirements","google-site-kit")})}),variant:"warning",onInView:function(){Object(v.J)("".concat(r,"_fpm-settings-toggle-disabled"),"view_notice")}}))}}).call(this,n(4))},66:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:a.a.sanitize(e,t)}};function c(e){var t,n="object"===i()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},730:function(e,t,n){"use strict";n.d(t,"a",(function(){return r.a})),n.d(t,"b",(function(){return _})),n.d(t,"c",(function(){return m}));var r=n(848),i=n(5),a=n.n(i),o=n(15),c=n.n(o),s=n(13),u=n(60),l=n.n(u),d=n(263),g=n(14),f=n(167),p=n(9);function m(e){var t=Object(p.H)(e);return{year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate()}}var v=n(6),b=n(44),h=n.n(b),y=function(){var e=c()(a.a.mark((function e(){var t;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Object(d.default)({path:"/wp/v2/pages?per_page=100"});case 3:return t=e.sent,e.abrupt("return",t.map((function(e){return{title:e.title.rendered,path:new URL(e.link).pathname}})));case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",[]);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(){return e.apply(this,arguments)}}();function O(){var e=l()((function(){return h.a.set("core","user","get-token")})),t=Object(s.debounce)(e.clear,3e4,{leading:!1,trailing:!0,maxWait:24e4});function n(){return t(),e()}return n.clear=function(){t.cancel(),e.clear()},n}function _(e){var t,n,r,i,o,s,u,l,d,p,b,h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},_=h.onCampaignCreated,E=void 0===_?null:_,k=h.onFinishAndCloseSignUpFlow,S=void 0===k?null:k,j=e.select,A=e.resolveSelect,w=O(),C={authenticationService:{get:(b=c()(a.a.mark((function e(){var t;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,w();case 2:return t=e.sent,e.abrupt("return",{accessToken:t.token});case 4:case"end":return e.stop()}}),e)}))),function(){return b.apply(this,arguments)}),fix:(p=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return w.clear(),e.abrupt("return",{retryReady:!0});case 2:case"end":return e.stop()}}),e)}))),function(){return p.apply(this,arguments)})},businessService:{getBusinessInfo:(d=c()(a.a.mark((function e(){var t,n;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,A(g.c).getSiteInfo();case 2:return t=j(g.c).getSiteName(),n=j(g.c).getHomeURL(),e.abrupt("return",{businessName:t,businessUrl:n});case 5:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)}),fixBusinessInfo:(l=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{retryReady:!0});case 1:case"end":return e.stop()}}),e)}))),function(){return l.apply(this,arguments)})},campaignService:{notifyNewCampaignCreated:(u=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!E){e.next=3;break}return e.next=3,E();case 3:return e.abrupt("return",{});case 4:case"end":return e.stop()}}),e)}))),function(){return u.apply(this,arguments)})},conversionTrackingService:{getSupportedConversionLabels:(s=c()(a.a.mark((function e(){var t;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,A(f.c).getModuleData();case 2:return t=j(f.c).getSupportedConversionEvents()||[],e.abrupt("return",{conversionLabels:t});case 4:case"end":return e.stop()}}),e)}))),function(){return s.apply(this,arguments)}),getPageViewConversionSetting:(o=c()(a.a.mark((function e(){var t;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y();case 2:return t=e.sent,e.abrupt("return",{websitePages:t});case 4:case"end":return e.stop()}}),e)}))),function(){return o.apply(this,arguments)}),getSupportedConversionTrackingTypes:(i=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{conversionTrackingTypes:["TYPE_CONVERSION_EVENT","TYPE_PAGE_VIEW"]});case 1:case"end":return e.stop()}}),e)}))),function(){return i.apply(this,arguments)})},termsAndConditionsService:{notify:(r=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{});case 1:case"end":return e.stop()}}),e)}))),function(){return r.apply(this,arguments)})},partnerDateRangeService:{get:(n=c()(a.a.mark((function t(){var n,r,i;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.select(v.a).getDateRangeDates({offsetDays:f.b}),r=n.startDate,i=n.endDate,t.abrupt("return",{startDate:m(r),endDate:m(i)});case 2:case"end":return t.stop()}}),t)}))),function(){return n.apply(this,arguments)})},userActionService:{finishAndCloseSignUpFlow:(t=c()(a.a.mark((function e(){return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!S){e.next=3;break}return e.next=3,S();case 3:return e.abrupt("return",{});case 4:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}};return C}},734:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsForm}));var r=n(2),i=n(0),a=n(38),o=n(3),c=n(167),s=n(648),u=n(144),l=n(773),d=n(122),g=n(187),f=n(14),p=n(20),m=n(650),v=n(651);function SettingsForm(){var t=Object(d.a)("adsPax"),n=Object(d.a)("firstPartyMode"),b=Object(o.useSelect)((function(e){return e(c.c).getConversionID()})),h=Object(o.useSelect)((function(e){return e(c.c).getPaxConversionID()})),y=Object(o.useSelect)((function(e){return e(c.c).getExtCustomerID()})),O=Object(o.useSelect)((function(e){return e(f.c).getDocumentationLinkURL("enhanced-conversion-tracking")})),_=t&&h?h:b,E=t&&(h||y);return e.createElement(i.Fragment,null,e.createElement("div",{className:"googlesitekit-ads-settings-fields"},e.createElement(u.a,{moduleSlug:"ads",storeName:c.c}),!E&&e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(l.a,{helperText:Object(r.__)("The Conversion Tracking ID will help track the performance of ad campaigns for the corresponding account","google-site-kit")})),E&&e.createElement("div",null,e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(r.__)("Conversion Tracking ID","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},""===_&&Object(r.__)("None","google-site-kit"),_||void 0===_&&e.createElement(g.b,{value:_}))),e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(r.__)("Customer ID","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},""===y&&Object(r.__)("None","google-site-kit"),y||void 0===y&&e.createElement(g.b,{value:y})))),e.createElement(m.a,{title:Object(r.__)("Improve your measurement","google-site-kit")},e.createElement(s.a,null,Object(a.a)(Object(r.__)("To track the performance of your campaigns, Site Kit will enable enhanced conversion tracking. Learn more","google-site-kit"),{a:e.createElement(p.a,{href:O,external:!0,"aria-label":Object(r.__)("Learn more about conversion tracking","google-site-kit")})})),n&&e.createElement(v.a,null))))}}).call(this,n(4))},75:function(e,t,n){"use strict";(function(e){var r=n(21),i=n.n(r),a=n(24),o=n.n(a),c=n(11),s=n.n(c),u=n(1),l=n.n(u),d=n(0),g=Object(d.forwardRef)((function(t,n){var r=t.label,a=t.className,c=t.hasLeftSpacing,u=void 0!==c&&c,l=o()(t,["label","className","hasLeftSpacing"]);return e.createElement("span",i()({ref:n},l,{className:s()("googlesitekit-badge",a,{"googlesitekit-badge--has-left-spacing":u})}),r)}));g.displayName="Badge",g.propTypes={label:l.a.string.isRequired,hasLeftSpacing:l.a.bool},t.a=g}).call(this,n(4))},76:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var r=n(1),i=n.n(r);function IconWrapper(t){var n=t.children,r=t.marginLeft,i=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:r,marginRight:i}},n)}IconWrapper.propTypes={children:i.a.node.isRequired,marginLeft:i.a.number,marginRight:i.a.number}}).call(this,n(4))},77:function(e,t,n){"use strict";var r=n(0);function i(){return(i=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=O(e,t),r=n.formatUnit,i=n.formatDecimal;try{return r()}catch(e){return i()}},h=function(e){var t=y(e),n=t.hours,r=t.minutes,i=t.seconds;return i=("0"+i).slice(-2),r=("0"+r).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(r,":").concat(i):"".concat(n,":").concat(r,":").concat(i)},y=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},O=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=y(e),r=n.hours,i=n.minutes,a=n.seconds;return{hours:r,minutes:i,seconds:a,formatUnit:function(){var n=t.unitDisplay,o=v(v({unitDisplay:void 0===n?"short":n},l()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?A(a,v(v({},o),{},{unit:"second"})):Object(p.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?A(a,v(v({},o),{},{unit:"second"})):"",i?A(i,v(v({},o),{},{unit:"minute"})):"",r?A(r,v(v({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(p.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. -Object(p.__)("%ds","google-site-kit"),a);if(0===e)return t;var n=Object(p.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. -Object(p.__)("%dm","google-site-kit"),i),o=Object(p.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. -Object(p.__)("%dh","google-site-kit"),r);return Object(p.sprintf)( -/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ -Object(p._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),a?t:"",i?n:"",r?o:"").trim()}}},_=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},E=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in millions. -Object(p.__)("%sM","google-site-kit"),A(_(e),e%10==0?{}:t)):1e4<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(p.__)("%sK","google-site-kit"),A(_(e))):1e3<=e?Object(p.sprintf)(// translators: %s: an abbreviated number in thousands. -Object(p.__)("%sK","google-site-kit"),A(_(e),e%10==0?{}:t)):A(e,{signDisplay:"never",maximumFractionDigits:1})};function k(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=v({},e)),t}function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=k(t),r=n.style,i=void 0===r?"metric":r;return"metric"===i?E(e):"duration"===i?b(e,n):"durationISO"===i?h(e):A(e,n)}var j=f()(console.warn),A=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?C():n,a=l()(t,["locale"]);try{return new Intl.NumberFormat(r,a).format(e)}catch(t){j("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(r),", ").concat(JSON.stringify(a)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],u={},d=0,g=Object.entries(a);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,r=void 0===n?C():n,i=t.style,a=void 0===i?"long":i,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(r,{style:a,type:c});return s.format(e)} -/* translators: used between list items, there is a space after the comma. */var u=Object(p.__)(", ","google-site-kit");return e.join(u)},C=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var r=n.match(/^(\w{2})?(_)?(\w{2})/);if(r&&r[0])return r[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},82:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i}));var r=n(145),i=n.n(r)()(e)}).call(this,n(28))},83:function(e,t,n){"use strict";n.r(t),n.d(t,"AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY",(function(){return r})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY",(function(){return i})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_AUDIENCE_SEGMENTATION",(function(){return a})),n.d(t,"AREA_MAIN_DASHBOARD_CONTENT_PRIMARY",(function(){return o})),n.d(t,"AREA_MAIN_DASHBOARD_SPEED_PRIMARY",(function(){return c})),n.d(t,"AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY",(function(){return s})),n.d(t,"AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY",(function(){return u})),n.d(t,"AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY",(function(){return l})),n.d(t,"AREA_ENTITY_DASHBOARD_SPEED_PRIMARY",(function(){return d})),n.d(t,"AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY",(function(){return g}));var r="mainDashboardKeyMetricsPrimary",i="mainDashboardTrafficPrimary",a="mainDashboardTrafficAudienceSegmentation",o="mainDashboardContentPrimary",c="mainDashboardSpeedPrimary",s="mainDashboardMonetizationPrimary",u="entityDashboardTrafficPrimary",l="entityDashboardContentPrimary",d="entityDashboardSpeedPrimary",g="entityDashboardMonetizationPrimary";t.default={AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY:r,AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY:i,AREA_MAIN_DASHBOARD_CONTENT_PRIMARY:o,AREA_MAIN_DASHBOARD_SPEED_PRIMARY:c,AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY:s,AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY:u,AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY:l,AREA_ENTITY_DASHBOARD_SPEED_PRIMARY:d,AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY:g}},846:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsView}));var r=n(11),i=n.n(r),a=n(2),o=n(3),c=n(167),s=n(14),u=n(6),l=n(187),d=n(235),g=n(122),f=n(647);function SettingsView(){var t=Object(g.a)("adsPax"),n=Object(g.a)("firstPartyMode"),r=Object(o.useSelect)((function(e){return e(c.c).getConversionID()})),p=Object(o.useSelect)((function(e){return e(c.c).getPaxConversionID()})),m=Object(o.useSelect)((function(e){return e(c.c).getExtCustomerID()})),v=Object(o.useSelect)((function(e){return e(u.a).isAdBlockerActive()})),b=t&&p?p:r,h=t&&(p||m),y=Object(o.useSelect)((function(e){return e(s.c).isConversionTrackingEnabled()})),O=Object(o.useSelect)((function(e){if(!n)return!1;var t=e(s.c),r=t.isFirstPartyModeEnabled,i=t.isFPMHealthy,a=t.isScriptAccessEnabled;return r()&&i()&&a()}));return e.createElement("div",{className:"googlesitekit-setup-module"},e.createElement("div",{className:i()({"googlesitekit-settings-module__meta-item":v})},e.createElement(d.a,{moduleSlug:"ads"})),e.createElement(f.a,{statuses:n?[{label:Object(a.__)("Enhanced Conversion Tracking","google-site-kit"),status:y},{label:Object(a.__)("First-party mode","google-site-kit"),status:O}]:[{label:Object(a.__)("Conversion Tracking","google-site-kit"),status:y}]}),!v&&e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(a.__)("Conversion Tracking ID","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},""===b&&Object(a.__)("None","google-site-kit"),b||void 0===b&&e.createElement(l.b,{value:b}))),!v&&h&&e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(a.__)("Customer ID","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},""===m&&Object(a.__)("None","google-site-kit"),m||void 0===m&&e.createElement(l.b,{value:m}))))}}).call(this,n(4))},847:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ConversionIDTextField}));var r=n(16),i=n.n(r),a=n(11),o=n.n(a),c=n(0),s=n(2),u=n(153),l=n(3),d=n(10),g=n(167),f=n(103),p=n(542),m=n(355);function ConversionIDTextField(t){var n=t.helperText,r=Object(l.useSelect)((function(e){return e(g.c).getConversionID()})),a=Object(c.useState)(!r||Object(p.a)(r)),v=i()(a,2),b=v[0],h=v[1],y=Object(u.a)(h,500),O=Object(l.useDispatch)(g.c).setConversionID,_=Object(c.useCallback)((function(e){var t=e.currentTarget.value.trim().toUpperCase();""===t||/^AW-/.test(t)||(t="AW-".concat(t)),t!==r&&O(t),y(Object(p.a)(t))}),[y,r,O]);return e.createElement("div",{className:"googlesitekit-settings-module__fields-group"},e.createElement("h4",{className:"googlesitekit-settings-module__fields-group-title"},Object(s.__)("Conversion Tracking ID","google-site-kit")),n&&e.createElement("p",{className:"googlesitekit-settings-module__fields-group-helper-text"},n),e.createElement(d.TextField,{label:Object(s.__)("Conversion Tracking ID","google-site-kit"),className:o()("googlesitekit-text-field-conversion-tracking-id",{"mdc-text-field--error":!b}),helperText:!b&&Object(s.__)("Tracking for your Ads campaigns won’t work until you insert a valid ID","google-site-kit"),leadingIcon:e.createElement("span",{className:"googlesitekit-text-field-conversion-tracking-id-prefix"},"AW-"),trailingIcon:!b&&e.createElement("span",{className:"googlesitekit-text-field-icon--error"},e.createElement(f.a,null,Object(s.__)("Error","google-site-kit")),e.createElement(m.a,{width:14,height:12})),outlined:!0,value:null==r?void 0:r.replace(/^(AW)?-?/,""),onChange:_,maxLength:20}))}}).call(this,n(4))},848:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return c}));var r=n(12),i=n.n(r),a=n(13),o=n(508);function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.contentContainer,r=t.reportingStyle,c=t._global,s=void 0===c?e:c,u=null==s?void 0:s[o.a];return i()(Object(a.isPlainObject)(u),"base PAX config must be a plain object"),Object(a.merge)(u,n?{clientConfig:{contentContainer:n}}:{},r?{contentConfig:{partnerAdsExperienceConfig:{reportingStyle:r}}}:{})}}).call(this,n(28))},849:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsEdit}));var r=n(3),i=n(10),a=n(167),o=n(6),c=n(734),s=n(235);function SettingsEdit(){var t,n=Object(r.useSelect)((function(e){return e(a.c).isDoingSubmitChanges()}));return t=Object(r.useSelect)((function(e){return e(o.a).isAdBlockerActive()}))?e.createElement(s.a,{moduleSlug:"ads"}):n?e.createElement(i.ProgressBar,null):e.createElement(c.a,null),e.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--ads"},t)}}).call(this,n(4))},85:function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(11),o=n.n(a);function ChangeArrow(t){var n=t.direction,r=t.invertColor,i=t.width,a=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":r}),width:i,height:a,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:i.a.string,invertColor:i.a.bool,width:i.a.number,height:i.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},850:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupMain}));var r=n(1),i=n.n(r),a=n(0),o=n(38),c=n(2),s=n(3),u=n(610),l=n(602),d=n(183),g=n(235),f=n(6);function SetupMain(t){var n=t.finishSetup,r=Object(s.useSelect)((function(e){return e(f.a).isAdBlockerActive()}));return e.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--ads"},e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement("div",{className:"googlesitekit-setup-module__logo"},e.createElement(u.a,{width:"40",height:"40"})),e.createElement("h2",{className:"googlesitekit-heading-3 googlesitekit-setup-module__title"},Object(c._x)("Ads","Service name","google-site-kit"))),e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement(g.a,{moduleSlug:"ads"}),!r&&e.createElement(a.Fragment,null,e.createElement("p",null,Object(o.a)(Object(c.__)("Add your conversion ID below. Site Kit will place it on your site so you can track the performance of your Google Ads campaigns. Learn more","google-site-kit"),{a:e.createElement(d.a,{path:"/google-ads/thread/108976144/where-i-can-find-google-conversion-id-begins-with-aw",external:!0})}),e.createElement("br",null),Object(c.__)("You can always change this later in Site Kit Settings.","google-site-kit")),e.createElement(l.a,{finishSetup:n}))))}SetupMain.propTypes={finishSetup:i.a.func},SetupMain.defaultProps={finishSetup:function(){}}}).call(this,n(4))},851:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return SetupMainPAX}));var i=n(5),a=n.n(i),o=n(15),c=n.n(o),s=n(7),u=n.n(s),l=n(16),d=n.n(l),g=n(241),f=n(0),p=n(38),m=n(2),v=n(164),b=n(3),h=n(10),y=n(610),O=n(602),_=n(183),E=n(235),k=n(6),S=n(32),j=n(167),A=n(186),w=n(601),C=n(14),N=n(508),R=n(122);function SetupMainPAX(t){var n=t.finishSetup,i=Object(A.a)(N.b),o=d()(i,2),s=o[0],l=o[1],T=!!s&&parseInt(s,10),D=Object(f.useRef)(),P=Object(b.useSelect)((function(e){return e(k.a).isAdBlockerActive()})),L=Object(b.useSelect)((function(e){return e(k.a).hasScope(j.a)})),x=Object(b.useSelect)((function(t){var n=Object(v.a)(e.location.href,u()({},N.b,N.c.LAUNCH));return t(k.a).getConnectURL({additionalScopes:[j.a,j.d],redirectURL:n})})),I=Object(b.useSelect)((function(e){return!!x&&e(S.a).isNavigatingTo(x)})),M=Object(b.useDispatch)(S.a).navigateTo,U=Object(b.useDispatch)(j.c),B=U.setPaxConversionID,F=U.setExtCustomerID,W=U.submitChanges,q=Object(g.a)(c()(a.a.mark((function e(){var t,n,r,i,o;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null==D?void 0:D.current){e.next=2;break}return e.abrupt("return");case 2:return t=D.current.getServices(),n=t.accountService,r=t.conversionTrackingIdService,e.next=5,n.getAccountId({});case 5:return i=e.sent,e.next=8,r.getConversionTrackingId({});case 8:if(o=e.sent,i.externalCustomerId||o.conversionTrackingId){e.next=11;break}return e.abrupt("return");case 11:return F(i.externalCustomerId),B(o.conversionTrackingId),e.next=15,W();case 15:case"end":return e.stop()}}),e)}))),[F,B]),H=Object(b.useRegistry)(),V=Object(g.a)(c()(a.a.mark((function e(){var t,r,i;return a.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=H.select,r=H.resolveSelect,e.next=3,r(C.c).getSiteInfo();case 3:i=t(C.c).getAdminURL("googlesitekit-dashboard",{notification:N.d}),n(i);case 5:case"end":return e.stop()}}),e)}))),[H,n]),K=Object(f.useCallback)((function(){L?l(N.c.LAUNCH):M(x)}),[M,l,L,x]),G=Object(f.useCallback)((function(e){D.current=e}),[]),Y=Object(R.a)("adsPax");return Object(f.useEffect)((function(){Y&&K()}),[Y,K]),r.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--ads"},r.createElement("div",{className:"googlesitekit-setup-module__step"},r.createElement("div",{className:"googlesitekit-setup-module__logo"},r.createElement(y.a,{width:"40",height:"40"})),r.createElement("h2",{className:"googlesitekit-heading-3 googlesitekit-setup-module__title"},Object(m._x)("Ads","Service name","google-site-kit"))),r.createElement("div",{className:"googlesitekit-setup-module__step"},r.createElement(E.a,{moduleSlug:"ads"}),Y&&!T&&r.createElement(h.ProgressBar,null),!P&&N.c.LAUNCH===T&&L&&r.createElement(w.a,{displayMode:"setup",onLaunch:G,onCampaignCreated:q,onFinishAndCloseSignUpFlow:V}),!Y&&!P&&(!T||!L)&&r.createElement(f.Fragment,null,r.createElement("p",null,Object(p.a)(Object(m.__)("Add your conversion ID below. Site Kit will place it on your site so you can track the performance of your Google Ads campaigns. Learn more","google-site-kit"),{a:r.createElement(_.a,{path:"/google-ads/thread/108976144/where-i-can-find-google-conversion-id-begins-with-aw",external:!0})}),r.createElement("br",null),Object(m.__)("You can always change this later in Site Kit Settings.","google-site-kit")),r.createElement(O.a,{finishSetup:n,isNavigatingToOAuthURL:I,createAccountCTA:r.createElement(f.Fragment,null,r.createElement(h.SpinnerButton,{onClick:K,disabled:I,isSaving:I,inverse:!0},Object(m.__)("Create an account","google-site-kit")),!L&&r.createElement("p",{className:"googlesitekit-setup-module__permission-notice"},Object(m.__)("You’ll be asked to grant Site Kit additional permissions during the account creation process to create a new Ads account.","google-site-kit")))}))))}SetupMainPAX.defaultProps={finishSetup:function(){}}}).call(this,n(28),n(4))},852:function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return PAXSetupSuccessSubtleNotification}));var i=n(16),a=n.n(i),o=n(1),c=n.n(o),s=n(2),u=n(3),l=n(47),d=n(86),g=n(172),f=n(186),p=n(26),m=n(158),v=n(246);function PAXSetupSuccessSubtleNotification(t){var n=t.id,i=t.Notification,o=Object(p.e)(),c=Object(u.useDispatch)(l.a).dismissNotification,b=Object(f.a)("notification"),h=a()(b,2)[1],y=function(){h(void 0)};return r.createElement(i,null,r.createElement(g.a,{title:Object(s.__)("Your Ads campaign was successfully set up!","google-site-kit"),description:Object(s.__)("Track your conversions, measure your campaign results and make the most of your ad spend","google-site-kit"),dismissCTA:r.createElement(m.a,{id:n,primary:!1,dismissLabel:Object(s.__)("Got it","google-site-kit"),onDismiss:y}),additionalCTA:r.createElement(v.a,{id:n,ctaLabel:Object(s.__)("Show me","google-site-kit"),onCTAClick:function(t){t.preventDefault(),setTimeout((function(){e.scrollTo({top:Object(d.a)(".googlesitekit-widget--partnerAdsPAX",o),behavior:"smooth"}),y(),c(n)}),50)}})}))}PAXSetupSuccessSubtleNotification.propTypes={id:c.a.string.isRequired,Notification:c.a.elementType.isRequired}}).call(this,n(28),n(4))},853:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupSuccessSubtleNotification}));var r=n(16),i=n.n(r),a=n(2),o=n(172),c=n(158),s=n(186);function SetupSuccessSubtleNotification(t){var n=t.id,r=t.Notification,u=Object(s.a)("notification"),l=i()(u,2)[1],d=Object(s.a)("slug"),g=i()(d,2)[1];return e.createElement(r,null,e.createElement(o.a,{title:Object(a.__)("Success! Your Conversion Tracking ID was added to your site","google-site-kit"),description:Object(a.__)("You can now track conversions for your Ads campaigns","google-site-kit"),dismissCTA:e.createElement(c.a,{id:n,primary:!1,dismissLabel:Object(a.__)("Got it","google-site-kit"),onDismiss:function(){l(void 0),g(void 0)}})}))}}).call(this,n(4))},86:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var r=n(26),i=n(118);function a(t,n){var r=document.querySelector(t);if(!r)return 0;var i=r.getBoundingClientRect().top,a=o(n);return i+e.scrollY-a}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,a=document.querySelector(".googlesitekit-header");return n=!!a&&"sticky"===e.getComputedStyle(a).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===r.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==r.b?t.offsetHeight:0}(t),(n=Object(i.a)(n))<0?0:n}}).call(this,n(28))},88:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(12),i=n.n(r),a=function(e,t){var n=t.dateRangeLength;i()(Array.isArray(e),"report must be an array to partition."),i()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var r=-1*n;return{currentRange:e.slice(r),compareRange:e.slice(2*r,r)}}},9:function(e,t,n){"use strict";n.d(t,"J",(function(){return i.b})),n.d(t,"K",(function(){return i.c})),n.d(t,"G",(function(){return a.a})),n.d(t,"L",(function(){return a.b})),n.d(t,"I",(function(){return l})),n.d(t,"n",(function(){return d.a})),n.d(t,"C",(function(){return d.d})),n.d(t,"D",(function(){return d.e})),n.d(t,"z",(function(){return d.c})),n.d(t,"s",(function(){return d.b})),n.d(t,"A",(function(){return m})),n.d(t,"k",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"d",(function(){return k})),n.d(t,"c",(function(){return S})),n.d(t,"e",(function(){return j})),n.d(t,"b",(function(){return A})),n.d(t,"a",(function(){return w})),n.d(t,"g",(function(){return C})),n.d(t,"f",(function(){return N})),n.d(t,"o",(function(){return R})),n.d(t,"x",(function(){return T})),n.d(t,"q",(function(){return D})),n.d(t,"H",(function(){return P})),n.d(t,"t",(function(){return L})),n.d(t,"w",(function(){return x})),n.d(t,"l",(function(){return I})),n.d(t,"p",(function(){return M.b})),n.d(t,"i",(function(){return M.a})),n.d(t,"u",(function(){return U.b})),n.d(t,"r",(function(){return U.a})),n.d(t,"B",(function(){return U.c})),n.d(t,"y",(function(){return B})),n.d(t,"v",(function(){return F})),n.d(t,"F",(function(){return H})),n.d(t,"E",(function(){return V.a})),n.d(t,"h",(function(){return K})),n.d(t,"M",(function(){return G})),n.d(t,"m",(function(){return Y}));var r=n(13),i=n(37),a=n(72),o=n(33),c=n.n(o),s=n(92),u=n.n(s),l=function(e){return u()(JSON.stringify(function e(t){var n={};return Object.keys(t).sort().forEach((function(r){var i=t[r];i&&"object"===c()(i)&&!Array.isArray(i)&&(i=e(i)),n[r]=i})),n}(e)))};n(96);var d=n(81);function g(e){return e.replace(new RegExp("\\[([^\\]]+)\\]\\((https?://[^/]+\\.\\w+/?.*?)\\)","gi"),'$1')}function f(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function p(e){return e.replace(/\n/gi,"
")}function m(e){for(var t=e,n=0,r=[g,f,p];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(r.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(r.isDate)(n)&&!isNaN(n)}function D(e){_()(Object(r.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function P(e){_()(T(e),k);var t=e.split("-"),n=y()(t,3),r=n[0],i=n[1],a=n[2];return new Date(r,i-1,a)}function L(e,t){return D(I(e,t*w))}function x(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function I(e,t){_()(T(e)||Object(r.isDate)(e)&&!isNaN(e),k);var n=T(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var M=n(97),U=n(80);function B(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function F(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var W=n(27),q=n.n(W),H=function(e){return Array.isArray(e)?q()(e).sort():e},V=n(88);function K(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var r=(t-e)/e;return Number.isNaN(r)||!Number.isFinite(r)?null:r}var G=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},Y=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(r.unescape)(t)}},91:function(e,t,n){"use strict";(function(e){var r=n(1),i=n.n(r),a=n(11),o=n.n(a),c=n(10),s=n(20);function CTA(t){var n=t.title,r=t.headerText,i=t.headerContent,a=t.description,u=t.ctaLink,l=t.ctaLabel,d=t.ctaLinkExternal,g=t.ctaType,f=t.error,p=t.onClick,m=t["aria-label"],v=t.children;return e.createElement("div",{className:o()("googlesitekit-cta",{"googlesitekit-cta--error":f})},(r||i)&&e.createElement("div",{className:"googlesitekit-cta__header"},r&&e.createElement("h2",{className:"googlesitekit-cta__header_text"},r),i),e.createElement("div",{className:"googlesitekit-cta__body"},n&&e.createElement("h3",{className:"googlesitekit-cta__title"},n),a&&"string"==typeof a&&e.createElement("p",{className:"googlesitekit-cta__description"},a),a&&"string"!=typeof a&&e.createElement("div",{className:"googlesitekit-cta__description"},a),l&&"button"===g&&e.createElement(c.Button,{"aria-label":m,href:u,onClick:p},l),l&&"link"===g&&e.createElement(s.a,{href:u,onClick:p,"aria-label":m,external:d,hideExternalIndicator:d,arrow:!0},l),v))}CTA.propTypes={title:i.a.string.isRequired,headerText:i.a.string,description:i.a.oneOfType([i.a.string,i.a.node]),ctaLink:i.a.string,ctaLinkExternal:i.a.bool,ctaLabel:i.a.string,ctaType:i.a.string,"aria-label":i.a.string,error:i.a.bool,onClick:i.a.func,children:i.a.node,headerContent:i.a.node},CTA.defaultProps={title:"",headerText:"",headerContent:"",description:"",ctaLink:"",ctaLabel:"",ctaType:"link",error:!1,onClick:function(){}},t.a=CTA}).call(this,n(4))},95:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),i=n(18),a=n(9);function o(e,t){var n=Object(i.a)(),o=null!=t?t:"".concat(n,"_").concat(e);return{view:Object(r.useCallback)((function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var a=n.invertColor,o=void 0!==a&&a;return Object(r.a)(e.createElement(i.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},98:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var r=n(7),i=n.n(r),a=n(13),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=u(u({},l),t);i.referenceSiteURL&&(i.referenceSiteURL=i.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(i,n),d=Object(c.a)(i,n,s,r),g={},f=function(){for(var e=arguments.length,t=new Array(e),n=0;n$1')}function m(e){return"

".concat(e.replace(/\n{2,}/g,"

"),"

")}function f(e){return e.replace(/\n/gi,"
")}function p(e){for(var t=e,n=0,a=[g,m,f];n0&&void 0!==arguments[0]?arguments[0]:"";if(!Object(a.isString)(e))return!1;var t=e.split("-");if(3!==t.length)return!1;var n=new Date(e);return Object(a.isDate)(n)&&!isNaN(n)}function M(e){_()(Object(a.isDate)(e)&&!isNaN(e),"Date param must construct to a valid date instance or be a valid date instance itself.");var t="".concat(e.getMonth()+1),n="".concat(e.getDate());return[e.getFullYear(),t.length<2?"0".concat(t):t,n.length<2?"0".concat(n):n].join("-")}function R(e){_()(I(e),k);var t=e.split("-"),n=y()(t,3),a=n[0],r=n[1],i=n[2];return new Date(a,r-1,i)}function D(e,t){return M(L(e,t*A))}function x(e){var t=e.split("-");return 3===t.length&&"last"===t[0]&&!Number.isNaN(t[1])&&!Number.isNaN(parseFloat(t[1]))&&"days"===t[2]}function L(e,t){_()(I(e)||Object(a.isDate)(e)&&!isNaN(e),k);var n=I(e)?Date.parse(e):e.getTime();return new Date(n-1e3*t)}var P=n(97),G=n(81);function Z(e){var t=parseFloat(e)||0;return!!Number.isInteger(t)&&t>0}function B(e){if("number"==typeof e)return!0;var t=(e||"").toString();return!!t&&!isNaN(t)}var U=n(27),F=n.n(U),z=function(e){return Array.isArray(e)?F()(e).sort():e},W=n(89);function V(e,t){var n=function(e){return"0"===e||0===e};if(n(e)&&n(t))return 0;if(n(e)||Number.isNaN(e))return null;var a=(t-e)/e;return Number.isNaN(a)||!Number.isFinite(a)?null:a}var H=function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}},q=function(e){if(!e)return"";var t=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(t)})).replace(/(\\)/g,"");return Object(a.unescape)(t)}},function(e,t){e.exports=googlesitekit.components},,,function(e,t,n){"use strict";n.d(t,"c",(function(){return a})),n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var a="core/site",r="primary",i="secondary"},,,,function(e,t,n){"use strict";var a=n(248);n.d(t,"i",(function(){return a.a}));var r=n(318);n.d(t,"f",(function(){return r.a}));var i=n(319);n.d(t,"h",(function(){return i.a}));var o=n(320);n.d(t,"j",(function(){return o.a}));var c=n(317);n.d(t,"g",(function(){return c.a}));var s=n(91),l=n.n(s);n.d(t,"b",(function(){return l.a})),n.d(t,"c",(function(){return s.DialogContent})),n.d(t,"d",(function(){return s.DialogFooter}));var u=n(102);n.d(t,"a",(function(){return u.a})),n.d(t,"e",(function(){return u.b})),n.d(t,"k",(function(){return u.c}))},function(e,t,n){"use strict";var a=n(1),r=n(59);t.a=function(){return Object(a.useContext)(r.b)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return r}));var a="core/modules",r="insufficient_module_dependencies"},,function(e,t,n){"use strict";(function(e){var a=n(20),r=n.n(a),i=n(25),o=n.n(i),c=n(11),s=n.n(c),l=n(0),u=n.n(l),d=n(145),g=n(1),m=n(2),f=n(127),p=n(128),b=n(129),v=n(75),h=n(78),y=Object(g.forwardRef)((function(t,n){var a,i=t["aria-label"],c=t.secondary,l=void 0!==c&&c,u=t.arrow,g=void 0!==u&&u,y=t.back,O=void 0!==y&&y,_=t.caps,E=void 0!==_&&_,k=t.children,S=t.className,j=void 0===S?"":S,T=t.danger,A=void 0!==T&&T,N=t.disabled,C=void 0!==N&&N,w=t.external,I=void 0!==w&&w,M=t.hideExternalIndicator,R=void 0!==M&&M,D=t.href,x=void 0===D?"":D,L=t.inverse,P=void 0!==L&&L,G=t.noFlex,Z=void 0!==G&&G,B=t.onClick,U=t.small,F=void 0!==U&&U,z=t.standalone,W=void 0!==z&&z,V=t.linkButton,H=void 0!==V&&V,q=t.to,K=t.leadingIcon,Y=t.trailingIcon,J=o()(t,["aria-label","secondary","arrow","back","caps","children","className","danger","disabled","external","hideExternalIndicator","href","inverse","noFlex","onClick","small","standalone","linkButton","to","leadingIcon","trailingIcon"]),$=x||q||!B?q?"ROUTER_LINK":I?"EXTERNAL_LINK":"LINK":C?"BUTTON_DISABLED":"BUTTON",X="BUTTON"===$||"BUTTON_DISABLED"===$?"button":"ROUTER_LINK"===$?d.b:"a",Q=("EXTERNAL_LINK"===$&&(a=Object(m._x)("(opens in a new tab)","screen reader text","google-site-kit")),"BUTTON_DISABLED"===$&&(a=Object(m._x)("(disabled)","screen reader text","google-site-kit")),a?i?"".concat(i," ").concat(a):"string"==typeof k?"".concat(k," ").concat(a):void 0:i),ee=K,te=Y;return O&&(ee=e.createElement(b.a,{width:14,height:14})),I&&!R&&(te=e.createElement(v.a,{width:14,height:14})),g&&!P&&(te=e.createElement(f.a,{width:14,height:14})),g&&P&&(te=e.createElement(p.a,{width:14,height:14})),e.createElement(X,r()({"aria-label":Q,className:s()("googlesitekit-cta-link",j,{"googlesitekit-cta-link--secondary":l,"googlesitekit-cta-link--inverse":P,"googlesitekit-cta-link--small":F,"googlesitekit-cta-link--caps":E,"googlesitekit-cta-link--danger":A,"googlesitekit-cta-link--disabled":C,"googlesitekit-cta-link--standalone":W,"googlesitekit-cta-link--link-button":H,"googlesitekit-cta-link--no-flex":!!Z}),disabled:C,href:"LINK"!==$&&"EXTERNAL_LINK"!==$||C?void 0:x,onClick:B,rel:"EXTERNAL_LINK"===$?"noopener noreferrer":void 0,ref:n,target:"EXTERNAL_LINK"===$?"_blank":void 0,to:q},J),!!ee&&e.createElement(h.a,{marginRight:5},ee),e.createElement("span",{className:"googlesitekit-cta-link__contents"},k),!!te&&e.createElement(h.a,{marginLeft:5},te))}));y.propTypes={arrow:u.a.bool,back:u.a.bool,caps:u.a.bool,children:u.a.node,className:u.a.string,danger:u.a.bool,disabled:u.a.bool,external:u.a.bool,hideExternalIndicator:u.a.bool,href:u.a.string,inverse:u.a.bool,leadingIcon:u.a.node,linkButton:u.a.bool,noFlex:u.a.bool,onClick:u.a.func,small:u.a.bool,standalone:u.a.bool,to:u.a.string,trailingIcon:u.a.node},t.a=y}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"n",(function(){return a})),n.d(t,"l",(function(){return r})),n.d(t,"o",(function(){return i})),n.d(t,"m",(function(){return o})),n.d(t,"t",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"s",(function(){return l})),n.d(t,"i",(function(){return u})),n.d(t,"j",(function(){return d})),n.d(t,"r",(function(){return g})),n.d(t,"k",(function(){return m})),n.d(t,"u",(function(){return f})),n.d(t,"v",(function(){return p})),n.d(t,"q",(function(){return b})),n.d(t,"p",(function(){return v})),n.d(t,"b",(function(){return h})),n.d(t,"e",(function(){return y})),n.d(t,"a",(function(){return O})),n.d(t,"d",(function(){return _})),n.d(t,"c",(function(){return E})),n.d(t,"f",(function(){return k})),n.d(t,"g",(function(){return S}));var a="mainDashboard",r="entityDashboard",i="mainDashboardViewOnly",o="entityDashboardViewOnly",c="userInput",s="activation",l="splash",u="adminBar",d="adminBarViewOnly",g="settings",m="adBlockingRecovery",f="wpDashboard",p="wpDashboardViewOnly",b="moduleSetup",v="metricSelection",h="key-metrics",y="traffic",O="content",_="speed",E="monetization",k=[a,r,i,o,c,l,g,b,v],S=[i,o,d,p]},function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return r}));var a="core/ui",r="activeContextID"},function(e,t,n){"use strict";n.d(t,"d",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"b",(function(){return c})),n.d(t,"e",(function(){return s}));var a=n(77),r="xlarge",i="desktop",o="tablet",c="small";function s(){var e=Object(a.a)();return e>1280?r:e>960?i:e>600?o:c}},,function(e,t,n){"use strict";n.d(t,"l",(function(){return r})),n.d(t,"k",(function(){return i})),n.d(t,"j",(function(){return o})),n.d(t,"i",(function(){return c})),n.d(t,"a",(function(){return s})),n.d(t,"p",(function(){return l})),n.d(t,"o",(function(){return u})),n.d(t,"m",(function(){return d})),n.d(t,"n",(function(){return g})),n.d(t,"c",(function(){return m})),n.d(t,"g",(function(){return f})),n.d(t,"h",(function(){return p})),n.d(t,"d",(function(){return b})),n.d(t,"e",(function(){return v})),n.d(t,"f",(function(){return h})),n.d(t,"b",(function(){return y}));var a=n(2),r="key-metrics-setup-cta-widget",i="googlesitekit-key-metrics-selection-panel-opened",o="key-metrics-selection-form",c="key-metrics-selected",s="key-metrics-effective-selection",l="key-metrics-unstaged-selection",u=2,d=4,g=8,m={SLUG:"current-selection",LABEL:Object(a.__)("Current selection","google-site-kit")},f={SLUG:"suggested",LABEL:Object(a.__)("Suggested","google-site-kit")},p={SLUG:"visitors",LABEL:Object(a.__)("Visitors","google-site-kit")},b={SLUG:"driving-traffic",LABEL:Object(a.__)("Driving traffic","google-site-kit")},v={SLUG:"generating-leads",LABEL:Object(a.__)("Generating leads","google-site-kit")},h={SLUG:"selling-products",LABEL:Object(a.__)("Selling products","google-site-kit")},y={SLUG:"content-performance",LABEL:Object(a.__)("Content performance","google-site-kit")}},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var a="core/forms"},,function(e,t,n){"use strict";n.d(t,"m",(function(){return a})),n.d(t,"j",(function(){return r})),n.d(t,"g",(function(){return i})),n.d(t,"f",(function(){return o})),n.d(t,"h",(function(){return c})),n.d(t,"e",(function(){return s})),n.d(t,"i",(function(){return l})),n.d(t,"d",(function(){return u})),n.d(t,"a",(function(){return d})),n.d(t,"c",(function(){return g})),n.d(t,"b",(function(){return m})),n.d(t,"k",(function(){return f})),n.d(t,"l",(function(){return p}));var a="modules/adsense",r=1,i="READY",o="NEEDS_ATTENTION",c="REQUIRES_REVIEW",s="GETTING_READY",l="background-submit-suspended",u="ad-blocking-recovery-setup-success",d="adsenseAdBlockingFormSettings",g="googlesitekit-ad-blocking-recovery-setup-create-message-cta-clicked",m="ad-blocking-recovery-notification",f={TAG_PLACED:"tag-placed",SETUP_CONFIRMED:"setup-confirmed"},p={PLACE_TAGS:0,CREATE_MESSAGE:1,COMPLETE:2}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var a="core/location"},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d})),n.d(t,"d",(function(){return h})),n.d(t,"f",(function(){return y})),n.d(t,"c",(function(){return O})),n.d(t,"e",(function(){return _})),n.d(t,"b",(function(){return E}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=(n(27),n(9));function s(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n2&&void 0!==p[2]?p[2]:{},o=i.ttl,s=void 0===o?c.b:o,l=i.timestamp,u=void 0===l?Math.round(Date.now()/1e3):l,d=i.isError,m=void 0!==d&&d,t.next=3,b();case 3:if(!(f=t.sent)){t.next=14;break}return t.prev=5,f.setItem("".concat(g).concat(n),JSON.stringify({timestamp:u,ttl:s,value:a,isError:m})),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(5),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[5,10]])})));return function(e,n){return t.apply(this,arguments)}}(),O=function(){var t=o()(r.a.mark((function t(n){var a,i;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(a=t.sent)){t.next=14;break}return t.prev=4,i=n.startsWith(d)?n:"".concat(g).concat(n),a.removeItem(i),t.abrupt("return",!0);case 10:return t.prev=10,t.t0=t.catch(4),e.console.warn("Encountered an unexpected storage error:",t.t0),t.abrupt("return",!1);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e){return t.apply(this,arguments)}}(),_=function(){var t=o()(r.a.mark((function t(){var n,a,i,o;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b();case 2:if(!(n=t.sent)){t.next=14;break}for(t.prev=4,a=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:i;return t instanceof Set&&t.has(e)}}).call(this,n(28))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return r}));var a="_googlesitekitDataLayer",r="data-googlesitekit-gtag"},,function(e,t,n){"use strict";(function(e){var a=n(7),r=n.n(a),i=n(0),o=n.n(i),c=n(11),s=n.n(c),l=n(24);function PreviewBlock(t){var n,a,i=t.className,o=t.width,c=t.height,u=t.shape,d=t.padding,g=t.smallWidth,m=t.smallHeight,f=t.tabletWidth,p=t.tabletHeight,b=t.desktopWidth,v=t.desktopHeight,h=Object(l.e)(),y={width:(n={},r()(n,l.b,g),r()(n,l.c,f),r()(n,l.a,b),r()(n,l.d,b),n),height:(a={},r()(a,l.b,m),r()(a,l.c,p),r()(a,l.a,v),r()(a,l.d,b),a)};return e.createElement("div",{className:s()("googlesitekit-preview-block",i,{"googlesitekit-preview-block--padding":d}),style:{width:y.width[h]||o,height:y.height[h]||c}},e.createElement("div",{className:s()("googlesitekit-preview-block__wrapper",{"googlesitekit-preview-block__wrapper--circle":"circular"===u})}))}PreviewBlock.propTypes={className:o.a.string,width:o.a.string,height:o.a.string,shape:o.a.string,padding:o.a.bool,smallWidth:o.a.string,smallHeight:o.a.string,tabletWidth:o.a.string,tabletHeight:o.a.string,desktopWidth:o.a.string,desktopHeight:o.a.string},PreviewBlock.defaultProps={className:void 0,width:"100px",height:"100px",shape:"square",padding:!1,smallWidth:void 0,smallHeight:void 0,tabletWidth:void 0,tabletHeight:void 0,desktopWidth:void 0,desktopHeight:void 0},t.a=PreviewBlock}).call(this,n(4))},,function(e,t){e.exports=googlesitekit.api},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var a=n(22),r="core/notifications",i={ERRORS:"notification-area-errors",BANNERS_ABOVE_NAV:"notification-area-banners-above-nav",BANNERS_BELOW_NAV:"notification-area-banners-below-nav"},o={DEFAULT:"default",SETUP_CTAS:"setup-ctas"},c=[a.s,a.n,a.l,a.o,a.m]},,function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return i}));var a={BOXES:"boxes",COMPOSITE:"composite"},r={QUARTER:"quarter",HALF:"half",FULL:"full"},i="core/widgets"},function(e,t,n){"use strict";n.d(t,"a",(function(){return O}));var a=n(5),r=n.n(a),i=n(7),o=n.n(i),c=n(12),s=n.n(c),l=n(14),u=n(65),d=n(80),g=n(9);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function f(e){for(var t=1;t1?n-1:0),r=1;rredo the plugin setup.',"google-site-kit"),a));return e.createElement("div",{className:"googlesitekit-error-text"},e.createElement("p",{dangerouslySetInnerHTML:Object(c.G)(s,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href"]})}))}ErrorText.propTypes={message:r.a.string.isRequired,reconnectURL:r.a.string,noPrefix:r.a.bool},ErrorText.defaultProps={reconnectURL:"",noPrefix:!1},t.a=ErrorText}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(40);function r(e){return function(){e[a.a]=e[a.a]||[],e[a.a].push(arguments)}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(1),r=Object(a.createContext)(""),i=(r.Consumer,r.Provider);t.b=r},,function(e,t,n){"use strict";n.d(t,"a",(function(){return T})),n.d(t,"b",(function(){return A})),n.d(t,"c",(function(){return N})),n.d(t,"d",(function(){return w})),n.d(t,"e",(function(){return I})),n.d(t,"g",(function(){return R})),n.d(t,"f",(function(){return D}));var a,r=n(5),i=n.n(r),o=n(27),c=n.n(o),s=n(7),l=n.n(s),u=n(12),d=n.n(u),g=n(60),m=n.n(g),f=n(14),p=n(116);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function v(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:a,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return r.reduce((function(e,n){return n(e,t)}),e)}},E=h,k=h,S=h,j=function(e){return e},T=function(){for(var e=arguments.length,t=new Array(e),n=0;n=1?n[r]+1:1,n[r]>1&&t.push(r)}return t},w={actions:A,controls:N,reducer:j},I=function(e){return function(t){return M(e(t))}},M=m()((function(e){return Object(f.mapValues)(e,(function(e,t){return function(){var n=e.apply(void 0,arguments);return d()(void 0!==n,"".concat(t,"(...) is not resolved")),n}}))}));function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.negate,a=void 0!==n&&n,r=Object(p.b)((function(t){return function(n){var r=!a,i=!!a;try{for(var o=arguments.length,c=new Array(o>1?o-1:0),s=1;s1?a-1:0),i=1;i0}function h(e){return"string"==typeof e&&/^G-[a-zA-Z0-9]+$/.test(e)}function y(e){return"string"==typeof e&&/^(G|GT|AW)-[a-zA-Z0-9]+$/.test(e)}function O(e){r()(Object(i.isPlainObject)(e),"options for Analytics 4 report must be an object."),r()(Object(s.a)(e),"Either date range or start/end dates must be provided for Analytics 4 report.");var t=Object(l.a)(e),n=t.metrics,a=t.dimensions,o=t.dimensionFilters,c=t.metricFilters,d=t.orderby;r()(n.length,"Requests must specify at least one metric for an Analytics 4 report."),r()(Object(u.d)(n),'metrics for an Analytics 4 report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property. Metric names must match the expression ^[a-zA-Z0-9_]+$.'),a&&r()(Object(u.b)(a),'dimensions for an Analytics 4 report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property.'),o&&r()(Object(u.a)(o),"dimensionFilters for an Analytics 4 report must be a map of dimension names as keys and dimension values as values."),c&&r()(Object(u.c)(c),"metricFilters for an Analytics 4 report must be a map of metric names as keys and filter value(s) as numeric fields, depending on the filterType."),d&&r()(Object(u.e)(d),'orderby for an Analytics 4 report must be an array of OrderBy objects where each object should have either a "metric" or "dimension" property, and an optional "desc" property.')}function _(e){r()(Object(i.isPlainObject)(e),"options for Analytics 4 pivot report must be an object."),r()(Object(s.a)(e),"Start/end dates must be provided for Analytics 4 pivot report.");var t=Object(l.a)(e),n=t.metrics,a=t.dimensions,o=t.dimensionFilters,c=t.metricFilters,g=t.pivots,m=t.orderby,f=t.limit;r()(n.length,"Requests must specify at least one metric for an Analytics 4 pivot report."),r()(Object(u.d)(n),'metrics for an Analytics 4 pivot report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property. Metric names must match the expression ^[a-zA-Z0-9_]+$.'),r()(Object(d.a)(g),'pivots for an Analytics 4 pivot report must be an array of objects. Each object must have a "fieldNames" property and a "limit".'),m&&r()(Array.isArray(m),"orderby for an Analytics 4 pivot report must be passed within a pivot."),f&&r()("number"==typeof f,"limit for an Analytics 4 pivot report must be passed within a pivot."),a&&r()(Object(u.b)(a),'dimensions for an Analytics 4 pivot report must be either a string, an array of strings, an object, an array of objects, or a mix of strings and objects. Objects must have a "name" property.'),o&&r()(Object(u.a)(o),"dimensionFilters for an Analytics 4 pivot report must be a map of dimension names as keys and dimension values as values."),c&&r()(Object(u.c)(c),"metricFilters for an Analytics 4 pivot report must be a map of metric names as keys and filter value(s) as numeric fields, depending on the filterType.")}function E(e){var t=["displayName","description","membershipDurationDays","eventTrigger","exclusionDurationMode","filterClauses"];r()(Object(i.isPlainObject)(e),"Audience must be an object."),Object.keys(e).forEach((function(e){r()(t.includes(e),'Audience object must contain only valid keys. Invalid key: "'.concat(e,'"'))})),["displayName","description","membershipDurationDays","filterClauses"].forEach((function(t){r()(e[t],'Audience object must contain required keys. Missing key: "'.concat(t,'"'))})),r()(Object(i.isArray)(e.filterClauses),"filterClauses must be an array with AudienceFilterClause objects.")}},function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return v}));var a=n(7),r=n.n(a),i=n(33),o=n.n(i),c=n(116),s=n(12),l=n.n(s),u=n(93),d=n.n(u),g=n(9);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function f(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:[];return l()(e,"error is required."),l()(t,"baseName is required."),l()(n&&Array.isArray(n),"args must be an array."),{type:"RECEIVE_ERROR",payload:{error:e,baseName:t,args:n}}},clearError:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return l()(e,"baseName is required."),l()(t&&Array.isArray(t),"args must be an array."),{type:"CLEAR_ERROR",payload:{baseName:e,args:t}}},clearErrors:function(e){return{type:"CLEAR_ERRORS",payload:{baseName:e}}}};function v(e){l()(e,"storeName must be defined.");var t={getErrorForSelector:function(e,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return l()(n,"selectorName is required."),t.getError(e,n,a)},getErrorForAction:function(e,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return l()(n,"actionName is required."),t.getError(e,n,a)},getError:function(e,t,n){var a=e.errors;return l()(t,"baseName is required."),a[p(t,n)]},getErrors:function(e){var t=new Set(Object.values(e.errors));return Array.from(t)},getMetaDataForError:function(e,t){var n=Object.keys(e.errors).find((function(n){return e.errors[n]===t}));return n?{baseName:n.substring(0,n.indexOf("::")),args:e.errorArgs[n]}:null},getSelectorDataForError:Object(c.b)((function(t){return function(n,a){var r=t(e).getMetaDataForError(a);if(r){var i=r.baseName,o=r.args;if(!!t(e)[i])return{storeName:e,name:i,args:o}}return null}})),hasErrors:function(e){return t.getErrors(e).length>0}};return{initialState:{errors:{},errorArgs:{}},actions:b,controls:{},reducer:function(e,t){var n=t.type,a=t.payload;switch(n){case"RECEIVE_ERROR":var i=a.baseName,o=a.args,c=a.error,s=p(i,o);return f(f({},e),{},{errors:f(f({},e.errors||{}),{},r()({},s,c)),errorArgs:f(f({},e.errorArgs||{}),{},r()({},s,o))});case"CLEAR_ERROR":var l=a.baseName,u=a.args,d=f({},e),g=p(l,u);return d.errors=f({},e.errors||{}),d.errorArgs=f({},e.errorArgs||{}),delete d.errors[g],delete d.errorArgs[g],d;case"CLEAR_ERRORS":var m=a.baseName,b=f({},e);if(m)for(var v in b.errors=f({},e.errors||{}),b.errorArgs=f({},e.errorArgs||{}),b.errors)(v===m||v.startsWith("".concat(m,"::")))&&(delete b.errors[v],delete b.errorArgs[v]);else b.errors={},b.errorArgs={};return b;default:return e}},resolvers:{},selectors:t}}},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return{__html:i.a.sanitize(e,t)}};function c(e){var t,n="object"===r()(e)?e.toString():e;return null==n||null===(t=n.replace)||void 0===t?void 0:t.call(n,/\/+$/,"")}},function(e,t,n){"use strict";var a=n(15),r=n.n(a),i=n(259),o=n(0),c=n.n(o),s=n(1),l=n(144);function Portal(e){var t=e.children,n=e.slug,a=Object(s.useState)(document.createElement("div")),o=r()(a,1)[0];return Object(i.a)((function(){n&&o.classList.add("googlesitekit-portal-".concat(n));var e=document.querySelector(".googlesitekit-plugin")||document.body;return e.appendChild(o),function(){return e.removeChild(o)}})),Object(l.createPortal)(t,o)}Portal.propTypes={slug:c.a.string,children:c.a.node},Portal.defaultProps={slug:"",children:null},t.a=Portal},function(e,t,n){"use strict";function Null(){return null}n.d(t,"a",(function(){return Null}))},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:c,t=e.fps,n=e.leading,a=e.initialWidth,u=void 0===a?0:a,d=e.initialHeight,g=void 0===d?0:d,m=Object(i.a)("undefined"==typeof document?[u,g]:l,t,n),f=r()(m,2),p=f[0],b=f[1],v=function(){return b(l)};return Object(o.a)(s,"resize",v),Object(o.a)(s,"orientationchange",v),p},d=function(e){return u(e)[0]}}).call(this,n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return IconWrapper}));var a=n(0),r=n.n(a);function IconWrapper(t){var n=t.children,a=t.marginLeft,r=t.marginRight;return e.createElement("span",{className:"googlesitekit-icon-wrapper",style:{marginLeft:a,marginRight:r}},n)}IconWrapper.propTypes={children:r.a.node.isRequired,marginLeft:r.a.number,marginRight:r.a.number}}).call(this,n(4))},,function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return i}));var a=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},r=function(e){return e.replace(/([a-z0-9]{1})([A-Z]{1})/g,"$1_$2").toUpperCase()};function i(e){return e.split("-").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var a=n(107);function r(e){try{return new URL(e).pathname}catch(e){}return null}function i(e,t){try{return new URL(t,e).href}catch(e){}return("string"==typeof e?e:"")+("string"==typeof t?t:"")}function o(e){return"string"!=typeof e?e:e.replace(/^https?:\/\/(www\.)?/i,"").replace(/\/$/,"")}function c(e,t){if(!Object(a.a)(e))return e;if(e.length<=t)return e;var n=new URL(e),r=e.replace(n.origin,"");if(r.length1&&void 0!==arguments[1]?arguments[1]:{},n=O(e,t),a=n.formatUnit,r=n.formatDecimal;try{return a()}catch(e){return r()}},h=function(e){var t=y(e),n=t.hours,a=t.minutes,r=t.seconds;return r=("0"+r).slice(-2),a=("0"+a).slice(-2),"00"===(n=("0"+n).slice(-2))?"".concat(a,":").concat(r):"".concat(n,":").concat(a,":").concat(r)},y=function(e){return e=parseInt(e,10),Number.isNaN(e)&&(e=0),{hours:Math.floor(e/60/60),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)}},O=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=y(e),a=n.hours,r=n.minutes,i=n.seconds;return{hours:a,minutes:r,seconds:i,formatUnit:function(){var n=t.unitDisplay,o=b(b({unitDisplay:void 0===n?"short":n},u()(t,["unitDisplay"])),{},{style:"unit"});return 0===e?T(i,b(b({},o),{},{unit:"second"})):Object(f.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(f._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?T(i,b(b({},o),{},{unit:"second"})):"",r?T(r,b(b({},o),{},{unit:"minute"})):"",a?T(a,b(b({},o),{},{unit:"hour"})):"").trim()},formatDecimal:function(){var t=Object(f.sprintf)(// translators: %s: number of seconds with "s" as the abbreviated unit. +Object(f.__)("%ds","google-site-kit"),i);if(0===e)return t;var n=Object(f.sprintf)(// translators: %s: number of minutes with "m" as the abbreviated unit. +Object(f.__)("%dm","google-site-kit"),r),o=Object(f.sprintf)(// translators: %s: number of hours with "h" as the abbreviated unit. +Object(f.__)("%dh","google-site-kit"),a);return Object(f.sprintf)( +/* translators: 1: formatted seconds, 2: formatted minutes, 3: formatted hours */ +Object(f._x)("%3$s %2$s %1$s","duration of time: hh mm ss","google-site-kit"),i?t:"",r?n:"",a?o:"").trim()}}},_=function(e){return 1e6<=e?Math.round(e/1e5)/10:1e4<=e?Math.round(e/1e3):1e3<=e?Math.round(e/100)/10:e},E=function(e){var t={minimumFractionDigits:1,maximumFractionDigits:1};return 1e6<=e?Object(f.sprintf)(// translators: %s: an abbreviated number in millions. +Object(f.__)("%sM","google-site-kit"),T(_(e),e%10==0?{}:t)):1e4<=e?Object(f.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(f.__)("%sK","google-site-kit"),T(_(e))):1e3<=e?Object(f.sprintf)(// translators: %s: an abbreviated number in thousands. +Object(f.__)("%sK","google-site-kit"),T(_(e),e%10==0?{}:t)):T(e,{signDisplay:"never",maximumFractionDigits:1})};function k(e){var t={};return"%"===e?t={style:"percent",maximumFractionDigits:2}:"s"===e?t={style:"duration",unitDisplay:"narrow"}:e&&"string"==typeof e?t={style:"currency",currency:e}:Object(d.isPlainObject)(e)&&(t=b({},e)),t}function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=Object(d.isFinite)(e)?e:Number(e),Object(d.isFinite)(e)||(console.warn("Invalid number",e,o()(e)),e=0);var n=k(t),a=n.style,r=void 0===a?"metric":a;return"metric"===r?E(e):"duration"===r?v(e,n):"durationISO"===r?h(e):T(e,n)}var j=m()(console.warn),T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,a=void 0===n?N():n,i=u()(t,["locale"]);try{return new Intl.NumberFormat(a,i).format(e)}catch(t){j("Site Kit numberFormat error: Intl.NumberFormat( ".concat(JSON.stringify(a),", ").concat(JSON.stringify(i)," ).format( ").concat(o()(e)," )"),t.message)}for(var c={currencyDisplay:"narrow",currencySign:"accounting",style:"unit"},s=["signDisplay","compactDisplay"],l={},d=0,g=Object.entries(i);d1&&void 0!==arguments[1]?arguments[1]:{},n=t.locale,a=void 0===n?N():n,r=t.style,i=void 0===r?"long":r,o=t.type,c=void 0===o?"conjunction":o;if(Intl.ListFormat){var s=new Intl.ListFormat(a,{style:i,type:c});return s.format(e)} +/* translators: used between list items, there is a space after the comma. */var l=Object(f.__)(", ","google-site-kit");return e.join(l)},N=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=Object(d.get)(t,["_googlesitekitLegacyData","locale"]);if(n){var a=n.match(/^(\w{2})?(_)?(\w{2})/);if(a&&a[0])return a[0].replace(/_/g,"-")}return t.navigator.language}}).call(this,n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return r}));var a=n(147),r=n.n(a)()(e)}).call(this,n(28))},function(e,t,n){"use strict";n.r(t),n.d(t,"AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY",(function(){return a})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY",(function(){return r})),n.d(t,"AREA_MAIN_DASHBOARD_TRAFFIC_AUDIENCE_SEGMENTATION",(function(){return i})),n.d(t,"AREA_MAIN_DASHBOARD_CONTENT_PRIMARY",(function(){return o})),n.d(t,"AREA_MAIN_DASHBOARD_SPEED_PRIMARY",(function(){return c})),n.d(t,"AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY",(function(){return s})),n.d(t,"AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY",(function(){return l})),n.d(t,"AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY",(function(){return u})),n.d(t,"AREA_ENTITY_DASHBOARD_SPEED_PRIMARY",(function(){return d})),n.d(t,"AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY",(function(){return g}));var a="mainDashboardKeyMetricsPrimary",r="mainDashboardTrafficPrimary",i="mainDashboardTrafficAudienceSegmentation",o="mainDashboardContentPrimary",c="mainDashboardSpeedPrimary",s="mainDashboardMonetizationPrimary",l="entityDashboardTrafficPrimary",u="entityDashboardContentPrimary",d="entityDashboardSpeedPrimary",g="entityDashboardMonetizationPrimary";t.default={AREA_MAIN_DASHBOARD_KEY_METRICS_PRIMARY:a,AREA_MAIN_DASHBOARD_TRAFFIC_PRIMARY:r,AREA_MAIN_DASHBOARD_CONTENT_PRIMARY:o,AREA_MAIN_DASHBOARD_SPEED_PRIMARY:c,AREA_MAIN_DASHBOARD_MONETIZATION_PRIMARY:s,AREA_ENTITY_DASHBOARD_TRAFFIC_PRIMARY:l,AREA_ENTITY_DASHBOARD_CONTENT_PRIMARY:u,AREA_ENTITY_DASHBOARD_SPEED_PRIMARY:d,AREA_ENTITY_DASHBOARD_MONETIZATION_PRIMARY:g}},,function(e,t,n){"use strict";(function(e){var a=n(0),r=n.n(a),i=n(11),o=n.n(i);function ChangeArrow(t){var n=t.direction,a=t.invertColor,r=t.width,i=t.height;return e.createElement("svg",{className:o()("googlesitekit-change-arrow","googlesitekit-change-arrow--".concat(n),{"googlesitekit-change-arrow--inverted-color":a}),width:r,height:i,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.625 10L5.625 2.375L9.125 5.875L10 5L5 -1.76555e-07L-2.7055e-07 5L0.875 5.875L4.375 2.375L4.375 10L5.625 10Z",fill:"currentColor"}))}ChangeArrow.propTypes={direction:r.a.string,invertColor:r.a.bool,width:r.a.number,height:r.a.number},ChangeArrow.defaultProps={direction:"up",invertColor:!1,width:9,height:9},t.a=ChangeArrow}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return c}));var a=n(24),r=n(121);function i(t,n){var a=document.querySelector(t);if(!a)return 0;var r=a.getBoundingClientRect().top,i=o(n);return r+e.scrollY-i}function o(e){var t=c(e),n=document.querySelectorAll(".googlesitekit-navigation, .googlesitekit-entity-header");return t+=Array.from(n).reduce((function(e,t){return e+t.offsetHeight}),0)}function c(t){var n=0,i=document.querySelector(".googlesitekit-header");return n=!!i&&"sticky"===e.getComputedStyle(i).position?function(e){var t=document.querySelector(".googlesitekit-header");if(t){if(e===a.b)return t.offsetHeight;var n=t.getBoundingClientRect().bottom;return n<0?0:n}return 0}(t):function(e){var t=document.querySelector("#wpadminbar");return t&&e!==a.b?t.offsetHeight:0}(t),(n=Object(r.a)(n))<0?0:n}}).call(this,n(28))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(12),r=n.n(a),i=function(e,t){var n=t.dateRangeLength;r()(Array.isArray(e),"report must be an array to partition."),r()(Number.isInteger(n)&&n>0,"dateRangeLength must be a positive integer.");var a=-1*n;return{currentRange:e.slice(a),compareRange:e.slice(2*a,a)}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var a=n(1),r=n(18),i=n(9);function o(e,t){var n=Object(r.a)(),o=null!=t?t:"".concat(n,"_").concat(e);return{view:Object(a.useCallback)((function(){for(var e=arguments.length,t=new Array(e),n=0;n=600;Object(y.a)(u()(s.a.mark((function e(){var t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(B>0)){e.next=3;break}return e.next=3,$e();case 3:if(!V){e.next=9;break}return e.next=6,Object(j.d)(Re);case 6:t=e.sent,n=t.cacheHit,Me(n);case 9:if(!ie){e.next=12;break}return e.next=12,De();case 12:case"end":return e.stop()}}),e)}))));var Ve=function(){var e=u()(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),t.preventDefault(),!ne){e.next=5;break}return e.next=5,ne(t);case 5:qe();case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),He=Object(_.a)(m)&&"_blank"!==f,qe=function(){return He||Ne(!0),new Promise((function(e){setTimeout(u()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,De();case 2:Pe()&&Me(!0),n=new Event("notificationDismissed"),document.dispatchEvent(n),e();case 6:case"end":return t.stop()}}),t)}))),350)}))},Ke=Object(E.useSelect)((function(e){return!!m&&e(x.a).isNavigatingTo(m)})),Ye=Object(E.useDispatch)(x.a).navigateTo,Je=function(){var e=u()(s.a.mark((function e(t){var n,a,r;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.persist(),He&&!t.defaultPrevented&&t.preventDefault(),n=!0,!ee){e.next=12;break}return e.next=6,ee(t);case 6:if(e.t0=e.sent,e.t0){e.next=9;break}e.t0={};case 9:a=e.t0,r=a.dismissOnCTAClick,n=void 0===r||r;case 12:if(!V||!n){e.next=15;break}return e.next=15,qe();case 15:He&&Ye(m);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),$e=function(){var e=u()(s.a.mark((function e(){var t,n,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(j.d)(Re);case 2:if(t=e.sent,!(n=t.value)){e.next=10;break}if((a=new Date(n)).setSeconds(a.getSeconds()+parseInt(B,10)),!(a1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isNaN(Number(t)))return"";var i=n.invertColor,o=void 0!==i&&i;return Object(a.a)(e.createElement(r.a,{direction:t>0?"up":"down",invertColor:o}))},o=function(e,t){return e>0&&t>0?e/t-1:e>0?1:t>0?-1:0}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return d}));var a=n(7),r=n.n(a),i=n(14),o=n(99),c=n(100);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,r=l(l({},u),t);r.referenceSiteURL&&(r.referenceSiteURL=r.referenceSiteURL.toString().replace(/\/+$/,""));var s=Object(o.a)(r,n),d=Object(c.a)(r,n,s,a),g={},m=function(){for(var e=arguments.length,t=new Array(e),n=0;nNote: %s","google-site-kit"),j),{strong:e.createElement("strong",null)}))),e.createElement(u.DialogFooter,null,e.createElement(u.Button,{className:"mdc-dialog__cancel-button",tertiary:!0,onClick:m,disabled:C},Object(l.__)("Cancel","google-site-kit")),x?e.createElement(u.Button,{href:x,onClick:_,target:"_blank",danger:A},S):e.createElement(u.SpinnerButton,{onClick:_,danger:A,disabled:C,isSaving:C},S||Object(l.__)("Disconnect","google-site-kit"))))}ModalDialog.displayName="Dialog",ModalDialog.propTypes={className:r.a.string,dialogActive:r.a.bool,handleDialog:r.a.func,handleConfirm:r.a.func.isRequired,onOpen:r.a.func,onClose:r.a.func,title:r.a.string,confirmButton:r.a.string,danger:r.a.bool,small:r.a.bool,medium:r.a.bool,buttonLink:r.a.string},t.a=ModalDialog}).call(this,n(4))},,function(e,t,n){"use strict";var a=n(325),r=n(313);n.d(t,"b",(function(){return r.a}));var i=n(314);n.d(t,"c",(function(){return i.a}));var o=n(315);n.d(t,"d",(function(){return o.a}));var c=n(316);n.d(t,"a",(function(){return c.a})),t.e=a.a},function(e,t,n){"use strict";var a=n(1),r=n(38),i=Object(a.createContext)(r.a);t.a=i},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(386),r=function(e,t,n){Object(a.a)((function(n){return e.includes(n.keyCode)&&t.current.contains(n.target)}),n)}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return u}));var a=n(7),r=n.n(a),i=n(0),o=n.n(i),c=n(11),s=n.n(c),l=n(2),u={DEFAULT:"default",OVERLAY:"overlay",SMALL:"small",SMALL_OVERLAY:"small-overlay",LARGE:"large"};function GatheringDataNotice(t){var n=t.style;return e.createElement("div",{className:s()("googlesitekit-gathering-data-notice",r()({},"googlesitekit-gathering-data-notice--has-style-".concat(n),!!n))},e.createElement("span",null,Object(l.__)("Gathering data…","google-site-kit")))}GatheringDataNotice.propTypes={style:o.a.oneOf(Object.values(u))},t.b=GatheringDataNotice}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TourTooltip}));var a=n(20),r=n.n(a),i=n(157),o=n.n(i),c=n(11),s=n.n(c),l=n(0),u=n.n(l),d=n(2),g=n(10),m=n(158),f=n(110);function TourTooltip(t){var n=t.backProps,a=t.closeProps,c=t.index,l=t.primaryProps,u=t.size,p=t.step,b=t.tooltipProps,v=u>1?Object(m.a)(u):[],h=function(e){return s()("googlesitekit-tooltip-indicator",{active:e===c})};return e.createElement("div",r()({className:s()("googlesitekit-tour-tooltip",p.className)},b),e.createElement(o.a,{className:"googlesitekit-tooltip-card"},e.createElement("div",{className:"googlesitekit-tooltip-body"},e.createElement("h2",{className:"googlesitekit-tooltip-title"},p.title),e.createElement("div",{className:"googlesitekit-tooltip-content"},p.content)),e.createElement(i.CardActions,{className:"googlesitekit-tooltip-actions"},e.createElement("ul",{className:"googlesitekit-tooltip-indicators"},v.map((function(t){return e.createElement("li",{key:"indicator-".concat(t),className:h(t)})}))),e.createElement("div",{className:"googlesitekit-tooltip-buttons"},0!==c&&e.createElement(g.Button,r()({className:"googlesitekit-tooltip-button",text:!0},n),n.title),p.cta,l.title&&e.createElement(g.Button,r()({className:"googlesitekit-tooltip-button",text:!0},l),l.title))),e.createElement(g.Button,{className:"googlesitekit-tooltip-close",text:!0,hideTooltipTitle:!0,icon:e.createElement(f.a,{width:"14",height:"14"}),onClick:a.onClick,"aria-label":Object(d.__)("Close","google-site-kit")})))}TourTooltip.propTypes={backProps:u.a.object.isRequired,closeProps:u.a.object.isRequired,index:u.a.number.isRequired,isLastStep:u.a.bool.isRequired,primaryProps:u.a.object.isRequired,size:u.a.number.isRequired,step:u.a.shape({content:u.a.node,title:u.a.node.isRequired,cta:u.a.oneOfType([u.a.element,u.a.bool]),className:u.a.string}).isRequired,tooltipProps:u.a.object.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(14),r=function(e){return Object(a.isFinite)(e)?e:0}},,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Cell}));var a=n(20),r=n.n(a),i=n(7),o=n.n(i),c=n(25),s=n.n(c),l=n(0),u=n.n(l),d=n(11),g=n.n(d);function Cell(t){var n,a=t.className,i=t.alignTop,c=t.alignMiddle,l=t.alignBottom,u=t.alignRight,d=t.alignLeft,m=t.smAlignRight,f=t.mdAlignRight,p=t.lgAlignRight,b=t.smSize,v=t.smStart,h=t.smOrder,y=t.mdSize,O=t.mdStart,_=t.mdOrder,E=t.lgSize,k=t.lgStart,S=t.lgOrder,j=t.size,T=t.children,A=s()(t,["className","alignTop","alignMiddle","alignBottom","alignRight","alignLeft","smAlignRight","mdAlignRight","lgAlignRight","smSize","smStart","smOrder","mdSize","mdStart","mdOrder","lgSize","lgStart","lgOrder","size","children"]);return e.createElement("div",r()({},A,{className:g()(a,"mdc-layout-grid__cell",(n={"mdc-layout-grid__cell--align-top":i,"mdc-layout-grid__cell--align-middle":c,"mdc-layout-grid__cell--align-bottom":l,"mdc-layout-grid__cell--align-right":u,"mdc-layout-grid__cell--align-left":d,"mdc-layout-grid__cell--align-right-phone":m,"mdc-layout-grid__cell--align-right-tablet":f,"mdc-layout-grid__cell--align-right-desktop":p},o()(n,"mdc-layout-grid__cell--span-".concat(j),12>=j&&j>0),o()(n,"mdc-layout-grid__cell--span-".concat(E,"-desktop"),12>=E&&E>0),o()(n,"mdc-layout-grid__cell--start-".concat(k,"-desktop"),12>=k&&k>0),o()(n,"mdc-layout-grid__cell--order-".concat(S,"-desktop"),12>=S&&S>0),o()(n,"mdc-layout-grid__cell--span-".concat(y,"-tablet"),8>=y&&y>0),o()(n,"mdc-layout-grid__cell--start-".concat(O,"-tablet"),8>=O&&O>0),o()(n,"mdc-layout-grid__cell--order-".concat(_,"-tablet"),8>=_&&_>0),o()(n,"mdc-layout-grid__cell--span-".concat(b,"-phone"),4>=b&&b>0),o()(n,"mdc-layout-grid__cell--start-".concat(v,"-phone"),4>=v&&v>0),o()(n,"mdc-layout-grid__cell--order-".concat(h,"-phone"),4>=h&&h>0),n))}),T)}Cell.propTypes={smSize:u.a.number,smStart:u.a.number,smOrder:u.a.number,mdSize:u.a.number,mdStart:u.a.number,mdOrder:u.a.number,lgSize:u.a.number,lgStart:u.a.number,lgOrder:u.a.number,size:u.a.number,alignTop:u.a.bool,alignMiddle:u.a.bool,alignBottom:u.a.bool,alignRight:u.a.bool,alignLeft:u.a.bool,smAlignRight:u.a.bool,mdAlignRight:u.a.bool,lgAlignRight:u.a.bool,className:u.a.string,children:u.a.node},Cell.defaultProps={className:"",size:0,smSize:0,smStart:0,smOrder:0,mdSize:0,mdStart:0,mdOrder:0,lgSize:0,lgStart:0,lgOrder:0}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(20),r=n.n(a),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(1),g=Object(d.forwardRef)((function(t,n){var a=t.className,i=t.children,c=o()(t,["className","children"]);return e.createElement("div",r()({ref:n,className:u()("mdc-layout-grid__inner",a)},c),i)}));g.displayName="Row",g.propTypes={className:s.a.string,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(20),r=n.n(a),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(1),g=Object(d.forwardRef)((function(t,n){var a=t.alignLeft,i=t.fill,c=t.className,s=t.children,l=t.collapsed,d=o()(t,["alignLeft","fill","className","children","collapsed"]);return e.createElement("div",r()({className:u()("mdc-layout-grid",c,{"mdc-layout-grid--align-left":a,"mdc-layout-grid--collapsed":l,"mdc-layout-grid--fill":i})},d,{ref:n}),s)}));g.displayName="Grid",g.propTypes={alignLeft:s.a.bool,fill:s.a.bool,className:s.a.string,collapsed:s.a.bool,children:s.a.node},g.defaultProps={className:""},t.a=g}).call(this,n(4))},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t".concat(n,"")),{a:e.createElement(l.a,{key:"link",href:a,external:i})}))}SourceLink.propTypes={name:r.a.string,href:r.a.string,className:r.a.string,external:r.a.bool},SourceLink.defaultProps={name:"",href:"",className:"",external:!1},t.a=SourceLink}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportErrorActions}));var a=n(7),r=n.n(a),i=n(0),o=n.n(i),c=n(1),s=n(39),l=n(2),u=n(3),d=n(10),g=n(13),m=n(19),f=n(35),p=n(36),b=n(21);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function h(e){for(var t=1;t","google-site-kit"),{HelpLink:e.createElement(b.a,{href:w,external:!0,hideExternalIndicator:!0},Object(l.__)("Get help","google-site-kit"))}))),!C&&!i&&e.createElement("div",{className:O},"function"==typeof r?e.createElement(r,{linkURL:w}):e.createElement(b.a,{href:w,external:!0,hideExternalIndicator:!0},Object(l.__)("Get help","google-site-kit"))))}ReportErrorActions.propTypes={moduleSlug:o.a.string.isRequired,error:o.a.oneOfType([o.a.arrayOf(o.a.object),o.a.object]).isRequired,GetHelpLink:o.a.elementType,hideGetHelpLink:o.a.bool,buttonVariant:o.a.string,onRetry:o.a.func,onRequestAccess:o.a.func,getHelpClassName:o.a.string,RequestAccessButton:o.a.elementType,RetryButton:o.a.elementType}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ConnectGA4CTATileWidget}));var a=n(0),r=n.n(a),i=n(3),o=n(524),c=n(140),s=n(6),l=n(74),u={moduleSlug:"analytics-4"};function ConnectGA4CTATileWidget(t){var n=t.Widget,a=t.widgetSlug,r=Object(i.useSelect)((function(e){var t=e(s.a).getKeyMetrics();return t?t.filter((function(e){return s.Q.includes(e)})).length:[]}))>3?l.a:o.a;return Object(c.a)(a,r,u),e.createElement(n,null,e.createElement(o.a,u))}ConnectGA4CTATileWidget.propTypes={Widget:r.a.elementType.isRequired,widgetSlug:r.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";var a=n(1),r=Object(a.createContext)(!1);t.a=r},function(e,t,n){"use strict";n.d(t,"d",(function(){return a})),n.d(t,"e",(function(){return r})),n.d(t,"j",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"g",(function(){return c})),n.d(t,"k",(function(){return s})),n.d(t,"c",(function(){return l})),n.d(t,"b",(function(){return u})),n.d(t,"h",(function(){return d})),n.d(t,"f",(function(){return g})),n.d(t,"i",(function(){return m})),n.d(t,"l",(function(){return f})),n.d(t,"n",(function(){return p})),n.d(t,"r",(function(){return b})),n.d(t,"m",(function(){return v})),n.d(t,"p",(function(){return h})),n.d(t,"q",(function(){return y})),n.d(t,"o",(function(){return O})),n.d(t,"t",(function(){return _})),n.d(t,"s",(function(){return E}));var a="disapproved",r="graylisted",i="pending",o="approved",c="needs-attention",s="ready",l="client-requires-review",u="client-getting-ready",d="none",g="multiple",m="no-client",f="added",p="needs-attention",b="requires-review",v="getting-ready",h="ready",y="ready-no-auto-ads",O="none",_=[a,r,i,o],E=function(e){return e===r||e===i}},function(e,t,n){"use strict";var a=n(166);n.d(t,"c",(function(){return a.a}));var r=n(63);n.d(t,"b",(function(){return r.c})),n.d(t,"a",(function(){return r.a}))},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:function(){return!0};return"string"==typeof e?n(e):!("object"!==r()(e)||!t(e))||!!Array.isArray(e)&&e.every((function(e){return"string"==typeof e?n(e):"object"===r()(e)&&t(e)}))}function o(e){var t=e.startDate,n=e.endDate,a=t&&t.match(/^\d{4}-\d{2}-\d{2}$/),r=n&&n.match(/^\d{4}-\d{2}-\d{2}$/);return a&&r}function c(e){var t=function(e){var t=e.hasOwnProperty("fieldName")&&!!e.fieldName,n=e.hasOwnProperty("sortOrder")&&/(ASCENDING|DESCENDING)/i.test(e.sortOrder.toString());return t&&n};return Array.isArray(e)?e.every((function(e){return"object"===r()(e)&&t(e)})):"object"===r()(e)&&t(e)}function s(e){return"string"==typeof e||!!Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))}},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var a=n(246),r=n(14),i=n(1);function o(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t||{},r=n.slug,i=void 0===r?"":r,o=n.name,c=void 0===o?"":o,s=n.owner,l=void 0===s?{}:s;if(!i||!c)return e;var u="",d="";return"analytics-4"===i?e.match(/account/i)?u=Object(a.__)("Your Google account does not have sufficient permissions for this Analytics account, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/property/i)?u=Object(a.__)("Your Google account does not have sufficient permissions for this Analytics property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"):e.match(/view/i)&&(u=Object(a.__)("Your Google account does not have sufficient permissions for this Analytics view, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")):"search-console"===i&&(u=Object(a.__)("Your Google account does not have sufficient permissions for this Search Console property, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit")),u||(u=Object(a.sprintf)( +/* translators: %s: module name */ +Object(a.__)("Your Google account does not have sufficient permissions to access %s data, so you won’t be able to see stats from it on the Site Kit dashboard.","google-site-kit"),c)),l&&l.login&&(d=Object(a.sprintf)( +/* translators: %s: owner name */ +Object(a.__)('This service was originally connected by the administrator "%s" — you can contact them for more information.',"google-site-kit"),l.login)),d||(d=Object(a.__)("This service was originally connected by an administrator — you can contact them for more information.","google-site-kit")),"".concat(u," ").concat(d)}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GenericErrorHandlerActions}));var a=n(0),r=n.n(a),i=n(2),o=n(21),c=n(191);function GenericErrorHandlerActions(t){var n=t.message,a=t.componentStack;return e.createElement("div",{className:"googlesitekit-generic-error-handler-actions"},e.createElement(c.a,{message:n,componentStack:a}),e.createElement(o.a,{href:"https://wordpress.org/support/plugin/google-site-kit/",external:!0},Object(i.__)("Report this problem","google-site-kit")))}GenericErrorHandlerActions.propTypes={message:r.a.string,componentStack:r.a.string}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(22),r=function(e){return a.f.includes(e)}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return LoadingWrapper}));var a=n(7),r=n.n(a),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(42);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function LoadingWrapper(t){var n=t.loading,a=t.children,r=o()(t,["loading","children"]);return n?e.createElement(l.a,r):a}LoadingWrapper.propTypes=function(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{},r=a.ownedSettingsSlugs,i=void 0===r?void 0:r,c=a.storeName,l=void 0===c?void 0:c,g=a.settingSlugs,h=void 0===g?[]:g,y=a.initialSettings,k=void 0===y?void 0:y,S=a.validateHaveSettingsChanged,j=void 0===S?C():S;u()(e,"type is required."),u()(t,"identifier is required."),u()(n,"datapoint is required.");var T=l||"".concat(e,"/").concat(t),A={ownedSettingsSlugs:i,settings:k,savedSettings:void 0},N=Object(v.a)({baseName:"getSettings",controlCallback:function(){return m.a.get(e,t,n,{},{useCache:!1})},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O(O({},t),e.settings||{})})}}),w=Object(v.a)({baseName:"saveSettings",controlCallback:function(a){var r=a.values;return m.a.set(e,t,n,r)},reducerCallback:function(e,t){return O(O({},e),{},{savedSettings:O({},t),settings:O({},t)})},argsToParams:function(e){return{values:e}},validateParams:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.values;u()(Object(d.isPlainObject)(t),"values is required.")}}),I={},M={setSettings:function(e){return u()(Object(d.isPlainObject)(e),"values is required."),{payload:{values:e},type:"SET_SETTINGS"}},rollbackSettings:function(){return{payload:{},type:"ROLLBACK_SETTINGS"}},saveSettings:o.a.mark((function e(){var t,n,a,r,i;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:return t=e.sent,e.next=5,_("saveSettings",[]);case 5:return n=t.select(T).getSettings(),e.next=8,w.actions.fetchSaveSettings(n);case 8:if(a=e.sent,r=a.response,!(i=a.error)){e.next=14;break}return e.next=14,E(i,"saveSettings",[]);case 14:return e.abrupt("return",{response:r,error:i});case 15:case"end":return e.stop()}}),e)}))},R={},D=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A,t=arguments.length>1?arguments[1]:void 0,n=t.type,a=t.payload;switch(n){case"SET_SETTINGS":var r=a.values;return O(O({},e),{},{settings:O(O({},e.settings||{}),r)});case"ROLLBACK_SETTINGS":return O(O({},e),{},{settings:e.savedSettings});default:return void 0!==I[n]?I[n](e,{type:n,payload:a}):e}},x={getSettings:o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.commonActions.getRegistry();case 2:if(t=e.sent,t.select(T).getSettings()){e.next=7;break}return e.next=7,N.actions.fetchGetSettings();case 7:case"end":return e.stop()}}),e)}))},L=Object(p.g)(j),P=L.safeSelector,G=L.dangerousSelector,Z={haveSettingsChanged:P,__dangerousHaveSettingsChanged:G,getSettings:function(e){return e.settings},hasSettingChanged:function(e,t){u()(t,"setting is required.");var n=e.settings,a=e.savedSettings;return!(!n||!a)&&!Object(d.isEqual)(n[t],a[t])},isDoingSaveSettings:function(e){return Object.values(e.isFetchingSaveSettings).some(Boolean)},getOwnedSettingsSlugs:function(e){return e.ownedSettingsSlugs},haveOwnedSettingsChanged:Object(f.createRegistrySelector)((function(e){return function(){var t=e(T).getOwnedSettingsSlugs();return e(T).haveSettingsChanged(t)}}))};h.forEach((function(e){var t=Object(b.b)(e),n=Object(b.a)(e);M["set".concat(t)]=function(e){return u()(void 0!==e,"value is required for calls to set".concat(t,"().")),{payload:{value:e},type:"SET_".concat(n)}},I["SET_".concat(n)]=function(t,n){var a=n.payload.value;return O(O({},t),{},{settings:O(O({},t.settings||{}),{},s()({},e,a))})},Z["get".concat(t)]=Object(f.createRegistrySelector)((function(t){return function(){return(t(T).getSettings()||{})[e]}}))}));var B=Object(f.combineStores)(f.commonStore,N,w,{initialState:A,actions:M,controls:R,reducer:D,resolvers:x,selectors:Z});return O(O({},B),{},{STORE_NAME:T})};function T(e,t){return function(){var n=r()(o.a.mark((function n(a){var r,i,c,s;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=a.select,i=a.dispatch,!r(t).haveSettingsChanged()){n.next=8;break}return n.next=4,i(t).saveSettings();case 4:if(c=n.sent,!(s=c.error)){n.next=8;break}return n.abrupt("return",{error:s});case 8:return n.next=10,m.a.invalidateCache("modules",e);case 10:return n.abrupt("return",{});case 11:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}function A(e){return function(t){var n=t.select,a=t.dispatch;return n(e).haveSettingsChanged()?a(e).rollbackSettings():{}}}function N(e){return function(t){var n=Object(p.e)(t)(e),a=n.haveSettingsChanged,r=n.isDoingSubmitChanges;u()(!r(),k),u()(a(),S)}}function C(){return function(e,t,n){var a=t.settings,r=t.savedSettings;n&&u()(!Object(d.isEqual)(Object(d.pick)(a,n),Object(d.pick)(r,n)),S),u()(!Object(d.isEqual)(a,r),S)}}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsNoticeSingleRow}));var a=n(0),r=n.n(a),i=n(1);function SettingsNoticeSingleRow(t){var n=t.notice,a=t.LearnMore,r=t.CTA;return e.createElement(i.Fragment,null,e.createElement("div",{className:"googlesitekit-settings-notice__text"},n),a&&e.createElement("div",{className:"googlesitekit-settings-notice__learn-more"},e.createElement(a,null)),r&&e.createElement("div",{className:"googlesitekit-settings-notice__cta"},e.createElement(r,null)))}SettingsNoticeSingleRow.propTypes={notice:r.a.node.isRequired,LearnMore:r.a.elementType,CTA:r.a.elementType}}).call(this,n(4))},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricTileWrapper}));var a=n(11),r=n.n(a),i=n(14),o=n(0),c=n.n(o),s=n(1),l=n(2),u=n(143),d=n(448),g=n(449),m=n(299),f=n(450),p=n(134),b=n(35),v=n(9),h=n(18);function MetricTileWrapper(t){var n,a,o,c=t.className,y=t.children,O=t.error,_=t.loading,E=t.moduleSlug,k=t.Widget,S=t.widgetSlug,j=t.title,T=void 0===j?null===(n=u.a[S])||void 0===n?void 0:n.title:j,A=t.infoTooltip,N=void 0===A?(null===(a=u.a[S])||void 0===a?void 0:a.infoTooltip)||(null===(o=u.a[S])||void 0===o?void 0:o.description):A,C=Object(h.a)(),w=!!O&&Object(i.castArray)(O).some(b.e),I=Object(s.useCallback)((function(){Object(v.J)("".concat(C,"_kmw"),"data_loading_error_retry")}),[C]);return Object(s.useEffect)((function(){O&&Object(v.J)("".concat(C,"_kmw"),"data_loading_error")}),[C,O]),O?e.createElement(m.a,{title:w?Object(l.__)("Insufficient permissions","google-site-kit"):Object(l.__)("Data loading failed","google-site-kit"),headerText:T,infoTooltip:N},e.createElement(p.a,{moduleSlug:E,error:O,onRetry:I,GetHelpLink:w?d.a:void 0,getHelpClassName:"googlesitekit-error-retry-text"})):e.createElement(k,{noPadding:!0},e.createElement("div",{className:r()("googlesitekit-km-widget-tile",c)},e.createElement(f.a,{title:T,infoTooltip:N,loading:_}),e.createElement("div",{className:"googlesitekit-km-widget-tile__body"},_&&e.createElement(g.a,null),!_&&y)))}MetricTileWrapper.propTypes={Widget:c.a.elementType.isRequired,loading:c.a.bool,title:c.a.string,infoTooltip:c.a.oneOfType([c.a.string,c.a.element]),moduleSlug:c.a.string.isRequired}}).call(this,n(4))},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return BannerIcon}));var a=n(0),r=n.n(a),i=n(66),o=n(190),c=n(17);function BannerIcon(t){var n=t.type;if("win-error"!==n&&"win-warning"!==n)return null;var a="win-warning"===n?e.createElement(i.a,{width:34}):e.createElement(o.a,{width:28});return e.createElement(c.a,{size:1,smOrder:3,mdOrder:3,lgOrder:3},e.createElement("div",{className:"googlesitekit-publisher-win__icons"},a))}BannerIcon.propTypes={type:r.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return BannerLogo}));var a=n(0),r=n.n(a),i=n(17),o=n(139),c=n(176);function BannerLogo(t){var n=t.module,a=t.moduleName;return e.createElement(i.a,{size:12},e.createElement("div",{className:"googlesitekit-publisher-win__logo"},n&&e.createElement(c.a,{slug:n,size:19}),!n&&e.createElement(o.a,{height:"34",width:"32"})),a&&e.createElement("div",{className:"googlesitekit-publisher-win__module-name"},a))}BannerLogo.propTypes={module:r.a.string,moduleName:r.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return BannerDescription}));var a=n(0),r=n.n(a),i=n(1),o=n(72),c=n(21),s=n(71);function BannerDescription(t){var n=t.description,a=t.learnMoreLabel,r=t.learnMoreURL,l=t.learnMoreTarget,u=t.learnMoreDescription,d=t.onLearnMoreClick;if(!n)return null;var g;return a&&(g=e.createElement(i.Fragment,null,e.createElement(c.a,{onClick:function(e){e.persist(),null==d||d()},href:r,external:l===s.a.EXTERNAL},a),u)),e.createElement("div",{className:"googlesitekit-publisher-win__desc"},Object(i.isValidElement)(n)?e.createElement(i.Fragment,null,n,g&&e.createElement("p",null,g)):e.createElement("p",null,e.createElement("span",{dangerouslySetInnerHTML:Object(o.a)(n,{ALLOWED_TAGS:["strong","em","br","a"],ALLOWED_ATTR:["href"]})})," ",g))}BannerDescription.propTypes={description:r.a.node,learnMoreURL:r.a.string,learnMoreDescription:r.a.string,learnMoreLabel:r.a.string,learnMoreTarget:r.a.oneOf(Object.values(s.a)),onLearnMoreClick:r.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,a){n.d(t,"a",(function(){return JoyrideTooltip}));var r=n(7),i=n.n(r),o=n(15),c=n.n(o),s=n(0),l=n(30),u=n(426),d=n(1),g=n(120),m=n(73),f=n(94);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function b(e){for(var t=1;tHelp us improve Site Kit by sharing anonymous usage data. All collected data is treated in accordance with the Google Privacy Policy.","google-site-kit"),{a:e.createElement(h.a,{key:"link",href:"https://policies.google.com/privacy",external:!0}),span:e.createElement("span",null)})),(null==S?void 0:S.message)&&e.createElement("div",{className:"googlesitekit-error-text"},null==S?void 0:S.message))}OptIn.propTypes={id:s.a.string,name:s.a.string,className:s.a.string,trackEventCategory:s.a.string,alignLeftCheckbox:s.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Item}));var a=n(0),r=n.n(a);function Item(t){var n=t.icon,a=t.label;return e.createElement("div",{className:"googlesitekit-user-menu__item"},e.createElement("div",{className:"googlesitekit-user-menu__item-icon"},n),e.createElement("span",{className:"googlesitekit-user-menu__item-label"},a))}Item.propTypes={icon:r.a.node,label:r.a.string}}).call(this,n(4))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(1),s=n(3),l=n(13),u=n(23);function d(e){var t=Object(s.useDispatch)(u.b).setValue,n=Object(s.useSelect)((function(e){return e(l.c).hasMinimumWordPressVersion("6.2")})),a=Object(s.useSelect)((function(e){return e(l.c).hasMinimumWordPressVersion("6.4")}));return Object(c.useCallback)(o()(r.a.mark((function i(){var o,c,s,l;return r.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(o=document.querySelector("#adminmenu").offsetHeight>0){r.next=7;break}if(!(c=document.getElementById("wp-admin-bar-menu-toggle"))){r.next=7;break}return c.firstChild.click(),r.next=7,new Promise((function(e){setTimeout(e,0)}));case 7:"#adminmenu [href*='page=googlesitekit-dashboard']",(s=!!document.querySelector("".concat("#adminmenu [href*='page=googlesitekit-dashboard']","[aria-haspopup=true]")))&&document.querySelector("#adminmenu [href*='page=googlesitekit-dashboard']").click(),n&&!a&&(l=document.hasFocus,document.hasFocus=function(){return document.hasFocus=l,!1}),t(e,{isTooltipVisible:!0,rehideAdminMenu:!o,rehideAdminSubMenu:s});case 12:case"end":return r.stop()}}),i)}))),[n,a,t,e])}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdminMenuTooltip}));var a=n(7),r=n.n(a),i=n(20),o=n.n(i),c=n(5),s=n.n(c),l=n(16),u=n.n(l),d=n(25),g=n.n(d),m=n(1),f=n(0),p=n.n(f),b=n(3),v=n(205),h=n(23),y=n(156);function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function _(e){for(var t=1;t0&&(null===(t=document.getElementById("wp-admin-bar-menu-toggle"))||void 0===t||t.click()),d&&document.querySelector("body").click(),e.next=4,null==n?void 0:n();case 4:i(a,void 0);case 5:case"end":return e.stop()}}),e)}))),[n,l,d,i,a]);return e.createElement(v.a,o()({slug:"ga4-activation-banner-admin-menu-tooltip",onDismiss:f},r))}AdminMenuTooltip.propTypes=_(_({},v.a.propTypes),{},{target:p.a.string,tooltipStateKey:p.a.string.isRequired}),AdminMenuTooltip.defaultProps={target:'#adminmenu [href*="page=googlesitekit-settings"]'}}).call(this,n(4))},,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WarningNotice}));var a=n(11),r=n.n(a),i=n(0),o=n.n(i);function WarningNotice(t){var n=t.children,a=t.className;return e.createElement("div",{className:r()("googlesitekit-warning-notice",a)},n)}WarningNotice.propTypes={children:o.a.node.isRequired,className:o.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(15),r=n.n(a),i=n(0),o=n.n(i),c=n(11),s=n.n(c),l=n(583),u=n(2),d=n(1),g=n(3),m=n(249),f=n(271),p=n(275),b=n(6),v=n(17),h=n(280),y=n(287),O=n(289),_=n(36),E=n(54),k=n(21),S=n(295),j=n(13),T=n(296);function Header(t){var n,a=t.children,i=t.subHeader,o=t.showNavigation,c=!!Object(E.c)(),A=Object(_.a)();Object(T.a)();var N=Object(g.useSelect)((function(e){return e(j.c).getAdminURL("googlesitekit-dashboard")})),C=Object(g.useSelect)((function(e){return e(b.a).isAuthenticated()})),w=Object(l.a)({childList:!0}),I=r()(w,2),M=I[0],R=!!(null===(n=I[1].target)||void 0===n?void 0:n.childElementCount);return e.createElement(d.Fragment,null,e.createElement("header",{className:s()("googlesitekit-header",{"googlesitekit-header--has-subheader":R,"googlesitekit-header--has-navigation":o})},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{smSize:1,mdSize:2,lgSize:4,className:"googlesitekit-header__logo",alignMiddle:!0},e.createElement(k.a,{"aria-label":Object(u.__)("Go to dashboard","google-site-kit"),className:"googlesitekit-header__logo-link",href:N},e.createElement(m.a,null))),e.createElement(v.a,{smSize:3,mdSize:6,lgSize:8,className:"googlesitekit-header__children",alignMiddle:!0},a,!C&&c&&A&&e.createElement(O.a,null),C&&!A&&e.createElement(f.a,null))))),e.createElement("div",{className:"googlesitekit-subheader",ref:M},e.createElement(p.a,null),i),o&&e.createElement(h.a,null),c&&e.createElement(S.a,null),e.createElement(y.a,null))}Header.displayName="Header",Header.propTypes={children:o.a.node,subHeader:o.a.element,showNavigation:o.a.bool},Header.defaultProps={children:null,subHeader:null},t.a=Header}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return HelpMenu}));var a=n(15),r=n.n(a),i=n(0),o=n.n(i),c=n(210),s=n(1),l=n(56),u=n(2),d=n(3),g=n(10),m=n(297),f=n(117),p=n(9),b=n(163),v=n(19),h=n(18),y=n(13);function HelpMenu(t){var n=t.children,a=Object(s.useState)(!1),i=r()(a,2),o=i[0],O=i[1],_=Object(s.useRef)(),E=Object(h.a)();Object(c.a)(_,(function(){return O(!1)})),Object(f.a)([l.c,l.f],_,(function(){return O(!1)}));var k=Object(d.useSelect)((function(e){return e(v.a).isModuleActive("adsense")})),S=Object(s.useCallback)((function(){o||Object(p.J)("".concat(E,"_headerbar"),"open_helpmenu"),O(!o)}),[o,E]),j=Object(s.useCallback)((function(){O(!1)}),[]),T=Object(d.useSelect)((function(e){return e(y.c).getDocumentationLinkURL("fix-common-issues")}));return e.createElement("div",{ref:_,className:"googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},e.createElement(g.Button,{"aria-controls":"googlesitekit-help-menu","aria-expanded":o,"aria-label":Object(u.__)("Help","google-site-kit"),"aria-haspopup":"menu",className:"googlesitekit-header__dropdown googlesitekit-border-radius-round googlesitekit-button-icon googlesitekit-help-menu__button mdc-button--dropdown",icon:e.createElement(m.a,{width:"20",height:"20"}),onClick:S,text:!0,tooltipEnterDelayInMS:500}),e.createElement(g.Menu,{className:"googlesitekit-width-auto",menuOpen:o,id:"googlesitekit-help-menu",onSelected:j},n,e.createElement(b.a,{gaEventLabel:"fix_common_issues",href:T},Object(u.__)("Fix common issues","google-site-kit")),e.createElement(b.a,{gaEventLabel:"documentation",href:"https://sitekit.withgoogle.com/documentation/"},Object(u.__)("Read help docs","google-site-kit")),e.createElement(b.a,{gaEventLabel:"support_forum",href:"https://wordpress.org/support/plugin/google-site-kit/"},Object(u.__)("Get support","google-site-kit")),k&&e.createElement(b.a,{gaEventLabel:"adsense_help",href:"https://support.google.com/adsense/"},Object(u.__)("Get help with AdSense","google-site-kit"))))}HelpMenu.propTypes={children:o.a.node}}).call(this,n(4))},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.metrics,n=e.dimensions,a=o()(e,["metrics","dimensions"]);return d({metrics:m(t),dimensions:f(n)},a)})),m=function(e){return Object(l.castArray)(e).map((function(e){return"string"==typeof e?{name:e}:e})).filter((function(e){return Object(l.isPlainObject)(e)}))},f=function(e){return Object(l.castArray)(e).map((function(e){return"string"==typeof e?{name:e}:e})).filter((function(e){return Object(l.isPlainObject)(e)}))}},function(e,t,n){"use strict";(function(e){var a=n(15),r=n.n(a),i=n(1);t.a=function(t,n){var a=Object(i.useState)(null),o=r()(a,2),c=o[0],s=o[1];return Object(i.useEffect)((function(){if(t.current&&"function"==typeof e.IntersectionObserver){var a=new e.IntersectionObserver((function(e){s(e[e.length-1])}),n);return a.observe(t.current),function(){s(null),a.disconnect()}}return function(){}}),[t.current,n.threshold,n.root,n.rootMargin]),c}}).call(this,n(28))},,,,,,function(e,t,n){"use strict";(function(e){var a=n(2),r=n(139),i=n(250),o=n(103);t.a=function Logo(){return e.createElement("div",{className:"googlesitekit-logo","aria-hidden":"true"},e.createElement(r.a,{className:"googlesitekit-logo__logo-g",height:"34",width:"32"}),e.createElement(i.a,{className:"googlesitekit-logo__logo-sitekit",height:"26",width:"99"}),e.createElement(o.a,null,Object(a.__)("Site Kit by Google Logo","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.year,n=void 0===t?0:t,a=e.month,r=void 0===a?1:a,i=e.day,o=void 0===i?0:i;return new Date(n,r-1,o)}function u(e,t,n,r,i){for(var o=[[{type:"date",label:Object(s.__)("Day","google-site-kit")},{type:"string",role:"tooltip",p:{html:!0}},{type:"number",label:n},{type:"number",label:Object(s.__)("Previous period","google-site-kit")}]],u=function(e){var t=new Date(e);return t.setDate(e.getDate()+1),t},d=function(e){return function(t){return e.getTime()===Object(a.H)(t.cells[0].value).getTime()}},g=l(e.startDate),m=l(t.startDate),f=l(e.endDate),p=Object(a.s)(),b={weekday:"short",month:"short",day:"numeric"};g<=f;){var v,h,y,O,_,E,k=parseFloat((null===(v=((null==e?void 0:e.rows)||[]).find(d(g)))||void 0===v||null===(h=v.cells)||void 0===h||null===(y=h[r])||void 0===y?void 0:y.value)||0),S=parseFloat((null===(O=((null==t?void 0:t.rows)||[]).find(d(m)))||void 0===O||null===(_=O.cells)||void 0===_||null===(E=_[r])||void 0===E?void 0:E.value)||0),j=Object(a.i)(k,S),T=Object(a.p)(j),A=Object(s.sprintf)( +/* translators: 1: date for user stats, 2: previous date for user stats comparison */ +Object(s._x)("%1$s vs %2$s","Date range for chart tooltip","google-site-kit"),g.toLocaleDateString(p,b),m.toLocaleDateString(p,b)),N=Object(a.C)(k,null==i?void 0:i.currencyCode);"METRIC_RATIO"===(null==i?void 0:i.type)&&(N=Object(a.C)(k,"%"));var C=Object(s.sprintf)( +/* translators: 1: selected stat label, 2: numeric value of selected stat, 3: up or down arrow , 4: different change in percentage, %%: percent symbol */ +Object(s._x)("%1$s: %2$s %3$s %4$s%%","Stat information for chart tooltip","google-site-kit"),n,N,T,Math.abs(j).toFixed(2).replace(/(.00|0)$/,""));o.push([g,'
0,"googlesitekit-visualization-tooltip--down":j<0}),'">\n\t\t\t\t

').concat(A,"

\n\t\t\t\t

").concat(C,"

\n\t\t\t
"),k,S]),g=u(g),m=u(m)}return o}var d=n(137),g=n(541);n(594)},,,,,function(e,t,n){"use strict";n.d(t,"d",(function(){return s})),n.d(t,"e",(function(){return l})),n.d(t,"b",(function(){return u})),n.d(t,"a",(function(){return d})),n.d(t,"c",(function(){return g}));var a=n(27),r=n.n(a),i=n(14),o=n(24),c=n(9),s=function(e,t){if(!(null==t?void 0:t.length))return e;var n=[];return(null==e?void 0:e.length)&&(n=e[0].reduce((function(e,t,n){return(null==t?void 0:t.role)?[].concat(r()(e),[n]):e}),[])),e.map((function(e){return e.filter((function(e,a){return 0===a||t.includes(a-1)||n.includes(a-1)}))}))},l=function(e,t,n,a){var r={height:e||t,width:n||a};return r.width&&!r.height&&(r.height="100%"),r.height&&!r.width&&(r.width="100%"),r},u=function(e,t,n){var a=r()(e||[]);return t&&a.push({eventName:"ready",callback:t}),n&&a.push({eventName:"select",callback:n}),a},d=function(e,t,n,a,r,s){var l,u,d,g,m,f,p,b,v=Object(i.cloneDeep)(e);t&&"LineChart"===n&&((null==e||null===(l=e.vAxis)||void 0===l||null===(u=l.viewWindow)||void 0===u?void 0:u.min)||Object(i.set)(v,"vAxis.viewWindow.min",0),(null==e||null===(d=e.vAxis)||void 0===d||null===(g=d.viewWindow)||void 0===g?void 0:g.max)||Object(i.set)(v,"vAxis.viewWindow.max",100),(null==e||null===(m=e.hAxis)||void 0===m||null===(f=m.viewWindow)||void 0===f?void 0:f.min)||(Object(i.set)(v,"hAxis.viewWindow.min",Object(c.H)(a)),delete v.hAxis.ticks),(null==e||null===(p=e.hAxis)||void 0===p||null===(b=p.viewWindow)||void 0===b?void 0:b.max)||(Object(i.set)(v,"hAxis.viewWindow.max",Object(c.H)(r)),delete v.hAxis.ticks));if("LineChart"===n){var h,y,O;if((null==e||null===(h=e.hAxis)||void 0===h?void 0:h.maxTextLines)||Object(i.set)(v,"hAxis.maxTextLines",1),!(null==e||null===(y=e.hAxis)||void 0===y?void 0:y.minTextSpacing)){var _=s===o.b?50:100;Object(i.set)(v,"hAxis.minTextSpacing",_)}void 0===(null==e||null===(O=e.tooltip)||void 0===O?void 0:O.isHtml)&&(Object(i.set)(v,"tooltip.isHtml",!0),Object(i.set)(v,"tooltip.trigger","both"))}return Object(i.merge)(v,{hAxis:{textStyle:{fontSize:10,color:"#5f6561"}},vAxis:{textStyle:{color:"#5f6561",fontSize:10}},legend:{textStyle:{color:"#131418",fontSize:12}}}),v},g=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object(c.s)(),n=Intl.NumberFormat(t,{style:"currency",currency:e}),a=n.formatToParts(1e6);return a.reduce((function(e,t){var n=t.value;switch(t.type){case"group":return e+",";case"decimal":return e+".";case"currency":return e+n;case"literal":return e+(/^\s*$/.test(n)?n:"");case"integer":var r=n.replace(/\d/g,"#");return e+(Object(i.findLast)(a,(function(e){return"integer"===e.type}))===t?r.replace(/#$/,"0"):r);case"fraction":return e+n.replace(/\d/g,"0");default:return e}}),"")}},,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricTileText}));var a=n(20),r=n.n(a),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(181),u=n(9),d=n(200);function MetricTileText(t){var n=t.metricValue,a=t.metricValueFormat,i=t.subText,c=t.previousValue,s=t.currentValue,g=o()(t,["metricValue","metricValueFormat","subText","previousValue","currentValue"]),m=Object(u.n)(a);return e.createElement(d.a,r()({className:"googlesitekit-km-widget-tile--text"},g),e.createElement("div",{className:"googlesitekit-km-widget-tile__metric-container"},e.createElement("div",{className:"googlesitekit-km-widget-tile__metric"},n),e.createElement("p",{className:"googlesitekit-km-widget-tile__subtext"},i)),e.createElement("div",{className:"googlesitekit-km-widget-tile__metric-change-container"},e.createElement(l.a,{previousValue:c,currentValue:s,isAbsolute:"percent"===(null==m?void 0:m.style)})))}MetricTileText.propTypes={metricValue:s.a.oneOfType([s.a.string,s.a.number]),subtext:s.a.string,previousValue:s.a.number,currentValue:s.a.number}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(55),r=n.n(a),i=n(269),o=e._googlesitekitAPIFetchData||{},c=o.nonce,s=o.nonceEndpoint,l=o.preloadedData,u=o.rootURL;r.a.nonceEndpoint=s,r.a.nonceMiddleware=r.a.createNonceMiddleware(c),r.a.rootURLMiddleware=r.a.createRootURLMiddleware(u),r.a.preloadingMiddleware=Object(i.a)(l),r.a.use(r.a.nonceMiddleware),r.a.use(r.a.mediaUploadMiddleware),r.a.use(r.a.rootURLMiddleware),r.a.use(r.a.preloadingMiddleware),t.default=r.a}).call(this,n(28))},function(e,t,n){"use strict";var a=n(256);t.a=function(e){var t=Object.keys(e).reduce((function(t,n){return t[Object(a.getStablePath)(n)]=e[n],t}),{}),n=!1;return function(e,r){if(n)return r(e);setTimeout((function(){n=!0}),3e3);var i=e.parse,o=void 0===i||i,c=e.path;if("string"==typeof e.path){var s,l=(null===(s=e.method)||void 0===s?void 0:s.toUpperCase())||"GET",u=Object(a.getStablePath)(c);if(o&&"GET"===l&&t[u]){var d=Promise.resolve(t[u].body);return delete t[u],d}if("OPTIONS"===l&&t[l]&&t[l][u]){var g=Promise.resolve(t[l][u]);return delete t[l][u],g}}return r(e)}}},,function(e,t,n){"use strict";(function(e,a){n.d(t,"a",(function(){return UserMenu}));var r=n(5),i=n.n(r),o=n(16),c=n.n(o),s=n(15),l=n.n(s),u=n(210),d=n(1),g=n(2),m=n(56),f=n(3),p=n(10),b=n(112),v=n(9),h=n(34),y=n(73),O=n(272),_=n(215),E=n(273),k=n(274),S=n(29),j=n(13),T=n(6),A=n(32),N=n(8),C=n(117),w=n(18);function UserMenu(){var t=Object(f.useSelect)((function(e){return e(j.c).getProxyPermissionsURL()})),n=Object(f.useSelect)((function(e){return e(T.a).getEmail()})),r=Object(f.useSelect)((function(e){return e(T.a).getPicture()})),o=Object(f.useSelect)((function(e){return e(T.a).getFullName()})),s=Object(f.useSelect)((function(e){return e(j.c).getAdminURL("googlesitekit-splash",{googlesitekit_context:"revoked"})})),I=Object(f.useSelect)((function(e){return e(S.a).getValue(N.d,"isAutoCreatingCustomDimensionsForAudience")})),M=Object(d.useState)(!1),R=l()(M,2),D=R[0],x=R[1],L=Object(d.useState)(!1),P=l()(L,2),G=P[0],Z=P[1],B=Object(d.useRef)(),U=Object(d.useRef)(),F=Object(w.a)(),z=Object(f.useDispatch)(A.a).navigateTo;Object(u.a)(B,(function(){return Z(!1)})),Object(C.a)([m.c,m.f],B,(function(){var e;Z(!1),null===(e=U.current)||void 0===e||e.focus()})),Object(d.useEffect)((function(){var t=function(e){m.c===e.keyCode&&(x(!1),Z(!1))};return e.addEventListener("keyup",t),function(){e.removeEventListener("keyup",t)}}),[]);var W,V=Object(d.useCallback)((function(){G||Object(v.J)("".concat(F,"_headerbar"),"open_usermenu"),Z(!G)}),[G,F]),H=Object(d.useCallback)((function(){x(!D),Z(!1)}),[D]),q=Object(d.useCallback)(function(){var e=c()(i.a.mark((function e(n,a){var r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=a.detail.item,e.t0=null==r?void 0:r.id,e.next="manage-sites"===e.t0?4:"disconnect"===e.t0?9:11;break;case 4:if(!t){e.next=8;break}return e.next=7,Object(v.J)("".concat(F,"_headerbar_usermenu"),"manage_sites");case 7:z(t);case 8:return e.abrupt("break",12);case 9:return H(),e.abrupt("break",12);case 11:V();case 12:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),[t,V,H,z,F]),K=Object(d.useCallback)(c()(i.a.mark((function e(){return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return x(!1),e.next=3,Object(h.b)();case 3:return e.next=5,Object(v.J)("".concat(F,"_headerbar_usermenu"),"disconnect_user");case 5:z(s);case 6:case"end":return e.stop()}}),e)}))),[s,z,F]);return n?(o&&n&&(W=Object(g.sprintf)( +/* translators: Account info text. 1: User's (full) name 2: User's email address. */ +Object(g.__)("Google Account for %1$s (Email: %2$s)","google-site-kit"),o,n)),o&&!n&&(W=Object(g.sprintf)( +/* translators: Account info text. 1: User's (full) name. */ +Object(g.__)("Google Account for %1$s","google-site-kit"),o)),!o&&n&&(W=Object(g.sprintf)( +/* translators: Account info text. 1: User's email address. */ +Object(g.__)("Google Account (Email: %1$s)","google-site-kit"),n)),a.createElement(d.Fragment,null,a.createElement("div",{ref:B,className:"googlesitekit-user-selector googlesitekit-dropdown-menu googlesitekit-dropdown-menu__icon-menu mdc-menu-surface--anchor"},a.createElement(p.Button,{disabled:I,ref:U,className:"googlesitekit-header__dropdown mdc-button--dropdown googlesitekit-border-radius-round--tablet googlesitekit-border-radius-round--phone googlesitekit-border-radius-round googlesitekit-button-icon",text:!0,onClick:V,icon:!!r&&a.createElement("i",{className:"mdc-button__icon mdc-button__account","aria-hidden":"true"},a.createElement("img",{className:"mdc-button__icon--image",src:r,alt:Object(g.__)("User Avatar","google-site-kit")})),"aria-haspopup":"menu","aria-expanded":G,"aria-controls":"user-menu","aria-label":I?void 0:Object(g.__)("Account","google-site-kit"),tooltip:!0,tooltipEnterDelayInMS:500,customizedTooltip:I?null:a.createElement("span",{"aria-label":W},a.createElement("strong",null,Object(g.__)("Google Account","google-site-kit")),a.createElement("br",null),a.createElement("br",null),o,o&&a.createElement("br",null),n)}),a.createElement(p.Menu,{className:"googlesitekit-user-menu",menuOpen:G,onSelected:q,id:"user-menu"},a.createElement("li",null,a.createElement(O.a,null)),!!t&&a.createElement("li",{id:"manage-sites",className:"mdc-list-item",role:"menuitem"},a.createElement(_.a,{icon:a.createElement(k.a,{width:"22"}),label:Object(g.__)("Manage Sites","google-site-kit")})),a.createElement("li",{id:"disconnect",className:"mdc-list-item",role:"menuitem"},a.createElement(_.a,{icon:a.createElement(E.a,{width:"22"}),label:Object(g.__)("Disconnect","google-site-kit")})))),a.createElement(y.a,null,a.createElement(b.a,{dialogActive:D,handleConfirm:K,handleDialog:H,title:Object(g.__)("Disconnect","google-site-kit"),subtitle:Object(g.__)("Disconnecting Site Kit by Google will remove your access to all services. After disconnecting, you will need to re-authorize to restore service.","google-site-kit"),confirmButton:Object(g.__)("Disconnect","google-site-kit"),danger:!0,small:!0})))):null}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Details}));var a=n(2),r=n(3),i=n(6);function Details(){var t=Object(r.useSelect)((function(e){return e(i.a).getPicture()})),n=Object(r.useSelect)((function(e){return e(i.a).getFullName()})),o=Object(r.useSelect)((function(e){return e(i.a).getEmail()}));return e.createElement("div",{className:"googlesitekit-user-menu__details","aria-label":Object(a.__)("Google account","google-site-kit")},!!t&&e.createElement("img",{className:"googlesitekit-user-menu__details-avatar",src:t,alt:""}),e.createElement("div",{className:"googlesitekit-user-menu__details-info"},e.createElement("p",{className:"googlesitekit-user-menu__details-info__name"},n),e.createElement("p",{className:"googlesitekit-user-menu__details-info__email","aria-label":Object(a.__)("Email","google-site-kit")},o)))}}).call(this,n(4))},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);nSign in to connect more services and control sharing access.","google-site-kit"),{strong:e.createElement("strong",null)}):Object(s.a)(Object(l.__)("You can see stats from all shared Google services, but you can't make any changes. Learn more","google-site-kit"),{a:e.createElement(b.a,{href:i,external:!0,onClick:_,"aria-label":Object(l.__)("Learn more about dashboard sharing","google-site-kit")})});return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item googlesitekit-view-only-menu__description"},e.createElement("p",null,E),n&&e.createElement(d.Button,{onClick:O},Object(l._x)("Sign in with Google","Service name","google-site-kit")))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SharedServices}));var a=n(2),r=n(3),i=n(6),o=n(293);function SharedServices(){var t=Object(r.useSelect)((function(e){return e(i.a).getViewableModules()}));return void 0===t?null:e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("h4",null,Object(a.__)("Shared services","google-site-kit")),e.createElement("ul",null,t.map((function(t){return e.createElement(o.a,{key:t,module:t})}))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Service}));var a=n(0),r=n.n(a),i=n(39),o=n(2),c=n(3),s=n(19),l=n(6);function Service(t){var n=t.module,a=Object(c.useSelect)((function(e){return e(l.a).hasCapability(l.H)})),r=Object(c.useSelect)((function(e){return e(s.a).getModule(n)||{}})),u=r.name,d=r.owner,g=Object(c.useSelect)((function(e){return e(s.a).getModuleIcon(n)}));return e.createElement("li",{className:"googlesitekit-view-only-menu__service"},e.createElement("span",{className:"googlesitekit-view-only-menu__service--icon"},e.createElement(g,{height:26})),e.createElement("span",{className:"googlesitekit-view-only-menu__service--name"},u),a&&(null==d?void 0:d.login)&&e.createElement("span",{className:"googlesitekit-view-only-menu__service--owner"},Object(i.a)(Object(o.sprintf)( +/* translators: %s: module owner Google Account email address */ +Object(o.__)("Shared by %s","google-site-kit"),d.login),{strong:e.createElement("strong",{title:d.login})})))}Service.propTypes={module:r.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Tracking}));var a=n(39),r=n(2),i=n(214),o=n(18);function Tracking(){var t=Object(o.a)();return e.createElement("li",{className:"googlesitekit-view-only-menu__list-item"},e.createElement("p",null,Object(a.a)(Object(r.__)("Thanks for using Site Kit!
Help us make it even better","google-site-kit"),{br:e.createElement("br",null)})),e.createElement(i.a,{trackEventCategory:"".concat(t,"_headerbar_viewonly"),alignCheckboxLeft:!0}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SubtleNotifications}));var a=n(167),r=n(45);function SubtleNotifications(){return e.createElement(a.a,{areaSlug:r.b.BANNERS_BELOW_NAV})}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return m}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(1),s=n(3),l=n(13),u=n(18),d=n(34),g=n(9),m=function(){var e=Object(u.a)(),t=Object(s.useSelect)((function(e){return e(l.c).isUsingProxy()})),n=Object(s.useSelect)((function(e){return e(l.c).getSetupErrorMessage()}));Object(c.useEffect)((function(){n||void 0===t||function(){var n=o()(r.a.mark((function n(){var a,i;return r.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Object(d.d)("start_user_setup");case 2:return a=n.sent,n.next=5,Object(d.d)("start_site_setup");case 5:if(i=n.sent,!a.cacheHit){n.next=10;break}return n.next=9,Object(d.c)("start_user_setup");case 9:Object(g.J)("".concat(e,"_setup"),"complete_user_setup",t?"proxy":"custom-oauth");case 10:if(!i.cacheHit){n.next=14;break}return n.next=13,Object(d.c)("start_site_setup");case 13:Object(g.J)("".concat(e,"_setup"),"complete_site_setup",t?"proxy":"custom-oauth");case 14:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()}),[e,t,n])}},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t0,j="key-metric-selection-checkbox-".concat(n);return e.createElement(b.c,{id:j,slug:n,title:a,description:i,isNewlyDetected:c,isItemSelected:k,isItemDisabled:S,onCheckboxChange:E},h.length>0&&e.createElement("div",{className:"googlesitekit-selection-panel-item-error"},Object(u.sprintf)( +/* translators: %s: module names. */ +Object(u._n)("%s is disconnected, no data to show","%s are disconnected, no data to show",h.length,"google-site-kit"),h.join(Object(u.__)(" and ","google-site-kit")))))}MetricItem.propTypes={slug:s.a.string.isRequired,title:s.a.string.isRequired,description:s.a.string.isRequired,isNewlyDetected:s.a.bool,savedItemSlugs:s.a.array}}).call(this,n(4))},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t0&&e.createElement("p",{className:"googlesitekit-selection-panel-items__subheading"},o)),h>0&&e.createElement("div",{className:"googlesitekit-selection-panel-items__subsection"},v(f)),b)}SelectionPanelItems.propTypes={currentSelectionTitle:o.a.string,availableItemsTitle:o.a.string,savedItemSlugs:o.a.array,availableSavedItems:o.a.object,availableUnsavedItems:o.a.object,ItemComponent:o.a.elementType,notice:o.a.node}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SelectionPanelFooter}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(15),s=n.n(c),l=n(14),u=n(0),d=n.n(u),g=n(1),m=n(39),f=n(2),p=n(3),b=n(10),v=n(111),h=n(9),y=n(8),O=n(42),_=n(57);function SelectionPanelFooter(t){var n=t.savedItemSlugs,a=void 0===n?[]:n,i=t.selectedItemSlugs,c=void 0===i?[]:i,u=t.saveSettings,d=void 0===u?function(){}:u,E=t.saveError,k=t.itemLimitError,S=t.minSelectedItemCount,j=void 0===S?0:S,T=t.maxSelectedItemCount,A=void 0===T?0:T,N=t.isBusy,C=t.onSaveSuccess,w=void 0===C?function(){}:C,I=t.onCancel,M=void 0===I?function(){}:I,R=t.isOpen,D=t.closePanel,x=void 0===D?function(){}:D,L=Object(g.useState)(null),P=s()(L,2),G=P[0],Z=P[1],B=Object(g.useState)(!1),U=s()(B,2),F=U[0],z=U[1],W=Object(p.useSelect)((function(e){return e(y.r).isFetchingSyncAvailableAudiences()})),V=Object(g.useMemo)((function(){return!Object(l.isEqual)(Object(h.F)(c),Object(h.F)(a))}),[a,c]),H=(null==a?void 0:a.length)>0&&V?Object(f.__)("Apply changes","google-site-kit"):Object(f.__)("Save selection","google-site-kit"),q=Object(g.useCallback)(o()(r.a.mark((function e(){var t;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(c);case 2:t=e.sent,t.error||(w(),x(),Z(H),z(!0));case 5:case"end":return e.stop()}}),e)}))),[d,c,w,x,H]),K=Object(g.useCallback)((function(){x(),M()}),[x,M]),Y=Object(g.useState)(null),J=s()(Y,2),$=J[0],X=J[1];Object(g.useEffect)((function(){null!==$&&$!==R&&R&&(Z(null),z(!1)),X(R)}),[R,$]);var Q=(null==c?void 0:c.length)||0,ee=W?e.createElement(O.a,{width:"89px",height:"20px"}):e.createElement("p",{className:"googlesitekit-selection-panel-footer__item-count"},Object(m.a)(Object(f.sprintf)( +/* translators: 1: Number of selected items. 2: Maximum number of items that can be selected. */ +Object(f.__)("%1$d selected (up to %2$d)","google-site-kit"),Q,A),{MaxCount:e.createElement("span",{className:"googlesitekit-selection-panel-footer__item-count--max-count"})}));return e.createElement("footer",{className:"googlesitekit-selection-panel-footer"},E&&e.createElement(v.a,{error:E}),e.createElement("div",{className:"googlesitekit-selection-panel-footer__content"},V&&k?e.createElement(_.a,{noPrefix:!0,message:k}):ee,e.createElement("div",{className:"googlesitekit-selection-panel-footer__actions"},e.createElement(b.Button,{tertiary:!0,onClick:K,disabled:N},Object(f.__)("Cancel","google-site-kit")),e.createElement(b.SpinnerButton,{onClick:q,isSaving:N,disabled:QA||N||!R&&F},G||H))))}SelectionPanelFooter.propTypes={savedItemSlugs:d.a.array,selectedItemSlugs:d.a.array,saveSettings:d.a.func,saveError:d.a.object,itemLimitError:d.a.string,minSelectedItemCount:d.a.number,maxSelectedItemCount:d.a.number,isBusy:d.a.bool,onSaveSuccess:d.a.func,onCancel:d.a.func,isOpen:d.a.bool,closePanel:d.a.func}}).call(this,n(4))},,,,,,,,function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;tLearn more","google-site-kit"),{a:e.createElement(v.a,{path:"/analytics/answer/9216061",external:!0})})))}EnhancedMeasurementSwitch.propTypes={onClick:s.a.func,disabled:s.a.bool,loading:s.a.bool,isEnhancedMeasurementAlreadyEnabled:s.a.bool,showTick:s.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return r}));var a=n(1);function r(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Object(a.useEffect)((function(){var a,r=!1,i=function(){a=e.setTimeout((function(){r=!0}),n)},o=function(){e.clearTimeout(a),r&&(r=!1,t())};return e.addEventListener("focus",o),e.addEventListener("blur",i),function(){e.removeEventListener("focus",o),e.removeEventListener("blur",i),e.clearTimeout(a)}}),[n,t])}}).call(this,n(28))},,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ChipTabGroup}));var a,r=n(20),i=n.n(r),o=n(27),c=n.n(o),s=n(15),l=n.n(s),u=n(7),d=n.n(u),g=n(1),m=n(414),f=n(2),p=n(3),b=n(10),v=n(26),h=n(29),y=n(357),O=n(309),_=n(358),E=n(24),k=n(229),S=n(206),j=n(74),T=n(8),A=n(23),N=n(6),C=n(19),w=(a={},d()(a,v.c.SLUG,k.a),d()(a,v.g.SLUG,S.a),a);function ChipTabGroup(t){var n=t.allMetricItems,a=t.savedItemSlugs,r=Object(g.useState)(v.c.SLUG),o=l()(r,2),s=o[0],u=o[1],k=Object(g.useState)(0),S=l()(k,2),I=S[0],M=S[1],R=Object(E.e)()===E.b,D=Object(p.useSelect)((function(e){return e(h.a).getValue(v.j,v.i)})),x=Object(p.useSelect)((function(e){return e(h.a).getValue(v.j,v.a)||[]})),L=Object(p.useSelect)((function(e){return e(h.a).getValue(v.j,v.p)||[]})),P=Object(p.useSelect)((function(e){return e(N.a).isUserInputCompleted()})),G=Object(p.useSelect)((function(e){var t,n=e(N.a).getUserPickedMetrics();if(null==n?void 0:n.length){var a=e(T.r).getKeyMetricsConversionEventWidgets();return Object.keys(a).filter((function(e){return n.some((function(t){return a[e].includes(t)}))}))}var r=e(N.a).getUserInputSettings();return null==r||null===(t=r.includeConversionEvents)||void 0===t?void 0:t.values})),Z=Object(p.useSelect)((function(e){return e(C.a).isModuleConnected("analytics-4")})),B=Object(p.useSelect)((function(e){return Z?e(T.r).getDetectedEvents():[]})),U=Object(p.useSelect)((function(e){return e(N.a).getAnswerBasedMetrics(null,[].concat(c()(G||[]),c()(B||[])))})),F=[T.l.SUBMIT_LEAD_FORM,T.l.CONTACT,T.l.GENERATE_LEAD].filter((function(e){return(null==B?void 0:B.includes(e))||(null==G?void 0:G.includes(e))})),z=[T.l.ADD_TO_CART,T.l.PURCHASE].filter((function(e){return(null==B?void 0:B.includes(e))||(null==G?void 0:G.includes(e))})),W=Object(g.useMemo)((function(){return[v.h,v.d].concat(c()((null==F?void 0:F.length)?[v.e]:[]),c()((null==z?void 0:z.length)?[v.f]:[]),[v.b])}),[F,z]),V=Object(g.useMemo)((function(){return P?[v.c,v.g]:[v.c]}),[P]),H=Object(g.useMemo)((function(){return[].concat(c()(V),c()(W))}),[V,W]),q=Object(p.useSelect)((function(e){if(!Z)return[];var t=e(T.r).getNewBadgeEvents();if((null==B?void 0:B.length)&&(null==t?void 0:t.length)){var n=B.filter((function(e){return T.e.includes(e)})),a=t.filter((function(e){return T.e.includes(e)})),r=t.filter((function(e){return!T.e.includes(e)}));if((null==n?void 0:n.length)>1&&a.length>0)return r}return t})),K=Object(p.useSelect)((function(e){return Z?e(T.r).getKeyMetricsConversionEventWidgets():[]})),Y=d()({},v.c.SLUG,0),J={},$={},X=function(e){var t,a=n[e].group;if((a===s||s===v.c.SLUG&&x.includes(e))&&(J[e]=n[e]),s===v.g.SLUG&&U.includes(e)&&U.includes(e)&&(J[e]=n[e]),!Y[a]){var r=Object.keys(n).filter((function(e){return!(n[e].group!==a||!(null==D?void 0:D.includes(e)))})).length;Y[a]=r}(null==q?void 0:q.length)&&(q.some((function(t){return K[t].includes(e)}))&&($[a]=[].concat(c()(null!==(t=$[a])&&void 0!==t?t:[]),[e])))};for(var Q in n)X(Q);var ee=Object(p.useDispatch)(h.a).setValues,te=Object(g.useCallback)((function(){var e;ee(v.j,(e={},d()(e,v.i,D),d()(e,v.a,[].concat(c()(x),c()(L))),d()(e,v.p,[]),e))}),[D,x,L,ee]),ne=Object(g.useCallback)((function(e,t){if(e)u(e);else{var n=H[t];M(t),u(n.SLUG)}L.length&&te()}),[H,L,u,te]),ae=Object(p.useSelect)((function(e){return e(A.b).getValue(v.k)})),re=Object(m.a)(ae),ie=Object.keys($);Object(g.useEffect)((function(){if(!re&&ae)if(u(v.c.SLUG),M(0),ie.length&&R){var e=H.find((function(e){return e.SLUG===ie[0]}));M(H.indexOf(e)),u(e.SLUG)}else M(0),u(v.c.SLUG);re&&!ae&&te()}),[ae,re,L,H,R,ie,te]);var oe=[[].concat(c()(V),c()(W.slice(0,2))),c()(W.slice(2))];return e.createElement("div",{className:"googlesitekit-chip-tab-group"},e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-items"},!R&&oe.map((function(t){return e.createElement("div",{key:"row-".concat(t[0].SLUG),className:"googlesitekit-chip-tab-group__tab-items-row"},t.map((function(t){return e.createElement(y.a,{key:t.SLUG,slug:t.SLUG,label:t.LABEL,hasNewBadge:!!(null==$?void 0:$[t.SLUG]),isActive:t.SLUG===s,onClick:ne,selectedCount:Y[t.SLUG]})})))})),R&&e.createElement(b.TabBar,{activeIndex:I,handleActiveIndexUpdate:function(e){return ne(null,e)}},H.map((function(t,n){var a=w[t.SLUG]||j.a;return e.createElement(b.Tab,{key:n,"aria-label":t.LABEL},e.createElement(a,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__tab-item-mobile-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(t.SLUG)}),t.LABEL,Y[t.SLUG]>0&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",Y[t.SLUG],")"),!!(null==$?void 0:$[t.SLUG])&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))})))),e.createElement("div",{className:"googlesitekit-chip-tab-group__tab-item"},Object.keys(J).map((function(t){var n,r=J[t].group,o=null==$||null===(n=$[r])||void 0===n?void 0:n.includes(t);return e.createElement(O.a,i()({key:t,slug:t,savedItemSlugs:a,isNewlyDetected:o},J[t]))})),!Object.keys(J).length&&e.createElement("div",{className:"googlesitekit-chip-tab-group__graphic"},e.createElement(_.a,{height:250}),e.createElement("p",null,Object(f.__)("No metrics were selected yet","google-site-kit")))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Chip}));var a,r=n(7),i=n.n(r),o=n(0),c=n.n(o),s=n(11),l=n.n(s),u=n(10),d=n(26),g=n(229),m=n(206),f=n(74),p=(a={},i()(a,d.c.SLUG,g.a),i()(a,d.g.SLUG,m.a),a);function Chip(t){var n=t.slug,a=t.label,r=t.isActive,i=t.onClick,o=t.hasNewBadge,c=void 0!==o&&o,s=t.selectedCount,d=void 0===s?0:s,g=p[n]||f.a;return e.createElement(u.Button,{className:l()("googlesitekit-chip-tab-group__chip-item",{"googlesitekit-chip-tab-group__chip-item--active":r}),icon:e.createElement(g,{width:12,height:12,className:"googlesitekit-chip-tab-group__chip-item-svg googlesitekit-chip-tab-group__chip-item-svg__".concat(n)}),trailingIcon:d>0?e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-count"},"(",d,")"):null,onClick:function(){return i(n)}},a,c&&e.createElement("span",{className:"googlesitekit-chip-tab-group__chip-item-new-dot"}))}Chip.propTypes={slug:c.a.string.isRequired,label:c.a.string.isRequired,isActive:c.a.bool,hasNewBadge:c.a.bool,selectedCount:c.a.number,onClick:c.a.func.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;tObject(D.H)(Y).getTime());var t}));if($)return null;if(!b)return e.createElement("div",{className:p()("googlesitekit-chart","googlesitekit-chart-loading__forced",o)},oe);var ue=Object(R.b)([].concat(c()(n||[]),[{eventName:"ready",callback:function(){var e;if(ce.current&&le.length){var t=ce.current.getChart(),n=null==t?void 0:t.getChartLayoutInterface(),a=null==n?void 0:n.getChartAreaBoundingBox(),r=ce.current.getDataTable();if(n&&a&&r){le.forEach((function(e,t){var r=new Date(e.date),i=document.getElementById("googlesitekit-chart__date-marker-line--".concat(V,"-").concat(t));v()(i,"#googlesitekit-chart__date-marker-line--".concat(V,"-").concat(t," is missing from the DOM, but required to render date markers."));var o=Math.floor(n.getXLocation(Object(D.H)(Object(D.q)(r))));if(Object.assign(i.style,{left:"".concat(o-1,"px"),top:"".concat(Math.floor(a.top),"px"),height:"".concat(Math.floor(a.height),"px"),opacity:1}),e.text){var c=document.getElementById("googlesitekit-chart__date-marker-tooltip--".concat(V,"-").concat(t));v()(c,"#googlesitekit-chart__date-marker-tooltip--".concat(V,"-").concat(t," is missing from the DOM, but required to render date marker tooltips.")),Object.assign(c.style,{left:"".concat(o-9,"px"),top:"".concat(Math.floor(a.top)-18,"px"),opacity:1})}}));var i=null===(e=document.querySelector("#googlesitekit-chart-".concat(V," svg:first-of-type > g:first-of-type > g > g > text")))||void 0===e?void 0:e.parentElement.parentElement.parentElement;!!i&&document.querySelectorAll("#googlesitekit-chart-".concat(V," svg:first-of-type > g")).length>=3&&(i.style.transform="translateY(-10px)")}}}}]),G,Z),de=Object(R.a)(F,z,r,K,Y,H);return e.createElement(N.a,null,e.createElement("div",{className:p()("googlesitekit-chart","googlesitekit-chart--".concat(r),o),id:"googlesitekit-chart-".concat(V),tabIndex:-1},e.createElement(O.a,l()({className:"googlesitekit-chart__inner",chartEvents:ue,chartLanguage:Object(D.s)(),chartType:r,chartVersion:"49",data:ae,loader:oe,height:f,getChartWrapper:function(e,t){var n,a,r;(ee||te(!0),e!==ce.current)&&(null===(n=se.current)||void 0===n||n.visualization.events.removeAllListeners(null===(a=ce.current)||void 0===a?void 0:a.getChart()),null===(r=se.current)||void 0===r||r.visualization.events.removeAllListeners(ce.current));ce.current=e,se.current=t,g&&g(e,t)},width:U,options:de},W)),z&&ee&&e.createElement(T.b,{style:T.a.OVERLAY}),!!le.length&&le.map((function(t,n){return e.createElement(C.a,{key:"googlesitekit-chart__date-marker--".concat(V,"-").concat(n),id:"".concat(V,"-").concat(n),text:t.text})})),i))}GoogleChart.propTypes={className:y.a.string,children:y.a.node,chartEvents:y.a.arrayOf(y.a.shape({eventName:y.a.string,callback:y.a.func})),chartType:y.a.oneOf(["LineChart","PieChart"]).isRequired,data:y.a.array,dateMarkers:y.a.arrayOf(y.a.shape({date:y.a.string.isRequired,text:y.a.string})),getChartWrapper:y.a.func,height:y.a.string,loaded:y.a.bool,loadingHeight:y.a.string,loadingWidth:y.a.string,onMouseOut:y.a.func,onMouseOver:y.a.func,onReady:y.a.func,onSelect:y.a.func,selectedStats:y.a.arrayOf(y.a.number),width:y.a.string,options:y.a.object,gatheringData:y.a.bool},GoogleChart.defaultProps=P(P({},O.a.defaultProps),{},{dateMarkers:[],gatheringData:!1,loaded:!0})}).call(this,n(4),n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupAccountSiteUI}));var a=n(0),r=n.n(a),i=n(1),o=n(3),c=n(10),s=n(32),l=n(161),u=n(403),d=n(31);function SetupAccountSiteUI(t){var n=t.heading,a=t.description,r=t.primaryButton,g=t.secondaryButton,m=Object(o.useSelect)((function(e){return e(d.m).isDoingSubmitChanges()||e(s.a).isNavigating()}));return e.createElement(i.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},n),e.createElement(l.d,null),e.createElement("p",null,a),e.createElement(u.a,null),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(c.SpinnerButton,{onClick:r.onClick,href:r.href,disabled:m,isSaving:m},r.label),g&&e.createElement("div",{className:"googlesitekit-setup-module__sub-action"},e.createElement(c.Button,{tertiary:!0,onClick:g.onClick},g.label))))}SetupAccountSiteUI.propTypes={heading:r.a.string.isRequired,description:r.a.string.isRequired,primaryButton:r.a.shape({label:r.a.string,href:r.a.string,onClick:r.a.func}).isRequired,secondaryButton:r.a.shape({label:r.a.string,onClick:r.a.func})}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return p}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(12),s=n.n(c),l=n(14),u=n(268),d=n(107),g=n(165),m=n(13),f=function(e,t){var n=t.find((function(t){return t.test(e)}));return!!n&&n.exec(e)[1]},p=Object(l.memoize)(function(){var e=o()(r.a.mark((function e(t){var n,a,i,o;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.homeURL,a=t.ampMode,s()(Object(d.a)(n),"homeURL must be valid URL"),i=[n],m.b!==a){e.next=14;break}return e.prev=4,e.next=7,Object(u.default)({path:"/wp/v2/posts?per_page=1"}).then((function(e){return e.slice(0,1).map((function(e){return Object(g.a)(e.link,{amp:1})})).pop()}));case 7:(o=e.sent)&&i.push(o),e.next=14;break;case 11:return e.prev=11,e.t0=e.catch(4),e.abrupt("return",i);case 14:return e.abrupt("return",i);case 15:case"end":return e.stop()}}),e,null,[[4,11]])})));return function(t){return e.apply(this,arguments)}}())},,,function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t=1280,w=j>=960&&j<1280;s||(N=S===f.c&&j<800,w=j>=800&&j<1280);var I=Object(l.a)(k,{threshold:.25}),M=Object(u.useState)(!1),R=r()(M,2),D=R[0],x=R[1],L=!!(null==I?void 0:I.intersectionRatio),P=Object(d.useDispatch)(m.a).triggerSurvey,G=Object(d.useSelect)((function(e){return e(g.c).isUsingProxy()}));return Object(u.useEffect)((function(){L&&!D&&(s&&Object(p.J)("".concat(T,"_kmw-cta-notification"),"view_notification"),G&&P("view_kmw_setup_cta",{ttl:p.g}),x(!0))}),[L,T,s,D,G,P]),e.createElement("section",{ref:k,className:o()("googlesitekit-setup__wrapper","googlesitekit-setup__wrapper--key-metrics-setup-cta",n)},e.createElement(v.e,null,e.createElement(v.k,null,e.createElement(v.a,{smSize:5,mdSize:6,lgSize:5,className:"googlesitekit-widget-key-metrics-content__wrapper"},e.createElement("div",{className:"googlesitekit-widget-key-metrics-text__wrapper"},e.createElement("h3",{className:"googlesitekit-publisher-win__title"},a),e.createElement("p",null,i)),e.createElement("div",{className:"googlesitekit-widget-key-metrics-actions__wrapper"},c),N&&e.createElement(v.a,{className:"googlesitekit-widget-key-metrics-svg__wrapper"},e.createElement(O.a,null)),A&&e.createElement(v.a,{className:"googlesitekit-widget-key-metrics-svg__wrapper"},e.createElement(_.a,null))),w&&e.createElement(v.a,{className:"googlesitekit-widget-key-metrics-svg__wrapper"},e.createElement(y.a,null)),C&&e.createElement(v.a,{className:"googlesitekit-widget-key-metrics-svg__wrapper",smSize:6,mdSize:3,lgSize:6},e.createElement(h.a,null)))))}KeyMetricsCTAContent.propTypes={title:s.a.string,description:s.a.string,actions:s.a.node}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return KeyMetricsCTAFooter}));var a=n(0),r=n.n(a),i=n(2),o=n(17),c=n(21);function KeyMetricsCTAFooter(t){var n=t.onActionClick,a=void 0===n?function(){}:n,r=t.showDismiss;return e.createElement(o.k,{className:"googlesitekit-widget-key-metrics-footer"},e.createElement(o.a,{size:12,className:"googlesitekit-widget-key-metrics-footer__cta-wrapper"},!r&&e.createElement("span",null,Object(i.__)("Interested in specific metrics?","google-site-kit")),e.createElement(c.a,{onClick:a},r?Object(i.__)("Maybe later","google-site-kit"):Object(i.__)("Select your own metrics","google-site-kit"))))}KeyMetricsCTAFooter.propTypes={onActionClick:r.a.func}}).call(this,n(4))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var a=n(541);function r(e){if(Object(a.b)(e))return e.match(/pub-\d+$/)[0]}function i(e){if(Object(a.a)(e))return e.match(/pub-\d+$/)[0]}},,,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Notice}));var a=n(2),r=n(3),i=n(138),o=n(21),c=n(13);function Notice(){var t=Object(r.useSelect)((function(e){return e(c.c).getDocumentationLinkURL("ga4")}));return e.createElement(i.c,{type:i.a,LearnMore:function LearnMore(){return e.createElement(o.a,{href:t,external:!0},Object(a.__)("Learn more here.","google-site-kit"))},notice:Object(a.__)("Got a Google Analytics property and want to find out how to use it with Site Kit?","google-site-kit")})}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockerWarningMessage}));var a=n(0),r=n.n(a),i=n(2),o=n(39),c=n(21),s=n(226),l=n(390);function AdBlockerWarningMessage(t){var n=t.className,a=void 0===n?"":n,r=t.getHelpLink,u=void 0===r?"":r,d=t.warningMessage,g=void 0===d?null:d;return g?e.createElement(s.a,{className:a},Object(o.a)(Object(i.sprintf)( +/* translators: 1: The warning message. 2: "Get help" text. */ +Object(i.__)("%1$s. %2$s","google-site-kit"),g,Object(i.__)("Get help","google-site-kit")),{Link:e.createElement(c.a,{href:u,external:!0,hideExternalIndicator:!0,trailingIcon:e.createElement(l.a,{width:15,height:15})})})):null}AdBlockerWarningMessage.propTypes={className:r.a.string,getHelpLink:r.a.string,warningMessage:r.a.string}}).call(this,n(4))},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.sticky,n=void 0!==t&&t,a=Object(c.useContext)(s.a),u=Object(c.useState)(!1),d=r()(u,2),g=d[0],m=d[1],f=Object(o.a)((function(e){return e(l.b).getInViewResetCount()})),p=Object(o.a)((function(e){return e(l.b).getValue("forceInView")}));return Object(c.useEffect)((function(){a.value&&!g&&m(!0)}),[g,a,m]),Object(c.useEffect)((function(){p&&m(!0)}),[p]),Object(i.a)((function(){m(!1)}),[f]),!(!n||!g)||!!a.value}},,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupEnhancedConversionTrackingNotice}));var a=n(11),r=n.n(a),i=n(3),o=n(13);function SetupEnhancedConversionTrackingNotice(t){var n=t.className,a=t.message,c=Object(i.useSelect)((function(e){return e(o.c).isConversionTrackingEnabled()}));return c||void 0===c?null:e.createElement("p",{className:r()(n,"googlesitekit-color--surfaces-on-background-variant")},a)}}).call(this,n(4))},,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return UseSnippetSwitch}));var a=n(0),r=n.n(a),i=n(1),o=n(2),c=n(3),s=n(10),l=n(8),u=n(9),d=n(18);function UseSnippetSwitch(t){var n=t.description,a=Object(d.a)(),r=Object(c.useSelect)((function(e){return e(l.r).getUseSnippet()})),g=Object(c.useDispatch)(l.r).setUseSnippet,m=Object(i.useCallback)((function(){var e=!r;g(e),Object(u.J)("".concat(a,"_analytics"),e?"enable_tag":"disable_tag","ga4")}),[r,g,a]);return void 0===r?null:e.createElement("div",{className:"googlesitekit-analytics-usesnippet"},e.createElement(s.Switch,{label:Object(o.__)("Place Google Analytics code","google-site-kit"),checked:r,onClick:m,hideLabel:!1}),n)}UseSnippetSwitch.propTypes={description:r.a.node}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(0),r=n.n(a),i=n(11),o=n.n(i),c=n(42);function PreviewTable(t){for(var n=t.rows,a=t.rowHeight,r=t.padding,i=[],s=0;n>s;s++)i.push(e.createElement("div",{className:"googlesitekit-preview-table__row",key:"table-row-"+s},e.createElement(c.a,{width:"100%",height:a+"px"})));return e.createElement("div",{className:o()("googlesitekit-preview-table",{"googlesitekit-preview-table--padding":r})},i)}PreviewTable.propTypes={rows:r.a.number,rowHeight:r.a.number,padding:r.a.bool},PreviewTable.defaultProps={rows:11,rowHeight:35,padding:!1},t.a=PreviewTable}).call(this,n(4))},,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ChangeMetricsLink}));var a=n(1),r=n(2),i=n(3),o=n(23),c=n(6),s=n(26),l=n(21),u=n(308),d=n(443),g=n(9),m=n(18),f=n(505);function ChangeMetricsLink(){var t=Object(i.useSelect)((function(e){return e(c.a).getKeyMetrics()})),n=Object(m.a)(),p=Object(i.useDispatch)(o.b).setValue,b=Object(a.useCallback)((function(){p(s.k,!0),Object(g.J)("".concat(n,"_kmw"),"change_metrics")}),[p,n]),v=Array.isArray(t)&&(null==t?void 0:t.length)>0;return Object(f.a)(v),v?e.createElement(a.Fragment,null,e.createElement(l.a,{secondary:!0,linkButton:!0,className:"googlesitekit-widget-area__cta-link",onClick:b,leadingIcon:e.createElement(u.a,{width:22,height:22})},Object(r.__)("Change metrics","google-site-kit")),e.createElement(d.a,null)):null}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return InsufficientPermissionsError}));var a=n(0),r=n.n(a),i=n(1),o=n(39),c=n(2),s=n(3),l=n(13),u=n(21),d=n(299),g=n(9),m=n(18);function InsufficientPermissionsError(t){var n=t.moduleSlug,a=t.onRetry,r=t.infoTooltip,f=t.headerText,p=Object(m.a)(),b=Object(s.useSelect)((function(e){return e(l.c).getErrorTroubleshootingLinkURL({code:"".concat(n,"_insufficient_permissions")})}));Object(i.useEffect)((function(){Object(g.K)("".concat(p,"_kmw"),"insufficient_permissions_error")}),[p]);var v=Object(i.useCallback)((function(){Object(g.J)("".concat(p,"_kmw"),"insufficient_permissions_error_retry"),null==a||a()}),[a,p]);return e.createElement(d.a,{title:Object(c.__)("Insufficient permissions","google-site-kit"),headerText:f,infoTooltip:r},e.createElement("div",{className:"googlesitekit-report-error-actions"},e.createElement("span",{className:"googlesitekit-error-retry-text"},Object(o.a)(Object(c.__)("Permissions updated? Retry","google-site-kit"),{a:e.createElement(u.a,{onClick:v})})),e.createElement("span",{className:"googlesitekit-error-retry-text"},Object(o.a)(Object(c.__)("You’ll need to contact your administrator. Learn more","google-site-kit"),{a:e.createElement(u.a,{href:b,external:!0,hideExternalIndicator:!0})}))))}InsufficientPermissionsError.propTypes={moduleSlug:r.a.string.isRequired,onRetry:r.a.func.isRequired,headerText:r.a.string,infoTooltip:r.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(0),s=n.n(c),l=n(85),u=n(2),d=n(1),g=n(3),m=n(10),f=n(374),p=n(375),b=n(6),v=n(13),h=n(26),y=n(50),O=n(106),_=n(9),E=n(18),k=n(391),S=n(392),j=n(32),T=n(23),A=n(105);function KeyMetricsSetupCTAWidget(t){var n=t.Widget,a=t.WidgetNull,i=Object(A.a)("conversionReporting"),c=Object(E.a)(),s=Object(k.a)(),y=Object(g.useSelect)((function(e){return e(v.c).getAdminURL("googlesitekit-user-input")})),N=Object(g.useSelect)((function(e){return e(v.c).getAdminURL("googlesitekit-metric-selection")})),C=Object(O.b)(h.l),w=Object(O.c)(h.l).isTooltipVisible,I=Object(g.useDispatch)(T.b).setValue,M=Object(g.useDispatch)(b.a).dismissItem,R=function(){var e=o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(_.J)("".concat(c,"_kmw-cta-notification"),"dismiss_notification");case 2:return C(),e.next=5,M(h.l);case 5:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),D=Object(d.useCallback)((function(){Object(_.J)("".concat(c,"_kmw"),"tooltip_dismiss")}),[c]),x=Object(g.useDispatch)(j.a).navigateTo,L=Object(d.useCallback)((function(){i?x(N):I(h.k,!0),Object(_.J)("".concat(c,"_kmw-cta-notification"),"confirm_pick_own_metrics")}),[x,N,c,i,I]),P=Object(d.useCallback)((function(){Object(_.J)("".concat(c,"_kmw-cta-notification"),"confirm_get_tailored_metrics")}),[c]);return Object(l.a)((function(){w&&Object(_.J)("".concat(c,"_kmw"),"tooltip_view")})),w?e.createElement(d.Fragment,null,e.createElement(a,null),e.createElement(O.a,{title:Object(u.__)("You can always set up goals from Settings later","google-site-kit"),content:Object(u.__)("The Key Metrics section will be added back to your dashboard once you set your goals in Settings","google-site-kit"),dismissLabel:Object(u.__)("Got it","google-site-kit"),tooltipStateKey:h.l,onDismiss:D})):s?e.createElement(n,{noPadding:!0,Footer:function Footer(){return e.createElement(p.a,{onActionClick:L})}},e.createElement(f.a,{title:Object(u.__)("Get personalized suggestions for user interaction metrics based on your goals","google-site-kit"),description:Object(u.__)("Answer 3 questions and we’ll suggest relevant metrics for your dashboard. These metrics will help you track how users interact with your site.","google-site-kit"),actions:e.createElement(d.Fragment,null,e.createElement(S.b,null),e.createElement(m.Button,{className:"googlesitekit-key-metrics-cta-button",href:y,onClick:P},Object(u.__)("Get tailored metrics","google-site-kit")),e.createElement(m.Button,{tertiary:!0,onClick:R},Object(u.__)("Maybe later","google-site-kit"))),ga4Connected:!0})):e.createElement(a,null)}KeyMetricsSetupCTAWidget.propTypes={Widget:s.a.elementType.isRequired,WidgetNull:s.a.elementType},t.a=Object(y.a)({moduleName:"analytics-4"})(KeyMetricsSetupCTAWidget)}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricTileNumeric}));var a=n(20),r=n.n(a),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(9),u=n(181),d=n(200);function MetricTileNumeric(t){var n=t.metricValue,a=t.metricValueFormat,i=t.subText,c=t.previousValue,s=t.currentValue,g=o()(t,["metricValue","metricValueFormat","subText","previousValue","currentValue"]),m=Object(l.n)(a);return e.createElement(d.a,r()({className:"googlesitekit-km-widget-tile--numeric"},g),e.createElement("div",{className:"googlesitekit-km-widget-tile__metric-container"},e.createElement("div",{className:"googlesitekit-km-widget-tile__metric"},Object(l.C)(n,m)),e.createElement("p",{className:"googlesitekit-km-widget-tile__subtext"},i)),e.createElement("div",{className:"googlesitekit-km-widget-tile__metric-change-container"},e.createElement(u.a,{previousValue:c,currentValue:s,isAbsolute:"percent"===(null==m?void 0:m.style)})))}MetricTileNumeric.propTypes={metricValue:s.a.oneOfType([s.a.string,s.a.number]),metricValueFormat:s.a.oneOfType([s.a.string,s.a.object]),subtext:s.a.string,previousValue:s.a.number,currentValue:s.a.number}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricTileTable}));var a=n(20),r=n.n(a),i=n(25),o=n.n(i),c=n(0),s=n.n(c),l=n(14),u=n(11),d=n.n(u),g=n(200);function MetricTileTable(t){var n=t.rows,a=void 0===n?[]:n,i=t.columns,c=void 0===i?[]:i,s=t.limit,u=t.ZeroState,m=o()(t,["rows","columns","limit","ZeroState"]),f=null;return(null==a?void 0:a.length)>0?f=a.slice(0,s||a.length).map((function(t,n){return e.createElement("div",{key:n,className:"googlesitekit-table__body-row"},c.map((function(n,a){var r=n.Component,i=n.field,o=n.className,c=void 0!==i?Object(l.get)(t,i):void 0;return e.createElement("div",{key:a,className:d()("googlesitekit-table__body-item",o)},r&&e.createElement(r,{row:t,fieldValue:c}),!r&&c)})))})):u&&(f=e.createElement("div",{className:"googlesitekit-table__body-row googlesitekit-table__body-row--no-data"},e.createElement("div",{className:"googlesitekit-table__body-zero-data"},e.createElement(u,null)))),e.createElement(g.a,r()({className:"googlesitekit-km-widget-tile--table"},m),e.createElement("div",{className:"googlesitekit-km-widget-tile__table"},f))}MetricTileTable.propTypes={rows:s.a.array,columns:s.a.array,limit:s.a.number,ZeroState:s.a.elementType}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricTileTablePlainText}));var a=n(0),r=n.n(a);function MetricTileTablePlainText(t){var n=t.content;return e.createElement("p",{className:"googlesitekit-km-widget-tile__table-plain-text"},n)}MetricTileTablePlainText.propTypes={content:r.a.string.isRequired}}).call(this,n(4))},,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupCompletedSurveyTrigger}));var a=n(1),r=n(3),i=n(13),o=n(6),c=n(9),s=n(212);function SetupCompletedSurveyTrigger(){var t=Object(r.useSelect)((function(e){return e(i.c).isKeyMetricsSetupCompleted()})),n=Object(r.useSelect)((function(e){return e(i.c).getKeyMetricsSetupCompletedBy()})),l=Object(r.useSelect)((function(e){return e(o.a).getID()}));return t?e.createElement(a.Fragment,null,e.createElement(s.a,{triggerID:"view_kmw",ttl:c.g}),n===l&&e.createElement(s.a,{triggerID:"view_kmw_setup_completed",ttl:c.g})):null}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return KeyMetricsSetupDesktopSVG}));var a=n(1),r=n(2),i=n(42),o=n(149),c=Object(a.lazy)((function(){return n.e(38).then(n.bind(null,810))}));function KeyMetricsSetupDesktopSVG(){return e.createElement(a.Suspense,{fallback:e.createElement(i.a,{width:"100%",height:"235px"})},e.createElement(o.a,{errorMessage:Object(r.__)("Failed to load graphic","google-site-kit")},e.createElement(c,null)))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return KeyMetricsSetupSmallDesktopSVG}));var a=n(1),r=n(2),i=n(42),o=n(149),c=Object(a.lazy)((function(){return n.e(40).then(n.bind(null,811))}));function KeyMetricsSetupSmallDesktopSVG(){return e.createElement(a.Suspense,{fallback:e.createElement(i.a,{width:"100%",height:"235px"})},e.createElement(o.a,{errorMessage:Object(r.__)("Failed to load graphic","google-site-kit")},e.createElement(c,null)))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return KeyMetricsSetupTabletSVG}));var a=n(1),r=n(2),i=n(42),o=n(149),c=Object(a.lazy)((function(){return n.e(41).then(n.bind(null,812))}));function KeyMetricsSetupTabletSVG(){return e.createElement(a.Suspense,{fallback:e.createElement(i.a,{width:"100%",height:"235px"})},e.createElement(o.a,{errorMessage:Object(r.__)("Failed to load graphic","google-site-kit")},e.createElement(c,null)))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return KeyMetricsSetupMobileSVG}));var a=n(1),r=n(2),i=n(42),o=n(149),c=Object(a.lazy)((function(){return n.e(39).then(n.bind(null,813))}));function KeyMetricsSetupMobileSVG(){return e.createElement(a.Suspense,{fallback:e.createElement(i.a,{width:"100%",height:"235px"})},e.createElement(o.a,{errorMessage:Object(r.__)("Failed to load graphic","google-site-kit")},e.createElement(c,null)))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GetHelpLink}));var a=n(0),r=n.n(a),i=n(39),o=n(2),c=n(21);function GetHelpLink(t){var n=t.linkURL;return Object(i.a)( +/* translators: %s: get help text. */ +Object(o.__)("Trouble getting access? ","google-site-kit"),{HelpLink:e.createElement(c.a,{href:n,external:!0,hideExternalIndicator:!0},Object(o.__)("Get help","google-site-kit"))})}GetHelpLink.propTypes={linkURL:r.a.string.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricTileLoader}));var a=n(42);function MetricTileLoader(){return e.createElement("div",{className:"googlesitekit-km-widget-tile__loading"},e.createElement(a.a,{className:"googlesitekit-km-widget-tile__loading-header",width:"100%",height:"14px"}),e.createElement(a.a,{className:"googlesitekit-km-widget-tile__loading-body",width:"100%",height:"53px"}))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return MetricTileHeader}));var a=n(0),r=n.n(a),i=n(131),o=n(103);function MetricTileHeader(t){var n=t.title,a=t.infoTooltip,r=t.loading;return e.createElement("div",{className:"googlesitekit-km-widget-tile__title-container"},e.createElement("h3",{className:"googlesitekit-km-widget-tile__title"},n),r?e.createElement(o.a,null,e.createElement(i.a,{title:a})):e.createElement(i.a,{title:a}))}MetricTileHeader.propTypes={title:r.a.string,infoTooltip:r.a.oneOfType([r.a.string,r.a.element]),loading:r.a.bool}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ReportTable}));var a=n(15),r=n.n(a),i=n(11),o=n.n(i),c=n(12),s=n.n(c),l=n(0),u=n.n(l),d=n(14),g=n(1),m=n(10),f=n(119);function ReportTable(t){var n=t.rows,a=t.columns,i=t.className,c=t.limit,l=t.zeroState,u=t.gatheringData,p=void 0!==u&&u,b=t.tabbedLayout,v=void 0!==b&&b;function h(e){return!v&&e}s()(Array.isArray(n),"rows must be an array."),s()(Array.isArray(a),"columns must be an array."),a.forEach((function(e){var t=e.Component,n=e.field,a=void 0===n?null:n;s()(t||null!==a,"each column must define a Component and/or a field.")})),s()(Number.isInteger(c)||void 0===c,"limit must be an integer, if provided.");var y=a.some((function(e){return!!e.badge})),O=Object(g.useState)(0),_=r()(O,2),E=_[0],k=_[1],S=v&&a.slice(1),j=v?[a[0],S[E]]:a,T=j.filter((function(e){return!h(e.hideOnMobile)}));return e.createElement("div",{className:i},v&&e.createElement(m.TabBar,{className:"googlesitekit-tab-bar--start-aligned-high-contrast",activeIndex:E,handleActiveIndexUpdate:k},S.map((function(t){var n=t.title,a=t.badge;return e.createElement(m.Tab,{key:n,"aria-label":n},n,a)}))),e.createElement("div",{className:o()("googlesitekit-table","googlesitekit-table--with-list",{"googlesitekit-table--gathering-data":p})},e.createElement("table",{className:o()("googlesitekit-table__wrapper","googlesitekit-table__wrapper--".concat(j.length,"-col"),"googlesitekit-table__wrapper--mobile-".concat(T.length,"-col"),{"googlesitekit-table__wrapper--tabbed-layout":v})},!v&&e.createElement("thead",{className:"googlesitekit-table__head"},y&&e.createElement("tr",{className:o()("googlesitekit-table__head-badges",{"hidden-on-mobile":!a.some((function(e){var t=e.badge,n=e.hideOnMobile;return!!t&&!h(n)}))})},a.map((function(t,n){var a=t.badge,r=t.primary,i=t.hideOnMobile,c=t.className;return e.createElement("th",{className:o()("googlesitekit-table__head-item","googlesitekit-table__head-item--badge",{"googlesitekit-table__head-item--primary":r,"hidden-on-mobile":h(i)},c),key:"googlesitekit-table__head-row-badge-".concat(n)},a)}))),e.createElement("tr",{className:"googlesitekit-table__head-row"},a.map((function(t,n){var a=t.title,r=t.description,i=t.primary,c=t.hideOnMobile,s=t.className;return e.createElement("th",{className:o()("googlesitekit-table__head-item",{"googlesitekit-table__head-item--primary":i,"hidden-on-mobile":h(c)},s),"data-tooltip":r,key:"googlesitekit-table__head-row-".concat(n)},a)})))),e.createElement("tbody",{className:"googlesitekit-table__body"},p&&e.createElement("tr",{className:"googlesitekit-table__body-row googlesitekit-table__body-row--no-data"},e.createElement("td",{className:"googlesitekit-table__body-item",colSpan:j.length},e.createElement(f.b,null))),!p&&!(null==n?void 0:n.length)&&l&&e.createElement("tr",{className:"googlesitekit-table__body-row googlesitekit-table__body-row--no-data"},e.createElement("td",{className:"googlesitekit-table__body-item",colSpan:j.length},e.createElement(l,null))),!p&&n.slice(0,c).map((function(t,n){return e.createElement("tr",{className:"googlesitekit-table__body-row",key:"googlesitekit-table__body-row-".concat(n)},j.map((function(n,a){var r=n.Component,i=n.field,c=n.hideOnMobile,s=n.className,l=void 0!==i?Object(d.get)(t,i):void 0;return e.createElement("td",{key:"googlesitekit-table__body-item-".concat(a),className:o()("googlesitekit-table__body-item",{"hidden-on-mobile":h(c)},s)},e.createElement("div",{className:"googlesitekit-table__body-item-content"},r&&e.createElement(r,{row:t,fieldValue:l}),!r&&l))})))}))))))}ReportTable.propTypes={rows:u.a.arrayOf(u.a.oneOfType([u.a.array,u.a.object])).isRequired,columns:u.a.arrayOf(u.a.shape({title:u.a.string,description:u.a.string,primary:u.a.bool,className:u.a.string,field:u.a.string,hideOnMobile:u.a.bool,Component:u.a.componentType,badge:u.a.node})).isRequired,className:u.a.string,limit:u.a.number,zeroState:u.a.func,gatheringData:u.a.bool,tabbedLayout:u.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,a){var r=n(15),i=n.n(r),o=n(0),c=n.n(o),s=n(14),l=n(11),u=n.n(l),d=n(1);function TableOverflowContainer(t){var n=t.children,r=Object(d.useState)(!1),o=i()(r,2),c=o[0],l=o[1],g=Object(d.useRef)();Object(d.useEffect)((function(){m();var t=Object(s.debounce)(m,100);return e.addEventListener("resize",t),function(){return e.removeEventListener("resize",t)}}),[]);var m=function(){if(g.current){var e=g.current,t=e.scrollLeft,n=e.scrollWidth-e.offsetWidth;l(tc&&o>14){for(;i.scrollWidth>c&&o>14;)o-=1,i.style.fontSize="".concat(o,"px");s=o}}})),c!==s&&d(i,"".concat(s,"px"))}}},d=function(e,t){e.forEach((function(e){var n=null==e?void 0:e.querySelector(".googlesitekit-data-block__datapoint");n&&(n.style.fontSize=t)}))},g=Object(c.a)(u,50);return Object(r.a)((function(){u(),e.addEventListener("resize",g)})),Object(i.a)((function(){return e.removeEventListener("resize",g)})),a.createElement("div",{ref:l,className:n},s)}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e,a){var r=n(52),i=n.n(r),o=n(53),c=n.n(o),s=n(232),l=n.n(s),u=n(68),d=n.n(u),g=n(69),m=n.n(g),f=n(49),p=n.n(f),b=n(192),v=n.n(b),h=n(0),y=n.n(h),O=n(1),_=n(2),E=n(92),k=n(171),S=n(59),j=n(9);function T(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=p()(e);if(t){var r=p()(this).constructor;n=Reflect.construct(a,arguments,r)}else n=a.apply(this,arguments);return m()(this,n)}}var A=function(t){d()(GoogleChartErrorHandler,t);var n=T(GoogleChartErrorHandler);function GoogleChartErrorHandler(e){var t;return i()(this,GoogleChartErrorHandler),(t=n.call(this,e)).state={error:null,info:null},t.onErrorClick=t.onErrorClick.bind(l()(t)),t}return c()(GoogleChartErrorHandler,[{key:"componentDidCatch",value:function(t,n){e.console.error("Google Charts error:",t,n),this.setState({error:t,info:n}),Object(j.J)("google_chart_error","handle_".concat(this.context||"unknown","_error"),"".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack).slice(0,500))}},{key:"onErrorClick",value:function(){var e=this.state,t=e.error,n=e.info;v()("`".concat(null==t?void 0:t.message,"\n").concat(null==n?void 0:n.componentStack,"`"))}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.error,r=t.info;return n?a.createElement("div",{className:"googlesitekit-googlechart-error-handler"},a.createElement(E.a,{description:a.createElement(O.Fragment,null,a.createElement("p",null,Object(_.__)("An error prevented this Google chart from being displayed properly. Report the exact contents of the error on the support forum to find out what caused it.","google-site-kit")),a.createElement(k.a,{message:n.message,componentStack:r.componentStack})),error:!0,onErrorClick:this.onErrorClick,onClick:this.onErrorClick,title:Object(_.__)("Error in Google Chart","google-site-kit")})):e}}]),GoogleChartErrorHandler}(O.Component);A.contextType=S.b,A.propTypes={children:y.a.node.isRequired},t.a=A}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return DateMarker}));var a=n(1),r=n(260),i=n(582),o=n(10),c=n(18),s=n(155),l=n(9);function DateMarker(t){var n=t.id,u=t.text,d=Object(c.a)(),g="".concat(d,"_ga4-data-collection-line");Object(a.useEffect)((function(){Object(l.J)(g,"chart_line_view")}),[g]);var m=Object(a.useCallback)((function(){Object(l.J)(g,"chart_tooltip_view")}),[g]),f=Object(s.a)(m,5e3,{leading:!0,trailing:!1});return e.createElement(a.Fragment,null,e.createElement("div",{id:"googlesitekit-chart__date-marker-line--".concat(n),className:"googlesitekit-chart__date-marker-line"}),u&&e.createElement("div",{id:"googlesitekit-chart__date-marker-tooltip--".concat(n),className:"googlesitekit-chart__date-marker-tooltip"},e.createElement(o.Tooltip,{title:u,onOpen:f},e.createElement("span",null,e.createElement(r.a,{fill:"currentColor",icon:i.a,size:18})))))}}).call(this,n(4))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var a=n(1),r=n(3),i=n(13),o=n(6),c=n(2),s=n(22),l={slug:"sharedKeyMetrics",contexts:[s.n,s.o,s.l,s.m],gaEventCategory:function(e){return"".concat(e,"_shared_key-metrics")},steps:[{target:".googlesitekit-km-change-metrics-cta",title:Object(c.__)("Personalize your key metrics","google-site-kit"),content:Object(c.__)("Another admin has set up these tailored metrics for your site. Click here to personalize them.","google-site-kit"),placement:"bottom-start"}]},u=function(e){var t=Object(r.useSelect)((function(e){return e(i.c).getKeyMetricsSetupCompletedBy()})),n=Object(r.useSelect)((function(e){return e(o.a).getID()})),c=Object(r.useDispatch)(o.a).triggerOnDemandTour,s=Number.isInteger(t)&&Number.isInteger(n)&&t>0&&n!==t;Object(a.useEffect)((function(){e&&s&&c(l)}),[e,s,c])}},function(e,t,n){"use strict";var a=n(1);function r(){return(r=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:Intl.DateTimeFormat().resolvedOptions().timeZone;o()(Object(c.a)(n),"A valid siteURL is required.");var u=new URL(n),d=u.hostname,g=u.pathname;return r()({accountName:t||d,propertyName:"".concat(d).concat(g).replace(/\/$/,""),dataStreamName:d,countryCode:s.c[a]||s.c[i],timezone:s.c[a]?a:i},l.i,!0)}var m=function(e){var t,n=null===(t=e.account)||void 0===t?void 0:t.match(/accounts\/([^/]+)/),a=null==n?void 0:n[1];return d(d({},e),{},{_id:a})},f=function(e){var t,n,a=null===(t=e.property)||void 0===t?void 0:t.match(/properties\/([^/]+)/),r=null==a?void 0:a[1],i=null===(n=e.parent)||void 0===n?void 0:n.match(/accounts\/([^/]+)/),o=null==i?void 0:i[1];return d(d({},e),{},{_id:r,_accountID:o})}},,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return d})),n.d(t,"a",(function(){return TrackingExclusionSwitches}));var a,r=n(7),i=n.n(r),o=n(1),c=n(2),s=n(3),l=n(10),u=n(8),d=(a={},i()(a,"loggedinUsers",Object(c.__)("All logged-in users","google-site-kit")),i()(a,"contentCreators",Object(c.__)("Users that can write posts","google-site-kit")),a);function TrackingExclusionSwitches(){var t,n=Object(s.useSelect)((function(e){return e(u.r).getTrackingDisabled()})),a=Object(s.useDispatch)(u.r).setTrackingDisabled;t=n&&n.includes("loggedinUsers")?Object(c.__)("All logged-in users will be excluded from Analytics tracking","google-site-kit"):n&&n.includes("contentCreators")?Object(c.__)("Users that can write posts will be excluded from Analytics tracking","google-site-kit"):Object(c.__)("All logged-in users will be included in Analytics tracking","google-site-kit");var r=Object(o.useCallback)((function(e,t){var r=t?n.concat(e):n.filter((function(t){return t!==e}));a(r)}),[n,a]),i=Object(o.useCallback)((function(e){var t=e.target.checked;r("contentCreators",t)}),[r]),g=Object(o.useCallback)((function(e){var t=e.target.checked;r("loggedinUsers",t)}),[r]);return Array.isArray(n)?e.createElement("div",{className:"googlesitekit-settings-module__fields-group"},e.createElement("h4",{className:"googlesitekit-settings-module__fields-group-title"},Object(c.__)("Exclude Analytics","google-site-kit")),e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("div",{className:"googlesitekit-settings-module__inline-items"},e.createElement("div",{className:"googlesitekit-settings-module__inline-item"},e.createElement(l.Switch,{label:d.loggedinUsers,checked:n.includes("loggedinUsers"),onClick:g,hideLabel:!1})),!n.includes("loggedinUsers")&&e.createElement("div",{className:"googlesitekit-settings-module__inline-item"},e.createElement(l.Switch,{label:d.contentCreators,checked:n.includes("contentCreators"),onClick:i,hideLabel:!1}))),e.createElement("p",null,t))):null}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(0),r=n.n(a);function WidgetHeaderTitle(t){var n=t.title;return e.createElement("h3",{className:"googlesitekit-subheading-1 googlesitekit-widget__header-title"},n)}WidgetHeaderTitle.propTypes={title:r.a.string.isRequired},t.a=WidgetHeaderTitle}).call(this,n(4))},,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ConnectModuleCTATile}));var a=n(0),r=n.n(a),i=n(2),o=n(3),c=n(19),s=n(183),l=n(21),u=n(595),d=n(675);function ConnectModuleCTATile(t){var n=t.moduleSlug,a=Object(s.a)(n),r=Object(o.useSelect)((function(e){return e(c.a).getModule(n)})),g=Object(o.useSelect)((function(e){return e(c.a).getModuleIcon(n)}));return r?e.createElement("div",{className:"googlesitekit-widget--connectModuleCTATile"},e.createElement("div",{className:"googlesitekit-km-connect-module-cta-tile"},g&&e.createElement("div",{className:"googlesitekit-km-connect-module-cta-tile__icon"},e.createElement(g,{width:"32",height:"32"})),e.createElement("div",{className:"googlesitekit-km-connect-module-cta-tile__content"},e.createElement("p",{className:"googlesitekit-km-connect-module-cta-tile__text"},Object(i.sprintf)( +/* translators: %s: module name */ +Object(i.__)("%s is disconnected, some of your metrics can’t be displayed","google-site-kit"),r.name)),e.createElement(l.a,{secondary:!0,onClick:a},Object(i.sprintf)( +/* translators: %s: module name */ +Object(i.__)("Connect %s","google-site-kit"),r.name)))),e.createElement("div",{className:"googlesitekit-km-connect-module-cta-tile__ghost-card"},e.createElement(u.a,null)),e.createElement("div",{className:"googlesitekit-km-connect-module-cta-tile__ghost-card"},e.createElement(u.a,null)),e.createElement("div",{className:"googlesitekit-km-connect-module-cta-tile__ghost-card"},e.createElement(d.a,null))):null}ConnectModuleCTATile.propTypes={moduleSlug:r.a.string.isRequired}}).call(this,n(4))},,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupAccount}));var a=n(0),r=n.n(a),i=n(1),o=n(3),c=n(10),s=n(31),l=n(137),u=n(533),d=n(534),g=n(535),m=n(536);function SetupAccount(t){var n=t.account,a=t.finishSetup,r=n._id,f=n.state,p=Object(o.useSelect)((function(e){return e(s.m).getClientID()})),b=Object(o.useSelect)((function(e){return e(s.m).getCurrentSite(r)})),v=Object(o.useSelect)((function(e){return e(s.m).getAFCClient(r)})),h=Object(o.useDispatch)(s.m),y=h.setClientID,O=h.setAccountStatus,_=h.setSiteStatus;return Object(i.useEffect)((function(){(null==v?void 0:v._id)&&p!==v._id?y(v._id):null===v&&p&&y("")}),[v,p,y]),Object(i.useEffect)((function(){null===b&&_(l.o)}),[_,b]),Object(i.useEffect)((function(){void 0!==b&&(p?f===s.f?O(l.g):(null==v?void 0:v.state)===s.h?O(l.c):(null==v?void 0:v.state)===s.e?O(l.b):O(l.k):O(l.i))}),[f,v,p,O,b]),void 0===b?e.createElement(c.ProgressBar,null):p?null===b?e.createElement(g.a,null):f===s.f||(null==v?void 0:v.state)===s.h||(null==v?void 0:v.state)===s.e?e.createElement(m.a,null):e.createElement(u.a,{site:b,finishSetup:a}):e.createElement(d.a,null)}SetupAccount.propTypes={account:r.a.shape({_id:r.a.string,state:r.a.string}),finishSetup:r.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupAccountSite}));var a=n(0),r=n.n(a),i=n(1),o=n(2),c=n(3),s=n(31),l=n(137),u=n(670),d=n(671),g=n(672),m=n(673),f=n(57);function SetupAccountSite(t){var n=t.site,a=t.finishSetup,r=n.autoAdsEnabled,p=n.state,b=Object(c.useDispatch)(s.m).setSiteStatus;switch(Object(i.useEffect)((function(){var e;switch(p){case s.f:e=l.n;break;case s.h:e=l.r;break;case s.e:e=l.m;break;case s.g:e=r?l.p:l.q}e&&b(e)}),[r,b,p]),p){case s.f:return e.createElement(u.a,null);case s.h:return e.createElement(g.a,null);case s.e:return e.createElement(d.a,null);case s.g:return e.createElement(m.a,{site:n,finishSetup:a});default:return e.createElement(f.a,{message:Object(o.sprintf)( +/* translators: %s: invalid site state identifier */ +Object(o.__)("Invalid site state %s","google-site-kit"),p)})}}SetupAccountSite.propTypes={site:r.a.shape({autoAdsEnabled:r.a.bool,state:r.a.string}).isRequired,finishSetup:r.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupAccountNoClient}));var a=n(1),r=n(39),i=n(2),o=n(10),c=n(185),s=n(161),l=n(9),u=n(18);function SetupAccountNoClient(){var t=Object(u.a)(),n=Object(a.useCallback)((function(){Object(l.J)("".concat(t,"_adsense"),"apply_afc")}),[t]);return e.createElement(a.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(i.__)("Looks like you need to upgrade your AdSense account","google-site-kit")),e.createElement(s.d,null),e.createElement("p",null,Object(r.a)(Object(i.__)("To start using AdSense on your website, you need to upgrade your account to add “AdSense for content”. Learn more","google-site-kit"),{a:e.createElement(c.a,{path:"/adsense/answer/6023158",external:!0,"aria-label":Object(i.__)("Learn more about updating your AdSense account","google-site-kit")})})),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(o.Button,{href:"https://www.google.com/adsense",target:"_blank","aria-label":Object(i.__)("Learn more about updating your AdSense account","google-site-kit"),onClick:n},Object(i.__)("Apply now","google-site-kit"))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,a){n.d(t,"a",(function(){return SetupAccountCreateSite}));var r=n(1),i=n(2),o=n(3),c=n(10),s=n(31),l=n(161),u=n(9),d=n(18);function SetupAccountCreateSite(){var t=Object(d.a)(),n=Object(o.useSelect)((function(e){return e(s.m).getServiceAccountManageSiteURL()})),g=Object(r.useCallback)((function(a){a.preventDefault(),Object(u.J)("".concat(t,"_adsense"),"create_site"),e.open(n,"_blank")}),[n,t]);return a.createElement(r.Fragment,null,a.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(i.__)("Add this site to your AdSense account","google-site-kit")),a.createElement(l.d,null),a.createElement("p",null,Object(i.__)("We’ve detected that you haven’t added this site to your AdSense account yet","google-site-kit")),a.createElement("div",{className:"googlesitekit-setup-module__action"},a.createElement(c.Button,{onClick:g,href:n},Object(i.__)("Add site to AdSense","google-site-kit"))))}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupAccountPendingTasks}));var a=n(1),r=n(2),i=n(3),o=n(10),c=n(403),s=n(31),l=n(161),u=n(9),d=n(18);function SetupAccountPendingTasks(){var t=Object(d.a)(),n=Object(a.useCallback)((function(){Object(u.J)("".concat(t,"_adsense"),"review_tasks")}),[t]),g=Object(i.useSelect)((function(e){return e(s.m).getServiceAccountURL()}));return e.createElement(a.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(r.__)("Your account isn’t ready to show ads yet","google-site-kit")),e.createElement(l.d,null),e.createElement("p",null,Object(r.__)("You need to fix some things before we can connect Site Kit to your AdSense account","google-site-kit")),e.createElement(c.a,null),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(o.Button,{onClick:n,href:g},Object(r.__)("Review AdSense account","google-site-kit"))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,a){n.d(t,"a",(function(){return SetupCreateAccount}));var r=n(5),i=n.n(r),o=n(16),c=n.n(o),s=n(1),l=n(39),u=n(2),d=n(3),g=n(10),m=n(185),f=n(9),p=n(377),b=n(31),v=n(6),h=n(161),y=n(18);function SetupCreateAccount(){var t=Object(y.a)(),n="".concat(t,"_adsense"),r=Object(d.useSelect)((function(e){return e(v.a).getEmail()})),o=Object(d.useSelect)((function(e){return e(b.m).getExistingTag()})),O=Object(d.useSelect)((function(e){return e(b.m).getServiceCreateAccountURL()})),_=Object(s.useCallback)(function(){var t=c()(i.a.mark((function t(a){return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a.preventDefault(),t.next=3,Object(f.J)(n,"create_account");case 3:e.open(O,"_blank");case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),[O,n]);return a.createElement(s.Fragment,null,a.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(u.__)("Create your AdSense account","google-site-kit")),a.createElement(h.d,null),a.createElement("p",null,Object(u.__)("Once you create your account, Site Kit will place AdSense code on every page across your site. This means your site will be automatically optimized to help you earn money from your content.","google-site-kit")),a.createElement(h.f,null),a.createElement("div",{className:"googlesitekit-setup-module__action"},a.createElement(g.Button,{onClick:_,href:O},Object(u.__)("Create AdSense account","google-site-kit"))),a.createElement("p",{className:"googlesitekit-setup-module__footer-text"},o&&Object(u.sprintf)( +/* translators: 1: client ID, 2: user email address, 3: account ID */ +Object(u.__)("Site Kit detected AdSense code %1$s on your page. We recommend you remove that code or add %2$s as a user to the AdSense account %3$s.","google-site-kit"),o,r,Object(p.a)(o)),!o&&Object(l.a)(Object(u.sprintf)( +/* translators: %s: user email address */ +Object(u.__)("Already use AdSense? Add %s as a user to an existing AdSense account. Learn more","google-site-kit"),r),{a:a.createElement(m.a,{path:"/adsense/answer/2659101",external:!0,"aria-label":Object(u.__)("Learn more about adding a user to an existing AdSense account","google-site-kit")})})))}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupSelectAccount}));var a=n(1),r=n(2),i=n(161);function SetupSelectAccount(){return e.createElement(a.Fragment,null,e.createElement("h3",{className:"googlesitekit-heading-4 googlesitekit-setup-module__title"},Object(r.__)("Select your AdSense account","google-site-kit")),e.createElement(i.d,null),e.createElement("p",null,Object(r.__)("Looks like you have multiple AdSense accounts associated with your Google account. Select the account to use with Site Kit below.","google-site-kit")),e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(i.a,null)))}}).call(this,n(4))},,,function(e,t,n){"use strict";function a(e){return"string"==typeof e&&/^pub-\d+$/.test(e)}function r(e){return"string"==typeof e&&/^ca-pub-\d+$/.test(e)}n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return r}))},,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return i}));var a="adsense-connect-cta",r="adsense-connect-cta-tooltip-state",i="adsense-ga4-top-earnings-notice"},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AccountCreate}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(15),s=n.n(c),l=n(2),u=n(1),d=n(44),g=n.n(d),m=n(3),f=n(10),p=n(8),b=n(13),v=n(6),h=n(29),y=n(32),O=n(35),_=n(9),E=n(507),k=n(17),S=n(146),j=n(559),T=n(560),A=n(561),N=n(562),C=n(563),w=n(351),I=n(18),M=n(407);function AccountCreate(){var t=Object(u.useState)(!1),n=s()(t,2),a=n[0],i=n[1],c=Object(m.useSelect)((function(e){return e(p.r).getAccountSummaries()})),d=Object(m.useSelect)((function(e){return e(p.r).hasFinishedResolution("getAccountSummaries")})),R=Object(m.useSelect)((function(e){return e(p.r).getAccountTicketTermsOfServiceURL()})),D=Object(m.useSelect)((function(e){return e(p.r).canSubmitAccountCreate()})),x=Object(m.useSelect)((function(e){return e(p.r).isDoingCreateAccount()})),L=Object(m.useSelect)((function(e){return e(v.a).hasScope(p.h)})),P=Object(m.useSelect)((function(e){return e(v.a).hasScope(p.p)})),G=Object(m.useSelect)((function(e){return e(h.a).hasForm(p.m)})),Z=Object(m.useSelect)((function(e){return e(h.a).getValue(p.m,"autoSubmit")})),B=Object(m.useSelect)((function(e){return e(b.c).getReferenceSiteURL()})),U=Object(m.useSelect)((function(e){return e(b.c).getSiteName()})),F=Object(m.useSelect)((function(e){return e(b.c).getTimezone()})),z=Object(I.a)(),W=Object(m.useDispatch)(h.a).setValues,V=Object(m.useDispatch)(y.a).navigateTo,H=Object(m.useDispatch)(p.r).createAccount,q=Object(m.useDispatch)(v.a).setPermissionScopeError,K=Object(m.useDispatch)(b.c),Y=K.setConversionTrackingEnabled,J=K.saveConversionTrackingSettings,$=L;Object(u.useEffect)((function(){R&&o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,g.a.invalidateCache("modules","analytics-4");case 2:V(R);case 3:case"end":return e.stop()}}),e)})))()}),[R,V]),Object(u.useEffect)((function(){G||W(p.m,Object(E.a)({siteName:U,siteURL:B,timezone:F}))}),[G,U,B,F,W]);var X=Object(u.useCallback)(o()(r.a.mark((function e(){var t,n;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=[],L||t.push(p.h),P||t.push(p.p),!(t.length>0)){e.next=7;break}return W(p.m,{autoSubmit:!0}),q({code:O.a,message:Object(l.__)("Additional permissions are required to create a new Analytics account.","google-site-kit"),data:{status:403,scopes:t,skipModal:!0}}),e.abrupt("return");case 7:return W(p.m,{autoSubmit:!1}),e.next=10,Object(_.J)("".concat(z,"_analytics"),"create_account","proxy");case 10:return e.next=12,H();case 12:if(n=e.sent,n.error){e.next=19;break}return Y(!0),e.next=18,J();case 18:i(!0);case 19:case"end":return e.stop()}}),e)}))),[L,P,W,z,H,q,Y,J]);Object(u.useEffect)((function(){$&&Z&&X()}),[$,Z,X]);var Q=Object(m.useDispatch)(p.r).rollbackSettings,ee=Object(u.useCallback)((function(){return Q()}),[Q]);return x||a||!d||void 0===$?e.createElement(f.ProgressBar,null):e.createElement("div",null,e.createElement(S.a,{moduleSlug:"analytics-4",storeName:p.r}),e.createElement("h3",{className:"googlesitekit-heading-4"},Object(l.__)("Create your Analytics account","google-site-kit")),e.createElement("p",null,Object(l.__)("We’ve pre-filled the required information for your new account. Confirm or edit any details:","google-site-kit")),e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(k.a,{size:6},e.createElement(T.a,null)),e.createElement(k.a,{size:6},e.createElement(A.a,null)),e.createElement(k.a,{size:6},e.createElement(C.a,null))),e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(N.a,null),e.createElement(j.a,null)),e.createElement("div",{className:"googlesitekit-setup-module__inputs"},e.createElement(w.a,{formName:p.m,className:"googlesitekit-margin-bottom-0"}),e.createElement(M.a,{className:"googlesitekit-margin-top-0",message:Object(l.__)("To track how visitors interact with your site, Site Kit will enable enhanced conversion tracking. You can always disable it in settings.","google-site-kit")})),e.createElement("p",null,$&&e.createElement("span",null,Object(l.__)("You will be redirected to Google Analytics to accept the terms of service.","google-site-kit")),!$&&e.createElement("span",null,Object(l.__)("You will need to give Site Kit permission to create an Analytics account on your behalf and also accept the Google Analytics terms of service.","google-site-kit"))),e.createElement("div",{className:"googlesitekit-setup-module__action"},e.createElement(f.Button,{disabled:!D,onClick:X},Object(l.__)("Create Account","google-site-kit")),c&&!!c.length&&e.createElement(f.Button,{tertiary:!0,className:"googlesitekit-setup-module__sub-action",onClick:ee},Object(l.__)("Back","google-site-kit"))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AccountSelect}));var a=n(0),r=n.n(a),i=n(1),o=n(2),c=n(10),s=n(3),l=n(8),u=n(9),d=n(18);function AccountSelect(t){var n=t.hasModuleAccess,a=t.onChange,r=Object(d.a)(),g=Object(s.useSelect)((function(e){return e(l.r).getAccountID()})),m=Object(s.useSelect)((function(e){return e(l.r).getAccountSummaries()})),f=Object(s.useSelect)((function(e){return e(l.r).hasFinishedResolution("getAccountSummaries")})),p=Object(s.useDispatch)(l.r).selectAccount,b=Object(i.useCallback)((function(e,t){var n=t.dataset.value;if(g!==n){p(n);var i=n===l.a?"change_account_new":"change_account";Object(u.J)("".concat(r,"_analytics"),i),a&&a()}}),[g,p,r,a]);return f?!1===n?e.createElement(c.Select,{className:"googlesitekit-analytics__select-account",label:Object(o.__)("Account","google-site-kit"),value:g,enhanced:!0,outlined:!0,disabled:!0},e.createElement(c.Option,{value:g},g)):e.createElement(c.Select,{className:"googlesitekit-analytics__select-account",label:Object(o.__)("Account","google-site-kit"),value:g,onEnhancedChange:b,enhanced:!0,outlined:!0},(m||[]).concat({_id:l.a,displayName:Object(o.__)("Set up a new account","google-site-kit")}).map((function(t,n){var a=t._id,r=t.displayName;return e.createElement(c.Option,{key:n,value:a},r)}))):e.createElement(c.ProgressBar,{small:!0})}AccountSelect.propTypes={hasModuleAccess:r.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,a){n.d(t,"a",(function(){return AccountCreateLegacy}));var r=n(5),i=n.n(r),o=n(16),c=n.n(o),s=n(1),l=n(2),u=n(3),d=n(10),g=n(9),m=n(8),f=n(146),p=n(388),b=n(18);function AccountCreateLegacy(){var t=Object(u.useSelect)((function(e){return e(m.r).getAccountSummaries()})),n=Object(u.useSelect)((function(e){return e(m.r).hasFinishedResolution("getAccountSummaries")})),r=Object(u.useSelect)((function(e){return e(m.r).getAccountID()})),o=m.a===r,v=Object(u.useSelect)((function(e){return e(m.r).getServiceURL({path:"/provision/SignUp"})})),h=Object(b.a)(),y=Object(s.useCallback)(function(){var t=c()(i.a.mark((function t(n){return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n.preventDefault(),t.next=3,Object(g.J)("".concat(h,"_analytics"),"create_account","custom-oauth");case 3:e.open(v,"_blank");case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),[v,h]),O=Object(u.useDispatch)(m.r),_=O.resetAccountSummaries,E=O.resetAccountSettings,k=Object(s.useCallback)((function(){_(),E()}),[E,_]);return n?a.createElement("div",null,a.createElement(p.a,null),a.createElement(f.a,{moduleSlug:"analytics-4",storeName:m.r}),!o&&t&&0===t.length&&a.createElement("p",null,Object(l.__)('Looks like you don’t have an Analytics account yet. Once you create it, click on "Re-fetch my account" and Site Kit will locate it.',"google-site-kit")),o&&a.createElement(s.Fragment,null,a.createElement("p",null,Object(l.__)("To create a new account, click the button below which will open the Google Analytics account creation screen in a new window.","google-site-kit")),a.createElement("p",null,Object(l.__)("Once completed, click the link below to re-fetch your accounts to continue.","google-site-kit"))),a.createElement("div",{className:"googlesitekit-setup-module__action"},a.createElement(d.Button,{onClick:y},Object(l.__)("Create an account","google-site-kit")),a.createElement("div",{className:"googlesitekit-setup-module__sub-action"},a.createElement(d.Button,{tertiary:!0,onClick:k},Object(l.__)("Re-fetch My Account","google-site-kit"))))):a.createElement(d.ProgressBar,null)}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WebDataStreamSelect}));var a=n(11),r=n.n(a),i=n(0),o=n.n(i),c=n(1),s=n(2),l=n(10),u=n(3),d=n(8),g=n(64),m=n(9),f=n(18);function WebDataStreamSelect(t){var n=t.hasModuleAccess,a=t.isDisabled,i=t.className,o=t.onChange,p=Object(u.useSelect)((function(e){return e(d.r).getAccountID()})),b=Object(u.useSelect)((function(e){return e(d.r).getSettings()||{}})),v=b.propertyID,h=b.webDataStreamID,y=b.measurementID,O=Object(u.useSelect)((function(e){return Object(g.e)(v)&&!1!==n?e(d.r).getWebDataStreams(v):[]})),_=Object(u.useSelect)((function(e){return!a&&e(d.r).isLoadingWebDataStreams({hasModuleAccess:n})})),E=Object(f.a)(),k=Object(u.useDispatch)(d.r),S=k.setWebDataStreamID,j=k.updateSettingsForMeasurementID,T=Object(c.useCallback)((function(e,t){var n,a,r=t.dataset.value;h!==r&&(S(r),j((null===(n=O.find((function(e){return e._id===r})))||void 0===n||null===(a=n.webStreamData)||void 0===a?void 0:a.measurementId)||""),Object(m.J)("".concat(E,"_analytics"),r===d.z?"change_webdatastream_new":"change_webdatastream","ga4"),o&&o())}),[O,h,S,j,E,o]);if(!Object(g.a)(p))return null;if(_)return e.createElement(l.ProgressBar,{smallHeight:80,desktopHeight:88,small:!0});var A=void 0===h||""===h||Object(g.i)(h);return!1===n?e.createElement(l.Select,{className:r()("googlesitekit-analytics-4__select-webdatastream",i),label:Object(s.__)("Web Data Stream","google-site-kit"),value:y,enhanced:!0,outlined:!0,disabled:!0},e.createElement(l.Option,{value:y},y)):e.createElement(l.Select,{className:r()("googlesitekit-analytics-4__select-webdatastream",i,{"mdc-select--invalid":!A}),label:Object(s.__)("Web Data Stream","google-site-kit"),value:h,onEnhancedChange:T,disabled:a||!Object(g.f)(v),enhanced:!0,outlined:!0},(O||[]).concat({_id:d.z,displayName:Object(s.__)("Set up a new web data stream","google-site-kit")}).map((function(t,n){var a=t._id,r=t.displayName,i=t.webStreamData,o=void 0===i?{}:i;return e.createElement(l.Option,{key:n,value:a},a!==d.z&&(null==o?void 0:o.measurementId)?Object(s.sprintf)( +/* translators: 1: Data stream name. 2: Measurement ID. */ +Object(s._x)("%1$s (%2$s)","Analytics data stream name and measurement ID","google-site-kit"),r,o.measurementId):r)})))}WebDataStreamSelect.propTypes={hasModuleAccess:o.a.bool,isDisabled:o.a.bool,className:o.a.string}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PropertySelect}));var a=n(11),r=n.n(a),i=n(0),o=n.n(i),c=n(1),s=n(2),l=n(10),u=n(3),d=n(8),g=n(64),m=n(9),f=n(18);function PropertySelect(t){var n=t.isDisabled,a=t.hasModuleAccess,i=t.className,o=t.onChange,p=void 0===o?function(){}:o,b=Object(u.useSelect)((function(e){return e(d.r).getAccountID()})),v=Object(u.useSelect)((function(e){return!1===a||n?null:e(d.r).getPropertySummaries(b)||[]})),h=Object(u.useSelect)((function(e){return e(d.r).getPropertyID()})),y=Object(u.useSelect)((function(e){return!n&&(e(d.r).isLoadingPropertySummaries()||e(d.r).isLoadingWebDataStreams({hasModuleAccess:a}))})),O=Object(f.a)(),_=Object(u.useDispatch)(d.r).selectProperty,E=Object(c.useCallback)((function(e,t){var n=t.dataset.value;h!==n&&(_(n),Object(m.J)("".concat(O,"_analytics"),n===d.s?"change_property_new":"change_property","ga4"),p())}),[p,h,_,O]);if(!Object(g.a)(b))return null;if(y)return e.createElement(l.ProgressBar,{smallHeight:80,desktopHeight:88,small:!0});var k=void 0===h||""===h||Object(g.f)(h);return!1===a?e.createElement(l.Select,{className:r()("googlesitekit-analytics-4__select-property",i),label:Object(s.__)("Property","google-site-kit"),value:h,enhanced:!0,outlined:!0,disabled:!0},e.createElement(l.Option,{value:h},h)):e.createElement(l.Select,{className:r()("googlesitekit-analytics-4__select-property",i,{"mdc-select--invalid":!k,"googlesitekit-analytics-4__select-property--loaded":!n&&!y}),label:Object(s.__)("Property","google-site-kit"),value:h,onEnhancedChange:E,disabled:n,enhanced:!0,outlined:!0},(v||[]).concat({_id:d.s,displayName:Object(s.__)("Set up a new property","google-site-kit")}).map((function(t){var n=t._id,a=t.displayName;return e.createElement(l.Option,{key:n,value:n},n===d.s?a:Object(s.sprintf)( +/* translators: 1: Property name. 2: Property ID. */ +Object(s._x)("%1$s (%2$s)","Analytics property name and ID","google-site-kit"),a,n))})))}PropertySelect.propTypes={isDisabled:o.a.bool,hasModuleAccess:o.a.bool,className:o.a.string,onChange:o.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WebDataStreamNameInput}));var a=n(11),r=n.n(a),i=n(85),o=n(1),c=n(2),s=n(107),l=n(3),u=n(29),d=n(13),g=n(8),m=n(500),f=n(10),p=n(64);function WebDataStreamNameInput(){var t=Object(l.useSelect)((function(e){return e(g.r).getPropertyID()})),n=Object(l.useSelect)((function(e){return e(g.r).getWebDataStreamID()})),a=Object(l.useSelect)((function(e){return e(u.a).getValue(g.o,"webDataStreamName")})),b=Object(l.useSelect)((function(e){return!!Object(p.e)(t)&&e(g.r).doesWebDataStreamExist(t,a)})),v=Object(l.useSelect)((function(e){return e(d.c).getReferenceSiteURL()})),h=Object(l.useDispatch)(u.a).setValues,y=Object(o.useCallback)((function(e){var t=e.currentTarget;h(g.o,{webDataStreamName:t.value})}),[h]);if(Object(i.a)((function(){if(!a&&Object(s.a)(v)){var e=new URL(v).hostname;h(g.o,{webDataStreamName:e})}})),n!==g.z)return null;var O=b||!a||!Object(p.h)(a),_=!1;return b?_=Object(c.__)("A web data stream with this name already exists.","google-site-kit"):a?Object(p.h)(a)||(_=Object(c.__)("This is not a valid web data stream name.","google-site-kit")):_=Object(c.__)("A web data stream name is required.","google-site-kit"),e.createElement("div",{className:"googlesitekit-analytics-webdatastreamname"},e.createElement(f.TextField,{className:r()({"mdc-text-field--error":O}),label:Object(c.__)("Web Data Stream Name","google-site-kit"),outlined:!0,helperText:_,trailingIcon:O&&e.createElement("span",{className:"googlesitekit-text-field-icon--error"},e.createElement(m.a,null)),value:a,onChange:y}))}}).call(this,n(4))},,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ModuleSettingsWarning}));var a=n(3),r=n(19),i=n(6),o=n(226),c=n(238);function ModuleSettingsWarning(t){var n=t.slug,s=Object(a.useSelect)((function(e){var t;return null===(t=e(r.a))||void 0===t?void 0:t.getCheckRequirementsError(n)}));return s?i.c===s.code?e.createElement(c.a,{moduleSlug:n}):e.createElement(o.a,null,s.message):null}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return TimezoneSelect}));var a=n(1),r=n(2),i=n(10),o=n(3),c=n(213),s=n(8),l=n(29);function TimezoneSelect(){var t=Object(o.useSelect)((function(e){return e(l.a).getValue(s.m,"countryCode")})),n=Object(o.useSelect)((function(e){return e(l.a).getValue(s.m,"timezone")})),u=Object(o.useDispatch)(l.a).setValues,d=Object(a.useCallback)((function(e,t){u(s.m,{timezone:t.dataset.value})}),[u]);return e.createElement(i.Select,{className:"googlesitekit-analytics__select-timezone",label:Object(r.__)("Timezone","google-site-kit"),value:n,onEnhancedChange:d,disabled:!t,enhanced:!0,outlined:!0},(c.d[t]||[]).map((function(t,n){var a=t.timeZoneId,r=t.displayName;return e.createElement(i.Option,{key:n,value:a},r)})))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AccountField}));var a=n(1),r=n(2),i=n(331),o=n(3),c=n(8),s=n(29);function AccountField(){var t=Object(o.useSelect)((function(e){return e(s.a).getValue(c.m,"accountName")})),n=Object(o.useDispatch)(s.a).setValues,l=Object(a.useCallback)((function(e){n(c.m,{accountName:e})}),[n]);return e.createElement(i.a,{label:Object(r.__)("Account","google-site-kit"),hasError:!t,value:t,setValue:l,name:"account"})}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return PropertyField}));var a=n(1),r=n(2),i=n(331),o=n(3),c=n(8),s=n(29);function PropertyField(){var t=Object(o.useSelect)((function(e){return e(s.a).getValue(c.m,"propertyName")})),n=Object(o.useDispatch)(s.a).setValues,l=Object(a.useCallback)((function(e){n(c.m,{propertyName:e})}),[n]);return e.createElement(i.a,{label:Object(r.__)("Property","google-site-kit"),value:t,hasError:!t,setValue:l,name:"property"})}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return CountrySelect}));var a=n(1),r=n(2),i=n(10),o=n(3),c=n(213),s=n(8),l=n(29);function CountrySelect(){var t=Object(o.useSelect)((function(e){return e(l.a).getValue(s.m,"countryCode")})),n=Object(o.useDispatch)(l.a).setValues,u=Object(a.useCallback)((function(e,a){var r=a.dataset.value;r!==t&&c.b[r]&&n(s.m,{countryCode:r,timezone:c.b[r].defaultTimeZoneId})}),[n,t]);return e.createElement(i.Select,{className:"googlesitekit-analytics__select-country",label:Object(r.__)("Country","google-site-kit"),value:t,onEnhancedChange:u,enhanced:!0,outlined:!0},c.a.map((function(t,n){var a=t.countryCode,r=t.displayName;return e.createElement(i.Option,{key:n,value:a},r)})))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WebDataStreamField}));var a=n(1),r=n(2),i=n(331),o=n(3),c=n(8),s=n(29);function WebDataStreamField(){var t=Object(o.useSelect)((function(e){return e(s.a).getValue(c.m,"dataStreamName")})),n=Object(o.useDispatch)(s.a).setValues,l=Object(a.useCallback)((function(e){n(c.m,{dataStreamName:e})}),[n]);return e.createElement(i.a,{label:Object(r.__)("Web Data Stream","google-site-kit"),value:t,hasError:!t,setValue:l,name:"dataStream"})}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return h}));var a=n(7),r=n.n(a),i=n(5),o=n.n(i),c=n(16),s=n.n(c),l=n(12),u=n.n(l),d=n(3),g=n(13),m=n(363);function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function p(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=e.storeName,n=e.isValidTag,a=e.tagMatchers;u()("string"==typeof t&&t,"storeName is required."),u()("function"==typeof n,"isValidTag must be a function."),u()(Array.isArray(a),"tagMatchers must be an Array.");var i={existingTag:void 0},c={fetchGetExistingTag:function(){return{payload:{},type:"FETCH_GET_EXISTING_TAG"}},receiveGetExistingTag:function(e){return u()(null===e||"string"==typeof e,"existingTag must be a tag string or null."),{payload:{existingTag:n(e)?e:null},type:"RECEIVE_GET_EXISTING_TAG"}}},l=r()({},"FETCH_GET_EXISTING_TAG",Object(d.createRegistryControl)((function(e){return s()(o.a.mark((function t(){var n,r,i,c,s,l,u,d,f,p;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.select(g.c).getHomeURL(),r=e.select(g.c).getAMPMode(),t.next=4,Object(m.b)({homeURL:n,ampMode:r});case 4:i=t.sent,c=e.resolveSelect(g.c),s=c.getHTMLForURL,l=b(i),t.prev=7,l.s();case 9:if((u=l.n()).done){t.next=19;break}return d=u.value,t.next=13,s(d);case 13:if(f=t.sent,!(p=Object(m.a)(f,a))){t.next=17;break}return t.abrupt("return",p);case 17:t.next=9;break;case 19:t.next=24;break;case 21:t.prev=21,t.t0=t.catch(7),l.e(t.t0);case 24:return t.prev=24,l.f(),t.finish(24);case 27:return t.abrupt("return",null);case 28:case"end":return t.stop()}}),t,null,[[7,21,24,27]])})))}))),f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i,t=arguments.length>1?arguments[1]:void 0,n=t.type,a=t.payload;switch(n){case"RECEIVE_GET_EXISTING_TAG":var r=a.existingTag;return p(p({},e),{},{existingTag:r});default:return e}},v={getExistingTag:o.a.mark((function e(){var n,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.commonActions.getRegistry();case 2:if(void 0!==(n=e.sent).select(t).getExistingTag()){e.next=8;break}return e.next=6,c.fetchGetExistingTag();case 6:a=e.sent,n.dispatch(t).receiveGetExistingTag(a);case 8:case"end":return e.stop()}}),e)}))},h={getExistingTag:function(e){return e.existingTag},hasExistingTag:Object(d.createRegistrySelector)((function(e){return function(){var n=e(t).getExistingTag();if(void 0!==n)return!!n}}))},y={initialState:i,actions:c,controls:l,reducer:f,resolvers:v,selectors:h};return p(p({},y),{},{STORE_NAME:t})}},,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){(function(e){Object.prototype.hasOwnProperty.call(e,"google")||(e.google={})}).call(this,n(28))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return WebStoriesAdUnitSelect}));var a=n(1),r=n(2),i=n(10),o=n(3),c=n(31);function WebStoriesAdUnitSelect(){var t=Object(o.useSelect)((function(e){return e(c.m).getAccountID()})),n=Object(o.useSelect)((function(e){return e(c.m).getClientID()})),s=Object(o.useSelect)((function(e){return e(c.m).getWebStoriesAdUnit()})),l=Object(o.useSelect)((function(e){return e(c.m).getAdUnits(t,n)})),u=Object(o.useSelect)((function(e){return e(c.m).hasFinishedResolution("getAdUnits",[t,n])})),d=Object(o.useDispatch)(c.m).setWebStoriesAdUnit,g=Object(a.useCallback)((function(e,t){var n=t.dataset.value;s!==n&&d(n)}),[s,d]);return u?e.createElement(i.Select,{className:"googlesitekit-adsense__select-field",label:Object(r.__)("Web Stories Ad Unit","google-site-kit"),value:s,onEnhancedChange:g,enhanced:!0,outlined:!0},e.createElement(i.Option,{value:""},Object(r.__)("Select ad unit","google-site-kit")),(l||[]).map((function(t){var n=t._id,a=t.displayName;return e.createElement(i.Option,{key:n,value:n},a)}))):e.createElement(i.ProgressBar,{small:!0})}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdSenseConnectCTA}));var a=n(20),r=n.n(a),i=n(5),o=n.n(i),c=n(16),s=n.n(c),l=n(15),u=n.n(l),d=n(216),g=n(0),m=n.n(g),f=n(2),p=n(1),b=n(39),v=n(3),h=n(10),y=n(31),O=n(17),_=n(13),E=n(19),k=n(32),S=n(34),j=n(9),T=n(667),A=n(185),N=n(18);function AdSenseConnectCTA(t){var n=t.onDismissModule,a=Object(v.useDispatch)(k.a).navigateTo,i=Object(v.useDispatch)(E.a).activateModule,c=Object(v.useDispatch)(_.c).setInternalServerError,l=Object(N.a)(),g=Object(p.useRef)(),m=Object(p.useState)(!1),C=u()(m,2),w=C[0],I=C[1],M=Object(d.a)(g,{threshold:.25}),R=!!(null==M?void 0:M.intersectionRatio);Object(p.useEffect)((function(){R&&!w&&(Object(j.J)("".concat(l,"_adsense-cta-widget"),"widget_view"),I(!0))}),[R,l,w]);var D=Object(v.useSelect)((function(e){return e(y.m).getAdminReauthURL()})),x=Object(v.useSelect)((function(e){return e(E.a).isModuleActive("adsense")})),L=Object(v.useSelect)((function(e){return e(E.a).isModuleConnected("adsense")})),P=Object(v.useSelect)((function(e){return!!e(E.a).isFetchingSetModuleActivation("adsense",!0)||!!D&&e(k.a).isNavigatingTo(D)})),G=Object(p.useCallback)(s()(o.a.mark((function e(){var t,n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i("adsense");case 2:if(t=e.sent,n=t.response,!(r=t.error)){e.next=8;break}return c({id:"setup-module-error",description:r.message}),e.abrupt("return",null);case 8:return e.next=10,Object(j.J)("".concat(l,"_adsense-cta-widget"),"activate_module","adsense");case 10:return e.next=12,Object(S.f)("module_setup","adsense",{ttl:300});case 12:a(n.moduleReauthURL);case 13:case"end":return e.stop()}}),e)}))),[i,a,c,l]),Z=Object(p.useCallback)((function(){return a(D)}),[D,a]),B=Object(p.useCallback)((function(){Object(j.J)("".concat(l,"_adsense-cta-widget"),"dismiss_widget"),n()}),[n,l]),U={smSize:4,mdSize:4,lgSize:6};return e.createElement("section",{ref:g,className:"googlesitekit-setup__wrapper googlesitekit-setup__wrapper--adsense-connect"},e.createElement(O.e,null,e.createElement(T.a,{hasBeenInView:w}),e.createElement(O.k,null,e.createElement(O.a,U,e.createElement("div",{className:"googlesitekit-setup-module__action"},!x&&e.createElement(h.SpinnerButton,{onClick:G,isSaving:P},Object(f.__)("Connect now","google-site-kit")),x&&!L&&e.createElement(h.SpinnerButton,{onClick:Z,isSaving:P},Object(f.__)("Complete setup","google-site-kit")),e.createElement(h.Button,{tertiary:!0,onClick:B},Object(f.__)("Maybe later","google-site-kit")))),e.createElement(O.a,r()({},U,{className:"googlesitekit-setup-module__footer-text"}),e.createElement("p",null,Object(b.a)(Object(f.__)("AdSense accounts are subject to review and approval by the Google AdSense team","google-site-kit"),{a:e.createElement(A.a,{path:"/adsense/answer/9724",external:!0,hideExternalIndicator:!0})}))))))}AdSenseConnectCTA.propTypes={onDismissModule:m.a.func.isRequired}}).call(this,n(4))},,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Step}));var a=n(0),r=n.n(a),i=n(304);function Step(t){var n=t.children,a=t.title,r=t.stepStatus;return e.createElement("div",{className:"googlesitekit-stepper__step-info"},e.createElement("h2",{className:"googlesitekit-stepper__step-title"},a),e.createElement("div",{className:"googlesitekit-stepper__step-content-container"},r===i.a.ACTIVE&&e.createElement("div",{className:"googlesitekit-stepper__step-content"},n)))}Step.propTypes={children:r.a.node.isRequired,title:r.a.string.isRequired,stepStatus:r.a.oneOf(Object.values(i.a))}}).call(this,n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(1015),r=function(e){var t=new URL(e);return Object(a.parse)(t.hostname).domain}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GhostCardGreenSVG}));var a=n(1),r=n(2),i=n(42),o=n(149),c=Object(a.lazy)((function(){return n.e(36).then(n.bind(null,1199))}));function GhostCardGreenSVG(){return e.createElement(a.Suspense,{fallback:e.createElement(i.a,{width:"100%",height:"90px"})},e.createElement(o.a,{errorMessage:Object(r.__)("Failed to load graphic","google-site-kit")},e.createElement(c,null)))}}).call(this,n(4))},,,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockingRecoverySetupCTANotice}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(1),s=n(39),l=n(2),u=n(10),d=n(3),g=n(76),m=n(166),f=n(185),p=n(32),b=n(13),v=n(404),h=n(18),y=n(9),O=n(31),_=n(252),E=n(212);function AdBlockingRecoverySetupCTANotice(){var t=Object(v.a)(),n=Object(h.a)(),a=Object(d.useSelect)((function(e){return e(O.m).getAdBlockingRecoverySetupStatus()})),i=Object(d.useSelect)((function(e){return e(O.m).getAccountStatus()})),k=Object(d.useSelect)((function(e){return e(O.m).getSiteStatus()})),S=Object(d.useSelect)((function(e){return e(O.m).hasExistingAdBlockingRecoveryTag()})),j=Object(d.useSelect)((function(e){return e(b.c).getAdminURL("googlesitekit-ad-blocking-recovery")})),T=Object(d.useDispatch)(p.a).navigateTo,A=void 0===S||S||""!==a||i!==_.a||k!==_.c;Object(c.useEffect)((function(){t&&!A&&Object(y.J)("".concat(n,"_adsense-abr-cta-widget"),"view_notification")}),[t,A,n]);var N=function(){var e=o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(y.J)("".concat(n,"_adsense-abr-cta-widget"),"confirm_notification");case 2:return e.abrupt("return",T(j));case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return A?null:e.createElement(m.a,{notice:e.createElement(c.Fragment,null,Object(l.__)("Ad blocking recovery","google-site-kit"),e.createElement(g.a,{className:"googlesitekit-new-badge",label:Object(l.__)("New","google-site-kit")})),className:"googlesitekit-settings-notice-ad-blocking-recovery-cta",OuterCTA:function OuterCTA(){return e.createElement(u.Button,{onClick:N},Object(l.__)("Set up now","google-site-kit"))}},Object(s.a)(Object(l.__)("Start recovering revenue lost from ad blockers by deploying an ad blocking recovery message through Site Kit. Learn more","google-site-kit"),{a:e.createElement(f.a,{path:"/adsense/answer/11576589",external:!0,onClick:function(){Object(y.J)("".concat(n,"_adsense-abr-cta-widget"),"click_learn_more_link")}})}),e.createElement(E.a,{triggerID:"view_abr_setup_cta",ttl:y.a}))}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockingRecoveryApp}));var a=n(1),r=n(227),i=n(228),o=n(17),c=n(661);function AdBlockingRecoveryApp(){return e.createElement(a.Fragment,null,e.createElement(r.a,null,e.createElement(i.a,null)),e.createElement("div",{className:"googlesitekit-ad-blocking-recovery googlesitekit-module-page"},e.createElement(o.e,null,e.createElement(o.k,null,e.createElement(o.a,{size:12},e.createElement(c.a,null))))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AccountSelect}));var a=n(1),r=n(2),i=n(10),o=n(3),c=n(9),s=n(31),l=n(18);function AccountSelect(){var t=Object(l.a)(),n="".concat(t,"_adsense"),u=Object(o.useSelect)((function(e){return e(s.m).getAccountID()})),d=Object(o.useSelect)((function(e){return e(s.m).getAccounts()})),g=Object(o.useSelect)((function(e){return e(s.m).hasFinishedResolution("getAccounts")})),m=Object(o.useDispatch)(s.m).setAccountID,f=Object(a.useCallback)((function(e,t){var a=t.dataset.value;u!==a&&(m(a),Object(c.J)(n,"change_account"))}),[u,n,m]);return g?e.createElement(i.Select,{className:"googlesitekit-adsense__select-account",label:Object(r.__)("Account","google-site-kit"),value:u,onEnhancedChange:f,enhanced:!0,outlined:!0},(d||[]).map((function(t,n){var a=t._id,r=t.displayName;return e.createElement(i.Option,{key:n,value:a},r)}))):e.createElement(i.ProgressBar,{small:!0})}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdSenseLinkCTA}));var a=n(2),r=n(3),i=n(92),o=n(13);function AdSenseLinkCTA(t){var n=t.onClick,c=void 0===n?function(){}:n,s=Object(r.useSelect)((function(e){return e(o.c).getGoogleSupportURL({path:"/adsense/answer/6084409"})}));return e.createElement(i.a,{title:Object(a.__)("Link Analytics and AdSense","google-site-kit"),description:Object(a.__)("Get reports for your top earning pages by linking your Analytics and AdSense accounts","google-site-kit"),ctaLink:s,ctaLabel:Object(a.__)("Learn more","google-site-kit"),ctaLinkExternal:!0,onClick:c})}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ErrorNotices}));var a=n(31),r=n(146),i=n(0),o=n.n(i);function ErrorNotices(t){var n=t.hasButton,i=void 0!==n&&n;return e.createElement(r.a,{hasButton:i,moduleSlug:"adsense",storeName:a.m})}ErrorNotices.propTypes={hasButton:o.a.bool}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return UserProfile}));var a=n(3),r=n(10),i=n(6);function UserProfile(){var t=Object(a.useSelect)((function(e){return e(i.a).getEmail()})),n=Object(a.useSelect)((function(e){return e(i.a).getPicture()}));return Object(a.useSelect)((function(e){return e(i.a).hasFinishedResolution("getUser")}))?e.createElement("p",{className:"googlesitekit-setup-module__user"},e.createElement("img",{className:"googlesitekit-setup-module__user-image",src:n,alt:""}),e.createElement("span",{className:"googlesitekit-setup-module__user-email"},t)):e.createElement(r.ProgressBar,{small:!0})}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return UseSnippetSwitch}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(0),s=n.n(c),l=n(530),u=n(1),d=n(2),g=n(3),m=n(10),f=n(138),p=n(9),b=n(31),v=n(18),h=n(76);function UseSnippetSwitch(t){var n=t.label,a=void 0===n?Object(d.__)("Let Site Kit place AdSense code on your site","google-site-kit"):n,i=t.checkedMessage,c=t.uncheckedMessage,s=t.saveOnChange,y=Object(v.a)(),O="".concat(y,"_adsense"),_=Object(g.useSelect)((function(e){return e(b.m).getUseSnippet()})),E=Object(g.useSelect)((function(e){return e(b.m).isDoingSubmitChanges()})),k=Object(g.useDispatch)(b.m),S=k.setUseSnippet,j=k.saveSettings,T=Object(u.useCallback)(o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(S(!_),!s){e.next=4;break}return e.next=4,j();case 4:case"end":return e.stop()}}),e)}))),[_,s,S,j]);return Object(l.a)((function(){Object(p.J)(O,_?"enable_tag":"disable_tag")}),[O,_]),void 0===_?null:e.createElement(u.Fragment,null,e.createElement("div",{className:"googlesitekit-setup-module__switch"},e.createElement(m.Switch,{label:a,onClick:T,checked:_,disabled:E,hideLabel:!1})," ",e.createElement(h.a,{className:"googlesitekit-badge--primary",label:Object(d.__)("Recommended","google-site-kit")})),_&&i&&e.createElement(f.c,{notice:i}),!_&&c&&e.createElement(f.c,{notice:c}))}UseSnippetSwitch.propTypes={label:s.a.string,checkedMessage:s.a.string,uncheckedMessage:s.a.string,saveOnChange:s.a.bool},UseSnippetSwitch.defaultProps={saveOnChange:!1}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupMain}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(15),s=n.n(c),l=n(530),u=n(0),d=n.n(u),g=n(2),m=n(1),f=n(3),p=n(10),b=n(506),v=n(532),h=n(537),y=n(538),O=n(9),_=n(161),E=n(238),k=n(31),S=n(6),j=n(13),T=n(137),A=n(18),N=n(352),C=n(23);function SetupMain(t){var n=t.finishSetup,a=Object(A.a)(),i="".concat(a,"_adsense"),c=Object(f.useDispatch)(k.m),u=c.resetAccounts,d=c.resetClients,w=c.resetSites,I=c.setAccountID,M=c.setAccountStatus,R=c.submitChanges,D=Object(m.useState)(!1),x=s()(D,2),L=x[0],P=x[1],G=Object(m.useState)(!1),Z=s()(G,2),B=Z[0],U=Z[1],F=Object(f.useSelect)((function(e){return!!e(C.b).getValue(k.i)})),z=Object(f.useSelect)((function(e){return e(S.a).isAdBlockerActive()})),W=Object(f.useSelect)((function(e){return e(k.m).getAccounts()})),V=Object(f.useSelect)((function(e){return e(k.m).getAccountID()})),H=Object(f.useSelect)((function(e){return e(k.m).hasSettingChanged("accountID")})),q=Object(f.useSelect)((function(e){return e(k.m).hasSettingChanged("clientID")})),K=Object(f.useSelect)((function(e){return e(k.m).canSubmitChanges()})),Y=Object(f.useSelect)((function(e){return e(k.m).getClientID()})),J=Object(f.useSelect)((function(e){return e(k.m).getAccountStatus()})),$=Object(f.useSelect)((function(e){return e(k.m).hasSettingChanged("accountStatus")})),X=Object(f.useSelect)((function(e){return e(k.m).getSiteStatus()})),Q=Object(f.useSelect)((function(e){return e(k.m).hasSettingChanged("siteStatus")})),ee=Object(f.useSelect)((function(e){return e(k.m).hasErrors()})),te=Object(f.useSelect)((function(e){return e(k.m).hasFinishedResolution("getAccounts")})),ne=Object(f.useSelect)((function(e){return e(S.a).getEmail()})),ae=Object(f.useSelect)((function(e){return e(j.c).getReferenceSiteURL()})),re=Object(f.useSelect)((function(e){return e(k.m).getExistingTag()})),ie=null==W?void 0:W.find((function(e){return e._id===V}));Object(l.a)((function(){(H&&void 0!==V||q&&void 0!==Y||$&&void 0!==J||Q&&void 0!==X)&&P(!0)}),[V,H,Y,q,J,$,X,Q]),Object(m.useEffect)((function(){var e;Array.isArray(W)&&(1!==W.length||V&&W[0]._id===V?0===W.length&&V&&(e=""):e=W[0]._id,void 0!==e&&(I(e),P(!0)))}),[W,V,I]),Object(m.useEffect)((function(){0===(null==W?void 0:W.length)?M(T.h):(null==W?void 0:W.length)>1&&!V&&M(T.f)}),[M,V,W]),Object(m.useEffect)((function(){L&&!B&&K&&!F&&(P(!1),o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return U(!0),e.next=3,R();case 3:U(!1);case 4:case"end":return e.stop()}}),e)})))())}),[L,B,K,R,F]);var oe,ce=Object(m.useCallback)((function(){void 0!==J&&T.k!==J&&(u(),d(),w())}),[J,u,d,w]);return Object(N.a)(ce,15e3),Object(m.useEffect)((function(){void 0!==J&&Object(O.J)(i,"receive_account_state",J)}),[i,J]),Object(m.useEffect)((function(){void 0!==X&&Object(O.J)(i,"receive_site_state",X)}),[i,X]),oe=te&&void 0!==V&&void 0!==ne&&void 0!==ae&&void 0!==re?ee?e.createElement(_.d,{hasButton:!0}):(null==W?void 0:W.length)?V?e.createElement(v.a,{account:ie,finishSetup:n}):e.createElement(y.a,null):e.createElement(h.a,null):e.createElement(p.ProgressBar,null),e.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--adsense"},e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement("div",{className:"googlesitekit-setup-module__logo"},e.createElement(b.a,{width:"40",height:"40"})),e.createElement("h2",{className:"googlesitekit-heading-3 googlesitekit-setup-module__title"},Object(g._x)("AdSense","Service name","google-site-kit"))),e.createElement("div",{className:"googlesitekit-setup-module__step"},e.createElement(E.a,{moduleSlug:"adsense"}),!z&&oe))}SetupMain.propTypes={finishSetup:d.a.func}}).call(this,n(4))},,,,,,,,,,,,,,function(e,t,n){"use strict";var a=n(640);n.d(t,"a",(function(){return a.a}));n(403);var r=n(646);n.d(t,"b",(function(){return r.a}));n(532),n(537),n(538),n(534),n(535),n(536),n(533)},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SetupMain}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(15),s=n.n(c),l=n(7),u=n.n(l),d=n(165),g=n(1),m=n(2),f=n(3),p=n(10),b=n(21),v=n(360),h=n(662),y=n(593),O=n(188),_=n(32),E=n(13),k=n(23),S=n(18),j=n(17),T=n(9),A=n(31),N=n(663),C=n(665),w=n(666);function SetupMain(){var t=Object(S.a)(),n=Object(f.useSelect)((function(e){return e(E.c).getAdminURL("googlesitekit-settings")})),a="".concat(n,"#/connected-services/adsense"),i=Object(f.useSelect)((function(e){return!!e(k.b).getValue(A.c)})),c=Object(f.useSelect)((function(e){return e(E.c).getAdminURL("googlesitekit-dashboard")})),l=Object(f.useSelect)((function(e){var t,n=(t={},u()(t,A.k.TAG_PLACED,A.l.CREATE_MESSAGE),u()(t,A.k.SETUP_CONFIRMED,A.l.COMPLETE),t),a=e(A.m).getAdBlockingRecoverySetupStatus();if(void 0!==a)return n[a]||A.l.PLACE_TAGS})),I=Object(d.a)(c,{notification:"ad_blocking_recovery_setup_success"}),M=Object(f.useSelect)((function(e){return e(A.m).getAccountID()})),R=Object(f.useSelect)((function(e){return e(A.m).getServiceURL({path:"/".concat(M,"/privacymessaging/ad_blocking")})})),D=Object(f.useDispatch)(A.m),x=D.saveSettings,L=D.setAdBlockingRecoverySetupStatus,P=D.setUseAdBlockingRecoverySnippet,G=D.setUseAdBlockingRecoveryErrorSnippet,Z=Object(f.useDispatch)(_.a).navigateTo,B=Object(g.useState)(l),U=s()(B,2),F=U[0],z=U[1],W=Object(g.useCallback)(o()(r.a.mark((function e(){var o,s;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==F){e.next=6;break}return e.next=3,Object(T.J)("".concat(t,"_adsense-abr"),"cancel_setup","on_place_tag_step");case 3:if(!document.referrer.includes(n)){e.next=5;break}return e.abrupt("return",Z(a));case 5:return e.abrupt("return",Z(c));case 6:if(!i){e.next=10;break}return e.next=9,Object(T.J)("".concat(t,"_adsense-abr"),"cancel_setup","on_final_step");case 9:return e.abrupt("return",Z(a));case 10:return L(""),P(!1),G(!1),e.next=15,x();case 15:return o=e.sent,s=o.error,e.next=19,Object(T.J)("".concat(t,"_adsense-abr"),"cancel_setup","on_create_message_step");case 19:s||(document.referrer.includes(n)?Z(a):Z(c));case 20:case"end":return e.stop()}}),e)}))),[F,a,i,c,Z,x,L,G,P,n,t]);return Object(g.useEffect)((function(){void 0===F&&void 0!==l&&z(l)}),[F,l]),e.createElement(O.a,{rounded:!0},e.createElement(j.e,null,e.createElement(j.k,null,e.createElement(j.a,{lgSize:6,mdSize:8,smSize:4},e.createElement(v.a,{className:"googlesitekit-heading-3 googlesitekit-ad-blocking-recovery__heading",title:Object(m.__)("Ad Blocking Recovery","google-site-kit"),fullWidth:!0})))),e.createElement(N.a,null,e.createElement(h.a,{activeStep:F,className:"googlesitekit-ad-blocking-recovery__steps"},e.createElement(y.a,{title:Object(m.__)("Enable ad blocking recovery message (required)","google-site-kit"),className:"googlesitekit-ad-blocking-recovery__step googlesitekit-ad-blocking-recovery__step-place-tags"},e.createElement(w.a,{setActiveStep:z})),e.createElement(y.a,{title:Object(m.__)("Create your site’s ad blocking recovery message (required)","google-site-kit"),className:"googlesitekit-ad-blocking-recovery__step googlesitekit-ad-blocking-recovery__step-create-message"},e.createElement(C.a,null))),A.l.COMPLETE===F&&e.createElement("div",{className:"googlesitekit-ad-blocking-recovery__complete-content"},e.createElement("p",null,Object(m.__)("Create and publish an ad blocking recovery message in AdSense","google-site-kit")),e.createElement("p",null,Object(m.__)("Site visitors will be given the option to allow ads on your site. You can also present them with other options to fund your site (optional)","google-site-kit")))),e.createElement("div",{className:"googlesitekit-ad-blocking-recovery__footer googlesitekit-ad-blocking-recovery__buttons"},e.createElement("div",{className:"googlesitekit-ad-blocking-recovery__footer-cancel"},A.l.COMPLETE===F?e.createElement("div",{className:"googlesitekit-ad-blocking-recovery__complete-actions"},e.createElement(p.SpinnerButton,{href:I},Object(m.__)("My message is ready","google-site-kit")),e.createElement(b.a,{href:R,external:!0,hideExternalIndicator:!0},Object(m.__)("Create message","google-site-kit"))):e.createElement(b.a,{onClick:W},Object(m.__)("Cancel","google-site-kit")))))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return Stepper}));var a=n(0),r=n.n(a),i=n(11),o=n.n(i),c=n(1),s=n(2),l=n(366),u=n(304);function Stepper(t){var n=t.children,a=t.activeStep,r=t.className,i=c.Children.count(n);function d(e,t){switch(t){case u.a.UPCOMING:return Object(s.sprintf)( +/* translators: 1: The number of the current step. 2: The total number of steps. */ +Object(s.__)("Step %1$s of %2$s (upcoming).","google-site-kit"),e,i);case u.a.ACTIVE:return Object(s.sprintf)( +/* translators: 1: The number of the current step. 2: The total number of steps. */ +Object(s.__)("Step %1$s of %2$s (active).","google-site-kit"),e,i);case u.a.COMPLETED:return Object(s.sprintf)( +/* translators: 1: The number of the current step. 2: The total number of steps. */ +Object(s.__)("Step %1$s of %2$s (completed).","google-site-kit"),e,i)}}return e.createElement("ol",{className:o()("googlesitekit-stepper",r)},c.Children.map(n,(function(t,n){var r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;return eLearn more","google-site-kit"),{a:e.createElement(b.a,{href:_,external:!0})})),s&&e.createElement(p.a,{error:s}),e.createElement(m.SpinnerButton,{onClick:C,isSaving:c,disabled:c},Object(g.__)("Enable message","google-site-kit")))}PlaceTagsStep.propTypes={setActiveStep:s.a.func}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ContentAutoUpdate}));var a=n(15),r=n.n(a),i=n(0),o=n.n(i),c=n(1),s=n(668);function ContentAutoUpdate(t){var n=t.hasBeenInView,a=Object(c.useState)({stage:0,mode:"static"}),i=r()(a,2),o=i[0],l=o.stage,u=o.mode,d=i[1];return Object(c.useEffect)((function(){if(n){var e=setTimeout((function(){d({stage:0,mode:"leave"})}),7e3);return function(){clearTimeout(e)}}}),[n]),e.createElement(s.a,{stage:l,mode:u,onAnimationEnd:function(){"enter"===u?d({stage:l,mode:"leave"}):"leave"===u&&d({stage:2===l?0:l+1,mode:"enter"})}})}ContentAutoUpdate.propTypes={hasBeenInView:o.a.bool.isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(20),r=n.n(a),i=n(7),o=n.n(i),c=n(0),s=n.n(c),l=n(11),u=n.n(l),d=n(2),g=n(1),m=n(17),f=n(669),p=n(506),b=Object(g.forwardRef)((function(t,n){var a=t.stage,i=t.mode,c=t.onAnimationEnd,s=[{title:Object(d.__)("Earn money from your site","google-site-kit"),description:Object(d.__)("Focus on writing good content and let AdSense help you make it profitable","google-site-kit")},{title:Object(d.__)("Save time with automated ads","google-site-kit"),description:Object(d.__)("Auto ads automatically place and optimize your ads for you so you don't have to spend time doing it yourself","google-site-kit")},{title:Object(d.__)("You’re in control","google-site-kit"),description:Object(d.__)("Block ads you don't like, customize where ads appear, and choose which types fit your site best","google-site-kit")}],l={smSize:4,mdSize:4,lgSize:6};return e.createElement(g.Fragment,null,e.createElement(m.k,null,e.createElement(m.a,{size:12},e.createElement("p",{className:"googlesitekit-setup__intro-title"},Object(d.__)("Connect Service","google-site-kit")),e.createElement("div",{className:"googlesitekit-setup-module"},e.createElement("div",{className:"googlesitekit-setup-module__logo"},e.createElement(p.a,{width:"33",height:"33"})),e.createElement("h2",{className:"googlesitekit-heading-3 googlesitekit-setup-module__title"},Object(d._x)("AdSense","Service name","google-site-kit"))))),e.createElement(m.k,{ref:n},e.createElement(m.a,r()({},l,{smOrder:2,mdOrder:1,className:"googlesitekit-setup-module--adsense__stage-captions"}),e.createElement("ul",{className:"googlesitekit-setup-module--adsense__stage-caption-container"},s.map((function(t,n){var r=t.title,c=t.description;return e.createElement("li",{key:n,className:u()("googlesitekit-setup-module--adsense__stage-caption",o()({},"googlesitekit-setup-module--adsense__stage-caption--current--".concat(i),a===n))},e.createElement("div",{className:"googlesitekit-setup-module--adsense__stage-caption-indicator"}),e.createElement("div",null,e.createElement("h4",null,r),e.createElement("p",null,c)))}))),e.createElement("ul",{className:"googlesitekit-setup-module--adsense__stage-indicator"},s.map((function(t,n){return e.createElement("li",{key:n,className:u()(o()({},"googlesitekit-setup-module--adsense__stage-indicator--current--".concat(i),a===n))})})))),e.createElement(m.a,r()({},l,{smOrder:1,mdOrder:2,className:"googlesitekit-setup-module--adsense__stage-images"}),e.createElement("div",{className:"googlesitekit-setup-module--adsense__stage-image-container"},s.map((function(t,n){return e.createElement("div",{key:n,className:u()("googlesitekit-setup-module--adsense__stage-image",o()({},"googlesitekit-setup-module--adsense__stage-image--current--".concat(i),a===n)),onAnimationEnd:a===n?c:void 0},e.createElement(f.a,{stage:n}))}))))))}));b.propTypes={stage:s.a.oneOf([0,1,2]),mode:s.a.oneOf(["static","enter","leave"]),onAnimationEnd:s.a.func},t.a=b}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ContentSVG}));var a=n(0),r=n(1),i=n(2),o=n(42),c=n(149),s=Object(r.lazy)((function(){return n.e(33).then(n.bind(null,1196))})),l=Object(r.lazy)((function(){return n.e(34).then(n.bind(null,1197))})),u=Object(r.lazy)((function(){return n.e(35).then(n.bind(null,1198))}));function LazyContentSVG(t){var n=t.stage,a={0:e.createElement(s,null),1:e.createElement(l,null),2:e.createElement(u,null)};return a[n]?e.createElement(c.a,{errorMessage:Object(i.__)("Failed to load graphic","google-site-kit")},a[n]):null}function ContentSVG(t){var n=t.stage;return e.createElement(r.Suspense,{fallback:e.createElement(o.a,{width:"100%",height:"100%"})},e.createElement(LazyContentSVG,{stage:n}))}ContentSVG.propTypes={stage:a.PropTypes.oneOf([0,1,2]).isRequired}}).call(this,n(4))},function(e,t,n){"use strict";(function(e,a){n.d(t,"a",(function(){return NeedsAttention}));var r=n(1),i=n(2),o=n(3),c=n(59),s=n(9),l=n(31),u=n(362);function NeedsAttention(){var t=Object(r.useContext)(c.b),n=Object(o.useSelect)((function(e){return e(l.m).getServiceAccountManageSitesURL()})),d=Object(r.useCallback)((function(a){a.preventDefault(),Object(s.J)("".concat(t,"_adsense"),"review_site_state","needs_attention"),e.open(n,"_blank")}),[n,t]),g=Object(i.__)("Your site isn’t ready to show ads yet","google-site-kit"),m=Object(i.__)("You need to fix some things with this site before we can connect Site Kit to your AdSense account","google-site-kit"),f={label:Object(i.__)("Review site in AdSense","google-site-kit"),href:n,onClick:d};return a.createElement(u.a,{heading:g,description:m,primaryButton:f})}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e,a){n.d(t,"a",(function(){return GettingReady}));var r=n(1),i=n(2),o=n(3),c=n(59),s=n(9),l=n(31),u=n(362);function GettingReady(){var t=Object(r.useContext)(c.b),n=Object(o.useSelect)((function(e){return e(l.m).getServiceAccountManageSitesURL()})),d=Object(r.useCallback)((function(a){a.preventDefault(),Object(s.J)("".concat(t,"_adsense"),"review_site_state","getting_ready"),e.open(n,"_blank")}),[n,t]),g=Object(i.__)("Your site is getting ready","google-site-kit"),m=Object(i.__)("This usually takes a few days, but in some cases can take a few weeks. You’ll get an email from AdSense as soon as they have run some checks on your site.","google-site-kit"),f={label:Object(i.__)("Review site in AdSense","google-site-kit"),href:n,onClick:d};return a.createElement(u.a,{heading:g,description:m,primaryButton:f})}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e,a){n.d(t,"a",(function(){return RequiresReview}));var r=n(1),i=n(2),o=n(3),c=n(59),s=n(9),l=n(31),u=n(362);function RequiresReview(){var t=Object(r.useContext)(c.b),n=Object(o.useSelect)((function(e){return e(l.m).getServiceAccountManageSitesURL()})),d=Object(r.useCallback)((function(a){a.preventDefault(),Object(s.J)("".concat(t,"_adsense"),"review_site_state","requires_review"),e.open(n,"_blank")}),[n,t]),g=Object(i.__)("Your site requires review","google-site-kit"),m=Object(i.__)("To start serving ads, your site needs to be approved first. Go to AdSense to request the review.","google-site-kit"),f={label:Object(i.__)("Request review in AdSense","google-site-kit"),href:n,onClick:d};return a.createElement(u.a,{heading:g,description:m,primaryButton:f})}}).call(this,n(28),n(4))},function(e,t,n){"use strict";(function(e,a){n.d(t,"a",(function(){return Ready}));var r=n(5),i=n.n(r),o=n(16),c=n.n(o),s=n(15),l=n.n(s),u=n(1),d=n(2),g=n(3),m=n(59),f=n(9),p=n(31),b=n(23),v=n(362);function Ready(t){var n=t.site,r=t.finishSetup,o=Object(u.useState)(!1),s=l()(o,2),h=s[0],y=s[1],O=Object(u.useContext)(m.b),_=Object(g.useSelect)((function(e){return e(p.m).getExistingTag()})),E=Object(g.useSelect)((function(e){return e(p.m).getServiceAccountSiteAdsPreviewURL()})),k=Object(g.useSelect)((function(e){return e(p.m).isDoingSubmitChanges()})),S=Object(g.useDispatch)(p.m),j=S.completeSiteSetup,T=S.completeAccountSetup,A=Object(g.useDispatch)(b.b).setValue,N=Object(u.useCallback)((function(t){t.preventDefault(),Object(f.J)("".concat(O,"_adsense"),"enable_auto_ads"),e.open(E,"_blank")}),[E,O]),C=Object(u.useCallback)((function(e){e.preventDefault(),Object(f.J)("".concat(O,"_adsense"),"disable_auto_ads"),y(!0)}),[O]),w=Object(u.useCallback)(c()(i.a.mark((function e(){var t,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!k){e.next=2;break}return e.abrupt("return");case 2:return A(p.i,!0),e.next=5,j();case 5:return t=e.sent,e.next=8,T();case 8:n=e.sent,A(p.i,!1),t&&n&&"function"==typeof r&&r();case 11:case"end":return e.stop()}}),e)}))),[k,A,j,T,r]),I={};return n.autoAdsEnabled||h?(I.heading=_?Object(d.__)("Your AdSense account is ready to connect to Site Kit","google-site-kit"):Object(d.__)("Your site is ready to use AdSense","google-site-kit"),I.description=_?Object(d.__)("Connect your AdSense account to see stats on your overall earnings, page CTR, and top earning pages","google-site-kit"):Object(d.__)("Site Kit has placed AdSense code on your site to connect your site to AdSense and help you get the most out of ads","google-site-kit"),I.primaryButton={label:Object(d.__)("Complete setup","google-site-kit"),onClick:w}):(I.heading=Object(d.__)("Enable auto ads for your site","google-site-kit"),I.description=Object(d.__)("To start serving ads via Site Kit, you need to activate auto ads first. Go to AdSense and enable auto ads for your site.","google-site-kit"),I.primaryButton={label:Object(d.__)("Enable auto ads","google-site-kit"),href:E,onClick:N},_&&(I.description=Object(d.__)("Site Kit recommends enabling auto ads. If your existing AdSense setup relies on individual ad units, you can proceed without enabling auto ads.","google-site-kit"),I.secondaryButton={label:Object(d.__)("Proceed without enabling auto ads","google-site-kit"),onClick:C})),a.createElement(v.a,I)}}).call(this,n(28),n(4))},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var a=n(12),r=n.n(a),i=n(9),o=function(e){var t=e.startDate,n=e.endDate,a=e.compareStartDate,o=e.compareEndDate;r()(Object(i.x)(t),"A valid startDate is required."),r()(Object(i.x)(n),"A valid endDate is required.");var c={"_u.date00":t.replace(/-/g,""),"_u.date01":n.replace(/-/g,"")};return(a||o)&&(r()(Object(i.x)(a)&&Object(i.x)(o),"Valid compareStartDate and compareEndDate values are required."),c["_u.date10"]=a.replace(/-/g,""),c["_u.date11"]=o.replace(/-/g,"")),c}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return GhostCardRedSVG}));var a=n(1),r=n(2),i=n(42),o=n(149),c=Object(a.lazy)((function(){return n.e(37).then(n.bind(null,1200))}));function GhostCardRedSVG(){return e.createElement(a.Suspense,{fallback:e.createElement(i.a,{width:"100%",height:"90px"})},e.createElement(o.a,{errorMessage:Object(r.__)("Failed to load graphic","google-site-kit")},e.createElement(c,null)))}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return s})),n.d(t,"b",(function(){return l}));var a=n(2),r=n(402),i=n(137),o=function(e){var t=Object(a.__)("Your site isn’t ready to show ads yet","google-site-kit");switch(e){case i.a:t=Object(a.__)("Your account has been approved","google-site-kit");break;case i.k:t=Object(a.__)("Your site is ready for ads","google-site-kit");break;case i.j:case i.e:t=Object(a.__)("We’re getting your site ready for ads. This usually takes less than a day, but it can sometimes take a bit longer","google-site-kit");break;case i.i:case i.d:case i.g:case i.c:case i.b:t=Object(a.__)("You need to fix some issues before your account is approved. Go to AdSense to find out how to fix it","google-site-kit")}return t},c=function(e){var t="";switch(e){case i.n:case i.r:t=Object(a.__)("You need to fix some things before your site is ready.","google-site-kit");break;case i.m:t=Object(a.__)("Your site is getting ready.","google-site-kit");break;case i.p:t=Object(a.__)("Your site is ready for ads.","google-site-kit");break;case i.q:t=Object(a.__)("Your site is ready, with auto-ads disabled.","google-site-kit")}return t},s=function(e,t,n){var r=Object(a.__)("The AdSense code has not been placed on your site","google-site-kit");return e?r=Object(a.__)("The AdSense code has been placed on your site","google-site-kit"):t&&t===n&&(r=Object(a.__)("The AdSense code has been placed by another plugin or theme","google-site-kit")),r},l=function(e){var t=Object(a.__)("Ads are currently displayed for all visitors","google-site-kit");return e.includes(r.b)&&e.includes(r.a)?t=Object(a.__)("All logged-in users and users who can write posts","google-site-kit"):e.includes(r.b)?t=r.d[r.b]:e.includes(r.a)&&(t=r.d[r.a]),t}},,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return AdBlockingRecoveryToggle}));var a=n(85),r=n(39),i=n(2),o=n(10),c=n(3),s=n(21),l=n(166),u=n(29),d=n(13),g=n(18),m=n(9),f=n(31),p=n(252);function AdBlockingRecoveryToggle(){var t,n=Object(g.a)(),b=Object(c.useSelect)((function(e){return e(f.m).getUseAdBlockingRecoverySnippet()})),v=Object(c.useSelect)((function(e){return e(f.m).getUseAdBlockingRecoveryErrorSnippet()})),h=Object(c.useSelect)((function(e){return e(f.m).getAdBlockingRecoverySetupStatus()})),y=Object(c.useSelect)((function(e){return e(f.m).getExistingAdBlockingRecoveryTag()})),O=Object(c.useSelect)((function(e){return e(f.m).getAccountID()})),_=Object(c.useSelect)((function(e){return e(f.m).getServiceURL({path:"/".concat(O,"/privacymessaging/ad_blocking")})})),E=Object(c.useSelect)((function(e){return e(d.c).getDocumentationLinkURL("ad-blocking-recovery")})),k=Object(c.useSelect)((function(e){return e(u.a).getValue(f.a,"adBlockingRecoveryToggle")})),S=Object(c.useSelect)((function(e){return e(u.a).getValue(f.a,"adBlockingRecoveryErrorToggle")})),j=Object(c.useDispatch)(u.a).setValues,T=Object(c.useDispatch)(f.m),A=T.setUseAdBlockingRecoverySnippet,N=T.setUseAdBlockingRecoveryErrorSnippet;return Object(a.a)((function(){var e={adBlockingRecoveryToggle:b,adBlockingRecoveryErrorToggle:v};j(f.a,e)})),y&&y===O?t=Object(i.__)("You’ve already enabled an ad blocking recovery message on your site. We recommend using Site Kit to manage this to get the most out of AdSense.","google-site-kit"):y&&(t=Object(i.sprintf)( +/* translators: %s: account ID */ +Object(i.__)("Site Kit detected Ad Blocking Recovery code for a different account %s on your site. For a better ad blocking recovery experience, you should remove Ad Blocking Recovery code that’s not linked to this AdSense account.","google-site-kit"),Object(p.i)(y))),h?e.createElement("fieldset",{className:"googlesitekit-settings-module__ad-blocking-recovery-toggles"},e.createElement("legend",{className:"googlesitekit-setup-module__text"},Object(i.__)("Ad blocking recovery","google-site-kit")),e.createElement("div",{className:"googlesitekit-settings-module__meta-items"},e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement(o.Switch,{label:Object(i.__)("Enable ad blocking recovery message","google-site-kit"),checked:k,onClick:function(){var e=!k;j(f.a,{adBlockingRecoveryToggle:e}),A(e),Object(m.J)("".concat(n,"_adsense-abr"),e?"enable_tag":"disable_tag","abr_tag")},hideLabel:!1}),e.createElement("p",null,Object(r.a)(Object(i.__)("Identify site visitors that have an ad blocker browser extension installed. These site visitors will see the ad blocking recovery message created in AdSense. Configure your message","google-site-kit"),{a:e.createElement(s.a,{href:_,external:!0})}))),(k||b)&&e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement(o.Switch,{label:Object(i.__)("Place error protection code","google-site-kit"),checked:S,onClick:function(){var e=!S;j(f.a,{adBlockingRecoveryErrorToggle:e}),N(e),Object(m.J)("".concat(n,"_adsense-abr"),e?"enable_tag":"disable_tag","error_protection_tag")},hideLabel:!1}),e.createElement("p",null,Object(r.a)(Object(i.__)("If a site visitor’s ad blocker browser extension blocks the message you create in AdSense, a default, non-customizable ad blocking recovery message will display instead. Learn more","google-site-kit"),{a:e.createElement(s.a,{href:E,external:!0})})))),y&&e.createElement(l.a,{notice:t})):null}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsForm}));var a=n(2),r=n(1),i=n(39),o=n(3),c=n(10),s=n(31),l=n(377),u=n(161),d=n(588),g=n(21),m=n(13),f=n(606),p=n(739);function SettingsForm(){var t=Object(o.useSelect)((function(e){return e(m.c).isWebStoriesActive()})),n=Object(o.useSelect)((function(e){return e(s.m).getClientID()})),b=Object(o.useSelect)((function(e){return e(s.m).getExistingTag()})),v=Object(o.useSelect)((function(e){return e(s.m).hasFinishedResolution("getExistingTag")}));Object(o.useSelect)((function(e){return e(s.m).getExistingAdBlockingRecoveryTag()}));var h,y,O=Object(o.useSelect)((function(e){return e(s.m).hasFinishedResolution("getExistingAdBlockingRecoveryTag")}));if(!v||!O)return e.createElement(c.ProgressBar,null);b&&b===n?y=h=Object(a.__)("You’ve already got an AdSense code on your site for this account, we recommend you use Site Kit to place code to get the most out of AdSense","google-site-kit"):b?(h=Object(a.sprintf)( +/* translators: %s: account ID */ +Object(a.__)("Site Kit detected AdSense code for a different account %s on your site. For a better ads experience, you should remove AdSense code that’s not linked to this AdSense account.","google-site-kit"),Object(l.a)(b)),y=Object(a.__)("Please note that AdSense will not show ads on your website unless you’ve already placed the code","google-site-kit")):y=Object(a.__)("Please note that AdSense will not show ads on your website unless you’ve already placed the code","google-site-kit");return e.createElement("div",{className:"googlesitekit-adsense-settings-fields"},e.createElement(u.d,null),e.createElement(u.e,{checkedMessage:h,uncheckedMessage:y}),t&&e.createElement(r.Fragment,null,e.createElement(d.a,null),e.createElement("p",null,Object(i.a)(Object(a.__)("This ad unit will be used for your Web Stories. ","google-site-kit"),{LearnMoreLink:e.createElement(g.a,{href:"https://support.google.com/adsense/answer/10175505#create-an-ad-unit-for-web-stories",external:!0,"aria-label":Object(a.__)("Learn more about Ad Sense Web Stories.","google-site-kit")},Object(a.__)("Learn more","google-site-kit"))}))),e.createElement(u.c,null),e.createElement(r.Fragment,null,e.createElement(f.a,null),e.createElement(p.a,null)))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ConnectAdSenseCTATileWidget}));var a=n(0),r=n.n(a),i=n(524),o=n(140),c={moduleSlug:"adsense"};function ConnectAdSenseCTATileWidget(t){var n=t.Widget,a=t.widgetSlug;return Object(o.a)(a,i.a,c),e.createElement(n,null,e.createElement(i.a,c))}ConnectAdSenseCTATileWidget.propTypes={Widget:r.a.elementType.isRequired,widgetSlug:r.a.string.isRequired}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";(function(e){var a=n(2),r=n(6),i=n(517),o=n(3);t.a=function Header(){var t=Object(o.useSelect)((function(e){return e(r.a).getDateRangeNumberOfDays()}));return e.createElement(i.a,{title:Object(a.sprintf)( +/* translators: %s: number of days */ +Object(a._n)("Performance over the last %s day","Performance over the last %s days",t,"google-site-kit"),t)})}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(2),r=n(31),i=n(6),o=n(1017),c=n(133),s=n(3),l=n(36);t.a=function Footer(){var t=Object(l.a)(),n=Object(s.useSelect)((function(e){return e(i.a).getDateRangeDates({offsetDays:r.j})})),u=Object(s.useSelect)((function(e){return t?null:e(r.m).getServiceReportURL(Object(o.a)(n))}));return e.createElement(c.a,{href:u,name:Object(a._x)("AdSense","Service name","google-site-kit"),external:!0})}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsEdit}));var a=n(3),r=n(10),i=n(31),o=n(740);function SettingsEdit(){var t;return t=Object(a.useSelect)((function(e){return e(i.m).isDoingSubmitChanges()}))?e.createElement(r.ProgressBar,null):e.createElement(o.a,null),e.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--adsense"},t)}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsSetupIncomplete}));var a=n(1),r=n(39),i=n(2),o=n(3),c=n(21),s=n(19),l=n(31),u=n(137),d=n(558);function SettingsSetupIncomplete(){var t,n,g=Object(o.useSelect)((function(e){return e(l.m).getAccountStatus()})),m=Object(u.s)(g),f=Object(o.useSelect)((function(e){return e(l.m).getAdminReauthURL()})),p=Object(o.useSelect)((function(e){var t;return null===(t=e(s.a))||void 0===t?void 0:t.getCheckRequirementsError("adsense")}));return m?( +/* translators: %s: link with next step */ +t=Object(i.__)("Site Kit has placed AdSense code on your site: %s","google-site-kit"),n=Object(i.__)("check module page","google-site-kit")):( +/* translators: %s: link with next step */ +t=Object(i.__)("Setup incomplete: %s","google-site-kit"),n=Object(i.__)("continue module setup","google-site-kit")),e.createElement(a.Fragment,null,e.createElement("div",{className:"googlesitekit-settings-module__fields-group googlesitekit-settings-module__fields-group--no-border"},e.createElement(d.a,{slug:"adsense"})),e.createElement("div",{className:"googlesitekit-settings-module__fields-group-title"},Object(r.a)(Object(i.sprintf)(t,"".concat(n,"")),{a:e.createElement(c.a,{className:"googlesitekit-settings-module__edit-button",href:f,disabled:!!p})})))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return SettingsView}));var a=n(39),r=n(1),i=n(2),o=n(3),c=n(180),s=n(10),l=n(21),u=n(13),d=n(31),g=n(161),m=n(732),f=n(606),p=n(103);function SettingsView(){var t=Object(o.useSelect)((function(e){return e(d.m).getAccountID()})),n=Object(o.useSelect)((function(e){return e(d.m).getServiceAccountManageSitesURL()})),b=Object(o.useSelect)((function(e){return e(u.c).isWebStoriesActive()})),v=Object(o.useSelect)((function(e){return e(d.m).getWebStoriesAdUnit()})),h=Object(o.useSelect)((function(e){return e(d.m).getAccountStatus()})),y=Object(o.useSelect)((function(e){return e(d.m).getUseAdBlockingRecoverySnippet()})),O=Object(o.useSelect)((function(e){return e(d.m).getUseAdBlockingRecoveryErrorSnippet()})),_=Object(o.useSelect)((function(e){return e(d.m).getSiteStatus()})),E=Object(o.useSelect)((function(e){return e(d.m).getUseSnippet()})),k=Object(o.useSelect)((function(e){return e(d.m).getAdBlockingRecoverySetupStatus()})),S=Object(o.useSelect)((function(e){return e(d.m).getExistingTag()})),j=Object(o.useSelect)((function(e){return e(d.m).getClientID()})),T=Object(o.useSelect)((function(e){return e(d.m).getAutoAdsDisabled()||[]})),A=Object(o.useSelect)((function(e){return e(d.m).getServiceURL({path:"/".concat(t,"/privacymessaging/ad_blocking")})})),N=Object(m.a)(h),C=Object(m.c)(_),w=Object(a.a)(Object(i.__)("View site in AdSense","google-site-kit"),{VisuallyHidden:e.createElement(p.a,null)}),I=Object(m.d)(E,S,j),M=Object(m.b)(T),R=Object(o.useSelect)((function(e){return void 0===e(d.m).getSettings()||void 0===e(d.m).hasExistingAdBlockingRecoveryTag()}));return e.createElement("div",{className:"googlesitekit-setup-module googlesitekit-setup-module--adsense"},e.createElement(g.d,null),e.createElement("div",{className:"googlesitekit-settings-module__meta-items"},e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(i.__)("Publisher ID","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},e.createElement(c.b,{value:t}))),e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(i.__)("Account Status","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},N)),e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(i.__)("Site Status","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},C+" ",e.createElement(l.a,{href:n,className:"googlesitekit-settings-module__cta-button",external:!0,disabled:void 0===n,hideExternalIndicator:void 0===n},w)))),e.createElement("div",{className:"googlesitekit-settings-module__meta-items"},e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(i.__)("AdSense Code","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},I))),e.createElement("div",{className:"googlesitekit-settings-module__meta-items"},e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(i.__)("Excluded from ads","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},M))),b&&e.createElement("div",{className:"googlesitekit-settings-module__meta-items"},e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(i.__)("Web Stories Ad Unit","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},!v&&e.createElement("span",null,Object(i.__)("None","google-site-kit")),v&&e.createElement(c.b,{value:v})))),(null==k?void 0:k.length)>0&&e.createElement("div",{className:"googlesitekit-settings-module__meta-items"},R&&e.createElement(s.ProgressBar,{small:!0,height:90}),!R&&e.createElement("div",{className:"googlesitekit-settings-module__meta-item"},e.createElement("h5",{className:"googlesitekit-settings-module__meta-item-type"},Object(i.__)("Ad blocking recovery","google-site-kit")),!y&&e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},Object(i.__)("Ad blocking recovery message is not placed","google-site-kit")),y&&e.createElement(r.Fragment,null,e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},O?Object(i.__)("Ad blocking recovery message enabled with error protection code","google-site-kit"):Object(i.__)("Ad blocking recovery message enabled without error protection code","google-site-kit")),e.createElement("p",{className:"googlesitekit-settings-module__meta-item-data"},Object(a.a)(Object(i.__)("Identify site visitors that have an ad blocker browser extension installed. These site visitors will see the ad blocking recovery message created in AdSense. Configure your message","google-site-kit"),{a:e.createElement(l.a,{href:A,external:!0})}))))),!(null==k?void 0:k.length)&&e.createElement(r.Fragment,null,R&&e.createElement(s.ProgressBar,{small:!0,height:135}),!R&&e.createElement(f.a,null)))}}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(0),s=n.n(c),l=n(1),u=n(39),d=n(2),g=n(3),m=n(1016),f=n(106),p=n(21),b=n(193),v=n(195),h=n(194),y=n(32),O=n(13),_=n(6),E=n(24),k=n(404),S=n(18),j=n(36),T=n(17),A=n(9),N=n(50),C=n(31),w=n(252),I=n(212);function AdBlockingRecoverySetupCTAWidget(t){var n=t.Widget,a=t.WidgetNull,i=Object(E.e)(),c=Object(j.a)(),s=Object(k.a)(),N=Object(S.a)(),M=Object(f.b)(C.b),R=Object(f.c)(C.b).isTooltipVisible,D=Object(g.useSelect)((function(e){return e(_.a).isPromptDismissed(C.b)})),x=Object(g.useSelect)((function(e){return e(_.a).getPromptDismissCount(C.b)})),L=Object(g.useSelect)((function(e){return e(_.a).isDismissingPrompt(C.b)})),P=Object(g.useSelect)((function(e){return c?null:e(C.m).getAdBlockingRecoverySetupStatus()})),G=Object(g.useSelect)((function(e){return c?null:e(C.m).getAccountStatus()})),Z=Object(g.useSelect)((function(e){return c?null:e(C.m).getSetupCompletedTimestamp()})),B=Object(g.useSelect)((function(e){return c?null:e(C.m).getSiteStatus()})),U=Object(g.useSelect)((function(e){return e(C.m).hasExistingAdBlockingRecoveryTag()})),F=Object(g.useSelect)((function(e){return e(O.c).getGoogleSupportURL({path:"/adsense/answer/11576589"})})),z=Object(g.useSelect)((function(e){return e(O.c).getAdminURL("googlesitekit-ad-blocking-recovery")})),W=Object(g.useSelect)((function(e){return e(_.a).getReferenceDate()})),V=Object(g.useDispatch)(_.a).dismissPrompt,H=Object(g.useDispatch)(y.a).navigateTo,q=Object(A.H)(W).getTime()-1e3*Z>=3*A.g*1e3,K=!c&&!1===U&&!1===D&&!1===L&&""===P&&G===w.a&&B===w.c&&(!Z||q);Object(l.useEffect)((function(){s&&K&&Object(A.J)("".concat(N,"_adsense-abr-cta-widget"),"view_notification")}),[s,K,N]),Object(l.useEffect)((function(){R&&Object(A.J)("".concat(N,"_adsense-abr"),"view_tooltip")}),[R,N]);var Y=function(){var e=o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(A.J)("".concat(N,"_adsense-abr-cta-widget"),"confirm_notification");case 2:return e.abrupt("return",H(z));case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),J=function(){var e=o()(r.a.mark((function e(){var t;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Object(A.J)("".concat(N,"_adsense-abr-cta-widget"),"dismiss_notification"),M(),!(x<2)){e.next=8;break}return t=2*A.g,e.next=6,V(C.b,{expiresInSeconds:t});case 6:e.next=10;break;case 8:return e.next=10,V(C.b);case 10:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return R?e.createElement(l.Fragment,null,e.createElement(a,null),e.createElement(f.a,{title:Object(d.__)("You can always set up ad blocking recovery from Settings later","google-site-kit"),dismissLabel:Object(d.__)("Got it","google-site-kit"),onDismiss:function(){Object(A.J)("".concat(N,"_adsense-abr"),"dismiss_tooltip")},tooltipStateKey:C.b})):K?e.createElement(n,null,s&&K&&e.createElement(I.a,{triggerID:"view_abr_setup_cta",ttl:A.a}),e.createElement(b.a,null,e.createElement(T.a,{smSize:8,mdSize:4,lgSize:7},e.createElement(h.a,{title:Object(d.__)("Recover revenue lost to ad blockers","google-site-kit")}),e.createElement("div",{className:"googlesitekit-widget--adBlockingRecovery__content"},e.createElement("p",null,Object(u.a)(Object(d.__)("Display a message to give site visitors with an ad blocker the option to allow ads on your site. Learn more","google-site-kit"),{a:e.createElement(p.a,{onClick:function(){Object(A.J)("".concat(N,"_adsense-abr-cta-widget"),"click_learn_more_link")},href:F,external:!0})})),e.createElement("p",null,Object(d.__)("Publishers see up to 1 in 5 users choose to allow ads once they encounter an ad blocking recovery message*","google-site-kit"))),e.createElement(v.a,{ctaLink:"#",ctaLabel:Object(d.__)("Set up now","google-site-kit"),ctaCallback:Y,dismissCallback:J,dismissLabel:x<2?Object(d.__)("Maybe later","google-site-kit"):Object(d.__)("Don’t show again","google-site-kit")})),e.createElement(T.a,{className:"googlesitekit-widget--adBlockingRecovery__graphics",smSize:8,mdSize:4,lgSize:5},i!==E.b&&e.createElement(m.a,{style:{maxHeight:"172px"}}),e.createElement("p",null,Object(d.__)("*Average for publishers showing non-dismissible ad blocking recovery messages placed at the center of the page on desktop","google-site-kit"))))):e.createElement(a,null)}AdBlockingRecoverySetupCTAWidget.propTypes={Widget:s.a.elementType.isRequired,WidgetNull:s.a.elementType.isRequired},t.a=Object(N.a)({moduleName:"adsense"})(AdBlockingRecoverySetupCTAWidget)}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(0),r=n.n(a),i=n(3),o=n(238),c=n(50),s=n(6);function AdBlockerWarningWidget(t){var n=t.Widget,a=t.WidgetNull;return Object(i.useSelect)((function(e){return e(s.a).isAdBlockerActive()}))?e.createElement(n,{noPadding:!0},e.createElement(o.a,{moduleSlug:"adsense"})):e.createElement(a,null)}AdBlockerWarningWidget.propTypes={Widget:r.a.elementType.isRequired},t.a=Object(c.a)({moduleName:"adsense"})(AdBlockerWarningWidget)}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(1),s=n(2),l=n(0),u=n.n(l),d=n(3),g=n(589),m=n(546),f=n(6),p=n(19),b=n(18),v=n(9),h=n(106);function AdSenseConnectCTAWidget(t){var n=t.Widget,a=t.WidgetNull,i=Object(d.useDispatch)(f.a).dismissItem,l=Object(h.c)(m.b).isTooltipVisible,u=Object(b.a)(),y=Object(d.useSelect)((function(e){return e(p.a).isModuleConnected("adsense")})),O=Object(d.useSelect)((function(e){return e(f.a).isItemDismissed(m.a)})),_=Object(d.useSelect)((function(e){return e(f.a).isDismissingItem(m.a)})),E=Object(h.b)(m.b),k=Object(c.useCallback)(o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(v.J)("".concat(u,"_adsense-cta-widget"),"dismiss_tooltip");case 2:case"end":return e.stop()}}),e)}))),[u]),S=Object(c.useCallback)(o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return E(),e.next=3,i(m.a);case 3:case"end":return e.stop()}}),e)}))),[i,E]);return l?e.createElement(c.Fragment,null,e.createElement(a,null),e.createElement(h.a,{title:Object(s.__)("You can always connect AdSense from here later","google-site-kit"),content:Object(s.__)("The Monetization section will be added back to your dashboard if you connect AdSense in Settings later","google-site-kit"),dismissLabel:Object(s.__)("Got it","google-site-kit"),onDismiss:k,tooltipStateKey:m.b})):!1===y&&!1===O&&!1===_?e.createElement(n,{noPadding:!0},e.createElement(g.a,{onDismissModule:S})):e.createElement(a,null)}AdSenseConnectCTAWidget.propTypes={Widget:u.a.elementType.isRequired,WidgetNull:u.a.elementType.isRequired},t.a=AdSenseConnectCTAWidget}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(15),r=n.n(a),i=n(0),o=n.n(i),c=n(216),s=n(372),l=n(2),u=n(1),d=n(3),g=n(546),m=n(6),f=n(8),p=n(31),b=n(674),v=n(9),h=n(18),y=n(36),O=n(50),_=n(133),E=n(21),k=n(418),S=n(498),j=n(499),T=n(148),A=n(161),N=n(238);function DashboardTopEarningPagesWidgetGA4(t){var n=t.WidgetNull,a=t.WidgetReportError,i=t.Widget,o=Object(y.a)(),s=Object(d.useInViewSelect)((function(e){return e(f.r).isGatheringData()})),O=Object(d.useSelect)((function(e){return e(m.a).getDateRangeDates({offsetDays:f.g})})),C=O.startDate,w=O.endDate,I=Object(d.useSelect)((function(e){return e(p.m).getAccountID()})),M={startDate:C,endDate:w,dimensions:["pagePath","adSourceName"],metrics:[{name:"totalAdRevenue"}],dimensionFilters:{adSourceName:"Google AdSense account (".concat(I,")")},orderby:[{metric:{metricName:"totalAdRevenue"},desc:!0}],limit:5},R=Object(d.useInViewSelect)((function(e){return e(f.r).getReport(M)}),[M]),D=Object(d.useSelect)((function(e){return e(f.r).getErrorForSelector("getReport",[M])})),x=Object(d.useInViewSelect)((function(e){return D?void 0:e(f.r).getPageTitles(R,M)}),[R,M]),L=Object(d.useSelect)((function(e){return!e(f.r).hasFinishedResolution("getReport",[M])||!D&&void 0===x})),P=Object(d.useSelect)((function(e){return e(m.a).isItemDismissed(g.c)})),G=Object(d.useSelect)((function(e){return o?null:e(f.r).getServiceReportURL("content-publisher-overview",Object(b.a)({startDate:C,endDate:w}))})),Z=Object(d.useSelect)((function(e){return e(f.r).getAdSenseLinked()})),B=Object(d.useSelect)((function(e){return e(m.a).isAdBlockerActive()})),U=Object(u.useRef)(),F=Object(u.useState)(!1),z=r()(F,2),W=z[0],V=z[1],H=function(e){U.current=e,e&&!W&&V(!0)},q=Object(h.a)(),K=Object(c.a)(U,{threshold:.25}),Y=Object(u.useState)(!1),J=r()(Y,2),$=J[0],X=J[1],Q=!!(null==K?void 0:K.intersectionRatio);Object(u.useEffect)((function(){Q&&!$&&(Z&&Object(v.J)("".concat(q,"_top-earning-pages-widget"),"view_widget"),Z||Object(v.J)("".concat(q,"_top-earning-pages-widget"),"view_notification"),X(!0))}),[Q,q,Z,$]);if(P)return e.createElement(n,null);if(!Z&&o)return e.createElement(n,null);if(B)return e.createElement(i,{Footer:Footer},e.createElement(N.a,{moduleSlug:"adsense"}));if(L||void 0===s)return e.createElement(i,{noPadding:!0,Footer:Footer},e.createElement(k.a,{rows:5,padding:!0}));if(!Z&&!o)return e.createElement(i,{Footer:Footer,ref:H},e.createElement(A.b,{onClick:function(){Object(v.J)("".concat(q,"_top-earning-pages-widget"),"click_learn_more_link")}}));if(D)return e.createElement(i,{Footer:Footer},e.createElement(a,{moduleSlug:"analytics-4",error:D}));function Footer(){return e.createElement(_.a,{className:"googlesitekit-data-block__source",name:Object(l._x)("Analytics","Service name","google-site-kit"),href:G,external:!0})}var ee=[{title:Object(l.__)("Top Earning Pages","google-site-kit"),tooltip:Object(l.__)("Top Earning Pages","google-site-kit"),primary:!0,Component:function Component(t){var n=t.row,a=r()(n.dimensionValues,1)[0].value,i=x[a],c=Object(d.useSelect)((function(e){return o?null:e(f.r).getServiceReportURL("all-pages-and-screens",{filters:{unifiedPagePathScreen:a},dates:{startDate:C,endDate:w}})}));return o?e.createElement("span",null,i):e.createElement(E.a,{href:c,title:i,external:!0,hideExternalIndicator:!0},i)}},{title:Object(l.__)("Earnings","google-site-kit"),tooltip:Object(l.__)("Earnings","google-site-kit"),field:"metricValues.0.value",Component:function Component(t){var n,a=t.fieldValue;return e.createElement("span",null,Object(v.C)(a,{style:"currency",currency:null==R||null===(n=R.metadata)||void 0===n?void 0:n.currencyCode}))}}];return e.createElement(i,{noPadding:!0,Footer:Footer,ref:H},e.createElement(j.a,null,e.createElement(S.a,{rows:(null==R?void 0:R.rows)||[],columns:ee,zeroState:T.h,gatheringData:s})))}DashboardTopEarningPagesWidgetGA4.propTypes={Widget:o.a.elementType.isRequired,WidgetNull:o.a.elementType.isRequired,WidgetReportError:o.a.elementType.isRequired},t.a=Object(s.a)(Object(O.a)({moduleName:"adsense"}),Object(O.a)({moduleName:"analytics-4"}))(DashboardTopEarningPagesWidgetGA4)}).call(this,n(4))},function(e,t,n){"use strict";(function(e){var a=n(7),r=n.n(a),i=n(15),o=n.n(i),c=n(0),s=n.n(c),l=n(1),u=n(2),d=n(31),g=n(6),m=n(252),f=n(42),p=n(50),b=n(793),v=n(794),h=n(1018),y=n(1019),O=n(3),_=n(1021),E=n(36);function k(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function S(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.type,n=e.currencyCode;if("METRIC_CURRENCY"===t)return Object(l.c)(n);var a={METRIC_TALLY:void 0,METRIC_RATIO:"percent",METRIC_DECIMAL:"decimal",METRIC_MILLISECONDS:void 0};return a[t]}(a.headers[c+1]),gridlines:{color:"#eee"},minorGridlines:{color:"#eee"},textStyle:{color:"#616161",fontSize:12},titleTextStyle:{color:"#616161",fontSize:12,italic:!1},viewWindow:{min:0}},focusTarget:"category",crosshair:{color:"gray",opacity:.1,orientation:"vertical",trigger:"both"},tooltip:{isHtml:!0,trigger:"both"},series:{0:{color:m[c],targetAxisIndex:0},1:{color:m[c],targetAxisIndex:0,lineDashStyle:[3,3],lineWidth:1}}};return Object(u.g)(a,c+1)&&Object(u.g)(i,c+1)?p.vAxis.viewWindow.max=100:p.vAxis.viewWindow.max=void 0,e.createElement(d.e,{className:"googlesitekit-adsense-site-stats"},e.createElement(d.k,null,e.createElement(d.a,{size:12},e.createElement(g.a,{chartType:"LineChart",data:s,loadingHeight:"270px",loadingWidth:"100%",options:p}))))}Stats.propTypes={metrics:s.a.object,currentRangeData:s.a.object,previousRangeData:s.a.object,selectedStats:s.a.number.isRequired}}).call(this,n(4))},,function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return StatusMigration}));var a=n(5),r=n.n(a),i=n(16),o=n.n(i),c=n(1),s=n(2),l=n(10),u=n(3),d=n(138),g=n(32),m=n(102),f=n(31),p=n(137);function StatusMigration(){var t,n=Object(u.useSelect)((function(e){return e(f.m).getAccountID()})),a=Object(u.useSelect)((function(e){return e(f.m).getAFCClient(n)})),i=Object(u.useSelect)((function(e){return e(f.m).getCurrentSite(n)})),b=Object(u.useSelect)((function(e){return e(f.m).getAdminReauthURL()})),v=Object(u.useSelect)((function(e){return e(g.a).isNavigating()})),h=Object(u.useDispatch)(f.m),y=h.setAccountStatus,O=h.setSiteStatus,_=h.setAccountSetupComplete,E=h.setSiteSetupComplete,k=h.saveSettings,S=Object(u.useDispatch)(g.a).navigateTo;a&&i&&(t=!(a.state!==f.g||i.state!==f.g||!i.autoAdsEnabled)),Object(c.useEffect)((function(){t&&o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y(p.k);case 2:return e.next=4,O(p.p);case 4:return e.next=6,k();case 6:case"end":return e.stop()}}),e)})))()}),[t,k,y,O]);var j=function(){var e=o()(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_(!1);case 2:return e.next=4,E(!1);case 4:return e.next=6,k();case 6:S(b);case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return!0===t?null:e.createElement(m.b,null,e.createElement(m.c,null,e.createElement(m.a,{size:12},void 0===t&&e.createElement(l.ProgressBar,null),!1===t&&e.createElement(d.c,{className:"googlesitekit-settings-notice-adsense-status-migration",type:d.b,notice:Object(s.__)("You need to redo setup to complete AdSense configuration","google-site-kit"),CTA:function CTA(){return e.createElement(l.SpinnerButton,{onClick:j,disabled:v,isSaving:v},Object(s.__)("Redo setup","google-site-kit"))}}))))}}).call(this,n(4))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);var a,r=n(3),i=n.n(r),o=n(187),c=n.n(o),s=n(396),l=n.n(s),u=n(5),d=n.n(u),g=n(16),m=n.n(g),f=n(2),p=n(84),b=n(660),v=(n(606),n(739),n(859)),h=(n(740),n(860)),y=n(861),O=n(862),_=n(863),E=n(864),k=n(865),S=n(866),j=n(506),T=n(31),A=(n(741),n(867)),N=n(6),C=n(8),w=n(7),I=n.n(w),M=n(12),R=n.n(M),D=n(196),x=n(252),L=n(61);function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function G(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.accountID,n=e.clientID;R()(t,"accountID is required."),R()(n,"clientID is required.")}}),ue={getAdUnits:d.a.mark((function e(t,n){var a;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==t&&void 0!==n){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,r.commonActions.getRegistry();case 4:if(a=e.sent,!a.select(T.m).getAdUnits(t,n)){e.next=8;break}return e.abrupt("return");case 8:return e.next=10,le.actions.fetchGetAdUnits(t,n);case 10:case"end":return e.stop()}}),e)}))},de={getAdUnits:function(e,t,n){if(void 0!==t&&void 0!==n)return e.adunits["".concat(t,"::").concat(n)]}},ge=Object(r.combineStores)(le,{initialState:{adunits:{}},actions:{},reducer:function(e,t){t.type;return e},resolvers:ue,selectors:de}),me=(ge.initialState,ge.actions,ge.controls,ge.reducer,ge.resolvers,ge.selectors,ge);function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function pe(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.accountID;R()(t,"accountID is required.")}}),ve={resetClients:d.a.mark((function e(){var t,n;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.commonActions.getRegistry();case 2:return t=e.sent,n=t.dispatch,e.next=6,{payload:{},type:"RESET_CLIENTS"};case 6:return e.next=8,X.a.clearErrors("getClients");case 8:return e.abrupt("return",n(T.m).invalidateResolutionForStoreSelector("getClients"));case 9:case"end":return e.stop()}}),e)}))},he={getClients:d.a.mark((function e(t){var n;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==t&&Object(x.e)(t)){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,r.commonActions.getRegistry();case 4:if(n=e.sent,!n.select(T.m).getClients(t)){e.next=8;break}return e.abrupt("return");case 8:return e.next=10,be.actions.fetchGetClients(t);case 10:case"end":return e.stop()}}),e)}))},ye={getClients:function(e,t){if(void 0!==t)return e.clients[t]},getAFCClient:Object(r.createRegistrySelector)((function(e){return function(t,n){if(void 0!==n){var a=e(T.m).getClients(n);if(void 0!==a){var r=a.filter((function(e){return"AFC"===e.productCode}));return r.length?r[0]:null}}}}))},Oe=Object(r.combineStores)(be,{initialState:{clients:{}},actions:ve,reducer:function(e,t){switch(t.type){case"RESET_CLIENTS":var n=e.savedSettings||{},a=n.clientID,r=n.accountStatus,i=n.siteStatus,o=n.accountSetupComplete,c=n.siteSetupComplete;return pe(pe({},e),{},{clients:_e.clients,settings:pe(pe({},e.settings||{}),{},{clientID:a,accountStatus:r,siteStatus:i,accountSetupComplete:o,siteSetupComplete:c})});default:return e}},resolvers:he,selectors:ye}),_e=Oe.initialState,Ee=(Oe.actions,Oe.controls,Oe.reducer,Oe.resolvers,Oe.selectors,Oe),ke=n(14),Se=n(9),je=n(152),Te=["ACTIVE_VIEW_MEASURABILITY","ACTIVE_VIEW_TIME","ACTIVE_VIEW_VIEWABILITY","AD_REQUESTS_COVERAGE","AD_REQUESTS_CTR","AD_REQUESTS_RPM","AD_REQUESTS_SPAM_RATIO","AD_REQUESTS","ADS_PER_IMPRESSION","CLICKS_SPAM_RATIO","CLICKS","COST_PER_CLICK","ESTIMATED_EARNINGS","IMPRESSIONS_CTR","IMPRESSIONS_RPM","IMPRESSIONS_SPAM_RATIO","IMPRESSIONS","INDIVIDUAL_AD_IMPRESSIONS_CTR","INDIVIDUAL_AD_IMPRESSIONS_RPM","INDIVIDUAL_AD_IMPRESSIONS_SPAM_RATIO","INDIVIDUAL_AD_IMPRESSIONS","MATCHED_AD_REQUESTS_CTR","MATCHED_AD_REQUESTS_RPM","MATCHED_AD_REQUESTS_SPAM_RATIO","MATCHED_AD_REQUESTS","METRIC_UNSPECIFIED","PAGE_VIEWS_CTR","PAGE_VIEWS_RPM","PAGE_VIEWS_SPAM_RATIO","PAGE_VIEWS","TOTAL_EARNINGS","TOTAL_IMPRESSIONS","WEBSEARCH_RESULT_PAGES"],Ae=["ACCOUNT_NAME","AD_CLIENT_ID","AD_FORMAT_CODE","AD_FORMAT_NAME","AD_PLACEMENT_CODE","AD_PLACEMENT_NAME","AD_UNIT_ID","AD_UNIT_NAME","AD_UNIT_SIZE_CODE","AD_UNIT_SIZE_NAME","BID_TYPE_CODE","BID_TYPE_NAME","BUYER_NETWORK_ID","BUYER_NETWORK_NAME","CONTENT_PLATFORM_CODE","CONTENT_PLATFORM_NAME","COUNTRY_CODE","COUNTRY_NAME","CREATIVE_SIZE_CODE","CREATIVE_SIZE_NAME","CUSTOM_CHANNEL_ID","CUSTOM_CHANNEL_NAME","CUSTOM_SEARCH_STYLE_ID","CUSTOM_SEARCH_STYLE_NAME","DATE","DIMENSION_UNSPECIFIED","DOMAIN_CODE","DOMAIN_NAME","DOMAIN_REGISTRANT","MONTH","OWNED_SITE_DOMAIN_NAME","OWNED_SITE_ID","PLATFORM_TYPE_CODE","PLATFORM_TYPE_NAME","PRODUCT_CODE","PRODUCT_NAME","REQUESTED_AD_TYPE_CODE","REQUESTED_AD_TYPE_NAME","SERVED_AD_TYPE_CODE","SERVED_AD_TYPE_NAME","TARGETING_TYPE_CODE","TARGETING_TYPE_NAME","URL_CHANNEL_ID","URL_CHANNEL_NAME","WEBSEARCH_QUERY_STRING","WEEK"];function Ne(e){var t=Object(ke.castArray)(e);R()(t.length,"at least one metric is required.");var n=t.filter((function(e){return!Te.includes(e)}));R()(0===n.length,"invalid AdSense metrics requested: ".concat(n.toString()))}function Ce(e){var t=Object(ke.castArray)(e);R()(t.length,"at least one dimension is required.");var n=t.filter((function(e){return!Ae.includes(e)}));R()(0===n.length,"invalid AdSense dimensions requested: ".concat(n.toString()))}function we(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ie(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.options;R()(Object(ke.isPlainObject)(t),"options must be an object."),R()(Object(je.a)(t),"Either date range or start/end dates must be provided for AdSense report.");var n=t.orderby,a=t.metrics,r=t.dimensions;R()(Object(je.d)(a),"Metrics for an AdSense report must be either a string or an array of strings."),Ne(a),r&&(R()(Object(je.d)(r),"Dimensions for an AdSense report must be either a string or an array of strings."),Ce(r)),n&&R()(Object(je.b)(n),'Orders for an AdSense report must be either an object or an array of objects where each object should have "fieldName" and "sortOrder" properties.')}}),Re={getReport:d.a.mark((function e(){var t,n,a=arguments;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.length>0&&void 0!==a[0]?a[0]:{},e.next=3,r.commonActions.getRegistry();case 3:if(n=e.sent,!n.select(T.m).getReport(t)){e.next=7;break}return e.abrupt("return");case 7:return e.next=9,Me.actions.fetchGetReport(t);case 9:case"end":return e.stop()}}),e)}))},De={getReport:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.reports;return n[Object(Se.I)(t)]}},xe=Object(r.combineStores)(Me,{initialState:{reports:{}},resolvers:Re,selectors:De}),Le=(xe.initialState,xe.actions,xe.controls,xe.reducer,xe.resolvers,xe.selectors,xe),Pe=n(564),Ge=Object(Pe.a)({storeName:T.m,tagMatchers:[/google_ad_client: ?["|'](.*?)["|']/,/<(?:script|amp-auto-ads) [^>]*data-ad-client="([^"]+)"/,/<(?:script|amp-auto-ads)[^>]*src="[^"]*\?client=(ca-pub-[^"]+)"[^>]*>/],isValidTag:x.f}),Ze=n(19),Be={selectors:{getAdBlockerWarningMessage:Object(r.createRegistrySelector)((function(e){return function(){var t=e(N.a).isAdBlockerActive();if(void 0!==t)return t?e(Ze.a).isModuleConnected("adsense")?Object(f.__)("Ad blocker detected; please disable it to get the latest AdSense data","google-site-kit"):Object(f.__)("Ad blocker detected; please disable it to set up AdSense","google-site-kit"):null}}))}},Ue=n(165),Fe=n(13),ze=n(594);function We(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}var Ve={selectors:{getServiceURL:Object(r.createRegistrySelector)((function(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=n.path,r=n.query,i="https://www.google.com/adsense/new/u/0";if(a){var o="/".concat(a.replace(/^\//,""));i="".concat(i).concat(o)}r&&(i=Object(Ue.a)(i,r));var c=e(N.a).getAccountChooserURL(i);if(void 0!==c)return c}})),getServiceCreateAccountURL:Object(r.createRegistrySelector)((function(e){return function(){var t=e(Fe.c).getReferenceSiteURL(),n={source:"site-kit",utm_source:"site-kit",utm_medium:"wordpress_signup"};return void 0!==t&&(n.url=Object(ze.a)(t)),Object(Ue.a)("https://www.google.com/adsense/signup",n)}})),getServiceAccountURL:Object(r.createRegistrySelector)((function(e){return function(){var t=e(T.m).getAccountID();if(void 0!==t){return e(T.m).getServiceURL({accountID:t,query:{source:"site-kit"}})}}})),getServiceReportURL:Object(r.createRegistrySelector)((function(e){return function(t,n){var a=e(T.m).getAccountID();if(void 0!==a){var r=function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.accountID;R()(t,"accountID is required.")}}),Ye={resetSites:d.a.mark((function e(){var t,n;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.commonActions.getRegistry();case 2:return t=e.sent,n=t.dispatch,e.next=6,{payload:{},type:"RESET_SITES"};case 6:return e.next=8,X.a.clearErrors("getSites");case 8:return e.abrupt("return",n(T.m).invalidateResolutionForStoreSelector("getSites"));case 9:case"end":return e.stop()}}),e)}))},Je={getSites:d.a.mark((function e(t){var n;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==t&&Object(x.e)(t)){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,r.commonActions.getRegistry();case 4:if(n=e.sent,!n.select(T.m).getSites(t)){e.next=8;break}return e.abrupt("return");case 8:return e.next=10,Ke.actions.fetchGetSites(t);case 10:case"end":return e.stop()}}),e)}))},$e={getSites:function(e,t){if(void 0!==t)return e.sites[t]},getSite:Object(r.createRegistrySelector)((function(e){return function(t,n,a){return function(e,t){if(void 0!==e&&void 0!==t&&Array.isArray(e)){var n=e.filter((function(e){return!!e.state})),a=n.find((function(e){return e.domain===t.toLowerCase()}));return a||(n.find((function(e){return new RegExp("\\.".concat(Object(ke.escapeRegExp)(e.domain),"$"),"i").test(t)}))||null)}}(e(T.m).getSites(n),a)}})),getCurrentSite:Object(r.createRegistrySelector)((function(e){return function(t,n){var a=e(Fe.c).getReferenceSiteURL(),r=new URL(a);return e(T.m).getSite(n,r.hostname)}}))},Xe=Object(r.combineStores)(Ke,{initialState:{sites:{}},actions:Ye,reducer:function(e,t){switch(t.type){case"RESET_SITES":var n=e.savedSettings||{},a=n.siteID,r=n.accountStatus,i=n.siteStatus,o=n.accountSetupComplete,c=n.siteSetupComplete;return qe(qe({},e),{},{sites:Qe.sites,settings:qe(qe({},e.settings||{}),{},{siteID:a,accountStatus:r,siteStatus:i,accountSetupComplete:o,siteSetupComplete:c})});default:return e}},resolvers:Je,selectors:$e}),Qe=Xe.initialState,et=(Xe.actions,Xe.controls,Xe.reducer,Xe.resolvers,Xe.selectors,Xe),tt=n(363),nt=[/ + get_error_code()}: {$response->get_error_message()}"; + } else { + $data = $response['http_response']->get_response_object()->raw; + } + + self::log( $method, 'Response: ' . "\n\n" . $data . "\n", $level ); + } +} + diff --git a/plugins/tiktok-for-business/mapi/Tt4b_Mapi_Class.php b/plugins/tiktok-for-business/mapi/Tt4b_Mapi_Class.php new file mode 100644 index 000000000..b9a17b216 --- /dev/null +++ b/plugins/tiktok-for-business/mapi/Tt4b_Mapi_Class.php @@ -0,0 +1,474 @@ +mapi_url = 'https://business-api.tiktok.com/open_api/'; + $this->tbp_url = 'https://business-api.tiktok.com/tbp/'; + $this->plugin_url = 'https://business-api.tiktok.com/plugin/'; + $this->logger = $logger; + } + + /** + * Initializes actions related to Tt4b_Mapi_Class such as eligibility information collection + */ + public function init() { + add_action( 'tt4b_trust_signal_collection', array( $this, 'retrieve_eligibility_information' ), 1, 0 ); + add_action( 'tt4b_trust_signal_helper', array( $this, 'retrieve_eligibility_helper' ), 2, 1 ); + } + + /** + * Posts to business-api.tiktok.com + * + * @param string $endpoint The endpoint for the mapi post + * @param string $access_token The MAPI issued access token + * @param array $params Whichever params to be included with the post + * @param string $version The MAPI version used + * + * @return string + */ + public function mapi_post( $endpoint, $access_token, $params, $version ) { + $url = $this->mapi_url . $version . '/' . $endpoint; + $args = array( + 'method' => 'POST', + 'data_format' => 'body', + 'headers' => array( + 'Access-Token' => $access_token, + 'Content-Type' => 'application/json', + ), + 'body' => json_encode( $params ), + ); + $this->logger->log_request( $url, $args ); + $response = wp_remote_post( $url, $args ); + $this->logger->log_response( __METHOD__, $response ); + $body = wp_remote_retrieve_body( $response ); + return $body; + } + + /** + * Get from business-api.tiktok.com + * + * @param string $endpoint The endpoint for the mapi post + * @param string $access_token The MAPI issued access token + * @param array $params Whichever params to be included with the post + * @param string $version The MAPI version used + * + * @return string + */ + public function mapi_get( $endpoint, $access_token, $params, $version ) { + $url = $this->mapi_url . $version . '/' . $endpoint . '?' . http_build_query( $params ); + $args = array( + 'method' => 'GET', + 'headers' => array( + 'Access-Token' => $access_token, + 'Content-Type' => 'application/json', + ), + ); + $this->logger->log_request( $url, $args ); + $result = wp_remote_get( $url, $args ); + $this->logger->log_response( __METHOD__, $result ); + $body = wp_remote_retrieve_body( $result ); + return $body; + } + + /** + * Get from tbp/business_profile + * + * @param string $access_token The MAPI issued access token + * @param string $external_business_id The exteneral business_id of the merchant + * + * @return string + */ + public function get_business_profile( $access_token, $external_business_id ) { + // returns a raw API response from TikTok tbp/business_profile/get/ endpoint + + if ( false === $external_business_id ) { + $this->logger->log( __METHOD__, 'external_business_id not found, exiting' ); + return ''; + } + + $url = 'tbp/business_profile/get/'; + $params = array( + 'business_platform' => 'WOO_COMMERCE', + 'external_business_id' => $external_business_id, + 'full_data' => 1, + ); + $result = $this->mapi_get( $url, $access_token, $params, 'v1.2' ); + return $result; + } + + /** + * + * Get from api/user/location + * + * @return string + */ + public function get_user_location() { + // returns a raw API response from TikTok api/user/location endpoint + $url = 'https://ads.tiktok.com/creative_hub_server/api/user/location'; + $this->logger->log_request( $url, array() ); + $result = wp_remote_get( $url ); + $this->logger->log_response( __METHOD__, $result ); + return wp_remote_retrieve_body( $result ); + } + + + /** + * Post to tbp + * + * @param string $external_data The external data + * @param string $endpoint The endpoint + * @param string $version The version + * @param array $params The body of the request + * @param int $tbp_api_type Which url to use based on the TBPApi abstract class + * + * @return string + */ + public function tbp_post( $external_data, $endpoint, $version, $params, $tbp_api_type ) { + // posts to TBP + switch ( $tbp_api_type ) { + case TBPApi::PLUGIN: + $domain = $this->plugin_url; + break; + default: + $domain = $this->tbp_url; + break; + } + $base_url = $domain . $version . '/' . $endpoint; + $url = $base_url . '?external_data=' . $external_data; + $args = array( + 'method' => 'POST', + 'data_format' => 'body', + 'headers' => array( + 'Content-Type' => 'application/json', + ), + 'body' => json_encode( $params ), + ); + $this->logger->log_request( $url, $args ); + $response = wp_remote_post( $url, $args ); + $this->logger->log_response( __METHOD__, $response ); + return wp_remote_retrieve_body( $response ); + } + + /** + * Update from tbp/business_profile + * + * @param string $access_token The MAPI issued access token + * @param string $external_business_id The external business_id of the merchant + * @param integer $total_gmv The merchant's total gmv + * @param integer $total_orders The merchant's total orders + * @param integer $total_orders The merchant's tenure in days + * @param string $current_tiktok_for_woocommerce_version The current tiktok-for-woocommerce version + * + * @return void + */ + public function update_business_profile( $access_token, $external_business_id, $total_gmv, $total_orders, $days_since_first_order, $current_tiktok_for_woocommerce_version ) { + // updates the business_profile. Used for updating a merchants eligibility criteria. + if ( false === $external_business_id ) { + $this->logger->log( __METHOD__, 'external_business_id not found, exiting' ); + } + + $url = 'tbp/business_profile/store/update/'; + $net_gmv = array( + array( + 'interval' => 'LIFETIME', + 'max' => $total_gmv, + 'min' => $total_gmv, + 'unit' => 'CURRENCY', + ), + ); + $net_order_count = array( + array( + 'interval' => 'LIFETIME', + 'max' => $total_orders, + 'min' => $total_orders, + 'unit' => 'COUNT', + ), + ); + $tenure = array( + 'min' => $days_since_first_order, + 'max' => $days_since_first_order, + 'unit' => 'DAYS', + ); + $params = array( + 'business_platform' => 'WOO_COMMERCE', + 'external_business_id' => $external_business_id, + 'net_gmv' => $net_gmv, + 'net_order_count' => $net_order_count, + 'tenure' => $tenure, + 'extra_data' => $current_tiktok_for_woocommerce_version, + ); + $this->mapi_post( $url, $access_token, $params, 'v1.2' ); + } + + /** + * Returns a raw API response from TikTok + * marketing_api/api/developer/app/create_auto_approve/ + * + * @param string $smb_id The merchants external_business_id + * @param string $smb_name The MAPI issued access token + * @param string $redirect_uri The redirect_url (the store url) + * + * @return string|bool + */ + public function create_open_source_app( $smb_id, $smb_name, $redirect_uri ) { + $url = 'https://ads.tiktok.com/marketing_api/api/developer/app/create_auto_approve/'; + $open_source_token = '244e1de7-8dad-4656-a859-8dc09eea299d'; + $tries = 0; + $params = array( + 'business_platform' => 'PROD', + 'smb_id' => $smb_id, + 'smb_name' => $smb_name, + 'redirect_url' => $redirect_uri, + ); + $args = array( + 'method' => 'POST', + 'data_format' => 'body', + 'headers' => array( + 'Access-Token' => $open_source_token, + 'Content-Type' => 'application/json', + 'Referer' => 'https://ads.tiktok.com', + ), + 'body' => json_encode( $params ), + ); + $this->logger->log_request( $url, $args ); + while ( $tries <= 3 ) { + $response = wp_remote_post( $url, $args ); + ++$tries; + if ( 200 !== wp_remote_retrieve_response_code( $response ) ) { + $this->logger->log_response( __METHOD__, $response ); + } else { + $this->logger->log_response( __METHOD__, $response ); + return wp_remote_retrieve_body( $response ); + } + } + return false; + } + + /** + * Returns a raw API response from TikTok oauth2/access_token_v2/ endpoint + * + * @param string $app_id The MAPI app_id + * @param string $secret The MAPI secret + * @param string $auth_code The auth_code + * @param string $version The MAPI version used + * + * @return string + */ + public function get_access_token( $app_id, $secret, $auth_code, $version ) { + $endpoint = 'oauth2/access_token/'; + $url = $this->mapi_url . $version . '/' . $endpoint; + $params = array( + 'app_id' => $app_id, + 'secret' => $secret, + 'auth_code' => $auth_code, + ); + $args = array( + 'method' => 'POST', + 'data_format' => 'body', + 'headers' => array( 'Content-Type' => 'application/json' ), + 'body' => json_encode( $params ), + ); + $this->logger->log_request( $url, $args ); + $response = wp_remote_post( $url, $args ); + $this->logger->log_response( __METHOD__, $response ); + $body = wp_remote_retrieve_body( $response ); + return $body; + } + + /** + * Returns a cron string with randomized hour and minute values for scheduling recurring eligibility collection + * + * @return string + */ + private function generate_cron_string() { + $minute = rand( 0, 59 ); + $hour = rand( 0, 23 ); + return '' . $minute . ' ' . $hour . ' * * 0-6'; + } + + /** + * Begins first eligibility information collection process, and scheduled recurring collection if not already scheduled + * + * @return void + */ + public function fetch_eligibility() { + // only fetch if using woocommerce + if ( ! did_action( 'woocommerce_loaded' ) > 0 ) { + return; + } + + $currentGroup = 'tt4b_version_' . get_option( 'tt4b_version' ); + if ( false === as_has_scheduled_action( 'tt4b_trust_signal_collection', array(), $currentGroup ) ) { + // if no scheduled trust signal collection actions with $currentGroup group name, but there are scheduled actions (with no group name, or with other group names) + // that means there are scheduled actions from a previous version that should be removed and replaced with scheduled actions from the latest + if ( true === as_has_scheduled_action( 'tt4b_trust_signal_collection' ) ) { + // deletes scheduled actions from previous version + as_unschedule_all_actions( 'tt4b_trust_signal_collection' ); + as_unschedule_all_actions( 'tt4b_trust_signal_helper' ); + } + as_enqueue_async_action( 'tt4b_trust_signal_collection' ); + $cronStr = $this->generate_cron_string(); + as_schedule_cron_action( strtotime( 'tomorrow' ), $cronStr, 'tt4b_trust_signal_collection', array(), $currentGroup ); + } + } + + /** + * Retrieves eligibility information from merchants woocommerce store via creation of retrieve_eligibility_helper functions for batches of 20 orders + * + * @return void + */ + public function retrieve_eligibility_information() { + // only fetch if using woocommerce + if ( ! did_action( 'woocommerce_loaded' ) > 0 ) { + return; + } + + $args = array( + 'post_status' => 'wc-completed', + 'paginate' => true, + 'limit' => 100, + ); + $result = wc_get_orders( $args ); + $pages = $result->max_num_pages; + update_option( 'tt4b_mapi_total_gmv', 0 ); + update_option( 'tt4b_mapi_total_orders', 0 ); + update_option( 'tt4b_mapi_tenure', 0 ); + update_option( 'tt4b_eligibility_page_total', $pages ); + $oldest_orders = ( new WC_Order_Query( + array( + 'limit' => 1, + 'orderby' => 'date', + 'order' => 'ASC', + ) + ) )->get_orders(); + if ( count( $oldest_orders ) > 0 ) { + $oldest_order_timestamp = $oldest_orders[0]->get_date_created()->getTimestamp(); + $mapi_tenure = (int) ( ( time() - $oldest_order_timestamp ) / DAY_IN_SECONDS ); + update_option( 'tt4b_mapi_tenure', $mapi_tenure ); + } + if ( false === as_has_scheduled_action( 'tt4b_trust_signal_helper', array( 'page' => 1 ) ) ) { + as_enqueue_async_action( 'tt4b_trust_signal_helper', array( 'page' => 1 ) ); + } + } + + /** + * Helper function used to calculate eligibility information in batches of 20 + * + * @param integer $page The page of orders from woocommerce + * + * @return void + */ + public function retrieve_eligibility_helper( $page ) { + // only fetch if using woocommerce + if ( ! did_action( 'woocommerce_loaded' ) > 0 ) { + return; + } + + $orders = wc_get_orders( + array( + 'post_status' => 'wc-completed', + 'limit' => 100, + 'page' => $page, + ) + ); + foreach ( $orders as $order ) { + if ( is_null( $order ) ) { + break; + } + $order_total = $order->get_total(); + if ( $order_total > 0 ) { + $mapi_total_gmv = get_option( 'tt4b_mapi_total_gmv' ); + $mapi_total_gmv += intval( $order_total ); + update_option( 'tt4b_mapi_total_gmv', $mapi_total_gmv ); + $mapi_total_orders = get_option( 'tt4b_mapi_total_orders' ); + ++$mapi_total_orders; + update_option( 'tt4b_mapi_total_orders', $mapi_total_orders ); + } + if ( 0 === count( $orders ) ) { + break; + } + } + $page_total = get_option( 'tt4b_eligibility_page_total' ); + ++$page; + if ( ( $page <= $page_total ) && ( false === as_has_scheduled_action( 'tt4b_trust_signal_helper', array( 'page' => $page ) ) ) ) { + as_enqueue_async_action( 'tt4b_trust_signal_helper', array( 'page' => $page ) ); + } else { + $access_token = get_option( 'tt4b_access_token' ); + $external_business_id = get_option( 'tt4b_external_business_id' ); + $total_gmv = intval( get_option( 'tt4b_mapi_total_gmv' ) ); + $total_orders = intval( get_option( 'tt4b_mapi_total_orders' ) ); + $tenure = intval( get_option( 'tt4b_mapi_tenure' ) ); + $version = get_option( 'tt4b_version' ); + $this->update_business_profile( $access_token, $external_business_id, $total_gmv, $total_orders, $tenure, $version ); + } + } + + /** + * TTS Disconnect + * + * @param string $external_data The external data + * + * @return void + */ + public function tts_shop_disconnect( $external_data ) { + $base_url = 'https://business-api.tiktok.com/tbp/v2.0/shop/connection/disconnect'; + $url = $base_url . '?external_data=' . $external_data; + $args = array( + 'method' => 'POST', + 'headers' => array( + 'Content-Type' => 'application/json', + ), + ); + $this->logger->log_request( $url, $args ); + $response = wp_remote_post( $url, $args ); + $this->logger->log_response( __METHOD__, $response ); + } +} diff --git a/plugins/tiktok-for-business/package-lock.json b/plugins/tiktok-for-business/package-lock.json new file mode 100644 index 000000000..d227bd31b --- /dev/null +++ b/plugins/tiktok-for-business/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "tiktok", + "version": "1.0.0", + "lockfileVersion": 1 +} diff --git a/plugins/tiktok-for-business/package.json b/plugins/tiktok-for-business/package.json new file mode 100644 index 000000000..e61caac5f --- /dev/null +++ b/plugins/tiktok-for-business/package.json @@ -0,0 +1,29 @@ +{ + "name": "tiktok", + "title": "TikTok", + "license": "GPL-3.0-or-later", + "version": "1.0.0-alpha.3", + "description": "TikTok extension for WooCommerce", + "repository": { + "type": "git", + "url": "git@github.com:woocommerce/tiktok.git" + }, + "scripts": { + "dev": "WP_ENV_PORT=8800 WP_ENV_TESTS_PORT=8801 wp-env start", + "prearchive": "rm -rf vendor && composer install --no-dev -o -n", + "archive": "composer archive --file=$npm_package_name --format=zip", + "postarchive": "rm -rf $npm_package_name build/$npm_package_name && unzip $npm_package_name.zip -d $npm_package_name && rm $npm_package_name.zip && cp -r $npm_package_name build/$npm_package_name && zip -r $npm_package_name.zip $npm_package_name && rm -rf $npm_package_name", + "build": "npm run archive" + }, + "config": { + "wp_org_slug": "tiktok-for-business", + "version_replace_paths": [ + "admin", + "catalog", + "logging", + "mapi", + "pixel", + "tiktokforbusiness.php" + ] + } +} diff --git a/plugins/tiktok-for-business/phpcs.xml.dist b/plugins/tiktok-for-business/phpcs.xml.dist new file mode 100644 index 000000000..c4e46f992 --- /dev/null +++ b/plugins/tiktok-for-business/phpcs.xml.dist @@ -0,0 +1,68 @@ + + + Generally-applicable sniffs for WordPress plugins + + + ./admin + ./catalog + ./logging + ./mapi + ./pixel + ./phpcs_test + ./tiktok-for-woocommerce.php + + + + + + + + + */node_modules/* + */vendor/* + ./tests/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/tiktok-for-business/pixel/Tt4b_Pixel_Class.php b/plugins/tiktok-for-business/pixel/Tt4b_Pixel_Class.php new file mode 100644 index 000000000..dfccbba47 --- /dev/null +++ b/plugins/tiktok-for-business/pixel/Tt4b_Pixel_Class.php @@ -0,0 +1,957 @@ + 0 ) { + return; + } + + $event = 'ViewContent'; + $logger = new Logger(); + $logger->log( __METHOD__, "hit $event" ); + $mapi = new Tt4b_Mapi_Class( $logger ); + global $post; + if ( ! isset( $post->ID ) ) { + return; + } + $fields = self::pixel_event_tracking_field_track( __METHOD__ ); + if ( 0 === count( $fields ) ) { + return; + } + + $product = wc_get_product( $post->ID ); + $content_id = (string) $product->get_sku(); + if ( '' === $content_id ) { + $content_id = (string) $product->get_id(); + } + $content_type = 'product'; + if ( $product->is_type( 'variable' ) ) { + $content_type = 'product_group'; + } + $event_id = self::get_event_id( $content_id ); + $content = self::get_properties_from_product( $product, 1, 0, Method::VIEWCONTENT ); + + $properties = array( + 'contents' => array( + $content, + ), + 'content_type' => $content_type, + 'currency' => get_woocommerce_currency(), + 'value' => (float) $product->get_price(), + 'event_trigger_source' => 'WooCommerce', + ); + + $user = self::get_user(); + $url = ''; + if ( isset( $_SERVER['HTTP_HOST'] ) && isset( $_SERVER['REQUEST_URI'] ) ) { + $url = esc_url_raw( wp_unslash( $_SERVER['HTTP_HOST'] ) . wp_unslash( $_SERVER['REQUEST_URI'] ) ); + } + $referrer = wp_get_referer(); + $page = array( + 'url' => $url, + ); + if ( $referrer ) { + $page['referrer'] = $referrer; + } + + $data = array( + array( + 'event' => $event, + 'event_id' => $event_id, + 'event_time' => time(), + 'user' => $user, + 'properties' => $properties, + 'page' => $page, + ), + ); + + $params = array( + 'partner_name' => 'WooCommerce', + 'event_source' => 'web', + 'event_source_id' => $fields['pixel_code'], + 'data' => $data, + ); + + // events API track + $mapi->mapi_post( 'event/track/', $fields['access_token'], $params, 'v1.3' ); + + // js pixel track + self::enqueue_event( $event, $fields['pixel_code'], $properties, $event_id, $user ); + } + + /** + * Fires the add to cart event + * + * @param string $cart_item_key The cart item id + * @param string $product_id The product id + * @param string $quantity The quantity of products + * @param string $variation_id The variant id + * + * @return void + */ + public static function inject_add_to_cart_event( $cart_item_key, $product_id, $quantity, $variation_id ) { + // do not fire without woocommerce + if ( ! did_action( 'woocommerce_loaded' ) > 0 ) { + return; + } + + $event = 'AddToCart'; + $logger = new Logger(); + $logger->log( __METHOD__, "hit $event" ); + $mapi = new Tt4b_Mapi_Class( $logger ); + $product = wc_get_product( $product_id ); + + $fields = self::pixel_event_tracking_field_track( __METHOD__ ); + if ( 0 === count( $fields ) ) { + return; + } + + $content_id = (string) $product->get_sku(); + if ( '' === $content_id ) { + $content_id = (string) $product->get_id(); + } + $content_type = 'product'; + $content = self::get_properties_from_product( $product, 1, $variation_id, Method::ADDTOCART ); + + $event_id = self::get_event_id( $content_id ); + $properties = array( + 'contents' => array( + $content, + ), + 'content_type' => $content_type, + 'currency' => get_woocommerce_currency(), + 'value' => ( $content['price'] * (float) $quantity ), + 'event_trigger_source' => 'WooCommerce', + ); + + $user = self::get_user(); + $url = ''; + if ( isset( $_SERVER['HTTP_HOST'] ) && isset( $_SERVER['REQUEST_URI'] ) ) { + $url = esc_url_raw( wp_unslash( $_SERVER['HTTP_HOST'] ) . wp_unslash( $_SERVER['REQUEST_URI'] ) ); + } + $referrer = wp_get_referer(); + $page = array( + 'url' => $url, + ); + if ( $referrer ) { + $page['referrer'] = $referrer; + } + + $data = array( + array( + 'event' => $event, + 'event_id' => $event_id, + 'event_time' => time(), + 'user' => $user, + 'properties' => $properties, + 'page' => $page, + ), + ); + $params = array( + 'partner_name' => 'WooCommerce', + 'event_source' => 'web', + 'event_source_id' => $fields['pixel_code'], + 'data' => $data, + ); + // events API track + $mapi->mapi_post( 'event/track/', $fields['access_token'], $params, 'v1.3' ); + + // js pixel track + self::enqueue_event( $event, $fields['pixel_code'], $properties, $event_id, $user ); + } + + /** + * Fires the start checkout event + * + * @return void + */ + public static function inject_initiate_checkout_event() { + // do not fire without woocommerce + if ( ! did_action( 'woocommerce_loaded' ) > 0 ) { + return; + } + + if ( null === WC()->cart || WC()->cart->get_cart_contents_count() === 0 ) { + return; + } + + $event = 'InitiateCheckout'; + $logger = new Logger(); + $logger->log( __METHOD__, "hit $event" ); + $mapi = new Tt4b_Mapi_Class( $logger ); + // if registration required, and can't register in checkout and user not logged in, don't fire event. + if ( ! WC()->checkout()->is_registration_enabled() + && WC()->checkout()->is_registration_required() + && ! is_user_logged_in() + ) { + return; + } + $fields = self::pixel_event_tracking_field_track( __METHOD__ ); + if ( 0 === count( $fields ) ) { + return; + } + + $event_contents = array(); + $value = 0; + $event_id = self::get_event_id( '' ); + $content_type = 'product'; + foreach ( WC()->cart->get_cart() as $cart_item ) { + $product = $cart_item['data']; + $quantity = (int) $cart_item['quantity']; + $variation_id = isset( $cart_item['variation_id'] ) ? $cart_item['variation_id'] : 0; + $content = self::get_properties_from_product( $product, $quantity, $variation_id, Method::STARTCHECKOUT ); + $value += $content['price'] * $content['quantity']; + array_push( $event_contents, $content ); + } + + $user = self::get_user(); + $url = ''; + if ( isset( $_SERVER['HTTP_HOST'] ) && isset( $_SERVER['REQUEST_URI'] ) ) { + $url = esc_url_raw( wp_unslash( $_SERVER['HTTP_HOST'] ) . wp_unslash( $_SERVER['REQUEST_URI'] ) ); + } + $referrer = wp_get_referer(); + $page = array( + 'url' => $url, + ); + if ( $referrer ) { + $page['referrer'] = $referrer; + } + + $properties = array( + 'contents' => $event_contents, + 'content_type' => $content_type, + 'currency' => get_woocommerce_currency(), + 'value' => $value, + 'event_trigger_source' => 'WooCommerce', + ); + + $data = array( + array( + 'event' => $event, + 'event_id' => $event_id, + 'event_time' => time(), + 'user' => $user, + 'properties' => $properties, + 'page' => $page, + ), + ); + $params = array( + 'partner_name' => 'WooCommerce', + 'event_source' => 'web', + 'event_source_id' => $fields['pixel_code'], + 'data' => $data, + ); + + // events API track + $mapi->mapi_post( 'event/track/', $fields['access_token'], $params, 'v1.3' ); + + // js pixel track + self::enqueue_event( $event, $fields['pixel_code'], $properties, $event_id, $user ); + } + + /** + * Fires the purchase event + * + * @param string $order_id the order id + * + * @return void + */ + public static function inject_purchase_event( $order_id ) { + // do not fire without woocommerce + if ( ! did_action( 'woocommerce_loaded' ) > 0 ) { + return; + } + + $event = 'Purchase'; + $logger = new Logger(); + $logger->log( __METHOD__, "hit $event" ); + $mapi = new Tt4b_Mapi_Class( $logger ); + $fields = self::pixel_event_tracking_field_track( __METHOD__ ); + if ( 0 === count( $fields ) ) { + return; + } + + $order = wc_get_order( $order_id ); + if ( ! $order ) { + return; + } + + $event_contents = array(); + $value = 0; + $event_id = self::get_event_id( '' ); + $content_type = 'product'; + foreach ( $order->get_items() as $item ) { + $product = $item->get_product(); + $quantity = $item->get_quantity(); + $parent_product_id = $product->get_parent_id(); + $content = self::get_properties_from_product( $product, $quantity, $parent_product_id, Method::PURCHASE ); + $value += $content['price'] * $content['quantity']; + array_push( $event_contents, $content ); + } + + $user = self::get_user(); + $url = ''; + if ( isset( $_SERVER['HTTP_HOST'] ) && isset( $_SERVER['REQUEST_URI'] ) ) { + $url = esc_url_raw( wp_unslash( $_SERVER['HTTP_HOST'] ) . wp_unslash( $_SERVER['REQUEST_URI'] ) ); + } + $page = array( + 'url' => $url, + ); + + $properties = array( + 'contents' => $event_contents, + 'content_type' => $content_type, + 'currency' => get_woocommerce_currency(), + 'value' => $value, + 'event_trigger_source' => 'WooCommerce', + ); + + $data = array( + array( + 'event' => $event, + 'event_id' => $event_id, + 'event_time' => time(), + 'user' => $user, + 'properties' => $properties, + 'page' => $page, + ), + ); + $params = array( + 'partner_name' => 'WooCommerce', + 'event_source' => 'web', + 'event_source_id' => $fields['pixel_code'], + 'data' => $data, + ); + + // events API track + $mapi->mapi_post( 'event/track/', $fields['access_token'], $params, 'v1.3' ); + + // js pixel track + self::enqueue_event( $event, $fields['pixel_code'], $properties, $event_id, $user ); + } + + /** + * Gets product property meta data. + * + * @param object $product the product. + * @param int $quantity the quantity. + * @param int $variation_id the variation_id. + * @param string $method the method. + */ + public static function get_properties_from_product( $product, $quantity, $variation_id, $method ) { + $content_id = (string) $product->get_sku(); + if ( '' === $content_id ) { + $content_id = (string) $product->get_id(); + } + + if ( Method::PURCHASE === $method && $variation_id > 0 ) { + $parent_product = wc_get_product( $variation_id ); + // check if parent_id matches variation id, update content_id according to method used in catalog sync. + $parent_id = $parent_product->get_sku(); + if ( '' === $parent_id ) { + $parent_id = $parent_product->get_id(); + } + $content_id = variation_content_id_helper( $method, $parent_id, $content_id, $product->get_id() ); + } + + $price = $product->get_price(); + if ( Method::STARTCHECKOUT === $method ) { + $price = self::get_product_subtotal_as_float( $product ); + } + $sale_price = $product->get_sale_price(); + if ( '0' === $sale_price || '' === $sale_price ) { + $sale_price = $price; + } + $availability = 'IN_STOCK'; + $stock_status = $product->is_in_stock(); + if ( false === $stock_status ) { + $availability = 'OUT_OF_STOCK'; + } + + // variation_id will be > 0 if product variation is added, variation_id is post ID. + if ( Method::PURCHASE !== $method && Method::VIEWCONTENT !== $method && $variation_id > 0 ) { + $variation = wc_get_product( $variation_id ); + // if variation sku is same as parent product id, update content_id to match synced SKU_ID synced during catalog sync. + $content_id = variation_content_id_helper( $method, $content_id, $variation->get_sku(), $variation_id ); + + // use variation price. + $price = $variation->get_price(); + $sale_price = $variation->get_sale_price(); + + if ( Method::STARTCHECKOUT === $method ) { + WC()->cart->get_subtotal(); + $price = self::get_product_subtotal_as_float( $variation ); + } + + if ( '0' === $sale_price || '' === $sale_price ) { + $sale_price = $price; + } + } + + $content = array( + 'price' => (float) $price, + 'quantity' => $quantity, + 'content_id' => $content_id, + 'content_name' => $product->get_name(), + 'description' => $product->get_short_description(), + 'availability' => $availability, + 'sale_price' => (float) $sale_price, + 'on_sale' => $product->is_on_sale(), + ); + + $review_count = $product->get_review_count(); + if ( $review_count > 0 ) { + $content['review_count'] = $review_count; + $content['average_rating'] = (float) $product->get_average_rating(); + } + + $weight = $product->get_weight(); + if ( '' !== $weight ) { + $content['weight'] = (float) $weight; + $content['weight_unit'] = 'KG'; + } + return $content; + } + + /** + * Gets the user param needed for view content, add to cart, start checkout, complete payment. + */ + public static function get_user() { + $pixel_obj = new Tt4b_Pixel_Class(); + $current_user = wp_get_current_user(); + + $user_agent = ''; + if ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) { + $user_agent = sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ); + } + $advanced_matching = get_option( 'tt4b_advanced_matching' ); + + $email = $current_user->user_email; + $external_id = (string) $current_user->ID; + + $phone_number = get_user_meta( $current_user->ID, 'billing_phone', true ); + if ( did_action( 'woocommerce_loaded' ) > 0 ) { + $ip = WC_Geolocation::get_ip_address(); + } else { + $ip = self::get_user_ip_address(); + } + + $first_name = $current_user->user_firstname; + $last_name = $current_user->user_lastname; + $user_id = $current_user->ID; + $zip_code = get_user_meta( $user_id, 'billing_postcode', true ); + $user = array( + 'ip' => $ip, + 'user_agent' => $user_agent, + 'locale' => strtok( get_locale(), '_' ), + 'external_id' => $external_id, + ); + + if ( isset( $_COOKIE[ self::TTCLID_COOKIE ] ) ) { + $user['ttclid'] = sanitize_text_field( $_COOKIE[ self::TTCLID_COOKIE ] ); + } + + if ( isset( $_COOKIE[ self::TTP_COOKIE ] ) ) { + $user['ttp'] = sanitize_text_field( wp_unslash( $_COOKIE[ self::TTP_COOKIE ] ) ); + } + + if ( $advanced_matching ) { + $billing_city = strtolower( str_replace( ' ', '', get_user_meta( $user_id, 'billing_city', true ) ) ); + if ( '' !== $billing_city ) { + $user['city'] = $billing_city; + } + + $billing_state = strtolower( str_replace( ' ', '', get_user_meta( $user_id, 'billing_state', true ) ) ); + if ( '' !== $billing_state ) { + $user['state'] = $billing_state; + } + + $billing_country = strtolower( str_replace( ' ', '', get_user_meta( $user_id, 'billing_country', true ) ) ); + if ( '' !== $billing_country ) { + $user['country'] = $billing_country; + } + + // hash email, phone, first name, last name, zip, and add to $user object. + $user = $pixel_obj->add_advanced_matching_hashed_info( $email, $user, 'email' ); + $user = $pixel_obj->add_advanced_matching_hashed_info( $phone_number, $user, 'phone_number' ); + $user = $pixel_obj->add_advanced_matching_hashed_info( $first_name, $user, 'first_name' ); + $user = $pixel_obj->add_advanced_matching_hashed_info( $last_name, $user, 'last_name' ); + $user = $pixel_obj->add_advanced_matching_hashed_info( $zip_code, $user, 'zip_code' ); + } + + return $user; + } + + public static function get_event_id( $content_id ) { + $external_business_id = get_option( 'tt4b_external_business_id' ); + $unique_id = uniqid(); + if ( '' !== $content_id ) { + return sprintf( '%s_%s_%s', $unique_id, $external_business_id, $content_id ); + } + + return sprintf( '%s_%s', $unique_id, $external_business_id ); + } + + /** + * Gets all pixels associated to an ad account. + * + * @param string $access_token The MAPI issued access token. + * @param string $advertiser_id The users advertiser id. + * @param string $pixel_code The users pixel code. + */ + public function get_pixels( $access_token, $advertiser_id, $pixel_code ) { + // returns a raw API response from TikTok pixel/list/ endpoint + $params = array( + 'advertiser_id' => $advertiser_id, + 'code' => $pixel_code, + ); + $url = 'https://business-api.tiktok.com/open_api/v1.3/pixel/list/?' . http_build_query( $params ); + $args = array( + 'method' => 'GET', + 'headers' => array( + 'Access-Token' => $access_token, + 'Content-Type' => 'application/json', + ), + ); + $logger = new Logger(); + $logger->log_request( $url, $args ); + $result = wp_remote_get( $url, $args ); + $logger->log_response( __METHOD__, $result ); + + return wp_remote_retrieve_body( $result ); + } + + /** + * Gets whether advanced matching is enabled for the user. + * + * @param string $info The users email or phone + * + * @return false|string + */ + public function add_advanced_matching_hashed_info( $info, $user, $identifier ) { + if ( '' === $info ) { + return $user; + } + $hashed_info = hash( 'SHA256', strtolower( $info ) ); + $user[ $identifier ] = $hashed_info; + + return $user; + } + + /** + * Preprocess to ensure we have the required fields to call the event track API + * + * @param string $method The hook that is executed. + * + * @return array + */ + public static function pixel_event_tracking_field_track( $method ) { + $logger = new Logger(); + try { + $access_token = self::get_and_validate_option( 'access_token' ); + $pixel_code = self::get_and_validate_option( 'pixel_code' ); + $advertiser_id = self::get_and_validate_option( 'advertiser_id' ); + } catch ( Exception $e ) { + $logger->log( $method, $e->getMessage() ); + + return array(); + } + + return array( + 'access_token' => $access_token, + 'advertiser_id' => $advertiser_id, + 'pixel_code' => $pixel_code, + ); + } + + /** + * Validates to ensure tt4b options are stored, and return the option if it is. + * + * @param string $option_name The tt4b data option + * @param bool $default The default option boolean + * + * @return string + * @throws Exception Throws exception when the given option is missing. + */ + protected static function get_and_validate_option( $option_name, $default = false ) { + $option = get_option( "tt4b_{$option_name}", $default ); + if ( false === $option ) { + throw new Exception( sprintf( 'Missing option "%s"', $option_name ) ); + } + + return $option; + } + + /** + * Checks to see whether to track events s2s + * + * @param string $access_token The access token + * @param string $advertiser_id The advertiser_id + * @param string $pixel_code The pixel_code + * + * @return bool + */ + public function confirm_to_send_s2s_events( $access_token, $advertiser_id, $pixel_code ) { + $should_send_events = get_option( 'tt4b_should_send_s2s_events' ); + if ( false === $should_send_events ) { + $pixel_obj = new Tt4b_Pixel_Class(); + $pixel_rsp = $pixel_obj->get_pixels( + $access_token, + $advertiser_id, + $pixel_code + ); + $pixel = json_decode( $pixel_rsp, true ); + // case 1: always send events for woo_commerce pixels + update_option( 'tt4b_should_send_s2s_events', 'YES' ); + if ( '' !== $pixel ) { + $connected_pixel = $pixel['data']['pixels'][0]; + $partner = $connected_pixel['partner_name']; + if ( 'WOO_COMMERCE' !== $partner ) { + update_option( 'tt4b_should_send_s2s_events', 'NO' ); + // case 2: if the pixel is not a partner pixel, send events if no recent activity + if ( 'ACTIVE' !== $connected_pixel['activity_status'] ) { + update_option( 'tt4b_should_send_s2s_events', 'YES' ); + } + } + } + } + + $should_send_event_data = get_option( 'tt4b_should_send_s2s_events' ); + if ( 'NO' === $should_send_event_data ) { + return false; + } + + return true; + } + + /** + * Grab ttclid from URL and set cookie for 30 days + */ + public static function set_ttclid() { + if ( isset( $_GET['ttclid'] ) ) { + setcookie( self::TTCLID_COOKIE, sanitize_text_field( $_GET['ttclid'] ), time() + 30 * 86400, '/' ); + } + } + + public static function get_user_ip_address() { + foreach ( array( 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR' ) as $key ) { + if ( array_key_exists( $key, $_SERVER ) ) { + foreach ( explode( ',', sanitize_text_field( $_SERVER[ $key ] ) ) as $ip ) { + $ip = trim( $ip ); + if ( false !== filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ) ) { + return $ip; + } + } + } + } + return ''; + } + + /** + * Add ajax event tracking + */ + public static function add_ajax_snippet() { + $pixel_code = get_option( 'tt4b_pixel_code' ); + if ( ! $pixel_code ) { + return; + } + + $currency = ''; + if ( did_action( 'woocommerce_loaded' ) > 0 ) { + $currency = get_woocommerce_currency(); + } + + $country = get_option( 'tt4b_user_country' ); + $advanced_matching = get_option( 'tt4b_advanced_matching' ); + wp_register_script( 'tt4b_ajax_script', plugins_url( '/admin/js/ajaxSnippet.js', dirname( __DIR__ ) . '/tiktok-for-woocommerce.php' ), array( 'jquery' ), 'v1', false ); + wp_enqueue_script( 'tt4b_ajax_script' ); + wp_localize_script( + 'tt4b_ajax_script', + 'tt4b_script_vars', + array( + 'pixel_code' => $pixel_code, + 'currency' => $currency, + 'country' => $country, + 'advanced_matching' => $advanced_matching, + ) + ); + } + + /** + * Get cart subtotal for a product with tax if appropriate + * + * @param WC_Product $product the product to calculate row subtotal + * @param int $quantity quantity of product being purchase + * + * @return int the appropriate price with tax for the product row subtotal + */ + protected static function get_product_subtotal_as_float( $product ) { + $row_price = $product->get_price(); + + if ( $product->is_taxable() ) { + if ( WC()->cart->display_prices_including_tax() ) { + $row_price = wc_get_price_including_tax( $product, array( 'qty' => 1 ) ); + } else { + $row_price = wc_get_price_excluding_tax( $product, array( 'qty' => 1 ) ); + } + } + + return (float) $row_price; + } + + /** + * Gets the event's JS code to be enqueued or printed. + * + * @param string $event The event's type. + * @param string $pixel_code The pixel code + * @param array $data The data to be passed to the JS function. + * @param string $event_id The unique id corresponding to the event. + * + * @return string + */ + private static function prepare_event_code( $event, $pixel_code, $data, $event_id ) { + if ( array() === $data ) { + return sprintf( + 'ttq.instance(\'%s\').track(\'%s\', {\'event_id\': \'%s\'})', + $pixel_code, + $event, + $event_id + ); + } + + $data_string = empty( $data ) ? null : wp_json_encode( $data ); + return sprintf( + 'ttq.instance(\'%s\').track(\'%s\', %s, {\'event_id\': \'%s\'})', + $pixel_code, + $event, + $data_string, + $event_id + ); + } + + /** + * Gets the AM to be enqueued or printed. + * + * @param string $pixel_code The pixel code. + * @param string $hashed_email The hashed email. + * @param string $hashed_phone The hashed phone. + * @param string $first_name The hashed first_name. + * @param string $last_name The hashed last_name + * @param string $city The city. + * @param string $state The state. + * @param string $country The country. + * @param string $zip_code The zip_code. + * + * @return string + */ + private static function prepare_advanced_matching( $pixel_code, $user ) { + $fields = array( + 'email' => 'email', + 'phone_number' => 'phone_number', + 'first_name' => 'first_name', + 'last_name' => 'last_name', + 'city' => 'city', + 'state' => 'state', + 'country' => 'country', + 'zip_code' => 'zip_code', + ); + + $jsFields = array(); + foreach ( $fields as $jsKey => $phpKey ) { + if ( isset( $user[ $phpKey ] ) ) { + $jsFields[] = sprintf( "%s: '%s'", $jsKey, $user[ $phpKey ] ); + } + } + $jsObject = implode( ",\n ", $jsFields ); + return sprintf( + "ttq.instance('%s').identify({\n %s\n })", + $pixel_code, + $jsObject + ); + } + + /** + * Prints the given event. + * + * @param string $event The event's type. + * @param string $pixel_code The pixel code. + * @param array $data The data to be passed to the JS function. + * @param string $hashed_email The hashed email. + * @param string $hashed_phone The hashed phone. + * + * @return void + */ + private static function print_event( $event, $pixel_code, $data, $hashed_email, $hashed_phone, $event_id ) { + wp_register_script( 'tiktok-tracking-handle-header', '', '', 'v1' ); + wp_enqueue_script( 'tiktok-tracking-handle-header' ); + $event_code_script = ''; + wp_add_inline_script( 'tiktok-tracking-handle-header', $event_code_script ); + $advanced_matching_script = ''; + wp_add_inline_script( 'tiktok-tracking-handle-header', $advanced_matching_script ); + } + + /** + * Enqueues the given event. + * + * @param string $event The event's type. + * @param string $pixel_code The pixel code. + * @param array $data The data to be passed to the JS function. + * @param string $hashed_email The hashed email. + * @param string $hashed_phone The hashed phone. + * + * @return void + */ + private static function enqueue_event( $event, $pixel_code, $data, $event_id, $user ) { + self::$events[ self::prepare_event_code( $event, $pixel_code, $data, $event_id ) ] = self::prepare_advanced_matching( $pixel_code, $user ); + } + + /** + * Prints the enqueued base code and events snippets. + * Meant to be used in wp_head. + * + * @return void + */ + public static function print_script() { + $pixel_code = get_option( 'tt4b_pixel_code' ); + if ( ! $pixel_code ) { + return; + } + + if ( did_action( 'woocommerce_loaded' ) > 0 ) { + $script = '!function (w, d, t) { + w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i $value ) { + // register a dummy script to add small inline snippet + wp_register_script( 'tiktok-tracking-handle-header', '', '', 'v1' ); + wp_enqueue_script( 'tiktok-tracking-handle-header' ); + wp_add_inline_script( 'tiktok-tracking-handle-header', $key ); + wp_add_inline_script( 'tiktok-tracking-handle-header', $value ); + } + self::$events = array(); + } + } + + public static function track_page_view() { + $event = 'Pageview'; + $logger = new Logger(); + // $logger->log( __METHOD__, "hit $event" ); + $mapi = new Tt4b_Mapi_Class( $logger ); + $fields = self::pixel_event_tracking_field_track( __METHOD__ ); + if ( 0 === count( $fields ) ) { + return; + } + + $event_id = self::get_event_id( '' ); + $user = self::get_user(); + + $url = ''; + if ( isset( $_SERVER['HTTP_HOST'] ) && isset( $_SERVER['REQUEST_URI'] ) ) { + $url = esc_url_raw( wp_unslash( $_SERVER['HTTP_HOST'] ) . wp_unslash( $_SERVER['REQUEST_URI'] ) ); + } + + $referrer = wp_get_referer(); + $page = array( + 'url' => $url, + ); + if ( $referrer ) { + $page['referrer'] = $referrer; + } + + $data = array( + array( + 'event' => $event, + 'event_id' => $event_id, + 'event_time' => time(), + 'user' => $user, + 'page' => $page, + ), + ); + + $partner_name = 'WooCommerce'; + if ( ! did_action( 'woocommerce_loaded' ) > 0 ) { + $partner_name = 'WordPress'; + } + + $params = array( + 'partner_name' => $partner_name, + 'event_source' => 'web', + 'event_source_id' => $fields['pixel_code'], + 'data' => $data, + ); + + // events API track + $mapi->mapi_post( 'event/track/', $fields['access_token'], $params, 'v1.3' ); + + // js pixel track + self::enqueue_event( $event, $fields['pixel_code'], array(), $event_id, $user ); + } + + public function get_key( $key ) { + return $key; + } + + /** + * Filter the "Add to cart" button attributes to include more data. + * + * @see woocommerce_template_loop_add_to_cart() + * + * @since 1.0.11 + * + * @param array $args The arguments used for the Add to cart button. + * @param WC_Product $product The product object. + * + * @return array The filtered arguments for the Add to cart button. + */ + public static function filter_add_to_cart_attributes( array $args, WC_Product $product ) { + $attributes = array( + 'data-product_name' => $product->get_name(), + 'data-price' => $product->get_price(), + ); + + $args['attributes'] = array_merge( $args['attributes'], $attributes ); + + return $args; + } +} diff --git a/plugins/tiktok-for-business/pixel/tt4b_pixel.php b/plugins/tiktok-for-business/pixel/tt4b_pixel.php new file mode 100644 index 000000000..88d6ac589 --- /dev/null +++ b/plugins/tiktok-for-business/pixel/tt4b_pixel.php @@ -0,0 +1,20 @@ + +

Read Step by Step Documentation and Video Tutorial

+
+

For Support Email to support[@]webappick.com

+
+

Request New Feature Here

+
+

Try Premium Version: CTX Feed Pro

+
+ + +== WHY SHOULD YOU USE THIS WOOCOMMERCE PRODUCT FEED PLUGIN? == + +CTX Feed is the best WooCommerce product feed plugin, and we proclaim it because we are the first pioneering plugin builder for creating a Product Feed for WooCommerce. We have been in the industry long enough to understand how WooCommerce feed works. That’s why we have introduced all the WordPress-Goers with our robust and revolutionary features that could facilitate your product uploading experience and get you rid of any trouble you face, such as uploading rejection or lack of necessary marketing channels’ attributes or inability to translate into a correct language or currency, etc. + +Over the years of experience and expertise, we have curated all the factors that most online vendors face while creating the feed. You may not customize the product’s description or title properly. Also, the image links for the multiple variations of the same products may not function properly. Besides, making the feed in CSV format requires you to enter the data in the spreadsheet, resulting in a massive energy drain. The immediate transitions do not happen concurrently if you need to create two feed files using CSV and XML format. + +Let’s jump deeper into the ample features this mighty plugin has to offer: + += ☞ UNLIMITED PRODUCTS = + +No matter the size of your inventory, you can upload all of your products without restrictions. From hundreds to thousands, you can upload unlimited products of your online store into any of the channels mentioned above, and that too with subtlety. + += ☞ UNLIMITED FEED = + +Like unlimited product uploading, you can make an infinite number of feeds containing any number of products from any sized store. You can access all the product feed files from the Manage Feeds option. To find the right feed out of a massive collection of feeds, you can look at the unique name of the feed instead of the URL for your convenience. + += 💯100+ PRE-CONFIGURED TEMPLATES 💯 = + +With our pre-configured 100+ built-in templates, you can make product feed within minutes without taking excess pressure in researching every attribute or necessary field requirement of the known channels. It is time-consuming and bothersome to some extent. Besides, it is no guarantee that your gleaned attributes will match precisely with the channels’ requirements, as some might change or some might turn from optional to compulsory. + +Therefore, it is worth playing it safe to use our ready-made templates crafted extensively for the desired marketplaces. + += ☞ SUPPORTS ANY PRODUCT FEED FILE TYPE = + +This stellar WooCommerce product feed manager creates the Product Feed for WooCommerce into five different feed file formats, the highest compared to any WooCommerce feed generator out there. The types are; + +* **XML** Product Feed +* **CSV** Product Feed +* **TSV** Product Feed +* **XLS** Product Feed +* **TXT** Product Feed +* **JSON** Product Feed + += ☞ SUPPORTS ANY WOOCOMMERCE PRODUCT TYPES = + +We value your concern, and to reduce any unnecessary nuisances of finding the relevant products, CTX Feed enables your WooCommerce feed to fully incorporate by supporting all the plugins that help you provide options for Bundle products, composite products, mix and match products, and finally, subscription product. The reason being CTX Feed the best WooCommerce product feed plugin is because it supports some of the top-notch plugins like the following; + +* WooCommerce Composite Products +* YITH Composite Products +* WPC Composite Products for WooCommerce +* WooCommerce Product Bundles +* YITH WooCommerce Product Bundles +* WPC Product Bundles for WooCommerce +* WooCommerce Subscription + + += ☞ CUSTOM TEMPLATES = + +This free version allows you to make any template for your personalized marketplace. That is possible if you intend to create a template for a more complex XML feed file. Using **Custom Template XML**, a premium feature of CTX Feed Pro, the developers can easily play around with the coding system to make any attributes you need for your channels. Also, if you want us to focus on your marketing channels and include its template in our CTX Feed plugin, you are requested to send your feed requirements to the CTX Feed Support Team. + + +If you want to know more about how the custom template and other bits work, check out our documentation on CTX Feed. + + += ☞ CATEGORY MAPPING: = + +Categories are the essential key to getting products into search results. It is best practice to assign the most matching shopping engine category for each product to your WooCommerce store category. While creating your WooCommerce product feeds, you can also create a category for that particular product. After creating the category, you’ll get an option to map it to your marketplace category to make two categories aligned with each other. This feature is mainly used for Google Shopping and Facebook/Instagram product feeds. The process is dynamic by our plugin & you can map all of your categories to make them more relevant & reachable to buyers. + += ☞ AUTO FEED UPDATE: = + +This WooCommerce product feed plugin automatically updates your products based on your given interval time, saving you from manually updating it by logging in and checking. The free version gives you five intervals, whereas the Product Feed Pro for WooCommerce gives you three shorter intervals for quicker feed updates. + += ☞ GOOGLE PRODUCT FEED: = + +Creating a product feed for Google Shopping has become twice as easy as ever before. Out of 100+ pre-configured templates, the Google Shopping Product Feed template is one of the most tangible templates, rolling out all the essential attributes that you need to complete the feed creation with the help of this CTX Feed plugin. + +In fact, CTX Feed automatically recognizes the value that needs to be set for those required fields for the Google Shopping Product feed. This is the best WooCommerce Google Shopping plugin to create a product feed that abides by the Google product feed specification. + +== ☞ FACEBOOK CATALOG FEED/ INSTAGRAM SHOPPING FEED: == + +Like the WooCommerce product feed for Google Shopping, Facebook, and Instagram have their unique product attributes based on their guidelines. They will differ from the other reputable marketing channels. By using their required attributes, you can facilitate the WooCommerce Facebook product feed catalog, which, in turn, will increase the visibility of your Facebook shop for WooCommerce. The more optimized your WooCommerce Facebook Product Feed Catalog is, the more your products match the relevant keywords searched by the customers. The same applies to the Instagram shop WooCommerce plugin. + +Yet this CTX Feed Pro – WooCommerce Product Feed Pro Plugin helps you create the Facebook country/language override feedfor any language you configured in your site. + +[youtube https://youtu.be/Ml-KoFEVBHQ] + +== ☞ PINTEREST CATALOG PRODUCT FEED: == + +With the Pinterest Product Feed template, you can easily create a product feed for WooCommerce. We have included a pre-built Pinterest Feed template with all the Pinterest Catalog attributes. + +[youtube https://youtu.be/kv1PMdCYy_g] + +== ☞ BING SHOPPING PRODUCT FEED: == + +With our WooCommerce product feed manager, you can easily create your BING shopping product feed simply by selecting the BING Shopping template. This template consists of all the prerequisite attributes to create a product feed for WooCommerce successfully. + + +
+

If you like the Free Version, you'll love the Pro Version

+
+

CTX Feed Pro – WooCommerce Product Feed Plugin gives you everything you'll find in free and some awesome features described below.

+
+
+
+ + +== ☞ PRODUCT BRAND (PRO FEATURE) == + +When you focus on your products’ branding, people find it more beneficial as they develop more trust in your online store. When people search for a product, the first thing they will notice is the brand they are purchasing. The brand items, such as their name, logo, and copyright, will retain the customers on your product page longer. Therefore, the ability to have the attribute options to include the brand of the product is a must. CTX Feed has the brand option to let you create the brand of your products and use them in your WooCommerce Product Feed Pro plugin. + +* WooCommerce Brands +* Perfect Brands for WooCommerce +* YITH WooCommerce Brands Add-On +* Ultimate WooCommerce Brands Plugin + += 💎DYNAMIC ATTRIBUTE (PRO FEATURE) 💎 = + +If there is one of the reasons why CTX Feed is the best WooCommerce product data feed plugin, Dynamic attribute complements it. With this pro feature, you can set a series of conditions on each attribute regardless of any marketing channels. These conditions ensure that the products will meet the conditions based on their selected attributes, and based on that, they or their relevant information will appear. For example, if you want certain products’ height > 2cm ‘to appear as “big” and the rest of them with height < 2cm to be “small,” it can be done by dynamic attribute feature. This will help you to meet any channel requirements. + += 💎SMART FILTER & CONDITION (PRO FEATURE) 💎 = + +Smart & Advanced features are two of the most remarkable features of CTX Feed Pro. Both features can include or remove the products based on your instructions. Suppose you want specific products, such as products with backorder, out-of-stock, or empty description products, to be out of the Product Feed for WooCommerce. In that case, you can quickly tick them within this plugin Product Feed Pro for WooCommerce in the Smart Filtering option. You can also include products that are either loss-making or in lower demand. + +Besides, Advanced Filtering allows you to apply certain conditions to products based on their various attributes, such as title, ID, description, height, length, weight, price, price with tax, availability, etc. Depending on the conditions, the product feed will either include all the conditions or only any fulfilled conditions. + += 💎ATTRIBUTE MAPPING (PRO FEATURE) 💎 = + +First impressions are the most lasting. The title is the one that customers fancy first. In most cases, the e-commerce owners hardly prioritize the title, but this is where your competitors are more likely to take advantage of it. Good titles will encourage you to click on that product and switch straight to that product’s leading online site. The customers get an in-depth insight into what that product is all about. If the title is short or too ambiguous, it will increase the bounce rate, leading the customers to refrain from it. Therefore, CTX Feed Pro has a built-in attribute mapping feature that lets you extend the title or any attributes to force the customers to click and yet purchase your products. + += 💥MULTI-LANGUAGE FEED – WPML & POLYLANG (PRO FEATURE) 💥 = + +WooCommerce Product Feed Pro is a plugin for Multi-Language Feed. Supporting WPML and Polylang makes it possible for WooCommerce store owners to create WooCommerce product feeds in different languages and currencies. + + Supported Multi-language plugins are: + +* WPML +* Polylang +* TranslatePress + + += 💥MULTI-CURRENCY FEED (PRO FEATURE) 💥 = + +When you want to globalize the business by selling your products in different local channels of different countries, you can create the product feed with the currency according to that channel’s currency requirement. + +WooCommerce Product Feed Pro can create product feeds for specific currencies. + +* WooCommerce Multilingual. +* Polylang WooCommerce. +* Currency Switcher for WooCommerce By Aelia. +* WooCommerce Currency Switcher (WOOCS) by realmag777. + += 💥MULTI-VENDOR FEED (PRO FEATURE) 💥 = + +Using some high-grade multi-vendor plugins, you can generate feeds for single or multi-vendors. This WooCommerce product feed manager allows you to have multiple vendors promote their products on your own website. CTX Feed Pro supports the following multi-vendor plugins, such as + +* Dokan. +* WC Vendors. +* WC Marketplace. +* YITH WooCommerce Multi-Vendor. +* WCFM Marketplace for WooCommerce. + += 💥CUSTOM ATTRIBUTE (PRO FEATURE) 💥 = + +If you have added any custom attribute field to your product, you will get the product attribute list fields while creating a feed to assign your product's custom field value to your channel attribute. + += 💥CUSTOM FIELDS – ACF, FIELD FACTORY, ETC. (PRO FEATURE) 💥 = + +This plugin supports the Advanced Custom Field (ACF) or any custom field plugin’s fields as attribute values. You can assign your custom product attribute values to any feed attribute. + += 💥PRODUCT META & TAXONOMIES (PRO FEATURE) 💥 = + +Product taxonomies are more like attributes’ categories. Brands, sizes, and weights have their own value, which is considered the attributes’ value when applied to the feed. Using this WooCommerce product feed pro plugin, any product meta or taxonomy created by any plugin can be added to the feed. + +**SUPPORTED CHANNELS:** + +* Google Shopping +* Google AdWords +* Google Review Feed +* Google Dynamic Search Ads +* Google Promotions Feed +* Facebook Catalog Feed +* Pinterest Catalog Feed +* Pinterest RSS Feed +* TikTok Ads +* Bing Local Inventory Feed + +* Support almost all channels + +== CUSTOMER SUPPORT TEAM == + +We have got a dedicated team of coders and wordpress experts to make your journey to us friendlier & error-free. So, if you want to use our plugin or are facing any problems with the plugin, feel free to tell us by emailing here: support@webappick.com. + + +== Installation == + +Before installing the plugin please make sure that + +1. Your php version is 5.4 or greater +1. WordPress version is 3.6 or greater +1. WooCommerce version is 2.4 or greater + +You can also check your system status and versions from WooCommerce > System Status + +This section describes how to install the plugin and get it working. + +e.g. + +1. Upload `webappick-product-feed-for-woocommerce` folder to the `/wp-content/plugins/` directory +1. Activate the plugin through the 'Plugins' menu in WordPress +1. Select 'CTX Feed' from admin menu, Click 'Make Feed' +1. Select the template and make feed +1. Done! + +== Frequently Asked Questions == + +
+

Read Documentation and FAQ

+
+

For Support Email to support@webappick.com

+
+
+ += Why should I use this WooCommerce product feed plugin? = + +This plugin support all the sopping engines. + += Why is CTX Feed one of the best WooCommerce product feed generators? = + +Being a freemium plugin, the free version is capable of generating a feed with almost every little element you need to make it perfect. However, the pro version can leverage your feed with lots of premium features like dynamic attribute (applying conditions on the products), attribute mapping (for modifying title, description, or other attributes), ample marketplaces to promote your products, custom template for more complex feed for a personalized channel, variations and variables setup, multilingual & multicurrency feature, different output types for mapping the products, auto-update feature, etc. These features make it one of the best WooCommerce product feed plugins. + += For which channels can I generate product feed with CTX Feed free and pro version? = + +Tou can create a feed for more than 100 marketing channels from high-range to any range. It is available for both free and pro versions. However, the pro version of this WooCommerce product feed manager allows you to create custom templates for your own bespoke channels. + += Can I generate a Google product feed for WooCommerce with CTX Feed? = + +Yes, you can. In fact, WooCommerce Google Shopping is one of the most key channels for feed generation. Therefore, we have not only put Google Shopping as a single channel, but we also have several templates of Google built-in the CTX Feed, such as Google Shopping inventory ads, Google Ads, Google Promotions, Google Dynamic search ads, etc. + += How do I generate a WooCommerce Google product feed for Google Shopping? = + +Check out the following tutorial. + +**WooCommerce Google Shopping Product Feed – Video Tutorial** +[youtube https://www.youtube.com/watch?v=QRTvrDJm4mI] + += How can I create Facebook product catalog feeds? = + +Watch the following YouTube video to know more about creating the Facebook catalog feed + +**WooCommerce Facebook Catalog Product Feed – Video Tutorial** +[youtube https://youtu.be/Ml-KoFEVBHQ] + += Are there any limits of products the plugin supports in a single feed? = + +No. You can create a feed with unlimited products. + += Are there any limits on product feed? = + +No. This best WooCommerce product feed plugin is capable of creating an unlimited number of feeds. + += Does CTX Feed auto-update product feeds? = + +Yes, This plugin offers you a range of product feed updating interval times. You can set your interval time, and the product feed will update automatically as per the scheduled time. + += What file format does CTX Feed Plugin Support? = + +It supports 6 feed file formats depending on the marketing channels you select; + + * XML + * CSV + * TXT + * TSV + * JSON + * XLS + += Does this plugin support. product variations? = + +Yes, This plugin supports both variables and their associated variations. + += What is the difference between Free and Pro Version? = + +The free version includes all the major functions but the Pro version has some awesome functionality. + +Using pro version: + +* You can filter products using price, quantity, product name + +* You can use custom taxonomies or other plugins taxonomy value into feed + +* Using Category Mapping You can map your store category with your merchant category which is very useful for visitors to find out your product on the merchant site. + +* You can make different prices for different merchants using Dynamic Attribute. Also, it is possible to set different values for different products using Dynamic Attribute Conditions. + +** CTX FEED Free vs Pro** +[youtube https://youtu.be/XEW8rSyEcSU] + +== Screenshots == + +1. Manage Feed +2. Feed Configuration +3. Feed output types +4. Category Mapping + +== Changelog == + += 6.5.55 (2025-03-13) = +* Added : Woocommerce default GTIN,UPC,EAN, or ISBN to the attribute list. + += 6.5.54 (2025-03-11) = +* Fixed : Custom Field Value remove issue + += 6.5.53 (2025-03-06) = +* Added : "internal Label" to facebook template. + += 6.5.52 (2025-03-04) = +* Updated : Code Refactor + += 6.5.51 (2025-02-25) = +* Fixed : Quantity value issue + += 6.5.50 (2025-02-17) = +* Added : Our Plugins page +* Updated : Dashboard Banner UTM link + += 6.5.49 (2025-02-10) = +* Updated : Dashboard Banner + += 6.5.48 (2025-02-04) = +* Updated : Code Refactor + += 6.5.47 (2025-01-28) = +* Updated : Code Refactor + += 6.5.46 (2025-01-23) = +* Fixed : Cron update issue + += 6.5.45 (2025-01-20) = +* Updated : Plugin Information + += 6.5.44 (2025-01-13) = +* Added : Filter Hook for add extra data + += 6.5.43 (2025-01-08) = +* Fixed : Cron Event Removed issue + += 6.5.42 (2025-01-01) = +* Removed : Merry Christmas Discount Banner + += 6.5.41 (2024-12-23) = +* Added : Merry Christmas Dashboard Discount Banner + += 6.5.40 (2024-12-20) = +* Added : Merry Christmas Discount Banner +* Fixed : Plugin installation error issue + += 6.5.39 (2024-12-18) = +* Added : Certified pre-owned to google shopping template + += 6.5.38 (2024-12-11) = +* Added : Excluded/exclude_destination to Bing Shopping + += 6.5.37 (2024-12-06) = +* Removed : Cyber Monday Discount Banner + += 6.5.36 (2024-12-04) = +* Added : Ads attribute for Google Shopping + += 6.5.35 (2024-11-30) = +* Added : Cyber Monday Discount Banner + += 6.5.34 (2024-11-27) = +* Fixed : Facebook template include xml version issue + += 6.5.33 (2024-11-15) = +* Added : Black Friday Discount Banner + += 6.5.32 (2024-11-13) = +* Tweak: WordPress version 6.7 compatibility checked. + += 6.5.31 (2024-11-04) = +* Removed : Halloween Discount Banner +* Updated : Code refactor + += 6.5.30 (2024-10-28) = +* Updated : Halloween Discount Banner + += 6.5.29 (2024-10-22) = +* Added : Halloween Discount Banner + += 6.5.28 (2024-10-21) = +* Updated : Plugin description + += 6.5.27 (2024-10-17) = +* Fixed : Including variations of a pending parent variable product + += 6.5.26 (2024-10-15) = +* Fixed : PHP Deprecated issue +* Updated: Code refactor + += 6.5.25 (2024-10-07) = +* Fixed: Parent Variable Products sale price issue + += 6.5.24 (2024-10-03) = +* Updated: Google Local Inventory feed + += 6.5.23 (2024-09-30) = +* Updated: Compatibility code refactor + += 6.5.22 (2024-09-24) = +* Fixed: Cron event created for all feed issue +* Fixed: Template loading issue + += 6.5.21 (2024-09-23) = +* Fixed: Feed type appear issue in edit + += 6.5.20 (2024-09-17) = +* Updated: Code refactor + += 6.5.19 (2024-09-10) = +* Fixed: Cheapest variation issue + += 6.5.18 (2024-09-05) = +* Updated: Plugin Description + += 6.5.17 (2024-09-05) = +* Updated: Plugin Description +* Updated: Plugin Screenshots + += 6.5.16 (2024-09-02) = +* Updated: Code refactor + += 6.5.15 (2024-08-29) = +* Fixed: Minor code base error + += 6.5.14 (2024-08-27) = +* Fixed: TikTok XML feed format + += 6.5.13 (2024-08-22) = +* Updated: Code refactor + += 6.5.12 (2024-08-19) = +* Fixed: Child category map issue + += 6.5.11 (2024-08-12) = +* Fixed: Price with TAX attributes issue + += 6.5.9 (2024-07-29) = +* Updated: Zbozi Template feed +* Tweak: WooCommerce version 9.0 compatibility checked. + += 6.5.8 (2024-07-25) = +* Fixed: PHP notice error issue +* Fixed: Status page loading issue for WooCommerce version before 9.0 +* Tweak: WordPress version 6.6 compatibility checked. + += 6.5.7 (2024-07-15) = +* Fixed: Plugin security issue +* Fixed: Plugin notice appear in wrong format. + += 6.5.6 (2024-07-12) = +* Fixed: Plugin security issue + += 6.5.5 (2024-07-11) = +* Fixed: Shipping price currency conversion issue +* Fixed: Certification attribute in Google Shopping Template not working issue + += 6.5.4 (2024-07-08) = +* Fixed : Output Type selection issue + += 6.5.3 (2024-07-03) = +* Fixed : Google Review feed breaking issue + += 6.5.2 (2024-07-02) = +* Fixed : CSV Feed issue +* Fixed : PHP error for FTP Upload issue +* Fixed : Output Type selects all value and corrupt feed issue + += 6.5.1 (2024-06-27) = +* Fixed : Woocommerce Legacy REST API deprecated issue + += 6.5.0 (2024-06-25) = +* Updated : Plugin compatibility code refactor + += 6.4.37 (2024-06-13) = +* Updated : Facebook Pixel default value. + += 6.4.36 (2024-06-10) = +* Fixed : Facebook Pixel ID fields validation issue. + += 6.4.35 (2024-06-05) = +* Fixed : Googlereview feed issue + += 6.4.34 (2024-06-03) = +* Fixed : Identifier exists issue + += 6.4.33 (2024-05-30) = +* Updated : TikTok XML feed template + += 6.4.32 (2024-05-27) = +* Fixed : Wine searcher template automatically file type change issue + += 6.4.31 (2024-05-23) = +* Updated : Plugin description. + += 6.4.30 (2024-05-20) = +* Fixed: Delete button issue. +* Fixed: TranslatePress categories, attributes translated issue. +* Fixed: Suffix field typing issue. +* Fixed: Review feed generated issue. + += 6.4.29 (2024-05-13) = +* Updated : Plugin information. + += 6.4.28 (2024-05-09) = +* Added : Wood Mart images on the additional images fields. +* Updated: Plugin description, tags, short description, changelog. + += 6.4.27 (2024-05-06) = +* Fixed : Space issue between url and suffix prefix. + += 6.4.26 (2024-04-29) = +* Fixed : Settings page data save issue. +* Fixed : Facebook product category field issue. +* Fixed : CDATA output type issue with an attribute +* Fixed : PHP Deprecated issue + += 6.4.25 (2024-04-25) = +* Updated : Yandex feed template + += 6.4.24 (2024-04-22) = +* Added: Cron job batch feature +* Updated: Facebook product category list +* Fixed: Feed import issue + += 6.4.23 (2024-04-16) = +* Tweak: WooCommerce 8.7.0 compatibility checked. + += 6.4.22 (2024-04-03) = +* Tweak: WordPress 6.5 compatibility checked. + += 6.4.21 (2024-04-01) = +* Fixed: Drafted variations, not excluding issue + += 6.4.20 (2024-03-28) = +* Updated: Code Refactor + += 6.4.19 (2024-03-25) = +* Fixed: Plugin translate issue + += 6.4.18 (2024-03-18) = +* Fixed: Private variable product variations include issue + += 6.4.17 (2024-03-14) = +* Fixed: Parent empty issue + += 6.4.16 (2024-03-11) = +* Fixed: Custom Fields value issue for variations product + += 6.4.15 (2024-03-07) = +* Fixed: Status page PHP warning issue + += 6.4.14 (2024-03-04) = +* Fixed: Shipping price issue + += 6.4.13 (2024-02-29) = +* Tweak: WooCommerce 8.6.1 compatibility checked. + += 6.4.12 (2024-02-22) = +* Fixed: Zbozi.cz template wrapper issue + += 6.4.11 (2024-02-19) = +* Updated: Update Interval text + += 6.4.10 (2024-02-15) = +* Updated: Snapchat template + += 6.4.9 (2024-02-12) = +* Updated: Manage Feeds page text + += 6.4.8 (2024-02-06) = +* Fixed: Price issue with tax + += 6.4.7 (2024-02-02) = +* Updated: Code refactor + += 6.4.6 (2024-01-25) = +* Fixed: Parent Category and Child Category Attribute issue +* Fixed: WooCommerce Dynamic Pricing With Discount Rules price issue +* Fixed: Image missing issue +* Updated: Code refactor + += 6.4.5 (2024-01-22) = +* Fixed: Variation Product Title issue +* Fixed: Feature image issue + += 6.4.4 (2024-01-22) = +* Fixed: Image URL Conversion issue +* Fixed: Category and Full Category hierarchy issue +* Fixed: Product Title comma issue + += 6.4.3 (2024-01-18) = +* Fixed: Parent Product null issue + += 6.4.2 (2024-01-17) = +* Fixed: Product title with attribute value issue +* Fixed: Special characters removing title from feed issue +* Fixed: Additional image link missing issue +* Fixed: Variation title in feed issue +* Fixed: Quantity attribute quantity missing from variation issue +* Fixed: Price issue with Flycart Discount Rule Plugin +* Fixed: 0 used as an attribute value issue +* Fixed: Category hierarchy issue +* Fixed: String replace row delete issue +* Fixed: Quantity value issue + += 6.4.1 (2024-01-11) = +* Fixed: Separators overriding issue +* Fixed: Language switcher loading issue +* Fixed: Google product review template issue +* Fixed: Shipping format issue + += 6.4.0 (2024-01-08) = +* Fixed: CTX Feed Compatibility issue +* Updated: Code Refactor +* Removed: Christmas Notice Banner + += 6.3.12 (2024-01-01) = +* Fixed: URL conversion issue. + +== Upgrade Notice == += 6.0.0 = +This is a major release. Please update to version 6.0.0. Lots of issues were solved and a new UX/UI was added. Also, we frequently update the CTX feed plugin as our users need it. If any problem occurs while updating then reactivate the plugin. It's a good practice to make a backup of your database before updating. diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/RestConstants.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/RestConstants.php new file mode 100644 index 000000000..9bfba7f9e --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/RestConstants.php @@ -0,0 +1,83 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class RestConstants { + + /** + * Dynamic attribute rest base + * + * @since 6.1.1 + * @var string + */ + const DYNAMIC_ATTRIBUTE_REST_BASE = 'dynamic_attributes'; + + /** + * WP Option rest base + * + * @since 6.1.1 + * @var string + */ + const WP_OPTION_REST_BASE = 'wp_options'; + + /** + * Attribute Mapping rest base + * + * @since 6.1.1 + * @var string + */ + const ATTRIBUTE_MAPPING_REST_BASE = 'attributes_mapping'; + + /** + * Category Mapping rest base + * + * @since 6.1.1 + * @var string + */ + const CATEGORY_MAPPING_REST_BASE = 'category_mapping'; + + /** + * Settings rest base + * + * @since 6.1.1 + * @var string + */ + const SETTINGS_REST_BASE = 'settings'; + + /** + * Manage feeds rest base + * + * @since 6.5.0 + * @var string + */ + const MANAGE_FEEDS_REST_BASE = 'manage_feeds'; + + /** + * Status rest base + * + * @since 7.1.0 + * @var string + */ + + const STATUS_REST_BASE = 'wp-status'; + + /** + * Docs rest base + * + * @since 7.2.0 + * @var string + */ + const WOO_FEED_DOCS_REST_BASE = 'woo_feed_docs'; + + + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/RestController.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/RestController.php new file mode 100644 index 000000000..33576bc27 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/RestController.php @@ -0,0 +1,422 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class RestController extends WP_REST_Controller { + + /** + * @var array $response ; + */ + public $response = [ + 'status' => 200, + 'data' => [], + 'extra' => null + ]; + /** + * The single instance of the class + * + * @var RestController + * + */ + protected static $_instance = null; + + /** + * @var $version ; + */ + private $version = WOO_FEED_API_VERSION; + + protected function __construct() { + + $this->namespace = WOO_FEED_API_NAMESPACE . '/' . $this->version; + add_action( 'rest_api_init', [ $this, 'register_api' ] ); + add_action( 'rest_api_init', function ( $var ) { + remove_filter( 'rest_pre_serve_request', 'rest_send_cors_headers' ); + }, 15, 1 ); + + } + + + /** + * Main RestController Instance. + * + * Ensures only one instance of RestController is loaded or can be loaded. + * + * @return RestController Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Return true only user is logged in as $mange_ctx_feed roles. + * Using postman or other API client Basic-Auth plugin must be installed ( URL is below ) + * authorization system should be Basic Auth. + * + * @@ -86,7 +86,16 @@ public static function instance() { + * @see https://github.com/WP-API/Basic-Auth + */ + public function get_item_permissions_check( $request ) { + $user = wp_get_current_user(); + $mange_ctx_feed = apply_filters( 'ctx_feed_api_accessed_users', [ + 'manage_options', + 'manage_woocommerce' + ] ); + $current_user_roles = $user->get_role_caps(); + $current_user_roles = array_keys( $current_user_roles ); + $current_user_can_manage_ctx_feed = false; + foreach ( $mange_ctx_feed as $role ) { + if ( in_array( $role, $current_user_roles ) ) { + $current_user_can_manage_ctx_feed = true; + } + } + + return apply_filters( 'ctx_feed_current_user_can_manage_api', $current_user_can_manage_ctx_feed, $user, $current_user_roles, $mange_ctx_feed, $request ); + + } + + /** + * Register routes according to $_SERVER['REQUEST_URI']. + * After 'wp-json' value will be considered as namespace. + * After that v1/v2 will be as api version number. + * Then next value will be considered as route name. + * + * Example : wp-json/ctxfeed/v1/drop_down/?type=feed_country + * + * @description + * ctxfeed: is namespace + * v1: is version number and will indicate version folder number + * drop_down: route. It will look into 'DropDown' class in V1 folder. + * @return void + */ + public function register_api() { +// $uri = trim( $_SERVER['REQUEST_URI'], '/' ); +// $uri_arr = explode( '/', $uri ); +// $namespace = explode( '/', $this->namespace ); +// $uri_namespace = ''; +// $class_name = ''; +// $version = $this->version; + // Get rest base like : 'wp-json' or 'index.php?rest_route=' +// $rest_base = str_replace( home_url(), '', get_rest_url() ); +// $rest_base = trim( $rest_base, '/' ); +// +// foreach ( $uri_arr as $i => $value ) { +// // Get namespace name; +// if ( $value === $rest_base ) { +// $i ++; +// if ( ! isset( $uri_arr[ $i ] ) ) { +// break; +// } +// $uri_namespace = $uri_arr[ $i ]; +// $i += 2; +// // Get current classname from url after version number. +// if ( isset( $uri_arr[ $i ] ) ) { +// $class_name = $uri_arr[ $i ]; +// $version = $uri_arr[ -- $i ]; +// } +// break; +// } +// } + +// If current namespace and url namespace are equal +// load class name from version folder. +// if ( $class_name && count( $namespace ) && $namespace[0] == $uri_namespace ) { +// if ( class_exists( $class_name ) ) { +// self::load_class( $class_name, $version )->register_routes(); +// }else{ + $classes = [ + AttributesMapping::instance(), + CategoryMapping::instance(), + DropDown::instance(), + DynamicAttributes::instance(), + ManageFeeds::instance(), + MerchantInfo::instance(), + ProductCategories::instance(), + Products::instance(), + ProductTaxonomy::instance(), + Settings::instance(), + WPOptions::instance(), + MakeFeed::instance(), + WPStatus::instance(), + WooFeedDocs::instance(), + + ]; + foreach ( $classes as $class ) { + $class->register_routes(); + } +// } +// } + } + + + /** + * Cloning is forbidden. + */ + final public function __clone() { + _doing_it_wrong( __FUNCTION__, esc_attr_e( 'Cloning is forbidden.', 'woo-feed' ), esc_attr(WOO_FEED_FREE_VERSION) ); + } + + /** + * Unserializing instances of this class is forbidden. + */ + final public function __wakeup() { + _doing_it_wrong( __FUNCTION__, esc_attr_e( 'Unserializing instances of this class is forbidden.', 'woo-feed' ), esc_attr(WOO_FEED_FREE_VERSION) ); + } + + + /** + * @param $data + * + * @return void|\WP_REST_Response + */ + public function success( $data, $status = 200 ) { + $this->response['status'] = $status; + $this->response['data'] = $data; + + $response = rest_ensure_response( $this->response ); + $response = $this->add_additional_headers( $response ); + + return $response; + } + + + /** + * @param $data + * + * @return void|\WP_Error + */ + public function error( $data = '', $code = 'rest_no_data_found', $status = 404 ) { + $this->response['status'] = $status; + $this->response['data'] = $data; + $this->response['code'] = $code; + + $this->response['status'] = $status; + $this->response['data'] = $data; + + $response = rest_ensure_response( $this->response ); + $response = $this->add_additional_headers( $response ); + + return $response; + } + + /** + * @param $response + * + * @return \WP_REST_Response + */ + protected function add_additional_headers( $response ) { + $admin_origin = parse_url( admin_url() ); + $response->header( 'Access-Control-Allow-Origin', $admin_origin['host'] ); + + return $response; + } + + /** + * @param $args + * @param $data + * @param $response + * + * @return mixed + */ + protected function maybe_add_pagination( $args, $data, $response ) { + // Get data according to pagination. If $page and $per_page params are passed in the url. + $total = count( $data ); + if ( isset( $args['per_page'], $args['page'] ) ) { + $total_pages = ceil( $total / (int) $args['per_page'] ); + // Set current page data. + $offset = $args['per_page'] * ( $args['page'] - 1 ); + $this->response['data'] = array_slice( $data, $offset, $args['per_page'] ); + $response = $this->add_pagination_links( $response, $args, $total_pages, $total ); + } else { + $this->response['data'] = $data; + } + $response->data = $this->response; + + return $response; + } + + /** + * @param $response + * @param $args + * @param $total_pages + * @param $total + * + * @return mixed + */ + protected function add_pagination_links( $response, $args, $total_pages, $total ) { + + $url = get_site_url() . '/wp-json/' . $this->namespace . '/' . $this->rest_base . '/?'; + + $page = (int) $args['page']; + unset( $args['page'] ); + $total_args = count( $args ); + $count = 0; + foreach ( $args as $arg => $value ) { + $count ++; + if ( $count === $total_args ) { + $url .= $arg . '=' . $value; + } else { + $url .= $arg . '=' . $value . '&'; + } + } + // Next page link add. + if ( $total_pages == $page ) { + $next_url = $url . '&page=' . $page; + } else { + $next_page = $page + 1; + $next_url = $url . '&page=' . $next_page; + } + $response->add_link( 'next_page', $next_url ); + // Previous page link add. + if ( $page == 1 ) { + $prev_url = $url . '&page=' . $page; + } else { + $prev_page = $page - 1; + $prev_url = $url . '&page=' . $prev_page; + } + $response->add_link( 'prev_page', $prev_url ); + // add headers. + $response->header( 'X-WP-TotalPages', (int) $total_pages ); + $response->header( 'X-WP-Total', (int) $total ); + + return $response; + } + + /** + * @param $array + * + * @return bool + */ + protected function is_assoc( $array ) { + if ( array() === $array ) { + return false; + } + + return ( $array !== array_values( $array ) ); + } + + public function is_prefix_matched( $string, $prefix ) { + return str_starts_with( $string, $prefix ); + } + + + private static function load_class( $class = null, $version = 'v1' ) { + $class_name = self::get_class_name( $class ); + + return RestFactory::load( $class_name, $version ) ?? null; + } + + /** + * @param $class + * + * @return string + */ + private static function get_class_name( $class ) { + $api_class = array_map( function ( $part ) { + if ( 'wp' === $part ) { + return strtoupper( $part ); + } + + return ucfirst( $part ); + }, explode( '_', $class ) ); + + return implode( '', $api_class ); + } + + + /** + * @param $request + * + * @return array + */ + protected function get_lists( $request, $arr ) { + $lists = []; + + if ( ! empty( $arr ) ) { + foreach ( $arr as $option_name => $attr_list ) { + $item = $this->prepare_item_for_response( $attr_list, $request ); + $lists[ $option_name ] = $item; + } + } + + return $lists; + } + + /** + * @param $item + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public function prepare_item_for_response( $item, $request ) { + return maybe_unserialize( $item ); + } + + + public function unique_option_name( $option_name, $prefix, $add_prefix = false ) { + $option_name = preg_replace( "/[^A-Za-z0-9_]/", '', $option_name ); + if ( false !== get_option( sanitize_text_field($prefix) . sanitize_text_field($option_name), false ) ) { + $option = CommonHelper::unique_option_name( $option_name, $prefix ); + } else { + $option = $add_prefix ? $prefix . $option_name : $option_name; + } + + $response = [ 'option_name' => $option ]; + + return $response; + } + + /** + * @param $request + * + * @return string + * If Dynamic Attribute, Category mapping and Attribute mapping option name with special char like '&' by default php split the link when + * get &, to make unique option name with & we use this function. + */ + public function get_feed_option_name( $request ) { + $args = $request->get_params(); + $feed_name = $args['name']; + + $feed_name = str_replace( "plus", "+", $feed_name ); + array_shift( $args ); + $temp_arr = [ $feed_name ]; + if ( count( array_keys( $args ) ) > 1 ) { + $temp_arr2 = implode( '&', array_keys( $args ) ); + array_push( $temp_arr, $temp_arr2 ); + $feed_name = implode( '&', $temp_arr ); + } + + + return $feed_name; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/RestFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/RestFactory.php new file mode 100644 index 000000000..af500bb9e --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/RestFactory.php @@ -0,0 +1,23 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class RestFactory { + public static function load( $class, $version ) { + $class = "\CTXFeed\V5\API\\" . ucfirst( $version ) . "\\" . $class; + if ( class_exists( $class ) ) { + return $class::instance(); + } + + return null; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/AttributesMapping.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/AttributesMapping.php new file mode 100644 index 000000000..9382637a0 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/AttributesMapping.php @@ -0,0 +1,314 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class AttributesMapping extends RestController { + /** + * @var array + */ + private static $attribute_mapping = null; + /** + * @var array + */ + private static $attr_lists = array(); + /** + * The single instance of the class + * + * @var AttributesMapping + * + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = RestConstants::ATTRIBUTE_MAPPING_REST_BASE; + self::$attribute_mapping = new AttributeMapping(); + } + + /** + * Main AttributesMapping Instance. + * + * Ensures only one instance of AttributesMapping is loaded or can be loaded. + * + * @return AttributesMapping Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + array( + /** + * @endpoint: wp-json/ctxfeed/v1/attributes_mapping + * @description Will get all feed lists + * + * + * @endpoint wp-json/ctxfeed/v1/attributes_mapping/?page=1&per_page=2 + * @descripton Get paginated value with previous page and next page link + * + * @endpoint wp-json/ctxfeed/v1/attributes_mapping/?name=google_shopping + * @method GET + * @descripton Get single attribute + * + * @param $name String + * + * @param $page Number + * @param $per_page Number + */ + array( + 'methods' => WP_REST_Server::READABLE, + 'callback' => array( $this, 'get_items' ), + 'permission_callback' => array( $this, 'get_item_permissions_check' ), + 'args' => array( + 'name' => array( + 'description' => __( 'feed name', 'woo-feed' ), + 'type' => 'string', + 'required' => false, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ), + 'page' => array( + 'description' => __( 'Page number', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ), + 'per_page' => array( + 'description' => __( 'Per page', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ), + ), + ), + array( + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => array( $this, 'create_item' ), + 'permission_callback' => array( $this, 'get_item_permissions_check' ), + 'args' => array(), + ), + array( + 'methods' => WP_REST_Server::EDITABLE, + 'callback' => array( $this, 'update_item' ), + 'permission_callback' => array( $this, 'get_item_permissions_check' ), + 'args' => array(), + ), + /** + * @endpoint wp-json/ctxfeed/v1/attributes_mapping/?name=google_shopping + * @method DELETE + * @descripton Delete single attribute + * + * @param $name String + */ + array( + 'methods' => WP_REST_Server::DELETABLE, + 'callback' => array( $this, 'delete_item' ), + 'permission_callback' => array( $this, 'get_item_permissions_check' ), + 'args' => array( + 'name' => array( + 'description' => __( 'feed name', 'woo-feed' ), + 'type' => 'string', + 'required' => true, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ), + ), + ), + + ) + ); + + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/unique_option_name', + array( + array( + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => array( $this, 'get_unique_option_name' ), + 'permission_callback' => array( $this, 'get_item_permissions_check' ), + 'args' => array(), + ), + ) + ); + + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/attribute_preview', + array( + /** + * @endpoint wp-json/ctxfeed/v1/attributes_mapping/attribute_preview + * @description will return a single product attribute based on arrtibute mapping. + * + * @param + * @method GET + * + */ + array( + 'methods' => WP_REST_Server::READABLE, + 'callback' => array( $this, 'get_attribute_preview_data' ), + 'permission_callback' => array( $this, 'get_item_permissions_check' ), + 'args' => array(), + ), + ) + ); + + } + + /** + * @param $request + * + * @return \WP_REST_Response|object + */ + public function get_attribute_preview_data( $request ) { + $option_name = $this->get_feed_option_name( $request ); + $attr_value = AttributeMapping::get_attribute_value( $option_name ); + + return $this->success( $attr_value ); + } + + /** + * @param $request + * + * @return \WP_REST_Response|null + */ + public function get_unique_option_name( $request ) { + $body = $request->get_body(); + $body = (array) json_decode( $body ); + $option_name = $body['option_name']; + + $response = $this->unique_option_name( sanitize_text_field( $option_name ), AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX, false ); + + return $this->success( $response ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|\WP_HTTP_Response + */ + public function update_item( $request ) { + $is_edit = 'edit'; + + return $this->create_item( $request, $is_edit ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|\WP_HTTP_Response + */ + public function delete_item( $request ) { + $name = $this->get_feed_option_name( $request ); + + if ( self::$attribute_mapping->deleteMapping( $name ) ) { + self::$attr_lists = self::$attribute_mapping->getMappings(); + + $this->response['data'] = $this->get_lists( $request, self::$attr_lists ); + $attribute_preview_values = AttributeMapping::get_attributes_preview_data( $this->response['data'] ); + $this->response['extra'] = $attribute_preview_values; + return rest_ensure_response( $this->response ); + } + /* translators: %s: message */ + return $this->error( sprintf( __( 'No attribute found with name: %s', 'woo-feed' ), $name) ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function create_item( $request, $is_edit = '' ) { + $body = $request->get_body(); + $body = (array) json_decode( $body ); + // Save option name. + self::$attribute_mapping->saveMapping( $body ); + // Get attributes mapping. + self::$attr_lists = self::$attribute_mapping->getMappings(); + + $this->response['data'] = $this->get_lists( $request, self::$attr_lists ); + + $attribute_preview_values = AttributeMapping::get_attributes_preview_data( $this->response['data'] ); + $this->response['extra'] = $attribute_preview_values; + + if ( $is_edit == '' ) { + + Woo_Feed_Notices::woo_feed_saved_attribute_mapping_notice_data(); + + } + + return rest_ensure_response( $this->response ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function get_item( $request ) { + $feed_name = $this->get_feed_option_name( $request ); + + $item = (array) self::$attribute_mapping->getMapping( $feed_name ); + self::$attr_lists[ AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX . $feed_name ] = $this->prepare_item_for_response( $item, $request ); + if ( count( self::$attr_lists ) && isset( self::$attr_lists[ AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX . $feed_name ] ) ) { + return $this->success( self::$attr_lists ); + } + /* translators: %s: message */ + return $this->error( sprintf( __( 'Not found with: %s or prefix: "' . AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX . '" does\'nt match.', 'woo-feed' ), $feed_name ) ); + } + + /** + * + * @param \WP_REST_Request $request Full details about the request. + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function get_items( $request ) { + $args = $request->get_params(); + if ( isset( $args['name'] ) ) { + return $this->get_item( $request ); + } + self::$attr_lists = self::$attribute_mapping->getMappings(); + + $data = $this->get_lists( $request, self::$attr_lists ); + + $attribute_preview_values = AttributeMapping::get_attributes_preview_data( $data ); + $this->response['extra'] = $attribute_preview_values; + $response = rest_ensure_response( $this->response ); + + $response = $this->maybe_add_pagination( $args, $data, $response ); + + return $response; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/CategoryMapping.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/CategoryMapping.php new file mode 100644 index 000000000..8dffdc239 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/CategoryMapping.php @@ -0,0 +1,270 @@ +rest_base = RestConstants::CATEGORY_MAPPING_REST_BASE; + self::$category_mapping = new CategoryMappingBase(); + } + + /** + * Main CategoryMapping Instance. + * + * Ensures only one instance of CategoryMapping is loaded or can be loaded. + * + * @return CategoryMapping Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @endpoint: wp-json/ctxfeed/v1/category_mapping + * @description Will get all feed lists + * + * + * @endpoint wp-json/ctxfeed/v1/category_mapping/?page=1&per_page=2 + * @descripton Get paginated value with previous page and next page link + * + * @endpoint wp-json/ctxfeed/v1/category_mapping/?name=wf_feed_google_shopping + * @method GET + * @descripton Get single attribute + * + * @param $name String + * + * @param $page Number + * @param $per_page Number + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_items' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'name' => [ + 'description' => __( 'feed name', 'woo-feed' ), + 'type' => 'string', + 'required' => false, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ], + 'page' => [ + 'description' => __( 'Page number', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + 'per_page' => [ + 'description' => __( 'Per page', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + ], + ], + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'create_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + [ + 'methods' => WP_REST_Server::EDITABLE, + 'callback' => [ $this, 'update_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + /** + * @endpoint wp-json/ctxfeed/v1/category_mapping/?name=wf_feed_google_shopping + * @method DELETE + * @descripton Delete single attribute + * + * @param $name String + */ + [ + 'methods' => WP_REST_Server::DELETABLE, + 'callback' => [ $this, 'delete_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'name' => [ + 'description' => __( 'feed name', 'woo-feed' ), + 'type' => 'string', + 'required' => true, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ], + ], + ], + + ] + ); + + + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/unique_option_name', + [ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'get_unique_option_name' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + ] + ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|\WP_HTTP_Response + */ + public function update_item( $request ) { + $is_edit = 'edit'; + return $this->create_item( $request, $is_edit ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|\WP_HTTP_Response + */ + public function delete_item( $request ) { +// $name = $request->get_param( 'name' ); + $name = $this->get_feed_option_name($request); + + if ( self::$category_mapping->deleteCategoryMapping( $name ) ) { + + self::$category_lists = self::$category_mapping->getCategoryMappings(); + $this->response['data'] = $this->get_lists( $request, self::$category_lists ); + + return $this->success( $this->response['data'] ); + + } + /* translators: %s: message */ + return $this->error( sprintf( __( 'No attribute found with name: %s', 'woo-feed' ), $name ) ); + } + + /** + * @param $request + * + * @return \WP_REST_Response|null + */ + public function get_unique_option_name( $request ) { + $body = $request->get_body(); + $body = (array) json_decode( $body ); + $option_name = $body['option']; + $response = $this->unique_option_name( $option_name, AttributeValueByType::PRODUCT_CATEGORY_MAPPING_PREFIX ); + + return $this->success( $response ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function create_item( $request, $is_edit = '' ) { + $body = $request->get_body(); + $body = Helper::object_to_array( json_decode( $body ) ); + // Save option name. + self::$category_mapping->saveCategoryMapping( $body ); + // Get option name. + $this->response['data'] = self::$category_mapping->getCategoryMappings(); + + $this->response['data'] = $this->get_lists( $request, $this->response['data'] ); + + if( $is_edit == '' ) { + + Woo_Feed_Notices :: woo_feed_saved_category_mapping_notice_data(); + + } + + return rest_ensure_response( $this->response ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function get_item( $request ) { + + $feed_name = $this->get_feed_option_name($request); + + self::$category_lists = self::$category_mapping->getCategoryMapping( $feed_name ); + if ( ! empty( self::$category_lists ) ) { + $item = $this->prepare_item_for_response( self::$category_lists, $request ); + + return $this->success( $item ); + } + /* translators: %s: message */ + return $this->error( sprintf( __( 'Not found with: %s or prefix: "' . AttributeValueByType::PRODUCT_CATEGORY_MAPPING_PREFIX . '" does\'nt match.', 'woo-feed' ), $feed_name ) ); + } + + /** + * + * @param \WP_REST_Request $request Full details about the request. + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function get_items( $request ) { + $args = $request->get_params(); + if ( isset( $args['name'] ) ) { + return $this->get_item( $request ); + } + $this::$category_lists = self::$category_mapping->getCategoryMappings(); + + $data = $this->get_lists( $request, $this::$category_lists ); + $this->response['data'] = $data; + $response = rest_ensure_response( $this->response ); + $response = $this->maybe_add_pagination( $args, $data, $response ); + + return $response; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/DropDown.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/DropDown.php new file mode 100644 index 000000000..9ea549690 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/DropDown.php @@ -0,0 +1,323 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class DropDown extends RestController { + + /** + * @var $dropdown + */ + protected $dropdown; + /** + * The single instance of the class + * + * @var DropDown + * + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + + $this->rest_base = 'drop_down'; + $this->dropdown = DropDownOptions::instance(); + + } + + /** + * Main DropDownOptionsApi Instance. + * + * Ensures only one instance of DropDownOptionsApi is loaded or can be loaded. + * + * @return DropDown Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @endpoint: wp-json/ctxfeed/v1/drop_down/?type=feed_country + * + * @param $type String will be DropDownOptions class\'s method name + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'type' => [ + 'description' => __( 'Dropdown type name. $type will be DropDownOptions class\'s method name. Example: wp-json/ctxfeed/v1/drop_down/?type=feed_country. Here fee_country is DropDownOptions method name.' ), + 'type' => 'string', + 'required' => true + ], + 'search' => [ + 'description' => __( 'Search with search string in the specific method. If search string exists.' ), + 'type' => 'string', + 'required' => false, + 'default' => '' + ], + ], + ], + 'schema' => [ $this, 'get_item_schema' ], + ] + ); + // single feed rules + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/feed_rules', + [ + /** + * @endpoint: wp-json/ctxfeed/v1/drop_down/feed_rules/?template=custom + * + * @param $template String feed template name. + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_feed_rules' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'template' => [ + 'description' => __( 'Template name' ), + 'type' => 'string', + 'required' => true + ], + ], + ], + 'schema' => [ $this, 'get_item_schema' ], + ] + ); + + // fetch all initial feed rules + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/initial_feed_rules', + [ + /** + * @endpoint: wp-json/ctxfeed/v1/drop_down/initial_feed_rules + * + * @param $template String feed template name. + */ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'get_initial_feed_rules' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + ] + ); + + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/composite_plugins', + [ + /** + * @endpoint: wp-json/ctxfeed/v1/drop_down/initial_feed_rules + * + * @param $template String feed template name. + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_initialed_composite_plugins' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + ] + ); + } + + + /** + * Get dropdown based on type params. If parameter 'type' is not passed then it will give error. + * $type will be DropDownOptions class's method name. + * + * if method name is @param DropDownOptions@get_categories extra parameter cal be + * "slug" => string|comma separated 'string' + * "search" => string + * + * if method name is @param DropDownOptions@all_product_ids extra parameter cal be + * "include" => product id |comma separated product ids + * "s" => string + * + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public function get_item( $request ) { + + $method = $request->get_param( 'type' ); + + $query_args = $this->get_query_args( $request->get_params() ); + + if ( method_exists( $this->dropdown, $method ) && count( $query_args ) ) { + $this->response['data'] = $this->dropdown::$method( $query_args ); + } else if ( method_exists( $this->dropdown, $method ) ) { + $this->response['data'] = $this->dropdown::$method( '', false ); + } else { + return $this->error( esc_attr_e( 'Method Does not exist !', 'woo-feed' ) ); + } + + $response = $this->success( $this->response['data'] ); + if ( is_array( $this->response['data'] ) ) { + $response->header( 'X-WP-Total', count( $this->response['data'] ) ); + } + + return $response; + } + + /** + * @param $query_args + * + * @return mixed + */ + public function get_query_args( $query_args ) { + foreach ( $query_args as $key => $value ) { + // if parameter value is empty remove it. + if ( empty( $value ) ) { + unset( $query_args[ $key ] ); + } + + if ( in_array( $key, [ 'slug', 'include' ] ) ) { + // if value is comma ( , ) separated then make it an array + if ( false !== strpos( $value, ',' ) ) { + $query_args[ $key ] = explode( ',', $value ); + } else { + $query_args[ $key ] = [ $value ]; + } + } + } + // unset method name + unset( $query_args['type'] ); + if ( isset( $query_args['rest_route'] ) ) { + unset( $query_args['rest_route'] ); + } + + return $query_args; + } + + /** + * Get feed configuration based on template name. + * + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public function get_feed_rules( $request ) { + + $template = $request->get_param( 'template' ); + $specialTemplates = FeedHelper::get_special_templates(); + if ( in_array( $template, $specialTemplates ) ) { + $merchantData = TemplateConfig::get( $template ); + $this->response['data'] = $merchantData['feed_config_custom2']; + $this->response['extra'] = [ + 'provider' => $template, + ]; + $response = $this->success( $this->response['data'] ); + $response->header( 'X-WP-Total', 1 ); + } else { + $this->response['data'] = TemplateConfig::get( $template ); + $this->response['extra'] = [ + 'provider' => $template, + ]; + $response = $this->success( $this->response['data'] ); + $response->header( 'X-WP-Total', count( $this->response['data'] ) ); + } + + + return $response; + } + + + /** + * Get feed configuration based on template name. + * + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public function get_initial_feed_rules( $request ) { + $templates = $request->get_body(); + $templates = json_decode( $templates , true); + $this->response['data'] = TemplateConfig::getMultiple( $templates ); + $response = $this->success( $this->response['data'] ); + $response->header( 'X-WP-Total', count( $this->response['data'] ) ); + + return $response; + } + + public function get_initialed_composite_plugins( $request ) { + $this->response['data'] = Helper::ctx_feed_has_composite_product_plugin(); + $response = $this->success( $this->response['data'] ); + + return $response; + } + + /** + * Retrieves the contact schema, conforming to JSON Schema. + * + * @return array + */ + public function get_item_schema() { + if ( $this->schema ) { + return $this->add_additional_fields_schema( $this->schema ); + } + + $schema = [ + '$schema' => 'http://json-schema.org/draft-04/schema#', + 'title' => 'dropdown', + 'type' => 'array', + 'properties' => [ + 'dropdown' => [ + 'description' => __( 'Unique identifier for the object.' ), + 'type' => 'array', + 'context' => [ 'view', 'edit' ], + 'readonly' => false, + ], + ] + ]; + + $this->schema = $schema; + + return $this->add_additional_fields_schema( $this->schema ); + } + + /** + * Retrieves the query params for collections. + * + * @return array + */ + public function get_collection_params() { + $params = parent::get_collection_params(); + + unset( $params['search'] ); + + return $params; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/DynamicAttributes.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/DynamicAttributes.php new file mode 100644 index 000000000..7068a4729 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/DynamicAttributes.php @@ -0,0 +1,280 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class DynamicAttributes extends RestController { + /** + * @var array + */ + private static $attr_lists = []; + + /** + * @var DynamicAttributesBase|null + */ + private static $dynamic_attributes = null; + /** + * The single instance of the class + * + * @var DynamicAttributes + * + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = RestConstants::DYNAMIC_ATTRIBUTE_REST_BASE; + self::$dynamic_attributes = new DynamicAttributesBase(); + } + + /** + * Main DynamicAttributes Instance. + * + * Ensures only one instance of DynamicAttributes is loaded or can be loaded. + * + * @return DynamicAttributes Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @endpoint: wp-json/ctxfeed/v1/dynamic_attributes + * @description Will get all feed lists + * + * + * @endpoint wp-json/ctxfeed/v1/dynamic_attributes/?page=1&per_page=2 + * @descripton Get paginated value with previous page and next page link + * + * @endpoint wp-json/ctxfeed/v1/dynamic_attributes/?name=google_shopping + * @method GET + * @descripton Get single attribute + * + * @param $name String + * + * @param $page Number + * @param $per_page Number + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_items' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'name' => [ + 'description' => __( 'feed name', 'woo-feed' ), + 'type' => 'string', + 'required' => false, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ], + 'page' => [ + 'description' => __( 'Page number', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + 'per_page' => [ + 'description' => __( 'Per page', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + ], + ], + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'create_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + [ + 'methods' => WP_REST_Server::EDITABLE, + 'callback' => [ $this, 'update_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + /** + * @endpoint wp-json/ctxfeed/v1/dynamic_attributes/?name=google_shopping + * @method DELETE + * @descripton Delete single attribute + * + * @param $name String + */ + [ + 'methods' => WP_REST_Server::DELETABLE, + 'callback' => [ $this, 'delete_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'name' => [ + 'description' => __( 'feed name', 'woo-feed' ), + 'type' => 'string', + 'required' => true, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ], + ], + ], + + ] + ); + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/unique_option_name', + [ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'get_unique_option_name' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + ] + ); + } + + /** + * @param $request + * + * @return \WP_REST_Response|null + */ + public function get_unique_option_name( $request ) { + $body = $request->get_body(); + $body = (array) json_decode( $body ); + $option_name = $body['option_name']; + + $response = $this->unique_option_name( $option_name, AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX ); + + return $this->success( $response ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|\WP_HTTP_Response + */ + public function update_item( $request ) { + $body = $request->get_body(); + $body = (array) json_decode( $body ); + + // Save option name. + self::$dynamic_attributes->updateDynamicAttribute( $body ); + // Get option name. + self::$attr_lists = self::$dynamic_attributes->getDynamicAttributes(); + + self::$attr_lists = $this->get_lists( $request, self::$attr_lists ); + + return $this->success( self::$attr_lists ); + } + + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|\WP_HTTP_Response + */ + public function delete_item( $request ) { + +// $name = $request->get_param( 'name' ); + $name = $this->get_feed_option_name($request); + + if ( self::$dynamic_attributes->deleteDynamicAttribute( $name ) ) { + // Get option name. + self::$attr_lists = self::$dynamic_attributes->getDynamicAttributes(); + + self::$attr_lists = $this->get_lists( $request, self::$attr_lists ); + + return $this->success( self::$attr_lists ); + } + /* translators: %s: message */ + return $this->error( sprintf( __( 'No attribute found with name: %s', 'woo-feed' ), $name ) ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function create_item( $request ) { + $body = $request->get_body(); + $body = (array) json_decode( $body ); + // Save option name. + self::$dynamic_attributes->saveDynamicAttribute( $body ); + // Get option name. + self::$attr_lists = self::$dynamic_attributes->getDynamicAttributes(); + + self::$attr_lists = $this->get_lists( $request, self::$attr_lists ); + + Woo_Feed_Notices :: woo_feed_saved_dynamic_attributes_notice_data(); + + return $this->success( self::$attr_lists ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function get_item( $request ) { + + $feed_name = $this->get_feed_option_name($request); + + self::$attr_lists = self::$dynamic_attributes->getDynamicAttribute( $feed_name ); + if ( self::$attr_lists ) { + $item = $this->prepare_item_for_response( self::$attr_lists, $request ); + + return $this->success( $item ); + } + + return $this->error( sprintf( __( 'Not found with: %s or prefix: "' . AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX . '" does\'nt match.', 'woo-feed' ), $feed_name ) ); + } + + /** + * + * @param \WP_REST_Request $request Full details about the request. + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function get_items( $request ) { + $args = $request->get_params(); + if ( isset( $args['name'] ) ) { + return $this->get_item( $request ); + } + self::$attr_lists = self::$dynamic_attributes->getDynamicAttributes(); + + $data = $this->get_lists( $request, self::$attr_lists ); + $response = rest_ensure_response( $this->response ); + $response = $this->maybe_add_pagination( $args, $data, $response ); + + return $response; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/MakeFeed.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/MakeFeed.php new file mode 100644 index 000000000..b15c0df2d --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/MakeFeed.php @@ -0,0 +1,284 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class MakeFeed extends RestController { + + /** + * The single instance of the class + * + * @var $_instance + * + */ + protected static $_instance = null; + + /** + * The instance of config + * + * @var $config + * + */ + protected static $config = null; + + public function __construct() { + parent::__construct(); + $this->rest_base = 'make_feed'; + + + } + + /** + * Main MakeFeed Instance. + * + * Ensures only one instance of MakeFeed is loaded or can be loaded. + * + * @return $_instance Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + public function register_routes() { + + // Save feed + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/save_feed_config', + [ + /** + * @endpoint: wp-json/ctxfeed/v1/make_feed/save_feed_config + * + * @param $file_ext_type String + */ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'save_feed_config' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + 'schema' => [ $this, 'get_item_schema' ], + ] + ); + + // Get product ids Feed. + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/get_product_ids', + [ + /** + * @endpoint: wp-json/ctxfeed/v1/make_feed/get_product_ids + * + * @param $file_ext_type String + */ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'get_product_ids' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + 'schema' => [ $this, 'get_item_schema' ], + ] + ); + + // Generate Feed + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/make_per_batch_feed', + [ + /** + * @endpoint: wp-json/ctxfeed/v1/make_feed/make_per_batch_feed + * + * @param $file_ext_type String + */ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'make_per_batch_feed' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + 'schema' => [ $this, 'get_item_schema' ], + ] + ); + + // Save Feed File + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/save_feed_file', + [ + /** + * @endpoint: wp-json/ctxfeed/v1/make_feed/save_feed_file + * + * @param $file_ext_type String + */ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'save_feed_file' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + 'schema' => [ $this, 'get_item_schema' ], + ] + ); + + + } + + + /** + * + * + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public function save_feed_config( $request ) { + $config_data = json_decode( $request->get_body(), true ); + + $feed_option_name = null; + if ( ! empty( $config_data['feed_info']['option_name'] ) ) { + $feed_option_name = $config_data['feed_info']['option_name']; + } + + if ( ! isset( $config_data['feed_info']['option_value'], $config_data['feed_info']['option_value']['feedrules'] ) ) { + return $this->error( __( "Feed rules not provided properly", 'woo-feed' ) ); + } + + $config = new Config( $config_data['feed_info'] ); + + $feed_rules = $config_data['feed_info']['option_value']['feedrules']; + $saved_option_name = $config->save_config( $feed_rules, $feed_option_name ); + + $single_feed = Feed::get_single_feed( $saved_option_name ); + $saved_feed_info = is_array( $single_feed ) && count( $single_feed ) ? $single_feed[0] : []; + $response = [ + 'feed_info' => $saved_feed_info + ]; + + delete_transient( 'ctx_feed_structure_transient' ); + + + return $this->success( $response ); + } + + /** + * Get product ids + * + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public function get_product_ids( $request ) { + $body = json_decode( $request->get_body(), true ); + if ( empty( $body['feed_info'] ) ) { + return $this->error( __( 'Feed Info Is Empty.', 'woo-feed' ) ); + } + + $feed_info = $body['feed_info']; + $ids = FeedHelper::get_product_ids( $feed_info ); + + if ( empty( $ids ) ) { + return $this->error( __( 'Product not found.', 'woo-feed' ) ); + } + + return $this->success( $ids ); + } + + /** + * Make feed + * + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public function make_per_batch_feed( $request ) { + $body = json_decode( $request->get_body(), true ); + $offset = (int) $body['offset']; + $product_ids = array_map( 'absint', $body['product_ids'] ); + $feedrules = $body['feed_info']['option_value']['feedrules']; + + + // Write log if debug log is enabled. + if ( Helper::is_debugging_enabled() ) { + FeedHelper::log_data( $feedrules, $offset, $product_ids ); + } + + + try { + + $status = false; + $status = FeedHelper::generate_temp_feed_body( $body['feed_info'], $product_ids, $offset ); + + return $this->success( [ + 'status' => $status, + 'offset' => $offset, + 'message' => $status ? __( 'Temporary Feed Generated', 'woo-feed' ) : __( 'Something went wrong.', 'woo-feed' ) + ] ); + } catch ( Exception $e ) { + $message = 'Error Generating Product Data.' . PHP_EOL . 'Caught Exception :: ' . $e->getMessage(); + woo_feed_log( $feedrules['filename'], $message, 'critical', $e, true ); + woo_feed_log_fatal_error( $message, $e ); + + return $this->error( [ 'status' => false, 'offset' => $offset, 'message' => $message ] ); + } + + + } + + + /** + * + * + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public function save_feed_file( $request ) { + + $body = json_decode( $request->get_body(), true ); + $should_update_last_update_time = false; + if ( isset( $body['should_update_last_update_time'] ) && $body['should_update_last_update_time'] ) { + $should_update_last_update_time = true; + } + $save_file = FeedHelper::save_feed_file( $body['feed_info'], $should_update_last_update_time ); + $status = $save_file['status']; + $feed_url = $save_file['feed_url']; + if ( is_wp_error( $status ) ) { + return $this->error( $status->get_error_message(), $status->get_error_code() ); + } + + $response = [ + 'message' => __( 'Feed Successfully Generated', 'woo-feed' ), + 'feed_url' => $feed_url, + 'notice' => [ + 'type' => 'warning', + 'message' => '', + 'link' => '' + ] + ]; + + return $this->success( $response ); + } + + +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ManageFeeds.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ManageFeeds.php new file mode 100644 index 000000000..34844fb39 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ManageFeeds.php @@ -0,0 +1,496 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class ManageFeeds extends RestController { + + private static $status = null; + private static $feed_lists = []; + /** + * The single instance of the class + * + * @var ManageFeeds + * + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = RestConstants::MANAGE_FEEDS_REST_BASE; + } + + /** + * Main ManageFeeds Instance. + * + * Ensures only one instance of ManageFeeds is loaded or can be loaded. + * + * @return ManageFeeds Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @endpoint: wp-json/ctxfeed/v1/manage_feeds + * @description Will get all feed lists + * + * @endpoint wp-json/ctxfeed/v1/manage_feeds/?status=inactive + * @method GET + * @description Only inactive feed lists will be returned. + * + * + * @endpoint wp-json/ctxfeed/v1/manage_feeds/?status=active + * @method GET + * @description Only active feed lists will be returned. + * + * @endpoint wp-json/ctxfeed/v1/manage_feeds/?status=active&page=1&per_page=2 + * @method GET + * @descripton Get paginated value with previous page and next page link + * + * + * @endpoint wp-json/ctxfeed/v1/manage_feeds/?name=wf_feed_google_shopping + * @method GET + * @descripton Get single feed + * + * @param $name String + * + * @param $status String + * @param $page Number + * @param $per_page Number + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_items' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'status' => [ + 'description' => __( 'Is active or inactive', 'woo-feed' ), + 'type' => 'string', + 'required' => false, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ], + 'name' => [ + 'description' => __( 'feed name', 'woo-feed' ), + 'type' => 'string', + 'required' => false, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ], + 'page' => [ + 'description' => __( 'Page number', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + 'per_page' => [ + 'description' => __( 'Per page', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + ], + ], + ] + ); + // Duplicate feed. + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/duplicate', + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'duplicate_feed' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'feed' => [ + 'description' => __( 'Feed slug', 'woo-feed' ), + 'type' => 'string', + 'required' => true, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ], + ] + ] + ] + ); + + // Update feed status + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/update_feed_status', + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'update_feed_status' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'feed' => [ + 'description' => __( 'Feed slug', 'woo-feed' ), + 'type' => 'string', + 'required' => true, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ], + 'status' => [ + 'description' => __( 'Feed status enabled or disabled', 'woo-feed' ), + 'type' => 'number', + 'required' => true, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + ] + ] + ] + ); + + // Delete feed + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/delete_feed', + [ + [ + 'methods' => WP_REST_Server::DELETABLE, + 'callback' => [ $this, 'delete_feed' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'feed_id' => [ + 'description' => __( 'Feed id', 'woo-feed' ), + 'type' => 'string', + 'required' => true, + 'sanitize_callback' => 'sanitize_text_field', + 'validate_callback' => 'rest_validate_request_arg', + ], + ] + ] + ] + ); + + // Download feed file/log/config. + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/download', + [ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'download' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [] + ] + ] + ); + + // Get Auto Interval Schedules + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/schedules', + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_schedules' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [] + ] + ] + ); + // Set Update Interval + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/update_interval', + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'update_interval' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'time' => [ + 'description' => __( 'Initerval time', 'woo-feed' ), + 'type' => 'number', + 'required' => true, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + ] + ] + ] + ); + + // Clear cache + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/clear_cache', + [ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'clear_cache' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [] + ] + ] + ); + + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function get_item( $request ) { + $args = $request->get_params(); + $feed_name = $args['name']; + $feed_name = sanitize_text_field( wp_unslash( $feed_name ) ); + if ( $feed_name ) { + $current_feed = Feed::get_single_feed( $feed_name ); + if ( $current_feed ) { + if( !is_array( $current_feed[0]['option_value']['feedrules']['product_ids'] ) ){ + $included_ids_str = $current_feed[0]['option_value']['feedrules']['product_ids']; + if( $included_ids_str == "" ){ + $included_ids = []; + }else{ + $included_ids = []; + $included_ids_array = explode(",",$included_ids_str); + foreach ( $included_ids_array as $singleId ){ + $included_ids[] = (int) $singleId; + } + } + $current_feed[0]['option_value']['feedrules']['product_ids'] = $included_ids; + }else{ + $included_ids = array_map('absint', $current_feed[0]['option_value']['feedrules']['product_ids']); + $current_feed[0]['option_value']['feedrules']['product_ids'] = $included_ids; + } + return $this->success( $current_feed ); + } + } + /* translators: %s: error message */ + return $this->error( sprintf( __( 'Not found with: %s ', 'woo-feed' ), $feed_name ) ); + } + + /** + * + * @param \WP_REST_Request $request Full details about the request. + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function get_items( $request ) { + + $args = $request->get_params(); + self::$status = isset( $args['status'] ) ? $args['status'] : $this::$status; + if ( isset( $args['name'] ) ) { + return $this->get_item( $request ); + } + $this::$feed_lists = Feed::get_all_feeds( self::$status ); + if ( self::$status ) { + // True if status is active/inactive + if ( 'active' === self::$status || 'inactive' === self::$status ) { + $data = $this::$feed_lists; + } else { + return $this->error( __( 'Status should be active/inactive !', 'woo-feed' ) ); + } + } else { + $data = $this::$feed_lists; + } + + $response = rest_ensure_response( $this->response ); + $response = $this->maybe_add_pagination( $args, $data, $response ); + + return $response; + } + + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function duplicate_feed( $request ) { + $args = $request->get_params(); + + $response = Feed::duplicate_feed( $args['feed'] ); + + if ( is_wp_error( $response ) ) { + return $this->error( $response->get_error_message(), $response->get_error_code() ); + } + + $all_feeds = Feed::get_all_feeds(); + + return $this->success( $all_feeds ); + } + + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function update_feed_status( $request ) { + + $args = $request->get_params(); + $response = Feed::update_feed_status( $args['feed'], $args['status'] ); + + if ( $response ) { + $all_feeds = Feed::get_all_feeds(); + + return $this->success( $all_feeds ); + } + + return $this->error( 'Something went wrong.' ); + + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function delete_feed( $request ) { + $feed_id = $request->get_param( 'feed_id' ); + $response = Feed::delete_feed( $feed_id ); + + if ( $response ) { + $all_feeds = Feed::get_all_feeds(); + + return $this->success( $all_feeds ); + } + + return $this->error( 'Something went wrong' ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function download( $request ) { + $body = $request->get_body(); + $body = (array) json_decode( $body ); + if ( $body['type'] == '' ) { + $body['type'] = 'feed'; + } + $data = false; + $message = ''; + switch ( $body['type'] ) { + case 'feed': + $data = DownloadFiles::rest_download_feed( $body['rest_download_feed'] ); + /* translators: %s: message */ + $message = sprintf( __( 'Downloaded feed: %s file', 'woo-feed' ), $body['feed_name'] ); + break; + case 'config': + $data = DownloadFiles::rest_download_config( $body['feed'] ); + /* translators: %s: message */ + $message = sprintf( __( 'Downloaded feed config: %s file', 'woo-feed' ), $body['feed_name'] ); + break; + case 'log': + $data = DownloadFiles::rest_download_log( $body['feed'] ); + /* translators: %s: message */ + $message = sprintf( __( 'Downloaded feed log: %s file', 'woo-feed' ), $body['feed_name'] ); + break; + default: + $data = DownloadFiles::rest_download_feed( $body['feed'] ); + /* translators: %s: message */ + $message = sprintf( __( 'Downloaded feed: %s file', 'woo-feed' ), $body['feed_name'] ); + + } + + if ( is_wp_error( $data ) ) { + return $this->error( $data->get_error_message(), $data->get_error_code() ); + } + + return $this->success( $message ); + + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function get_schedules( $request ) { + + $schedules = FeedHelper::get_schedule_interval_options(); + $response['schedules'] = $schedules; + $response['interval'] = get_option( 'wf_schedule' ); + + return $this->success( $response ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function update_interval( $request ) { + $args = $request->get_params(); + $response = [ + 'status' => 0, + 'interval' => $args['time'] + ]; + $interval = absint( $args['time'] ); + + if ( $interval >= FeedHelper::get_minimum_interval_option() ) { + if ( update_option( 'wf_schedule', sanitize_text_field( wp_unslash( $interval ) ), false ) ) { + wp_clear_scheduled_hook( 'woo_feed_update' ); + if ( Helper::is_pro() ) { + add_filter( 'cron_schedules', 'Woo_Feed_Pro_Installer::cron_schedules' ); // phpcs:ignore + } else { + add_filter( 'cron_schedules', 'Woo_Feed_installer::cron_schedules' ); // phpcs:ignore + } + + //wp_schedule_event( time(), 'woo_feed_corn', 'woo_feed_update' ); + + $response['status'] = 1; // success. + } else { + $response['status'] = 2; // db fail. + } + } else { + $response['status'] = 3; // invalid value. + } + + return $this->success( $response ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null + */ + public function clear_cache( $request ) { + $body = $request->get_body(); + $result = Helper::clear_cache_data( $body ); + + return $this->success( $result ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/MerchantInfo.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/MerchantInfo.php new file mode 100644 index 000000000..522f5cd68 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/MerchantInfo.php @@ -0,0 +1,142 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class MerchantInfo extends RestController { + + /** + * The single instance of the class + * + * @var MerchantInfo + * + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = 'merchant_info'; + } + + /** + * Main MerchantInfo Instance. + * + * Ensures only one instance of MerchantInfo is loaded or can be loaded. + * + * @return MerchantInfo Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * + * @return void + */ + public function register_routes() { + + // Single merchant info + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @endpoint wp-json/ctxfeed/v1/merchant_info/?merchant=google + * @description Get Feed merchant information like : Docs, Supported file types etc. + * @param $merchant String merchant name + * + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_merchant_info' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'merchant' => [ + 'description' => __( 'Merchant name' ), + 'type' => 'string', + 'required' => true + ], + ], + ], + ] + ); + + + // multiple merchant info + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/get_initial_merchant_infos', + [ + /** + * @endpoint wp-json/ctxfeed/v1/merchant_info/get_initial_merchant_infos + * @description Get Feed merchant informations like : Docs, Supported file types etc. + * @param $merchant String merchant name + * + */ + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'get_initial_merchant_infos' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + ] + ); + } + + /** + * + * @param $request + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function get_merchant_info( $request ) { + $merchant = $request->get_param( 'merchant' ); + /** + * Get Feed merchant information like : Docs, Supported file types etc. + */ + $merchantInfo = TemplateInfo::get( $merchant ); + $this->response['extra'] = [ + 'provider' => $merchant, + ]; + + return $this->success( $merchantInfo ); + + } + + + /** + * + * @param $request + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function get_initial_merchant_infos( $request ) { + $merchants = $request->get_body(); + $merchants = json_decode( $merchants ); + /** + * Get Feed merchant information like : Docs, Supported file types etc. + */ + $merchantInfos = TemplateInfo::getMultiple( $merchants ); + + return $this->success( $merchantInfos ); + + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ProductCategories.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ProductCategories.php new file mode 100644 index 000000000..499074044 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ProductCategories.php @@ -0,0 +1,102 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class ProductCategories extends RestController { + + /** + * The single instance of the class + * + * @var ProductCategories + * + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = 'product_categories'; + } + + /** + * Main ProductCategories Instance. + * + * Ensures only one instance of ProductCategories is loaded or can be loaded. + * + * @return ProductCategories Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @endpoint wp-json/ctxfeed/v1/product_categories/?search=hoo + * @description will return all categories based on search string. + * @param $search String + * + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'search_categories' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'search' => [ + 'description' => __( 'Search string.', 'woo-feed' ), + 'type' => 'string', + 'required' => false + ], + ], + ], + ] + ); + } + + /** + * + * @param $request + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function search_categories( $request ) { + $search_string = $request->get_param( 'search' ); + + $args = array( + 'taxonomy' => array( 'product_cat' ), + 'orderby' => 'id', + 'order' => 'DESC', + 'hide_empty' => true, + 'fields' => 'all', + 'name__like' => $search_string, + ); + + $terms = get_terms( $args ); + + $this->success( $terms ); + + return rest_ensure_response( $this->response ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ProductTaxonomy.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ProductTaxonomy.php new file mode 100644 index 000000000..e7692d960 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/ProductTaxonomy.php @@ -0,0 +1,408 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class ProductTaxonomy extends RestController { + + /** + * Default country code + * @var string + */ + protected $country_code = 'en-US'; + /** + * Default merchant + * @var string + */ + protected $merchant = 'google'; + /** + * Default file name will be with id Example: taxonomy-with-ids.en-US.txt. If $with_id is false file name + * Example: taxonomy.en-US.txt for google merchant. + * this role will not applicable with facebook catalog. + * @var bool + */ + protected $with_id = true; + protected $ext = 'txt'; + + /** + * The single instance of the class + * + * @var ProductTaxonomy + * + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = 'product_taxonomy'; + } + + /** + * Main ProductTaxonomy Instance. + * + * Ensures only one instance of ProductTaxonomy is loaded or can be loaded. + * + * @return ProductTaxonomy Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @method GET + * @endpoint wp-json/ctxfeed/v1/product_taxonomy/?country_code=en-US&merchant=google + * @description will return stored merchant data. + * @param $country_code + * @param $merchant + * + * @endpoint wp-json/ctxfeed/v1/product_taxonomy/?country_code=en-US&merchant=google&update=true + * @description Download merchant taxonomy file. + * @param $country_code String + * @param $merchant String + * @param $update Boolean if true the taxonomy file will be downloaded based on merchant and country code. + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'manage_taxonomy' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'country_code' => [ + 'description' => __( 'Country code.' ), + 'type' => 'string', + 'required' => true + ], + 'merchant' => [ + 'description' => __( 'Merchant name' ), + 'type' => 'string', + 'required' => true + ], + 'with_id' => [ + 'description' => __( 'If true then taxonomy will be downloaded with id' ), + 'type' => 'boolean', + 'required' => false, + 'default' => true + ], + 'ext' => [ + 'description' => __( 'File extension default is txt' ), + 'type' => 'string', + 'required' => false, + 'default' => 'txt' + ], + 'update' => [ + 'description' => __( 'Should update if value is true' ), + 'type' => 'boolean', + 'required' => false, + 'default' => false + ], + ], + ], + ] + ); + } + + /** + * Base on parameter taxonomy file either updated or try to get file from specific folder( WOO_FEED_FREE_ADMIN_URL . 'partials/templates/taxonomies/') + * if parameter 'update' is passed, and it's value is true then file will be updated. + * else file will be, get. + * + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public function manage_taxonomy( $request ) { + $this->country_code = $request->get_param( 'country_code' ); + $this->merchant = $request->get_param( 'merchant' ); + $this->with_id = $request->get_param( 'with_id' ); + $this->ext = $request->get_param( 'ext' ); + $is_update = $request->get_param( 'update' ); + + if ( true == $is_update ) { + $this->update_taxonomy(); + } else { + $this->get_taxonomy(); + } + + return $this->success( $this->response ); + } + + /** + * + * @return bool + */ + public function get_taxonomy() { + $url = WOO_FEED_FREE_ADMIN_URL . 'partials/templates/taxonomies/'; + if ( 'google' == $this->merchant ) { + $url .= 'google_taxonomy.txt'; + } elseif ( 'facebook' == $this->merchant ) { + $url .= 'fb_taxonomy.txt'; + } else { + $url .= 'google_taxonomy.txt'; + } + $response = file_get_contents( $url ); + if ( $response ) { + $this->success( $response ); + } else { + /* translators: %s: message */ + $this->error( sprintf( __( 'No data found with this url: %s', 'woo-feed' ), $url ) ); + } + + return true; + } + + /** + * @param $request + * + * @return Boolean + */ + public function update_taxonomy() { + /** + * Depending on parameter like merchant and file extension file will be downloaded. + * if url doesn't has any resource response will be false. + */ + $url = $this->get_url(); + $response = wp_safe_remote_get( $url ); + if ( '200' == wp_remote_retrieve_response_code( $response ) ) { + $response_body = wp_remote_retrieve_body( $response ); + $path = WOO_FEED_FREE_ADMIN_PATH . 'partials/templates/taxonomies/'; + $filepath = $path . '/' . $this->get_filename_for_save(); + /** + * data will be put on targeted folder. + */ + $fp = fopen( $filepath, 'w' );//phpcs:ignore + fwrite( $fp, $response_body );//phpcs:ignore + fclose( $fp );//phpcs:ignore + $this->success( $url ); + } else { + /* translators: %s: message */ + $this->error( sprintf( __( 'No data found with this url: %s', 'woo-feed' ), $url ) ); + } + + return true; + } + + /** + * @return string + */ + public function get_url() { + return $this->get_merchant_url() . $this->get_filename_for_download(); + } + + /** + * @return string|void + */ + private function get_filename_for_save() { + $filename = 'google_taxonomy_US.txt'; + if ( 'google' === $this->merchant ) { + $filename = 'google_taxonomy_' . $this->country_code . '.' . $this->ext; + } elseif ( 'facebook' === $this->merchant ) { + $filename = 'facebook_taxonomy_' . $this->country_code . '.' . $this->ext; + } + + return $filename; + } + + /** + * @return string|void + */ + private function get_filename_for_download() { + $filename = 'taxonomy.en-US.txt'; + $country_code = $this->country_code; + $codes = $this->get_country_codes(); + foreach ( $codes as $code ) { + if ( false !== strpos( $code, $this->country_code ) ) { + $country_code = $code; + break; + } + } + if ( 'google' === $this->merchant ) { + $filename = ( true == $this->with_id ) ? 'taxonomy-with-ids.' . $country_code . '.' . $this->ext : 'taxonomy.' . $country_code . '.' . $this->ext; + } elseif ( 'facebook' === $this->merchant ) { + $country_code = str_replace( '-', '_', $country_code ); + $filename = $country_code . '.' . $this->ext; + } + + return $filename; + } + + /** + * taxonomy with ids example: https://www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt + * taxonomy without id example: https://www.google.com/basepages/producttype/taxonomy.en-US.txt + * @return mixed + */ + private function get_merchant_url() { + $urls = apply_filters( 'ctxfeed_mechant_ur', [ + 'google' => 'https://www.google.com/basepages/producttype/', + 'facebook' => 'https://www.facebook.com/products/categories/' + ] ); + + return $urls[ $this->merchant ]; + } + + /** + * @return mixed|null + */ + private function get_country_codes() { + return apply_filters( 'ctxfeed_country_codes', [ + "af", + "ak", + "sq", + "am", + "ar", + "hy", + "rup-MK", + "as", + "az", + "az-TR", + "ba", + "eu", + "bel", + "bn-BD", + "bs-BA", + "bg-BG", + "my-MM", + "ca", + "bal", + "zh-CN", + "zh-HK", + "zh-TW", + "co", + "hr", + "cs-CZ", + "da-DK", + "dv", + "nl-NL", + "nl-BE", + "en-US", + "en-AU", + "en-CA", + "en-GB", + "eo", + "et", + "fo", + "fi", + "fr-BE", + "fr-FR", + "fy", + "fuc", + "gl-ES", + "ka-GE", + "de-DE", + "de-CH", + "el", + "gn", + "gu-IN", + "haw-US", + "haz", + "he-IL", + "hi-IN", + "hu-HU", + "is-IS", + "ido", + "id-ID", + "ga", + "it-IT", + "ja", + "jv-ID", + "kn", + "kk", + "km", + "kin", + "ky-KY", + "ko-KR", + "ckb", + "lo", + "lv", + "li", + "lin", + "lt-LT", + "lb-LU", + "mk-MK", + "mg-MG", + "ms-MY", + "ml-IN", + "mr", + "xmf", + "mn", + "me-ME", + "ne-NP", + "nb-NO", + "nn-NO", + "ory", + "os", + "ps", + "fa-IR", + "fa-AF", + "pl-PL", + "pt-BR", + "pt-PT", + "pa-IN", + "rhg", + "ro-RO", + "ru-RU", + "ru-UA", + "rue", + "sah", + "sa-IN", + "srd", + "gd", + "sr-RS", + "sd-PK", + "si-LK", + "sk-SK", + "sl-SI", + "so-SO", + "azb", + "es-AR", + "es-CL", + "es-CO", + "es-MX", + "es-PE", + "es-PR", + "es-ES", + "es-VE", + "su-ID", + "sw", + "sv-SE", + "gsw", + "tl", + "tg", + "tzm", + "ta-IN", + "ta-LK", + "tt-RU", + "te", + "th", + "bo", + "tir", + "tr-TR", + "tuk", + "ug-CN", + "uk", + "ur", + "uz-UZ", + "vi", + "wa", + "cy", + "yor" + ] ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/Products.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/Products.php new file mode 100644 index 000000000..b2284f548 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/Products.php @@ -0,0 +1,204 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class Products extends RestController { + /** + * The single instance of the class + * + * @var Products + * + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = 'products'; + } + + /** + * Main ProductTitles Instance. + * + * Ensures only one instance of ProductTitles is loaded or can be loaded. + * + * @return Products Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + //Search products + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @endpoint wp-json/ctxfeed/v1/product/?search=hoo + * @description will return all product titles based on search string. + * + * @param $search String + * @method GET + * + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_product_titles' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'search' => [ + 'description' => __( 'Search string.', 'woo-feed' ), + 'type' => 'string', + 'required' => true + ], + ], + ], + ] + ); + + // Get product ids + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/ids', + [ + /** + * @endpoint wp-json/ctxfeed/v1/products/ids + * @description will return all product ids based on query. + * + * @param $feed String Feed name + * @method GET + * + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_product_ids' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + ] + ); + + // Out Of Stock products + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/get_filter_data', + [ + /** + * @endpoint wp-json/ctxfeed/v1/products/get_filter_data + * @description will return all out of stock products. + * + * @param $feed String Feed name + * @method GET + * + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_filter_data' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + ] + ); + } + + /** + * + * @param $request + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function get_product_titles( $request ) { + $search_string = $request->get_param( 'search' ); + + $data_store = \WC_Data_Store::load( 'product' ); + $ids = $data_store->search_products( $search_string, 'product', true, false, 200, [], [] ); + $search_results = []; + foreach ( $ids as $id ) { + if ( $id < 1 ) { + continue; + } + $product = wc_get_product( $id ); + $search_results[ $id ] = strip_tags( $product->get_formatted_name() ); + } + + return $this->success( [ $search_results ] ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_REST_Response|null\ + */ + public function get_product_ids( $request ) { + $config = new Config( [] ); + $ids = QueryFactory::get_ids( $config ); + $ids = $this->prepare_item_for_response( $ids, $request ); + + return $this->success( $ids ); + } + + /** + * @param $ids + * @param $request + * + * @return mixed|void|\WP_Error|\WP_REST_Response + */ + public function prepare_item_for_response( $ids, $request ) { + return array_filter( $ids, function ( $id ) { + return $id > 0; + } ); + } + + /** + * @param $request + * + * @return mixed|void|\WP_Error|\WP_REST_Response + */ + public function get_filter_data( $request ) { + + // TODO these previous methods and current FilterInfo class output is different + $results = array( + 'product_visibility' => woo_feed_hidden_products_count(), + 'is_emptyPrice' => woo_feed_no_price_products_count(), + 'is_emptyImage' => woo_feed_no_image_products_count(), + 'is_emptyDescription' => woo_feed_no_description_products_count(), + 'is_outOfStock' => woo_feed_out_of_stock_products_count(), + 'is_backorder' => woo_feed_backorder_products_count(), + ); + +// $results = array( +// 'product_visibility' => FilterInfo::getHiddenProducts() , +// 'is_emptyPrice' => FilterInfo::getEmptyPriceProducts(), +// 'is_emptyImage' => FilterInfo::getEmptyImageProducts(), +// 'is_emptyDescription' => FilterInfo::getDescriptionProducts(), +// 'is_outOfStock' => FilterInfo::getOutOfStockProducts(), +// 'is_backorder' => FilterInfo::getBackOrderProducts(), +// ); + + return $this->success( $results ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/Settings.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/Settings.php new file mode 100644 index 000000000..bd6cde4bf --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/Settings.php @@ -0,0 +1,256 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class Settings extends RestController { + private static $settings_lists = []; + /** + * @var string + */ + private static $option_name = 'woo_feed_settings'; + /** + * The single instance of the class + * + * @var Settings + * + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = RestConstants::SETTINGS_REST_BASE; + } + + /** + * Main Settings Instance. + * + * Ensures only one instance of Settings is loaded or can be loaded. + * + * @return Settings Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + // Default settings + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * + * @endpoint wp-json/ctxfeed/v1/settings + * @method GET + * @descripton Get single attribute + * + * @param $name String + * + * @param $page Number + * @param $per_page Number + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + [ + 'methods' => WP_REST_Server::EDITABLE, + 'callback' => [ $this, 'update_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + 'schema' => [ $this, 'get_item_schema' ], + ] + + ); + // Custom Fields + register_rest_route( + $this->namespace, '/' . $this->rest_base . '/custom_settings', + /** + * @endpoint wp-json/ctxfeed/v1/settings/custom_settings + * @method GET + * @descripton get custom settings + * + * @param $name String + */ + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_custom_fields' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ] + ] + ); + + // What we collect + register_rest_route( + $this->namespace, '/' . $this->rest_base . '/what_we_collect', + /** + * @endpoint wp-json/ctxfeed/v1/settings/what_we_collect + * @method GET + * @descripton get data about data collection. + * + * @param $name String + */ + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'what_we_collect' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ] + ] + ); + } + + /** + * @param $request \WP_REST_Request request body will be [] + * + * + * @return \WP_Error|\WP_REST_Response|\WP_HTTP_Response + */ + public function get_custom_fields( $request ) { + $custom_fields = CustomFieldHelper::get_fields(); + + return $this->success( $custom_fields ); + } + + /** + * @param $request + * + * @return \WP_REST_Response|null + */ + public function what_we_collect( $request ) { + $data = [ + 'opt_in' => WooFeedWebAppickAPI::getInstance()->is_tracking_allowed(), + 'collect' => WooFeedWebAppickAPI::getInstance()->get_data_collection_description(), + ]; + return $this->success( $data ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function update_item( $request ) { + $body = $request->get_body(); + $body = self::json_decode( $body ); + + if ( isset( $body['opt_in'] ) && $body['opt_in'] ) { + WooFeedWebAppickAPI::getInstance()->trackerOptIn(); + } else { + WooFeedWebAppickAPI::getInstance()->trackerOptOut(); + } + + + if ( isset( $body['clear_all_logs'] ) && $body['clear_all_logs'] ) { + Logs::delete_all_logs(); + } + if ( isset( $body['purge_feed_cache'] ) && $body['purge_feed_cache'] ) { + Cache::flush(); + } + + SettingsBase::save( $body ); + + self::$settings_lists = SettingsBase::get( 'all' ); + + return $this->success( self::$settings_lists ); + } + + private static function json_decode( $body ) { + $arr = (array) json_decode( $body ); + foreach ( $arr as &$value ) { + if ( is_object( $value ) ) { + $value = (array) $value; + } elseif ( is_string( $value ) ) { + $value = (string) $value; + } elseif ( is_array( $value ) ) { + $value = (array) $value; + } elseif ( is_int( $value ) ) { + $value = (int) $value; + } + } + + return $arr; + } + + /** + * + * @param \WP_REST_Request $request Full details about the request. + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function get_item( $request ) { + self::$settings_lists = SettingsBase::get( 'all' ); + + return $this->success( self::$settings_lists ); + } + + + /** + * Get our sample schema for comments. + */ + public function get_item_schema() { + if ( $this->schema ) { + return $this->add_additional_fields_schema( $this->schema ); + } + $schema = array( + // This tells the spec of JSON Schema we are using which is draft 4. + '$schema' => 'http://json-schema.org/draft-04/schema#', + // The title property marks the identity of the resource. + 'title' => 'comment', + 'type' => 'object', + // In JSON Schema you can specify object properties in the properties attribute. + 'properties' => array( + 'id' => array( + 'description' => esc_html__( 'Unique identifier for the object.', 'my-textdomain' ), + 'type' => 'integer', + 'context' => array( 'view', 'edit', 'embed' ), + 'readonly' => true, + ), + 'author' => array( + 'description' => esc_html__( 'The id of the user object, if author was a user.', 'my-textdomain' ), + 'type' => 'integer', + ), + 'content' => array( + 'description' => esc_html__( 'The content for the object.', 'my-textdomain' ), + 'type' => 'string', + ), + ), + ); + + $this->schema = $schema; + + return $this->add_additional_fields_schema( $this->schema ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WPOptions.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WPOptions.php new file mode 100644 index 000000000..e6d7742f9 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WPOptions.php @@ -0,0 +1,160 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class WPOptions extends RestController { + /** + * @var array + */ + private static $option_lists = []; + /** + * The single instance of the class + * + * @var WPOptions + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = RestConstants::WP_OPTION_REST_BASE; + } + + /** + * Main WPOptions Instance. + * + * Ensures only one instance of WPOptions is loaded or can be loaded. + * + * @return WPOptions Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @endpoint: wp-json/ctxfeed/v1/wp_options + * @description Will get all feed lists + * + * + * @endpoint wp-json/ctxfeed/v1/wp_options/?page=1&per_page=2 + * @descripton Get paginated value with previous page and next page link + * + * @param $name String + * + * @param $page Number + * @param $per_page Number + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_items' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [ + 'page' => [ + 'description' => __( 'Page number', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + 'per_page' => [ + 'description' => __( 'Per page', 'woo-feed' ), + 'type' => 'number', + 'required' => false, + 'sanitize_callback' => 'absint', + 'validate_callback' => 'rest_validate_request_arg', + ], + ], + ], + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'create_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + /** + * @endpoint wp-json/ctxfeed/v1/wp_options/?name=wf_feed_google_shopping + * @method DELETE + * @descripton Delete single attribute + * + * @param $name String + */ + [ + 'methods' => WP_REST_Server::DELETABLE, + 'callback' => [ $this, 'delete_item' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + ], + ); + } + + /** + * @param $request \WP_REST_Request request body will be [] + * + * + * @return \WP_Error|\WP_REST_Response|\WP_HTTP_Response + */ + public function delete_item( $request ) { + $body = $request->get_body(); + $body = json_decode( $body ); + self::$option_lists = WPOptionBase::deleteWPOption( $body); + + return $this->success( self::$option_lists ); + } + + /** + * @param $request + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function create_item( $request ) { + $body = $request->get_body(); + $body = json_decode( $body ); + self::$option_lists = WPOptionBase::saveWPOption( $body ); + + return $this->success( self::$option_lists ); + } + + + /** + * + * @param \WP_REST_Request $request Full details about the request. + * + * @return \WP_Error|\WP_HTTP_Response|\WP_REST_Response + */ + public function get_items( $request ) { + $args = $request->get_params(); + self::$option_lists = WPOptionBase::getWPOptions(); + $response = rest_ensure_response( $this->response ); + $response = $this->maybe_add_pagination( $args, self::$option_lists, $response ); + + return $response; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WPStatus.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WPStatus.php new file mode 100644 index 000000000..627bae39e --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WPStatus.php @@ -0,0 +1,140 @@ +rest_base = RestConstants::STATUS_REST_BASE; + } + + /** + * Main Status Instance. + * + * Ensures only one instance of Status is loaded or can be loaded. + * + * @return WPStatus Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base,[ + /** + * @endpoint wp-json/ctxfeed/v1/wp-status + * @method GET + * @descripton Get status + * + * @param $name String + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_wp_status' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ] + + ] + ); + + register_rest_route( + $this->namespace, + $this->rest_base . '/logs',[ + /** + * @endpoint wp-json/ctxfeed/v1/wp-status/logs + * @method GET + * @descripton Get logs + * + * @param $name String + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_wp_logs' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ] + + ] + ); + + register_rest_route( + $this->namespace, + $this->rest_base . '/delete-cache',[ + /** + * @endpoint wp-json/ctxfeed/v1/wp-status/delete-cache + * @method GET + * @descripton Delete status cache + * + * @param $name String + */ + [ + 'methods' => WP_REST_Server::EDITABLE, + 'callback' => [ $this, 'delete_status_cache' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ] + + ] + ); + } + + public function get_wp_status(){ + $get_status = new Status(); + $wp_status = $get_status->get_status(); + $status_text = $get_status->get_status_logs_error( $wp_status ); + return $this->success( [ + 'wp_status' => $wp_status, + 'status_text' => $status_text, + ]); + } + + public function get_wp_logs(){ + $get_status = new Status(); + $get_logs = $get_status->get_logs(); + + return $this->success( [ + 'logs'=>$get_logs + ]); + } + public function delete_status_cache(){ + $get_cache = Cache::get( 'woo_feed_status_page_info' ); + + if($get_cache) + $delete_cache = Cache::delete( 'woo_feed_status_page_info' ); + else + $delete_cache = true; + + Helper::clear_cache_data(); + + return $this->success( [ + 'result'=>$delete_cache + ]); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WooFeedDocs.php b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WooFeedDocs.php new file mode 100644 index 000000000..8b46d7784 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/API/V1/WooFeedDocs.php @@ -0,0 +1,83 @@ + + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class WooFeedDocs extends RestController { + + /** + * The single instance of the class + * + * @var WooFeedDocs + */ + protected static $_instance = null; + + private function __construct() { + parent::__construct(); + $this->rest_base = RestConstants::WOO_FEED_DOCS_REST_BASE; + } + /** + * Main WooFeedDocs Instance. + * + * Ensures only one instance of WPOptions is loaded or can be loaded. + * + * @return WooFeedDocs Main instance + */ + public static function instance() { + if ( is_null( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + /** + * Register routes. + * @return void + */ + public function register_routes() { + register_rest_route( + $this->namespace, + '/' . $this->rest_base, + [ + /** + * @endpoint wp-json/ctxfeed/v1/wp_options/?name=wf_feed_google_shopping + * @method READ + * @descripton get woo feed docs + */ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'woo_feed_docs' ], + 'permission_callback' => [ $this, 'get_item_permissions_check' ], + 'args' => [], + ], + ], + ); + } + + /** + * + * @param \WP_REST_Request $request Full details about the request. + * + * @return \WP_Error|\WP_REST_Response|\WP_HTTP_Response + */ + public function woo_feed_docs(){ + $docs = new Docs(); + $docs_data = $docs->woo_feed_docs(); + + return $this->success( $docs_data ); + } + +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/CustomFileds.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/CustomFileds.php new file mode 100644 index 000000000..64510d237 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/CustomFileds.php @@ -0,0 +1,253 @@ +'; + echo sprintf('

%s

', esc_attr('woo-feed-option-title'), esc_html__('CUSTOM FIELDS by CTX Feed', 'woo-feed')); + foreach ($custom_fields as $field_Key => $custom_field) { + if (isset($custom_field_settings[$field_Key]) && 'enable' === $custom_field_settings[$field_Key] && in_array($custom_field[2], ['text', 'date'])) { + + //identifier meta value for old and new version users + $custom_field_key_previous = sprintf('woo_feed_identifier_%s', strtolower($field_Key)); + $custom_field_value_previous = get_post_meta(get_the_ID(), $custom_field_key_previous, true); + + $custom_field_key = sprintf('woo_feed_%s', strtolower($field_Key)); + $custom_field_value = get_post_meta(get_the_ID(), $custom_field_key, true); + + if (empty($custom_field_value) && !empty($custom_field_value_previous)) { + $custom_field_key = $custom_field_key_previous; + $custom_field_value = $custom_field_value_previous; + } + + $custom_field_id = esc_attr(wp_unslash("woo_feed_$field_Key")); + $custom_field_label = esc_attr(wp_unslash($custom_field[0])); + $custom_field_description = __('Set product ', 'woo-feed') . esc_html($custom_field_label) . __(' here.', 'woo-feed'); + + if (strpos($custom_field_id, 'availability_date')) { + woocommerce_wp_text_input( + array( + 'id' => "woo_feed_availability_date", + 'name' => "woo_feed_availability_date", + 'placeholder' => '', + 'label' => __('Availability Date', 'woo-feed'), + 'type' => 'date', + 'value' => $custom_field_value, + 'desc_tip' => false, + 'description' => __('Set availability date for backorder products.', 'woo-feed'), + ) + ); + } else { + woocommerce_wp_text_input( + array( + 'id' => $custom_field_id, + 'label' => $custom_field_label, + 'placeholder' => $custom_field_label, + 'type' => $custom_field[2], + 'value' => esc_attr(wp_unslash($custom_field_value)), + 'desc_tip' => true, + 'description' => $custom_field_description, + ) + ); + } + + } + } + echo ''; + } + } + + /** + * Set Custom Fields for Product Variations. + * + * @param $loop + * @param $variation_data + * @param $variation + * + * @return void + */ + public function set_custom_field_for_variation($loop, $variation_data, $variation) + { + + $custom_field_settings = Settings::get('woo_feed_identifier'); + $custom_fields = CustomFieldHelper::get_fields(); + + if (!empty($custom_field_settings) && in_array('enable', $custom_field_settings, true)) { + echo '
'; + + if (!empty($custom_fields)) { + echo '
'; + echo "
"; + echo sprintf('

%s

', esc_attr('woo-feed-variation-option-title'), esc_html__('CUSTOM FIELDS by CTX Feed', 'woo-feed')); + echo "
"; + echo '
'; + + foreach ($custom_fields as $field_Key => $custom_field) { + if (isset($custom_field_settings[$field_Key]) && 'enable' === $custom_field_settings[$field_Key] && in_array($custom_field[2], ['text', 'date'])) { + $custom_field_id = sprintf('woo_feed_%s_var[%d]', strtolower($field_Key), $variation->ID); + $custom_field_label = isset($custom_field[0]) ? $custom_field[0] : ''; + $custom_field_description = sprintf('Set Variation %s here.', $custom_field_label); + + //identifier meta value for old and new version users + if (metadata_exists('post', $variation->ID, 'woo_feed_' . strtolower($field_Key) . '_var')) { + $custom_field_key = sprintf('woo_feed_%s_var', strtolower($field_Key)); + } else { + $custom_field_key = sprintf('woo_feed_identifier_%s_var', strtolower($field_Key)); + } + + $custom_field_value = esc_attr(get_post_meta($variation->ID, $custom_field_key, true)); + + if (strpos($custom_field_id, 'availability_date')) { + woocommerce_wp_text_input( + array( + 'id' => "woo_feed_availability_date_var{$loop}", + 'name' => "woo_feed_availability_date_var[{$loop}]", + 'placeholder' => '', + 'label' => __('Availability Date', 'woo-feed'), + 'type' => 'date', + 'desc_tip' => true, + 'description' => __('Set availability date for backorder products.', 'woo-feed'), + 'value' => esc_attr($custom_field_value), + 'wrapper_class' => 'form-row form-row-full', + ) + ); + } else { + woocommerce_wp_text_input( + array( + 'id' => $custom_field_id, + 'value' => $custom_field_value, + 'placeholder' => esc_html($custom_field_label), + 'label' => esc_html($custom_field_label), + 'desc_tip' => true, + 'description' => esc_html($custom_field_description), + 'wrapper_class' => 'form-row form-row-full', + ) + ); + } + } + } + echo '
'; + } + echo "
"; + echo '
'; + } + } + + /** + * Save Product Custom Field Value. + * + * @param int $post_id Product id. + * + * @return void + */ + public function save_custom_field_value($post_id) + { + + $custom_fields = CustomFieldHelper::get_fields(); + $set_meta_val = ''; + + if (!empty($custom_fields)) { + foreach ($custom_fields as $key => $custom_field) { + $product_meta_key = "woo_feed_$key"; + + $new_meta_key = "woo_feed_identifier_$key"; + $new_meta_val = get_post_meta($post_id, $new_meta_key, true); + $old_meta_val = get_post_meta($post_id, $product_meta_key, true); + + if (!empty($old_meta_val)) { + $set_meta_val = $old_meta_val; + } else { + $set_meta_val = $new_meta_val; + } + + if (isset($_POST[$product_meta_key])) { + $product_meta_value = sanitize_text_field($_POST[$product_meta_key]); + } elseif (isset($_POST[$new_meta_key])) { + $product_meta_value = sanitize_text_field($_POST[$new_meta_key]); + } else { + $product_meta_value = $set_meta_val; + } + + if (isset($product_meta_value) && !empty($product_meta_value)) { + update_post_meta($post_id, $product_meta_key, $product_meta_value); + } else { + delete_post_meta($post_id, $product_meta_key); + } + } + } + } + + /** + * Save Product Variation Custom Field Value. + * + * @param int $post_id Variation id. + * + * @return void + */ + public function save_variation_custom_field_value($post_id, $loop) + { + + $custom_fields = woo_feed_product_custom_fields(); + + if (!empty($custom_fields)) { + foreach ($custom_fields as $key => $value) { + + $product_meta_key = "woo_feed_{$key}_var"; + + $new_meta_key = "woo_feed_identifier_{$key}_var"; + $new_meta_val = get_post_meta($post_id, $new_meta_key, true); + $old_meta_val = get_post_meta($post_id, $product_meta_key, true); + + if (!empty($old_meta_val)) { + $set_meta_val = $old_meta_val; + } else { + $set_meta_val = $new_meta_val; + } + + if (isset($_POST[$product_meta_key][$post_id])) { + $product_meta_value = sanitize_text_field($_POST[$product_meta_key][$post_id]); + } elseif (isset($_POST[$product_meta_key][$loop])) { + $product_meta_value = sanitize_text_field($_POST[$product_meta_key][$loop]); + } elseif (isset($_POST[$new_meta_key] [$post_id])) { + $product_meta_value = sanitize_text_field($_POST[$new_meta_key][$post_id]); + } elseif (isset($_POST[$new_meta_key] [$loop])) { + $product_meta_value = sanitize_text_field($_POST[$new_meta_key][$loop]); + } else { + $product_meta_value = $set_meta_val; + } + + + if (isset($product_meta_value) && !empty($product_meta_value)) { + update_post_meta($post_id, $product_meta_key, $product_meta_value); + } + } + } + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/DisplayBanners.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/DisplayBanners.php new file mode 100644 index 000000000..bbbd9caf8 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/DisplayBanners.php @@ -0,0 +1,64 @@ +$value) { + + if ( $plugin_slug[0] == explode('/',$key )[0] ) { + $slug = explode('/',$key )[0]; + } + + } + return $slug; + } + + public static function life_time_banner_should_shown() + { + +// $slug = "webappick-product-feed-for-woocommerce-pro"; + $slug = self :: get_slugname(); + + $lifeTimeProductIds = array( 63687, 63686, 63685, 106128, 106132, 106133 ); + + $key = md5( $slug ); + + $option_key = 'WebAppick_' . $key . '_manage_license'; + + $license_data = get_option( $option_key ); + + if ( !empty( $license_data ) and is_array( $license_data ) ) { + + if (strtolower( $license_data['status'] ) === 'active' && isset( $license_data['product_id'] ) && in_array( $license_data['product_id'], $lifeTimeProductIds ) ) { + + $isActive = true; + + } else { + + $isActive = false; + + } + + } else { + + $isActive = false; + + } + + return $isActive; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/DisplayNotices.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/DisplayNotices.php new file mode 100644 index 000000000..a395375ac --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/DisplayNotices.php @@ -0,0 +1,56 @@ + true, + 'type' => 'error', + 'capability' => 'manage_woocommerce', + 'option_prefix' => 'ctx_feed_', + ]; + + switch ( $code ) { + case 'log_file_not_found': + $title = esc_html__( 'Log File Not Found.', 'woo-feed' ); + $content = esc_html__( 'Log file not fount. Please enable log from CTX Feed > Setting or Regenerate the Feed.', 'woo-feed' ); + $options['type'] = 'warning'; + $notices->add( uniqid( 'log_file_not_found', true ), $title, $content, $options ); + break; + case 'feed_download_failed': + $title = esc_html__( 'Feed Download Failed.', 'woo-feed' ); + $content = esc_html__( 'Failed to download feed file. Please regenerate the feed and try again.', 'woo-feed' ); + $notices->add( uniqid( 'feed_download_failed', true ), $title, $content, $options ); + break; + default: + break; + + //TODO add notice for feed import and export + } + + $notices->boot(); + } + } + + public function display_admin_notice() { + + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/DownloadFiles.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/DownloadFiles.php new file mode 100644 index 000000000..c54f5b215 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/DownloadFiles.php @@ -0,0 +1,158 @@ +sendDownload( $file_name ); + } else { + exit( esc_url(wp_redirect( add_query_arg( 'wpf_notice_code', 'log_file_not_found', admin_url( 'admin.php?page=webappick-manage-feeds' ) ) ) )); + } + } + + /** + * Download feed. + * + * @return void + */ + public function download_feed() { + if ( + isset( $_REQUEST['feed'], $_REQUEST['_wpnonce'] ) + && wp_verify_nonce( sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ), 'wpf-download-feed' ) + ) { + $feed_name = sanitize_text_field( wp_unslash( $_REQUEST['feed'] ) ); + /* your file, somewhere opened with fopen() or tmpfile(), etc.. */ + $config = Factory::get_feed_info( $feed_name ); + + if ( ! file_exists( $config->get_feed_path() ) ) { + exit( esc_url(wp_redirect( add_query_arg( 'wpf_notice_code', 'feed_download_failed', admin_url( 'admin.php?page=webappick-manage-feeds' ) ) ) )); + } + + $fileData = fopen( $config->get_feed_path(), 'rb' ); + $fileDownload = new FileDownload( $fileData ); + $fileDownload->sendDownload( $config->get_feed_file_name() ); + } else { + exit( esc_url(wp_redirect( add_query_arg( 'wpf_notice_code', 'feed_download_failed', admin_url( 'admin.php?page=webappick-manage-feeds' ) ) ) )); + } + } + + /** + * @param $feed_name + * + * @return array|WP_Error + */ + public static function rest_download_feed( $feed_name ) { + $feed_name = sanitize_text_field( wp_unslash( $feed_name ) ); + /* your file, somewhere opened with fopen() or tmpfile(), etc.. */ + $config = Factory::get_feed_info( $feed_name ); + + if ( ! file_exists( $config->get_feed_path() ) ) { + return new WP_Error( 'feed_file_not_found', 'Feed file: ' . $feed_name . ' does\'nt exists.' ); + } + + return ['path' => $config->get_feed_path(), 'file_name' => $config->get_feed_file_name() ]; + + } + + /** + * @param $feed_name + * + * @return array|WP_Error + */ + public static function rest_download_log( $feed_name ) { + + $feed_name = sanitize_text_field( wp_unslash( $feed_name ) ); + $feed_name = str_replace( 'wf_feed_', '', $feed_name ); + $log_file_path = CTX_WC_Log_Handler::get_log_file_path( $feed_name ); + + $file_name = sprintf( + '%s-%s-%s.log', + sanitize_title( $feed_name ), + gmdate( 'Y-m-d', time() ), + time() + ); + + if ( ! file_exists( $log_file_path ) ) { + return new WP_Error( 'log_file_not_found', 'Feed file: ' . $feed_name . ' does\'nt have any log' ); + } + + + + return ['path' => $log_file_path, 'file_name' => $file_name ]; + } + + /** + * Rest Download config. + * + * @return bool|WP_Error + */ + public static function rest_download_config( $feed_name ) { + $feed = sanitize_text_field( wp_unslash( $feed_name ) ); + $feed = str_replace( [ 'wf_feed_', 'wf_config' ], '', $feed ); + $config = Factory::get_feed_info( $feed ); + + $file_name = sprintf( + '%s-%s.wpf', + sanitize_title( $config->get_feed_file_name() ), + time() + ); + $feed = wp_json_encode( $config->get_feed_rules() ); + $meta = wp_json_encode( [ + 'version' => WOO_FEED_FREE_VERSION, + 'file_name' => $file_name, + 'hash' => md5( $feed ), + ] ); + $bin = pack( 'VA*VA*', strlen( $meta ), $meta, strlen( $feed ), $feed ); + $feed_config = gzdeflate( $bin, 9 ); + + return $feed_config; + + + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/DropDownOptions.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/DropDownOptions.php new file mode 100644 index 000000000..93f6d7596 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/DropDownOptions.php @@ -0,0 +1,1261 @@ + 'Afghanistan', + 'AX' => 'Aland Islands', + 'AL' => 'Albania', + 'DZ' => 'Algeria', + 'AS' => 'American Samoa', + 'AD' => 'Andorra', + 'AO' => 'Angola', + 'AI' => 'Anguilla', + 'AQ' => 'Antarctica', + 'AG' => 'Antigua and Barbuda', + 'AR' => 'Argentina', + 'AM' => 'Armenia', + 'AW' => 'Aruba', + 'AU' => 'Australia', + 'AT' => 'Austria', + 'AZ' => 'Azerbaijan', + 'BS' => 'Bahamas the', + 'BH' => 'Bahrain', + 'BD' => 'Bangladesh', + 'BB' => 'Barbados', + 'BY' => 'Belarus', + 'BE' => 'Belgium', + 'BZ' => 'Belize', + 'BJ' => 'Benin', + 'BM' => 'Bermuda', + 'BT' => 'Bhutan', + 'BO' => 'Bolivia', + 'BA' => 'Bosnia and Herzegovina', + 'BW' => 'Botswana', + 'BV' => 'Bouvet Island (Bouvetoya)', + 'BR' => 'Brazil', + 'IO' => 'British Indian Ocean Territory (Chagos Archipelago)', + 'VG' => 'British Virgin Islands', + 'BN' => 'Brunei Darussalam', + 'BG' => 'Bulgaria', + 'BF' => 'Burkina Faso', + 'BI' => 'Burundi', + 'KH' => 'Cambodia', + 'CM' => 'Cameroon', + 'CA' => 'Canada', + 'CV' => 'Cape Verde', + 'KY' => 'Cayman Islands', + 'CF' => 'Central African Republic', + 'TD' => 'Chad', + 'CL' => 'Chile', + 'CN' => 'China', + 'CX' => 'Christmas Island', + 'CC' => 'Cocos (Keeling) Islands', + 'CO' => 'Colombia', + 'KM' => 'Comoros the', + 'CD' => 'Congo', + 'CG' => 'Congo the', + 'CK' => 'Cook Islands', + 'CR' => 'Costa Rica', + 'CI' => 'Cote d\'Ivoire', + 'HR' => 'Croatia', + 'CU' => 'Cuba', + 'CY' => 'Cyprus', + 'CZ' => 'Czech Republic', + 'DK' => 'Denmark', + 'DJ' => 'Djibouti', + 'DM' => 'Dominica', + 'DO' => 'Dominican Republic', + 'EC' => 'Ecuador', + 'EG' => 'Egypt', + 'SV' => 'El Salvador', + 'GQ' => 'Equatorial Guinea', + 'ER' => 'Eritrea', + 'EE' => 'Estonia', + 'ET' => 'Ethiopia', + 'FO' => 'Faroe Islands', + 'FK' => 'Falkland Islands (Malvinas)', + 'FJ' => 'Fiji the Fiji Islands', + 'FI' => 'Finland', + 'FR' => 'France', + 'GF' => 'French Guiana', + 'PF' => 'French Polynesia', + 'TF' => 'French Southern Territories', + 'GA' => 'Gabon', + 'GM' => 'Gambia the', + 'GE' => 'Georgia', + 'DE' => 'Germany', + 'GH' => 'Ghana', + 'GI' => 'Gibraltar', + 'GR' => 'Greece', + 'GL' => 'Greenland', + 'GD' => 'Grenada', + 'GP' => 'Guadeloupe', + 'GU' => 'Guam', + 'GT' => 'Guatemala', + 'GG' => 'Guernsey', + 'GN' => 'Guinea', + 'GW' => 'Guinea-Bissau', + 'GY' => 'Guyana', + 'HT' => 'Haiti', + 'HM' => 'Heard Island and McDonald Islands', + 'VA' => 'Holy See (Vatican City State)', + 'HN' => 'Honduras', + 'HK' => 'Hong Kong', + 'HU' => 'Hungary', + 'IS' => 'Iceland', + 'IN' => 'India', + 'ID' => 'Indonesia', + 'IR' => 'Iran', + 'IQ' => 'Iraq', + 'IE' => 'Ireland', + 'IM' => 'Isle of Man', + 'IL' => 'Israel', + 'IT' => 'Italy', + 'JM' => 'Jamaica', + 'JP' => 'Japan', + 'JE' => 'Jersey', + 'JO' => 'Jordan', + 'KZ' => 'Kazakhstan', + 'KE' => 'Kenya', + 'KI' => 'Kiribati', + 'KP' => 'Korea', + 'KR' => 'Korea', + 'KW' => 'Kuwait', + 'KG' => 'Kyrgyz Republic', + 'LA' => 'Lao', + 'LV' => 'Latvia', + 'LB' => 'Lebanon', + 'LS' => 'Lesotho', + 'LR' => 'Liberia', + 'LY' => 'Libyan Arab Jamahiriya', + 'LI' => 'Liechtenstein', + 'LT' => 'Lithuania', + 'LU' => 'Luxembourg', + 'MO' => 'Macao', + 'MK' => 'Macedonia', + 'MG' => 'Madagascar', + 'MW' => 'Malawi', + 'MY' => 'Malaysia', + 'MV' => 'Maldives', + 'ML' => 'Mali', + 'MT' => 'Malta', + 'MH' => 'Marshall Islands', + 'MQ' => 'Martinique', + 'MR' => 'Mauritania', + 'MU' => 'Mauritius', + 'YT' => 'Mayotte', + 'MX' => 'Mexico', + 'FM' => 'Micronesia', + 'MD' => 'Moldova', + 'MC' => 'Monaco', + 'MN' => 'Mongolia', + 'ME' => 'Montenegro', + 'MS' => 'Montserrat', + 'MA' => 'Morocco', + 'MZ' => 'Mozambique', + 'MM' => 'Myanmar', + 'NA' => 'Namibia', + 'NR' => 'Nauru', + 'NP' => 'Nepal', + 'AN' => 'Netherlands Antilles', + 'NL' => 'Netherlands', + 'NC' => 'New Caledonia', + 'NZ' => 'New Zealand', + 'NI' => 'Nicaragua', + 'NE' => 'Niger', + 'NG' => 'Nigeria', + 'NU' => 'Niue', + 'NF' => 'Norfolk Island', + 'MP' => 'Northern Mariana Islands', + 'NO' => 'Norway', + 'OM' => 'Oman', + 'PK' => 'Pakistan', + 'PW' => 'Palau', + 'PS' => 'Palestinian Territory', + 'PA' => 'Panama', + 'PG' => 'Papua New Guinea', + 'PY' => 'Paraguay', + 'PE' => 'Peru', + 'PH' => 'Philippines', + 'PN' => 'Pitcairn Islands', + 'PL' => 'Poland', + 'PT' => 'Portugal, Portuguese Republic', + 'PR' => 'Puerto Rico', + 'QA' => 'Qatar', + 'RE' => 'Reunion', + 'RO' => 'Romania', + 'RU' => 'Russian Federation', + 'RW' => 'Rwanda', + 'BL' => 'Saint Barthelemy', + 'SH' => 'Saint Helena', + 'KN' => 'Saint Kitts and Nevis', + 'LC' => 'Saint Lucia', + 'MF' => 'Saint Martin', + 'PM' => 'Saint Pierre and Miquelon', + 'VC' => 'Saint Vincent and the Grenadines', + 'WS' => 'Samoa', + 'SM' => 'San Marino', + 'ST' => 'Sao Tome and Principe', + 'SA' => 'Saudi Arabia', + 'SN' => 'Senegal', + 'RS' => 'Serbia', + 'SC' => 'Seychelles', + 'SL' => 'Sierra Leone', + 'SG' => 'Singapore', + 'SK' => 'Slovakia (Slovak Republic)', + 'SI' => 'Slovenia', + 'SB' => 'Solomon Islands', + 'SO' => 'Somalia, Somali Republic', + 'ZA' => 'South Africa', + 'GS' => 'South Georgia and the South Sandwich Islands', + 'ES' => 'Spain', + 'LK' => 'Sri Lanka', + 'SD' => 'Sudan', + 'SR' => 'Suriname', + 'SJ' => 'Svalbard & Jan Mayen Islands', + 'SZ' => 'Swaziland', + 'SE' => 'Sweden', + 'CH' => 'Switzerland', + 'SY' => 'Syrian Arab Republic', + 'TW' => 'Taiwan', + 'TJ' => 'Tajikistan', + 'TZ' => 'Tanzania', + 'TH' => 'Thailand', + 'TL' => 'Timor-Leste', + 'TG' => 'Togo', + 'TK' => 'Tokelau', + 'TO' => 'Tonga', + 'TT' => 'Trinidad and Tobago', + 'TN' => 'Tunisia', + 'TR' => 'Turkey', + 'TM' => 'Turkmenistan', + 'TC' => 'Turks and Caicos Islands', + 'TV' => 'Tuvalu', + 'UG' => 'Uganda', + 'UA' => 'Ukraine', + 'AE' => 'United Arab Emirates', + 'GB' => 'United Kingdom', + 'US' => 'United States', + 'UM' => 'United States Minor Outlying Islands', + 'VI' => 'United States Virgin Islands', + 'UY' => 'Uruguay, Eastern Republic of', + 'UZ' => 'Uzbekistan', + 'VU' => 'Vanuatu', + 'VE' => 'Venezuela', + 'VN' => 'Vietnam', + 'WF' => 'Wallis and Futuna', + 'EH' => 'Western Sahara', + 'YE' => 'Yemen', + 'ZM' => 'Zambia', + 'ZW' => 'Zimbabwe', + ); + + return $countries; + //return self::Create_DropDown_IF_Needed( $countries, $dropdown, $selected ); + } + + /** + * Feed Template List. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function provider( $selected = '', $dropdown = true ) { + $merchant = [ + 1 => [ + 'optionGroup' => 'Custom Templates', + 'options' => [ + 'custom' => esc_html__( 'Custom Template 1', 'woo-feed' ), + 'custom2' => esc_html__( 'Custom Template 2 (XML)', 'woo-feed' ), + ] + ], + 2 => [ + 'optionGroup' => 'Popular Templates', + 'options' => [ + 'google' => esc_html__( 'Google Shopping', 'woo-feed' ), + 'google_local' => esc_html__( 'Google Local Inventory Ads', 'woo-feed' ), + 'google_local_inventory' => esc_html__( 'Google Local Product Inventory', 'woo-feed' ), + 'googlereview' => esc_html__( 'Google Product Review', 'woo-feed' ), + 'google_shopping_action' => esc_html__( 'Google Shopping Action', 'woo-feed' ), + 'google_promotions' => esc_html__( 'Google Promotions', 'woo-feed' ), + 'google_dynamic_ads' => esc_html__( 'Google Dynamic Search Ads', 'woo-feed' ), + 'adwords' => esc_html__( 'Google Ads', 'woo-feed' ), + 'adwords_local_product' => esc_html__( 'Google Ads Local Product', 'woo-feed' ), + 'facebook' => esc_html__( 'Facebook Catalog / Instagram', 'woo-feed' ), + 'pinterest' => esc_html__( 'Pinterest Catalog', 'woo-feed' ), + 'pinterest_rss' => esc_html__( 'Pinterest RSS Board', 'woo-feed' ), + 'bing' => esc_html__( 'Bing Shopping', 'woo-feed' ), + 'bing_local_inventory' => esc_html__( 'Bing Local Inventory', 'woo-feed' ), + 'snapchat' => esc_html__( 'Snapchat', 'woo-feed' ), + 'tiktok' => esc_html__( 'TikTok Ads Manager', 'woo-feed' ), + 'idealo' => esc_html__( 'Idealo', 'woo-feed' ), + 'pricespy' => esc_html__( 'PriceSpy', 'woo-feed' ), + 'pricerunner' => esc_html__( 'Price Runner', 'woo-feed' ), + 'yandex_csv' => esc_html__( 'Yandex (CSV)', 'woo-feed' ), + 'yandex_xml' => esc_html__( 'Yandex (XML)', 'woo-feed' ), + ] + ], + 3 => [ + 'optionGroup' => 'Other Templates', + 'options' => [ + 'adform' => esc_html__( 'AdForm', 'woo-feed' ), + 'adroll' => esc_html__( 'AdRoll', 'woo-feed' ), + 'avantlink' => esc_html__( 'Avantlink', 'woo-feed' ), + 'become' => esc_html__( 'Become', 'woo-feed' ), + 'beslist.nl' => esc_html__( 'Beslist.nl', 'woo-feed' ), + 'bestprice' => esc_html__( 'Bestprice', 'woo-feed' ), + 'billiger.de' => esc_html__( 'Billiger.de', 'woo-feed' ), + 'bol' => esc_html__( 'Bol.com', 'woo-feed' ), + 'bonanza' => esc_html__( 'Bonanza', 'woo-feed' ), + 'catchdotcom' => esc_html__( 'Catch.com.au', 'woo-feed' ), + 'cdiscount.fr' => esc_html__( 'CDiscount.fr', 'woo-feed' ), + 'comparer.be' => esc_html__( 'Comparer.be', 'woo-feed' ), + 'connexity' => esc_html__( 'Connexity', 'woo-feed' ), + 'criteo' => esc_html__( 'Criteo', 'woo-feed' ), + 'crowdfox' => esc_html__( 'Crowdfox', 'woo-feed' ), + 'daisycon' => esc_html__( 'Daisycon Advertiser (General)', 'woo-feed' ), + 'daisycon_automotive' => esc_html__( 'Daisycon Advertiser (Automotive)', 'woo-feed' ), + 'daisycon_books' => esc_html__( 'Daisycon Advertiser (Books)', 'woo-feed' ), + 'daisycon_cosmetics' => esc_html__( 'Daisycon Advertiser (Cosmetics)', 'woo-feed' ), + 'daisycon_daily_offers' => esc_html__( 'Daisycon Advertiser (Daily Offers)', 'woo-feed' ), + 'daisycon_electronics' => esc_html__( 'Daisycon Advertiser (Electronics)', 'woo-feed' ), + 'daisycon_fashion' => esc_html__( 'Daisycon Advertiser (Fashion)', 'woo-feed' ), + 'daisycon_food_drinks' => esc_html__( 'Daisycon Advertiser (Food & Drinks)', 'woo-feed' ), + 'daisycon_holidays_accommodations_and_transport' => esc_html__( 'Daisycon Advertiser (Holidays: Accommodations and transport)', 'woo-feed' ), + 'daisycon_holidays_accommodations' => esc_html__( 'Daisycon Advertiser (Holidays: Accommodations)', 'woo-feed' ), + 'daisycon_holidays_trips' => esc_html__( 'Daisycon Advertiser (Holidays: Trips)', 'woo-feed' ), + 'daisycon_home_garden' => esc_html__( 'Daisycon Advertiser (Home & Garden)', 'woo-feed' ), + 'daisycon_housing' => esc_html__( 'Daisycon Advertiser (Housing)', 'woo-feed' ), + 'daisycon_magazines' => esc_html__( 'Daisycon Advertiser (Magazines)', 'woo-feed' ), + 'daisycon_studies_trainings' => esc_html__( 'Daisycon Advertiser (Studies & Trainings)', 'woo-feed' ), + 'daisycon_telecom_accessories' => esc_html__( 'Daisycon Advertiser (Telecom: Accessories)', 'woo-feed' ), + 'daisycon_telecom_all_in_one' => esc_html__( 'Daisycon Advertiser (Telecom: All-in-one)', 'woo-feed' ), + 'daisycon_telecom_gsm_subscription' => esc_html__( 'Daisycon Advertiser (Telecom: GSM + Subscription)', 'woo-feed' ), + 'daisycon_telecom_gsm' => esc_html__( 'Daisycon Advertiser (Telecom: GSM only)', 'woo-feed' ), + 'daisycon_telecom_sim' => esc_html__( 'Daisycon Advertiser (Telecom: Sim only)', 'woo-feed' ), + 'daisycon_work_jobs' => esc_html__( 'Daisycon Advertiser (Work & Jobs)', 'woo-feed' ), + 'dooyoo' => esc_html__( 'Dooyoo', 'woo-feed' ), + 'ecommerceit' => esc_html__( 'Ecommerce.it', 'woo-feed' ), + 'etsy' => esc_html__( 'Etsy', 'woo-feed' ), + 'fruugo' => esc_html__( 'Fruugo', 'woo-feed' ), + 'fashionchick' => esc_html__( 'Fashionchick.nl', 'woo-feed' ), + 'fruugo.au' => esc_html__( 'Fruugoaustralia.com', 'woo-feed' ), + 'fyndiq.se' => esc_html__( 'Fyndiq.se', 'woo-feed' ), + 'goedgeplaatst' => esc_html__( 'GoedGeplaatst.nl', 'woo-feed' ), + 'heureka.sk' => esc_html__( 'Heureka.sk', 'woo-feed' ), + 'hintaseuranta.fi' => esc_html__( 'Hintaseuranta.fi', 'woo-feed' ), + 'incurvy' => esc_html__( 'Incurvy', 'woo-feed' ), + 'jet' => esc_html__( 'Jet.com', 'woo-feed' ), + 'kelkoo' => esc_html__( 'Kelkoo', 'woo-feed' ), + 'kieskeurig.nl' => esc_html__( 'Kieskeurig.nl', 'woo-feed' ), + 'kijiji.ca' => esc_html__( 'Kijiji.ca', 'woo-feed' ), + 'leguide' => esc_html__( 'LeGuide', 'woo-feed' ), + 'marktplaats.nl' => esc_html__( 'Marktplaats.nl', 'woo-feed' ), + 'miinto.de' => esc_html__( 'Miinto.de', 'woo-feed' ), + 'miinto.nl' => esc_html__( 'Miinto.nl', 'woo-feed' ), + 'modalova' => esc_html__( 'Modalova', 'woo-feed' ), + 'modina.de' => esc_html__( 'Modina.de', 'woo-feed' ), + 'moebel.de' => esc_html__( 'Moebel.de', 'woo-feed' ), + 'myshopping.com.au' => esc_html__( 'Myshopping.com.au', 'woo-feed' ), + 'nextad' => esc_html__( 'TheNextAd', 'woo-feed' ), + 'nextag' => esc_html__( 'Nextag', 'woo-feed' ), + 'polyvore' => esc_html__( 'Polyvore', 'woo-feed' ), + 'pricegrabber' => esc_html__( 'Price Grabber', 'woo-feed' ), + 'prisjakt' => esc_html__( 'Prisjakt', 'woo-feed' ), + 'profit_share' => esc_html__( 'Profit Share', 'woo-feed' ), + 'rakuten.de' => esc_html__( 'Rakuten.de', 'woo-feed' ), + 'real' => esc_html__( 'Real', 'woo-feed' ), + 'shareasale' => esc_html__( 'ShareASale', 'woo-feed' ), + 'shopalike.fr' => esc_html__( 'Shopalike.fr', 'woo-feed' ), + 'shopbot' => esc_html__( 'Shopbot', 'woo-feed' ), + 'shopmania' => esc_html__( 'Shopmania', 'woo-feed' ), + 'shopping' => esc_html__( 'Shopping.com', 'woo-feed' ), + 'shopflix' => esc_html__( 'Shopflix (WellComm)', 'woo-feed' ), + 'shopzilla' => esc_html__( 'Shopzilla', 'woo-feed' ), + 'skinflint.co.uk' => esc_html__( 'SkinFlint.co.uk', 'woo-feed' ), + 'skroutz' => esc_html__( 'Skroutz.gr', 'woo-feed' ), + 'smartly.io' => esc_html__( 'Smartly.io', 'woo-feed' ), + 'spartoo.fi' => esc_html__( 'Spartoo.fi', 'woo-feed' ), + 'shopee' => esc_html__( 'Shopee', 'woo-feed' ), + 'stylight.com' => esc_html__( 'Stylight.com', 'woo-feed' ), + 'trovaprezzi' => esc_html__( 'Trovaprezzi.it', 'woo-feed' ), + 'twenga' => esc_html__( 'Twenga', 'woo-feed' ), + 'tweaker_xml' => esc_html__( 'Tweakers (XML)', 'woo-feed' ), + 'tweaker_csv' => esc_html__( 'Tweakers (CSV)', 'woo-feed' ), + 'vertaa.fi' => esc_html__( 'Vertaa.fi', 'woo-feed' ), + 'walmart' => esc_html__( 'Walmart', 'woo-feed' ), + 'webmarchand' => esc_html__( 'Webmarchand', 'woo-feed' ), + 'wine_searcher' => esc_html__( 'Wine Searcher', 'woo-feed' ), + 'wish' => esc_html__( 'Wish.com', 'woo-feed' ), + 'yahoo_nfa' => esc_html__( 'Yahoo NFA', 'woo-feed' ), + 'zap.co.il' => esc_html__( 'Zap.co.il', 'woo-feed' ), + 'zbozi.cz' => esc_html__( 'Zbozi.cz', 'woo-feed' ), + 'zalando' => esc_html__( 'Zalando', 'woo-feed' ), + 'admarkt' => esc_html__( 'Admarkt(marktplaats)', 'woo-feed' ), + 'glami' => esc_html__( 'GLAMI', 'woo-feed' ), + ] + ], + ]; + + return $merchant; + //return self::Create_DropDown_IF_Needed( $merchant, $dropdown, $selected ); + } + + /** + * Feed File Type List. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function file_types( $selected = '', $dropdown = true ) { + $types = array( + 'xml' => 'XML', + 'csv' => 'CSV', + 'tsv' => 'TSV', + 'xls' => 'XLS', + 'xlsx' => 'XLSX', + 'txt' => 'TXT', + 'json' => 'JSON', + ); + + return $types; + //return self::Create_DropDown_IF_Needed( $types, $dropdown, $selected ); + } + + /** + * Variation Options. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function include_variation( $selected = '', $dropdown = true ) { + $variation_options = array( + 'y' => esc_html__( 'All Variations', 'woo-feed' ), + 'n' => esc_html__( 'Variable Products (Parent)', 'woo-feed' ), + 'default' => esc_html__( 'Default Variation', 'woo-feed' ), + 'cheap' => esc_html__( 'Cheapest Variation', 'woo-feed' ), + 'expensive' => esc_html__( 'Expensive Variation', 'woo-feed' ), + 'first' => esc_html__( 'First Variation', 'woo-feed' ), + 'last' => esc_html__( 'Last Variation', 'woo-feed' ), + 'both' => esc_html__( 'Variable + Variations', 'woo-feed' ), + ); + + return $variation_options; + //return self::Create_DropDown_IF_Needed( $variation_options, $dropdown, $selected ); + } + + /** + * Variation Price Options. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function variable_product_price( $selected = '', $dropdown = true ) { + $variation_price = array( + 'first' => esc_html__( 'First Variation Price', 'woo-feed' ), + 'max' => esc_html__( 'Max Variation Price', 'woo-feed' ), + 'min' => esc_html__( 'Min Variation Price', 'woo-feed' ), + ); + + return $variation_price; + //return self::Create_DropDown_IF_Needed( $variation_price, $dropdown, $selected ); + } + + /** + * Variation Quantity Options. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function variable_product_quantity( $selected = '', $dropdown = true ) { + $variation_quantity = array( + 'first' => esc_html__( 'First Variation Quantity', 'woo-feed' ), + 'max' => esc_html__( 'Max Variation Quantity', 'woo-feed' ), + 'min' => esc_html__( 'Min Variation Quantity', 'woo-feed' ), + 'sum' => esc_html__( 'Sum of Variation Quantity', 'woo-feed' ), + ); + + return $variation_quantity; + //return self::Create_DropDown_IF_Needed( $variation_quantity, $dropdown, $selected ); + } + + /** + * CSV Feed Delimiters. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function delimiters( $selected = '', $dropdown = true ) { + $delimiters = [ + ',' => 'Comma', + ':' => 'Colon', + ' ' => 'Space', + '|' => 'Pipe', + ';' => 'Semi Colon', + "\t" => 'TAB', + ]; + + return $delimiters; + //return self::Create_DropDown_IF_Needed( $delimiters, $dropdown, $selected ); + } + + /** + * CSV Feed Enclosure. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function enclosure( $selected = '', $dropdown = true ) { + $enclosure = [ + 'double' => '"', + 'single' => '\'', + ' ' => 'None', + ]; + + return $enclosure; + //return self::Create_DropDown_IF_Needed( $enclosure, $dropdown, $selected ); + } + + /** + * Get Merchant attribute dropdown. + * + * @param $attributes + * @param string $selected + * @param bool $dropdown + * + * @return string|false + */ + public static function merchant_attributes( $attributes, $selected = '', $dropdown = true ) { + $cache_key = 'ctx_merchant_attribute_dropdown_' . $selected; + + return $attributes; + //return self::Create_DropDown_IF_Needed( $attributes, $dropdown, $selected, $cache_key, true ); + } + + /** + * Get Merchant attribute from API. + * + * @param $selected + * @param $dropdown + * + * @return array|false|mixed|string|string[] + */ + public static function mattributes( $selected = '', $dropdown = true ) { + $merchantAttributes = MerchantAttributesFactory::get(); + + return $merchantAttributes; + } + + /** + * Product Attributes. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function product_attributes( $selected = '', $dropdown = true, $cache_key = 'woo_feed_product_attribute_dropdown' ) { + + $attributes = ProductAttributeFactory::getAttributes(); + + return $attributes; + //return self::Create_DropDown_IF_Needed( $attributes, $dropdown, $selected, $cache_key, true ); + } + + /** + * Comparing Condition. Used on Dynamic Attributes and + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function conditions( $selected = '', $dropdown = true ) { + $conditions = array( +// '' => __( 'Select Condition' ), + '==' => __( 'is / equal', 'woo-feed' ), + '!=' => __( 'is not / not equal', 'woo-feed' ), + '>=' => __( 'equals or greater than', 'woo-feed' ), + '>' => __( 'greater than', 'woo-feed' ), + '<=' => __( 'equals or less than', 'woo-feed' ), + '<' => __( 'less than', 'woo-feed' ), + 'contains' => __( 'contains', 'woo-feed' ), + 'nContains' => __( 'does not contain', 'woo-feed' ), + 'between' => __( 'between', 'woo-feed' ), + ); + + return $conditions; + //return self::Create_DropDown_IF_Needed( $conditions, $dropdown, $selected ); + } + + /** + * Variation Query Type at Settings. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function variation_query_type( $selected = '', $dropdown = false ) { + $variation_query_type = [ + 'individual' => __( 'Individual', 'woo-feed' ), + 'variable' => __( 'Variable Dependable', 'woo-feed' ), + ]; + + return $variation_query_type; + //return self::Create_DropDown_IF_Needed( $variation_query_type, $dropdown, $selected ); + } + + /** + * Product Query Type at Settings. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function product_query_type( $selected = '', $dropdown = false ) { + $product_query_type = [ + 'wc' => __( 'WC_Product_Query', 'woo-feed' ), + 'wp' => __( 'WP_Query', 'woo-feed' ), + 'both' => __( 'Both', 'woo-feed' ), + ]; + + return $product_query_type; + //return self::Create_DropDown_IF_Needed( $product_query_type, $dropdown, $selected ); + } + + /** + * Get all WP Options list. + * + * @param $dropdown + * @param $selected + * + * @return array|false|mixed|string|string[] + */ + public static function get_options( $selected = '', $dropdown = false ) { + $options = []; + $getOptions = wp_load_alloptions(); + + if ( ! empty( $getOptions ) ) { + $options[''] = "Select an Option"; + foreach ( $getOptions as $key => $option ) { + $options[ $key ] = $key; + } + } + + return $options; + //return self::Create_DropDown_IF_Needed( $options, $dropdown, $selected ); + } + + /** + * Get Product Categories for category mapping. + * + * @param $dropdown + * @param $selected + * + * @return void + */ + /** + * Get All Product Categories + * + * @param int $parent Category Parent ID. + * @param $dropdown + * @param $selected + * + * @return array + */ + public static function get_catmap_categories( $parent = 0, $dropdown = true, $selected = [], $slug = '' ) { + + $args = [ + 'taxonomy' => 'product_cat', + 'parent' => $parent, + 'orderby' => 'term_id', + 'show_count' => 1, + 'pad_counts' => 1, + 'hierarchical' => 1, + 'title_li' => '', + 'hide_empty' => 0, + ]; + + $categories = get_categories( $args ); + + if ( ! empty( $categories ) ) { + if ( ! empty( $slug ) ) { + $slug = $slug . ' > '; + } + foreach ( $categories as $cat ) { + if ( ! array_key_exists( $cat->slug, self::$cats ) ) { + if ( ! empty( get_term_children( $cat->term_id, 'product_cat' ) ) ) { + $group_id = 'group-parent-' . $cat->term_id; + } else { + $group_id = 'group-child-' . $cat->parent; + } + $cat->name = htmlspecialchars_decode( $cat->name ); + self::$cats[ $cat->slug ] = [ + 'name' => $slug . $cat->name, + 'id' => $cat->term_id, + 'has_child' => get_term_children( $cat->term_id, 'product_cat' ), + 'group_id' => $group_id + ]; + self::get_catmap_categories( $cat->term_id, false, '', $slug . $cat->name ); + } + } + } + + + return self::$cats; + } + + /** + * Get Product Categories + * + * @param $dropdown + * @param $selected + * + * @return void + */ + /** + * Get All Product Categories + * + * @param int $parent Category Parent ID. + * @param $dropdown + * @param $selected + * + * @return array + */ + public static function get_categories( $args ) { + + $current_language = defined( 'ICL_LANGUAGE_CODE' ) ? ICL_LANGUAGE_CODE : ''; + $query_vars = [ + 'taxonomy' => 'product_cat', + 'orderby' => 'term_group', + 'show_count' => 1, + 'pad_counts' => 1, + 'hierarchical' => 1, + 'title_li' => '', + 'hide_empty' => 0, + 'language' => $current_language + ]; + $query_vars = wp_parse_args( $args, $query_vars ); + + $categories = get_categories( $query_vars ); + if ( ! empty( $categories ) ) { + foreach ( $categories as $cat ) { + self::$cats[ $cat->slug ] = $cat->name; + } + } + + return apply_filters( 'ctx_feed_filter_categories', self::$cats, $query_vars ); + } + + + /** + * Get Product Categories + * + * @param $dropdown + * @param $selected + * + * @return void + */ + + /** + * Read txt file which contains google taxonomy list + * + * @return array + */ + public static function googleTaxonomyArray() { + // Get All Google Taxonomies + $fileName = WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/taxonomies/google_taxonomy.txt'; + $customTaxonomyFile = fopen( $fileName, 'r' ); // phpcs:ignore + $taxonomy = []; + if ( $customTaxonomyFile ) { + // First line contains metadata, ignore it + fgets( $customTaxonomyFile ); // phpcs:ignore + while ( $line = fgets( $customTaxonomyFile ) ) { // phpcs:ignore + list( $catId, $cat ) = explode( '-', $line ); + $taxonomy[] = [ + 'value' => absint( trim( $catId ) ), + 'label' => trim( $catId ) . " - " . trim( $cat ), + ]; + } + } + + return array_filter( $taxonomy ); + } + + + /** + * Read txt file which contains facebook taxonomy list + * + * @return array + */ + public static function facebookTaxonomyArray() { + // Get All Facebook Taxonomies + $fileName = WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/taxonomies/fb_taxonomy.txt'; + $customTaxonomyFile = fopen( $fileName, 'r' ); // phpcs:ignore + $taxonomy = array(); + if ( $customTaxonomyFile ) { + // First line contains metadata, ignore it + fgets( $customTaxonomyFile ); // phpcs:ignore + while ( $line = fgets( $customTaxonomyFile ) ) { // phpcs:ignore + list( $catId, $cat ) = explode( ',', $line ); + $taxonomy[] = array( + 'value' => absint( trim( $catId ) ), + 'label' => trim( $catId ) . " - " . trim( $cat ), + ); + } + } + $taxonomy = array_filter( $taxonomy ); + + return $taxonomy; + } + + /** + * Get Output Types + * + * @return array + */ + public static function output_types() { + $output_types = array( + '1' => 'Default', + '2' => 'Strip Tags', + '3' => 'UTF-8 Encode', + '4' => 'htmlentities', + '5' => 'Integer', + '6' => 'Price', + '7' => 'Rounded Price', + '8' => 'Remove Space', + '9' => 'CDATA', + '10' => 'Remove Special Character', + '11' => 'Remove ShortCodes', + '12' => 'ucwords', + '13' => 'ucfirst', + '14' => 'strtoupper', + '15' => 'strtolower', + '16' => 'urlToSecure', + '17' => 'urlToUnsecure', + '18' => 'only_parent', + '19' => 'parent', + '20' => 'parent_if_empty', + '21' => 'htmlspecialchars', + '22' => 'htmlspecialchars_decode', + ); + + //when wpml or polylang plugin is activated + if ( + class_exists( 'SitePress', false ) || defined( 'POLYLANG_BASENAME' ) || function_exists( 'PLL' ) // When WPML is active + || is_plugin_active( 'translatepress-multilingual/index.php' ) // Translatepress + ) { + array_push( $output_types, 'parent_lang' ); + array_push( $output_types, 'parent_lang_if_empty' ); + } + + return apply_filters( 'woo_feed_output_types', $output_types ); + } + + /** + * Get Product Statuses + * + * @return array + */ + public static function get_post_statuses() { + return (array) apply_filters( 'woo_feed_product_statuses', get_post_statuses() ); + } + + public static function all_product_ids_old( $args ) { + if ( ! function_exists( 'is_plugin_active' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + if ( ! is_plugin_active( 'woocommerce/woocommerce.php' ) ) { + return []; + } + + $query_vars = wp_parse_args( $args, [ 'return' => 'objects' ] ); + + $config = new Config( [] ); + $wc_query = new WCQuery( $config, $query_vars ); + $products = $wc_query->product_ids(); + + $product_ids_with_titles = []; + foreach ( $products as $product ) { + if ( $product instanceof \WC_Product ) { + $id = $product->get_id(); + $sku = ! empty( $product->get_sku() ) ? "::" . $product->get_sku() : ''; + $product_ids_with_titles[ $id ] = $id . $sku . '::' . $product->get_name(); + } + } + + return apply_filters( 'ctx_feed_all_product_ids_with_title', $product_ids_with_titles, $config, $wc_query, $query_vars ); + } + + + /** + * Product search with id, title, sku. + * + * @param $args + * + * @return array|mixed|null + * @example [ + * 's' => 'hoodie' //for title search. + * 'include' => 1,2,3 // for id search + * 'sku' => 'woo-beanie' // for sku search + * ]; + * + * + */ + public static function all_product_ids( $args ) { + if ( ! function_exists( 'is_plugin_active' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + if ( ! is_plugin_active( 'woocommerce/woocommerce.php' ) ) { + return []; + } + + $config = new Config( [] ); + $query_vars = wp_parse_args( $args, [ 'return' => 'objects', 'limit' => 200 ] ); + + if ( isset( $query_vars['sku'] ) ) { + $args = array( + 'post_type' => array( 'product', 'product_variation' ), + 'meta_key' => '_sku', + 'post_status' => array( 'publish' ), + 'fields' => 'all', + 'meta_query' => array( + array( + 'key' => '_sku', + 'value' => $query_vars['sku'], + 'compare' => 'LIKE', + ), + ), + ); + + // search with sku + $wp_query = new WPQuery( $config, $args ); + $products = $wp_query->product_ids(); + + } else { + // search with id or title + $wc_query = new WCQuery( $config, $query_vars ); + $products = $wc_query->product_ids(); + } + + $product_ids_with_titles = self::get_formatted_product_titles( $products ); + + + return apply_filters( 'ctx_feed_all_product_ids_with_title', $product_ids_with_titles, $config, $query_vars ); + } + + + /** + * @param $products + * + * @return array + */ + private static function get_formatted_product_titles( $products ) { + $product_ids_with_titles = []; + foreach ( $products as $product ) { + if ( $product instanceof \WC_Product ) { + $id = $product->get_id(); + $sku = ! empty( $product->get_sku() ) ? "::" . $product->get_sku() : ''; + $product_ids_with_titles[ $id ] = $id . $sku . '::' . $product->get_name(); + } else if ( $product instanceof \WP_Post ) { + $id = $product->ID; + $sku = ! empty( get_post_meta( $product->ID, '_sku', true ) ) ? "::" . get_post_meta( $product->ID, '_sku', true ) : ''; + $product_ids_with_titles[ $id ] = $id . $sku . '::' . $product->post_title; + } + } + + return $product_ids_with_titles; + } + + + /** + * Get Active Languages for current site. + * + * @param string $selected + * + * @return string + */ + public static function getActiveLanguages( $selected = '' ) { + $options = false; + if ( false === $options ) { + $languages = []; + if ( class_exists( 'SitePress' ) ) { + $get_languages = apply_filters( 'wpml_active_languages', null, 'orderby=id&order=desc' ); + if ( ! empty( $get_languages ) ) { + foreach ( $get_languages as $key => $language ) { + $languages[ $key ] = $language['translated_name']; + } + } + } + + // when polylang plugin is activated + if ( defined( 'POLYLANG_BASENAME' ) || function_exists( 'PLL' ) ) { + // polylang language names + $poly_languages_names = pll_languages_list( [ 'fields' => 'name' ] ); + + // polylang language locales + $poly_languages_slugs = pll_languages_list( [ 'fields' => 'slug' ] ); + + // polylang language lists + $get_languages = array_combine( $poly_languages_slugs, $poly_languages_names ); + + if ( ! empty( $get_languages ) ) { + $languages = []; + foreach ( $get_languages as $key => $value ) { + $languages[ $key ] = $value; + } + } + } + + + //when translatepress is activated + if ( is_plugin_active( 'translatepress-multilingual/index.php' ) ) { + if ( class_exists( 'TRP_Translate_Press' ) ) { + $tr_press_languages = trp_get_languages( 'default' ); + + if ( ! empty( $tr_press_languages ) ) { + foreach ( $tr_press_languages as $key => $value ) { + $languages[ $key ] = $value; + } + } + } + } + + //language dropdown + $options = $languages; + + } + + return $options; + } + + /** + * Get Active Currency + * + * @param string $selected + * + * @return false|mixed|string + * @since 3.3.2 + */ + public static function getActiveCurrencies( $selected = '' ) { + $options = false; + if ( false === $options ) { + global $woocommerce_wpml; + if ( class_exists( 'SitePress' ) && class_exists( 'woocommerce_wpml' ) && wcml_is_multi_currency_on() && isset( $woocommerce_wpml->multi_currency->currencies ) ) { + $get_currencies = $woocommerce_wpml->multi_currency->currencies; + if ( ! empty( $get_currencies ) ) { + $currencies = []; + foreach ( $get_currencies as $key => $currency ) { + $currencies[ $key ] = $key; + } + $options = $currencies; + } + } elseif ( class_exists( 'WC_Aelia_CurrencySwitcher' ) ) { + $base_currency = get_woocommerce_currency(); + $get_currencies = apply_filters( 'wc_aelia_cs_enabled_currencies', $base_currency ); + + // Fixed warning with Alia Currency Plugin's initial settings when activated. + if ( ! empty( $get_currencies ) ) { + + if ( is_array( $get_currencies ) ) { + $currencies = []; + foreach ( $get_currencies as $currency ) { + $currencies[ $currency ] = $currency; + } + } elseif ( gettype( $get_currencies ) === 'string' ) { + $currencies = [ + $get_currencies => $get_currencies, + ]; + } else { + $currencies = []; + } + + + $options = $currencies; + } + } elseif (is_plugin_active('woocommerce-currency-switcher/index.php') || class_exists('WOOCS')) { + global $WOOCS; + // Try to get currencies from the $WOOCS object first + if (isset($WOOCS) && method_exists($WOOCS, 'get_currencies')) { + $get_currencies = $WOOCS->get_currencies(); + if (! empty($get_currencies)) { + foreach ($get_currencies as $key => $currency) { + $options[$key] = $key; + } + } + } + + // Fallback to get currencies from the 'woocs' option + if (empty($options)) { + $get_currencies = get_option('woocs', array()); + if (! empty($get_currencies)) { + foreach ($get_currencies as $key => $currency) { + $options[$key] = $key; + } + } + } + } elseif ( is_plugin_active( 'currency-switcher-woocommerce/currency-switcher-woocommerce.php' ) ) { + + if ( function_exists( 'alg_get_enabled_currencies' ) ) { + $currencies = alg_get_enabled_currencies(); + $currencies = array_combine( $currencies, $currencies ); + + $options = $currencies; + } + } elseif ( is_plugin_active( 'woocommerce-multicurrency/woocommerce-multicurrency.php' ) ) { + + if ( class_exists( 'WOOMC\DAO\Factory' ) ) { + $currencies = Factory::getDao()->getEnabledCurrencies(); + $currencies = array_combine( $currencies, $currencies ); + + $options = $currencies; + } + } elseif ( is_plugin_active( 'woo-multi-currency/woo-multi-currency.php' ) || is_plugin_active( 'woocommerce-multi-currency/woocommerce-multi-currency.php' ) ) { + $settings = get_option( 'woo_multi_currency_params' ); + if ( isset( $settings['currency'] ) ) { + $currencies = $settings['currency']; + $currencies = array_combine( $currencies, $currencies ); + $options = $currencies; + } + } + } + + return $options; + } + + /** + * Get Product Statuses + * + * @return array + */ + public static function post_statuses() { + return (array) apply_filters( 'woo_feed_product_statuses', get_post_statuses() ); + } + + /** + * Get WooCommerce Vendor List for multi-vendor shop + * + * @return false|WP_User[]|array + */ + public static function get_vendors() { + $users = []; + $vendor_role = Helper::get_multi_vendor_user_role(); + if ( ! empty( $vendor_role ) ) { + /** + * Filter Get Vendor (User) Query Args + * + * @param array $args + */ + $args = apply_filters( 'woo_feed_get_vendors_args', [ 'role' => $vendor_role ] ); + if ( is_array( $args ) && ! empty( $args ) ) { + $users = get_users( $args ); + } + } + + + return apply_filters( 'woo_feed_product_vendors', $users ); + } + + /** + * Make DropDown Option from array if needed else return the array. + * + * @param $array + * @param $DropDownStatus + * @param $selected + * @param string $cache_key + * @param bool $cache + * + * @return array|false|mixed|string|string[] + */ + public static function Create_DropDown_IF_Needed( $array, $DropDownStatus, $selected, $cache_key = '', $cache = false ) { + + if ( $DropDownStatus ) { + return Dropdown::Create( $array, $selected, $cache_key, $cache ); + } + + return $array; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/ExportFeed.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/ExportFeed.php new file mode 100644 index 000000000..814c7774d --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/ExportFeed.php @@ -0,0 +1,46 @@ +get_feed_option_name(), + time() + ); + $feed = wp_json_encode( $config->get_feed_rules() ); + $meta = wp_json_encode( [ + 'version' => WOO_FEED_FREE_VERSION, + 'file_name' => $file_name, + 'hash' => md5( $feed ), + ] ); + $bin = pack( 'VA*VA*', strlen( $meta ), $meta, strlen( $feed ), $feed ); + $feed = gzdeflate( $bin, 9 ); + + $fileDownload = FileDownload::createFromString( $feed ); + $fileDownload->sendDownload( $file_name ); + } else { + throw new RuntimeException( esc_html__( 'Invalid Request', 'woo-feed' ) ); + } + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/Factory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/Factory.php new file mode 100644 index 000000000..f82f83eba --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/Factory.php @@ -0,0 +1,44 @@ + $group) { + foreach ($group['options'] as $option_name => $option_value) { + if (in_array($option_name, $removeTemplates)) { + unset($merchants[$index]['options'][$option_name]); + } + } + } + } + + return $merchants; + } + + /** + * Get plugin file i.e woo-feed.php or webappick-product-feed-for-woocommerce-pro.php + * @return false|mixed|string + */ + public static function get_plugin_file() + { + return WOO_FEED_PLUGIN_FILE; + } + + /** + * Is the plugin is pro + * @return bool + */ + public static function is_pro() + { + if ('woo-feed.php' === WOO_FEED_PLUGIN_FILE) { + return false; + } + + //TODO CHECK IF LICENSE IS ACTIVE FOR MORE TRANSPARENCY. + if ('webappick-product-feed-for-woocommerce-pro.php' === WOO_FEED_PLUGIN_FILE) { + return true; + } + + return false; + + } + + /** + * Get Feed Directory + * + * @param string $provider + * @param string $feedType + * + * @return string + */ + public static function get_file_dir($provider, $feedType) + { + $upload_dir = wp_get_upload_dir(); + + return apply_filters('woo_feed_file_dir', sprintf('%s/woo-feed/%s/%s/', $upload_dir['basedir'], $provider, $feedType), $provider, $feedType); + } + + /** + * str_replace() wrapper with trim() + * + * @param mixed $search The value being searched for, otherwise known as the needle. + * An array may be used to designate multiple needles. + * @param mixed $replace The replacement value that replaces found search values. + * An array may be used to designate multiple replacements. + * @param mixed $subject The string or array being searched and replaced on, + * otherwise known as the haystack. + * @param string $charlist [optional] + * Optionally, the stripped characters can also be specified using the charlist parameter. + * Simply list all characters that you want to be stripped. + * With this you can specify a range of characters. + * + * @return array|string + */ + public static function str_replace_trim($search, $replace, $subject, $charlist = " \t\n\r\0\x0B") + { + $replaced = str_replace($search, $replace, $subject); + if (is_array($replaced)) { + return array_map( + function ($item) use ($charlist) { + return trim($item, $charlist); + }, + $replaced + ); + } else { + return trim($replaced, $charlist); + } + } + + /** + * Remove Feed Option Name Prefix and return the slug + * + * @param string $feed_option_name + * + * @return string + */ + public static function extract_feed_option_name($feed_option_name) + { + return str_replace(array('wf_feed_', 'wf_config'), '', $feed_option_name); + } + + + /** + * Get Feed File URL + * + * @param string $fileName + * @param string $provider + * @param string $type + * + * @return string + */ + public static function get_file_url($fileName, $provider, $type) + { + $fileName = self::extract_feed_option_name($fileName); + $upload_dir = wp_get_upload_dir(); + + return esc_url( + sprintf( + '%s/woo-feed/%s/%s/%s.%s', + $upload_dir['baseurl'], + $provider, + $type, + $fileName, + $type + ) + ); + } + + + /** + * Get Feed File URL + * + * @param string $fileName + * @param string $provider + * @param string $type + * + * @return string + */ + public static function get_file($fileName, $provider, $type) + { + $fileName = self::extract_feed_option_name($fileName); + $path = self::get_file_path($provider, $type); + + return sprintf('%s/%s.%s', untrailingslashit($path), $fileName, $type); + } + + /** + * Get File Path for feed or the file upload path for the plugin to use. + * + * @param string $provider provider name. + * @param string $type feed file type. + * + * @return string + */ + public static function get_file_path($provider = '', $type = '') + { + $upload_dir = wp_get_upload_dir(); + + return sprintf('%s/woo-feed/%s/%s/', $upload_dir['basedir'], $provider, $type); + } + + /** + * Remove temporary feed files + * + * @param array $config Feed config + * @param string $fileName feed file name. + * + * @return void + */ + public static function unlink_tempFiles($config, $fileName) + { + $type = $config['feedType']; + $ext = $type; + $path = self::get_file_dir($config['provider'], $type); + + if ('csv' === $type || 'tsv' === $type || 'xls' === $type || 'xlsx' === $type) { + $ext = 'json'; + } + $files = array( + 'headerFile' => $path . '/' . AttributeValueByType::FEED_TEMP_HEADER_PREFIX . $fileName . '.' . $ext, + 'bodyFile' => $path . '/' . AttributeValueByType::FEED_TEMP_BODY_PREFIX . $fileName . '.' . $ext, + 'footerFile' => $path . '/' . AttributeValueByType::FEED_TEMP_FOOTER_PREFIX . $fileName . '.' . $ext, + ); + + Logs::write_log($config['filename'], sprintf('Deleting Temporary Files (%s).', implode(', ', array_values($files)))); + foreach ($files as $key => $file) { + if (file_exists($file)) { + unlink($file); // phpcs:ignore + } + } + } + + + /** + * Clear cache data. + * + * @param int _ajax_clean_nonce nonce number. + * + * @since 4.1.2 + */ + public static function clear_cache_data($cache_types = []) + { + + if (empty($cache_options)) { + $cache_types = [ + "woo_feed_attributes", + "woo_feed_category_mapping", + "woo_feed_dynamic_attributes", + "woo_feed_attribute_mapping", + "woo_feed_wp_options" + ]; + } + + global $wpdb; + //TODO add wpdb prepare statement + $result = $wpdb->query("DELETE FROM $wpdb->options WHERE ({$wpdb->options}.option_name LIKE '_transient_timeout___woo_feed_cache_%') OR ({$wpdb->options}.option_name LIKE '_transient___woo_feed_cache_%')"); // phpcs:ignore + + if (count($cache_types) > 0) { + $prefix = 'wf_dismissed'; + foreach ($cache_types as $value) { + $id = $value; + update_option("{$prefix}_{$id}", true, false); + } + + } + + return true; + } + + /** + * Get Sellers User Role Based On Multi Vendor Plugin + * + * @return string + */ + public static function get_multi_vendor_user_role() + { + $map = array( + 'WeDevs_Dokan' => 'seller', + 'WC_Vendors' => 'vendor', + 'YITH_Vendor' => 'yith_vendor', + 'MVX' => 'dc_vendor', + 'WCFMmp' => 'wcfm_vendor', + ); + $vendor_role = ''; + foreach ($map as $class => $role) { + if (class_exists($class, false)) { + $vendor_role = $role; + break; + } + } + + /** + * Filter Vendor User Role + * + * @param string $vendor_role + * + * @since 3.4.0 + */ + return apply_filters('woo_feed_multi_vendor_user_role', $vendor_role); + } + + public static function is_debugging_enabled() + { + return self::get_options('enable_error_debugging', false) === 'on'; + } + + /** + * Get saved settings. + * + * @param string $key Option name. + * All default values will be returned if this set to 'defaults', + * all settings will be return if set to 'all'. + * @param bool $default value to return if no matching data found for the key (option) + * + * @return array|bool|string|mixed + * @since 3.3.11 + */ + public static function get_options($key, $default = false) + { + $defaults = array( + 'per_batch' => 200, + 'product_query_type' => 'wc', + 'variation_query_type' => 'individual', + 'enable_error_debugging' => 'off', + 'cache_ttl' => 6 * HOUR_IN_SECONDS, + 'overridden_structured_data' => 'off', + 'disable_mpn' => 'enable', + 'disable_brand' => 'enable', + 'disable_pixel' => 'enable', + 'pixel_id' => '', + 'disable_remarketing' => 'disable', + 'remarketing_id' => '', + 'remarketing_label' => '', + 'allow_all_shipping' => 'no', + 'only_free_shipping' => 'yes', + 'only_local_pickup_shipping' => 'no', + 'enable_ftp_upload' => 'no', + 'enable_cdata' => 'no', + 'woo_feed_taxonomy' => array( + 'brand' => 'disable', + ), + 'woo_feed_identifier' => array( + 'gtin' => 'disable', + 'ean' => 'disable', + 'mpn' => 'disable', + 'isbn' => 'disable', + 'age_group' => 'disable', + 'material' => 'disable', + 'gender' => 'disable', + 'cost_of_good_sold' => 'disable', + 'availability_date' => 'enable', + 'unit' => 'disable', + 'unit_pricing_measure' => 'disable', + 'unit_pricing_base_measure' => 'disable', + 'custom_field_0' => 'disable', + 'custom_field_1' => 'disable', + 'custom_field_2' => 'disable', + 'custom_field_3' => 'disable', + 'custom_field_4' => 'disable', + ), + ); + + /** + * Add defaults without chainging the core values. + * + * @param array $defaults + * + * @since 3.3.11 + */ + $defaults = wp_parse_args(apply_filters('woo_feed_settings_extra_defaults', array()), $defaults); + + if ('defaults' === $key) { + return $defaults; + } + + $settings = wp_parse_args(get_option('woo_feed_settings', array()), $defaults); + + if ('all' === $key) { + return $settings; + } + + if (array_key_exists($key, $settings)) { + return $settings[$key]; + } + + return $default; + } + + /** + * Remove Option Name Prefix and return the slug + * + * @param string $feed_option_name + * + * @return string + */ + public static function extract_option_name($feed_option_name, $prefix) + { + return str_replace(array($prefix), '', $feed_option_name); + } + + public static function access_protected_props_and_methods($obj, $prop) + { + $reflection = new \ReflectionClass($obj); + $property = $reflection->getProperty($prop); + $property->setAccessible(true); + return $property->getValue($obj); + } + + /** + * Get Formatted URL + * + * @param string $url + * + * @return string + */ + public static function woo_feed_get_formatted_url($url = '') + { + if (!empty($url)) { + if (substr(trim($url), 0, 4) === 'http' || substr( + trim($url), + 0, + 3 + ) === 'ftp' || substr(trim($url), 0, 4) === 'sftp') { + $url = str_replace(' ', '%20', $url); + return rtrim($url, '/'); + } else { + $base = get_site_url(); + $url = str_replace(' ', '%20', $url); + $url = $base . $url; + + return rtrim($url, '/'); + } + } + + return ''; + } + + /** + * We've introduced a better system to handle the cron job. You can read more about it here + * libs/webappick-product-feed-for-woocommerce/V5/Helper/CronHelper.php + * But this feature works only if the WP_CRON is enabled. + * That's why we've checked here if the WP_CRON is enabled or not. + * If WP_Cron is disabled then initialize old cron system by including the cron-helper.php file. + * + * Some users are claiming that the new cron system is not working for them. So, we've added a filter to enable/disable the new cron system. + * When new cron system is disabled, the old cron system will be initialized. + * + * @link : https://webappick.atlassian.net/browse/CBT-363 + * + * since 7.3.11 + */ + public static function should_init_new_cron_system() + { + $should_init_new_cron_system = false; + if (!defined('DISABLE_WP_CRON') || !DISABLE_WP_CRON) { + $should_init_new_cron_system = true; + } + + $cron_job_new_cron_system_enabled = Settings::get('cron_job_new_cron_system_enabled', true); + if (!$cron_job_new_cron_system_enabled) { + $should_init_new_cron_system = false; + } + + return apply_filters('ctx_feed_should_init_new_cron_system', $should_init_new_cron_system); + } + + public static function ctx_feed_has_composite_product_plugin() { + return ( + class_exists( 'WC_Product_Composite', false ) || + class_exists( 'WC_Product_Yith_Composite', false ) + ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/Hooks.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/Hooks.php new file mode 100644 index 000000000..f13af95eb --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/Hooks.php @@ -0,0 +1,7 @@ +get_config(); + + $new_name = sanitize_text_field( wp_unslash( $_POST['wpf_import_feed_name'] ) ); + $new_name = trim( $new_name ); + if ( ! empty( $new_name ) ) { + $opt_name = $new_name; + $feed['filename'] = $new_name; + } else { + $opt_name = $feed['filename']; + $feed['filename'] = str_replace_trim( [ '-', '_' ], ' ', $feed['filename'] ); + $feed['filename'] = sprintf( + '%s: %s', + esc_html__( ' Imported', 'woo-feed' ), + ucwords( $feed['filename'] ) + ); + } + // New Slug. + $opt_name = FeedHelper::generate_unique_feed_file_name( $opt_name, + $feed['feedType'], + $feed['provider'] ); + // save config. + $opt_name = "wf_feed_$opt_name"; + $fileName = FeedHelper::save_feed_config_data( $feed, $opt_name, false ); + + $newFeedConfig['option_name'] = $opt_name; + $newFeedConfig['option_value']['feedrules'] = $feed; + + $status = FeedHelper::generate_feed( $newFeedConfig ); + // Redirect back to the list. + wp_safe_redirect( + add_query_arg( + [ + 'feed_imported' => (int) false !== $fileName, + 'feed_regenerate' => 1, + 'feed_name' => $fileName ?: '', + ], + esc_url( admin_url( 'admin.php?page=webappick-manage-feeds' ) ) + ) + ); + die(); + } + + throw new RuntimeException( esc_html__( 'Invalid Request.', 'woo-feed' )); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/SaveFeed.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/SaveFeed.php new file mode 100644 index 000000000..5f3f739d4 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/SaveFeed.php @@ -0,0 +1,128 @@ + + * @property $info + */ +class SaveFeed { + + /** + * @var array $config Contain Feed Configuration. + */ + private static $config; + + public static function Save( $path, $file, $content, $config ) { + self::checkDir( $path ); + self::$config = $config; + + $method = 'save' . strtoupper( self::$config->feedType ); + $type = self::$config->feedType; + + $content = apply_filters( "ctx_save_{$type}_file", $content, $config ); + + return self::$method( $path, $file, $content ); + } + + /** + * Check if the directory for feed file exist or not and make directory + * + * @param $path + * + * @return void + */ + private static function checkDir( $path ) { + if ( ! file_exists( $path ) ) { + wp_mkdir_p( $path ); + } + } + + /** + * Save CSV file. + * + * @param string $path WP Upload dir path. + * @param string $file filename with extension + * @param array $content File Contents. + * + * @return bool + */ + private static function saveCSV( $path, $file, $content ) { + return FileSystem::WriteFile( $content, $path, $file ); + } + + /** + * Save TSV file. + * + * @param string $path WP Upload dir path. + * @param string $file filename with extension + * @param array $content File Contents. + * + * @return bool + */ + private static function saveTSV( $path, $file, $content ) { + return self::saveCSV( $path, $file, $content ); + } + + /** + * Save TXT file. + * + * @param string $path WP Upload dir path. + * @param string $file filename with extension + * @param array $content File Contents. + * + * @return bool + */ + private static function saveTXT( $path, $file, $content ) { + return self::saveCSV( $path, $file, $content ); + } + + /** + * Save XML File + * + * @param string $path WP Upload dir path. + * @param string $file filename with extension + * @param array $content File Contents. + * + * @return bool + */ + private static function saveXML( $path, $file, $content ) { + return FileSystem::WriteFile( $content, $path, $file ); + } + + /** + * Save JSON File. + * + * @param string $path WP Upload dir path. + * @param string $file filename with extension + * @param mixed $content File Contents. + * + * @return mixed|WP_Error + */ + private static function saveJSON( $path, $file, $content ) { + $content = json_encode( $content ); + + return FileSystem::WriteFile( $content, $path, $file ); + } + + /** + * Save XLS File. + * + * @param string $path WP Upload dir path. + * @param string $file filename with extension + * @param array $content File Contents. + * + * @return mixed|WP_Error + */ + private static function saveXLS( $path, $file, $content ) { + return FileSystem::WriteFile( $content, $path, $file ); + } +} \ No newline at end of file diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/Status.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/Status.php new file mode 100644 index 000000000..d04e229c0 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/Status.php @@ -0,0 +1,5 @@ + $value ) { + $taxonomy_name = esc_html( $value[0] ); + + $labels = array( + 'name' => $taxonomy_name . ' ' . __( 'by CTX Feed', 'woo-feed' ), + 'singular_name' => $taxonomy_name, + 'menu_name' => $taxonomy_name . 's ' . __( 'by CTX Feed', 'woo-feed' ), + 'all_items' => __( 'All', 'woo-feed' ) . ' ' . $taxonomy_name . 's', + 'parent_item' => __( 'Parent', 'woo-feed' ) . $taxonomy_name, + 'parent_item_colon' => __( 'Parent:', 'woo-feed' ) . $taxonomy_name . ':', + 'new_item_name' => __( 'New', 'woo-feed' ) . ' ' . $taxonomy_name . ' ' . __( 'Name', 'woo-feed' ), + 'add_new_item' => __( 'Add New', 'woo-feed' ) . ' ' . $taxonomy_name, + 'edit_item' => __( 'Edit', 'woo-feed' ) . ' ' . $taxonomy_name, + 'update_item' => __( 'Update', 'woo-feed' ) . ' ' . $taxonomy_name, + 'separate_items_with_commas' => __( 'Separate', 'woo-feed' ) . ' ' . $taxonomy_name . ' ' . __( 'with commas', 'woo-feed' ), + 'search_items' => __( 'Search', 'woo-feed' ) . ' ' . $taxonomy_name, + 'add_or_remove_items' => __( 'Add or remove', 'woo-feed' ) . ' ' . $taxonomy_name, + 'choose_from_most_used' => __( 'Choose from the most used', 'woo-feed' ) . ' ' . $taxonomy_name . 's', + ); + $args = array( + 'labels' => $labels, + 'hierarchical' => true, + 'public' => true, + 'show_ui' => true, + 'show_admin_column' => false, + 'show_in_rest' => true, + 'show_in_nav_menus' => true, + 'show_tagcloud' => true, + 'show_in_quick_edit' => false, + ); + $taxonomy_key = sprintf( 'woo-feed-%s', strtolower( $key ) ); + + register_taxonomy( $taxonomy_key, 'product', $args ); + } + } + } + + } + + /** + * Use radio inputs product brand taxonomies + * + * @param $args + * + * @return mixed + */ + public function brand_term_radio_checklist( $args ) { + if ( ! empty( $args['taxonomy'] ) && 'woo-feed-brand' === $args['taxonomy'] && ( empty( $args['walker'] ) || $args['walker'] instanceof \Walker ) ) { + + $args['walker'] = new Woo_Feed_Brand_Walker_Category_Radio_Checklist(); + } + + return $args; + } +} + +//Init Brand Taxonomy +$CTXBrandTaxonomy = new Taxonomy(); + + + + + +/** + * Woo_Feed_Custom_Taxonomy_Filter is special extension class of FilterIterator + * + * @since 4.3.93 + */ +class TaxonomyFilter extends FilterIterator { + + public function __construct( array $items ) { + $object = new ArrayObject( $items ); + parent::__construct( $object->getIterator() ); + } + + public function accept() { + return array_key_exists( 2, $this->current() ) ? $this->current()[2] : false; + } +} + + +/** + * Custom walker for switching checkbox inputs to radio. + * + * @see Walker_Category_Checklist + */ +class Woo_Feed_Brand_Walker_Category_Radio_Checklist extends Walker_Category_Checklist { + public function walk( $elements, $max_depth, ...$args ) { + $output = parent::walk( $elements, $max_depth, ...$args ); + + return str_replace( + array( 'type="checkbox"', "type='checkbox'" ), + array( 'type="radio"', "type='radio'" ), + $output + ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Common/Widget.php b/plugins/webappick-product-feed-for-woocommerce/V5/Common/Widget.php new file mode 100644 index 000000000..6fcebc21b --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Common/Widget.php @@ -0,0 +1,66 @@ + +

+
+ modified ) ); ?> +

title->rendered ); ?> + -

+ content->rendered, 35, '...' )); ?> + +
+

+

+ ID, 'woo_feed_availability_date', true ); + + if( empty( $availability_date ) && is_plugin_active( 'woocommerce-multilingual/wpml-woocommerce.php' )){ + $originalId = apply_filters('woo_feed_original_post_id', $post->ID ); + $availability_date = get_post_meta( $originalId, 'woo_feed_availability_date', true ); + } + // Add Availability Date Field + $field_data = array( + 'id' => "woo_feed_availability_date", + 'name' => "woo_feed_availability_date", + 'placeholder' => '', + 'label' => __('Availability Date', 'woo-feed'), + 'type' => 'date', + 'value' => esc_attr( $availability_date ), + 'desc_tip' => false, + 'description' => __( 'Set availability date for backorder products.', 'woo-feed' ), + ); + + woocommerce_wp_text_input( $field_data ); + + } + + /** + * Renders availability date fields for variable products. + * + * @param int $loop + * + * @return void + * @since 4.4.14 + */ + public function admin_render_variable( $loop, $variation_data, $variation ) { + + global $post; + + $availability_date = get_post_meta( $variation->ID, 'woo_feed_availability_date_var', true ); + + // Add Availability Date Field + $field_data = array( + 'id' => "woo_feed_availability_date_var{$loop}", + 'name' => "woo_feed_availability_date_var[{$loop}]", + 'placeholder' => '', + 'label' => __('Availability Date', 'woo-feed'), + 'type' => 'date', + 'desc_tip' => true, + 'description' => __( 'Set availability date for backorder products.', 'woo-feed' ), + 'value' => esc_attr( $availability_date ), + 'wrapper_class' => 'form-row form-row-full', + ); + + woocommerce_wp_text_input( $field_data ); + + } + + /** + * Saves availability date fields for simple product + * + * @param $post_id + * + * @return void + * @since 4.4.14 + */ + public function admin_simple_save( $post_id ) { + $woo_feed_availability_date = !empty( $_POST['woo_feed_availability_date'] ) ? $_POST['woo_feed_availability_date'] : ''; + if( $woo_feed_availability_date ) { + update_post_meta($post_id, 'woo_feed_availability_date', esc_attr( $woo_feed_availability_date )); + } + } + + /** + * Saves availability date fields for variable product + * + * @param int $post_id + * @param int $loop + * + * @return void + * @since 4.4.14 + */ + public function admin_variable_save( $post_id, $loop ) { + $var = !empty($_POST['woo_feed_availability_date_var'][$loop]) ? $_POST['woo_feed_availability_date_var'][$loop] : ''; + if( $var) { + update_post_meta($post_id, 'woo_feed_availability_date_var', esc_attr( $var )); + } + } + + /** + * Generates value for feed + * + * @param $product + * + * @return false|string + * @since 4.4.14 + */ + public function get_value( $product ){ + + if( $product->get_stock_status() !== 'onbackorder' ) { + return ''; + } + + $value = get_post_meta( $product->get_id(), 'woo_feed_availability_date', true ); + + if( isset( $value ) && !empty( $value ) ) { + return date( 'c', strtotime( $value ) ); + } + + return false; + + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/CustomField.php b/plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/CustomField.php new file mode 100644 index 000000000..a649275fd --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/CustomField.php @@ -0,0 +1,25 @@ +customField = $customField; + } + + public function set() { + return $this->customField->set_custom_field(); + } + + public function save( $post_id ) { + return $this->customField->save_custom_field_value( $post_id ); + } +} \ No newline at end of file diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/CustomFieldFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/CustomFieldFactory.php new file mode 100644 index 000000000..43fe0673e --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/CustomFields/CustomFieldFactory.php @@ -0,0 +1,15 @@ +'; + echo sprintf( '

%s

', esc_attr( 'woo-feed-option-title' ), esc_html__( 'CUSTOM FIELDS by CTX Feed', 'woo-feed' ) ); + foreach ( $custom_fields as $field_Key => $custom_field ) { + if ( isset( $custom_field_settings[ $field_Key ] ) && 'enable' === $custom_field_settings[ $field_Key ] && 'text' === $custom_field[2] ) { + + //identifier meta value for old and new version users + $custom_field_key_previous = sprintf( 'woo_feed_identifier_%s', strtolower( $field_Key ) ); + $custom_field_value_previous = get_post_meta( get_the_ID(), $custom_field_key_previous, true ); + + $custom_field_key = sprintf( 'woo_feed_%s', strtolower( $field_Key ) ); + $custom_field_value = get_post_meta( get_the_ID(), $custom_field_key, true ); + + if( empty( $custom_field_value ) && is_plugin_active( 'woocommerce-multilingual/wpml-woocommerce.php' )){ + $originalId = apply_filters('woo_feed_original_post_id', get_the_ID() ); + $custom_field_value = get_post_meta( $originalId, $custom_field_key, true ); + } + + if ( empty( $custom_field_value ) && ! empty( $custom_field_value_previous ) ) { + $custom_field_key = $custom_field_key_previous; + $custom_field_value = $custom_field_value_previous; + } + + $custom_field_id = esc_attr( wp_unslash( "woo_feed_$field_Key" ) ); + $custom_field_label = esc_attr( wp_unslash( $custom_field[0] ) ); + $custom_field_description = __( 'Set product ', 'woo-feed' ) . esc_html( $custom_field_label ) . __( ' here.', 'woo-feed' ); + + woocommerce_wp_text_input( + array( + 'id' => $custom_field_id, + 'label' => $custom_field_label, + 'placeholder' => $custom_field_label, + 'desc_tip' => true, + 'value' => esc_attr( wp_unslash( $custom_field_value ) ), + 'description' => $custom_field_description, + ) + ); + } + } + echo ''; + } + } + + /** + * Set Custom Fields for Product Variations. + * + * @param $loop + * @param $variation_data + * @param $variation + * + * @return void + */ + public function set_custom_field_for_variation( $loop, $variation_data, $variation ) { + + $custom_field_settings = Settings::get( 'woo_feed_identifier' ); + $custom_fields = CustomFieldHelper::get_fields(); + + if ( ! empty( $custom_field_settings ) && in_array( 'enable', $custom_field_settings, true ) ) { + echo '
'; + + if ( ! empty( $custom_fields ) ) { + echo '
'; + echo "
"; + echo sprintf( '

%s

', esc_attr( 'woo-feed-variation-option-title' ), esc_html__( 'CUSTOM FIELDS by CTX Feed', 'woo-feed' ) ); + echo "
"; + echo '
'; + + foreach ( $custom_fields as $field_Key => $custom_field ) { + if ( isset( $custom_field_settings[ $field_Key ] ) && 'enable' === $custom_field_settings[ $field_Key ] && 'text' === $custom_field[2] ) { + $custom_field_id = sprintf( 'woo_feed_%s_var[%d]', strtolower( $field_Key ), $variation->ID ); + $custom_field_label = isset( $custom_field[0] ) ? $custom_field[0] : ''; + $custom_field_description = sprintf( 'Set Variation %s here.', $custom_field_label ); + + //identifier meta value for old and new version users + if ( metadata_exists( 'post', $variation->ID, 'woo_feed_' . strtolower( $field_Key ) . '_var' ) ) { + $custom_field_key = sprintf( 'woo_feed_%s_var', strtolower( $field_Key ) ); + } else { + $custom_field_key = sprintf( 'woo_feed_identifier_%s_var', strtolower( $field_Key ) ); + } + + woocommerce_wp_text_input( + array( + 'id' => $custom_field_id, + 'value' => esc_attr( get_post_meta( $variation->ID, $custom_field_key, true ) ), + 'placeholder' => esc_html( $custom_field_label ), + 'label' => esc_html( $custom_field_label ), + 'desc_tip' => true, + 'description' => esc_html( $custom_field_description ), + 'wrapper_class' => 'form-row form-row-full', + ) + ); + } + } + echo '
'; + } + echo "
"; + echo '
'; + } + } + + /** + * Save Product Custom Field Value. + * + * @param int $post_id Product id. + * + * @return void + */ + public function save_custom_field_value( $post_id ) { + $custom_fields = CustomFieldHelper::get_fields(); + $set_meta_val = ''; + + if ( ! empty( $custom_fields ) ) { + foreach ( $custom_fields as $key => $custom_field ) { + $product_meta_key = "woo_feed_$key"; + + $new_meta_key = "woo_feed_identifier_$key"; + $new_meta_val = get_post_meta( $post_id, $new_meta_key, true ); + $old_meta_val = get_post_meta( $post_id, $product_meta_key, true ); + + if ( ! empty( $old_meta_val ) ) { + $set_meta_val = $old_meta_val; + } else { + $set_meta_val = $new_meta_val; + } + + if ( isset( $_POST[ $product_meta_key ] ) ) { + $product_meta_value = sanitize_text_field( $_POST[ $product_meta_key ] ); + } elseif ( isset( $_POST[ $new_meta_key ] ) ) { + $product_meta_value = sanitize_text_field( $_POST[ $new_meta_key ] ); + } else { + $product_meta_value = $set_meta_val; + } + + if ( isset( $product_meta_value ) && ! empty( $product_meta_value ) ) { + update_post_meta( $post_id, $product_meta_key, $product_meta_value ); + } else { + delete_post_meta( $post_id, $product_meta_key ); + } + } + } + } + + /** + * Save Product Variation Custom Field Value. + * + * @param int $post_id Variation id. + * + * @return void + */ + public function save_variation_custom_field_value( $post_id) { + $custom_fields = woo_feed_product_custom_fields(); + + if ( ! empty( $custom_fields ) ) { + foreach ( $custom_fields as $key => $value ) { + + $product_meta_key = "woo_feed_{$key}_var"; + + $new_meta_key = "woo_feed_identifier_{$key}_var"; + $new_meta_val = get_post_meta( $post_id, $new_meta_key, true ); + $old_meta_val = get_post_meta( $post_id, $product_meta_key, true ); + + if ( ! empty( $old_meta_val ) ) { + $set_meta_val = $old_meta_val; + } else { + $set_meta_val = $new_meta_val; + } + + if ( isset( $_POST[ $product_meta_key ][ $post_id ] ) ) { + $product_meta_value = sanitize_text_field( $_POST[ $product_meta_key ][ $post_id ] ); + } elseif ( isset( $_POST[ $new_meta_key ] [ $post_id ] ) ) { + $product_meta_value = sanitize_text_field( $_POST[ $new_meta_key ][ $post_id ] ); + } else { + $product_meta_value = $set_meta_val; + } + + + if ( isset( $product_meta_value ) && ! empty( $product_meta_value ) ) { + update_post_meta( $post_id, $product_meta_key, $product_meta_value ); + }else { + delete_post_meta( $post_id, $product_meta_key ); + } + } + } + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Download/FileDownload.php b/plugins/webappick-product-feed-for-woocommerce/V5/Download/FileDownload.php new file mode 100644 index 000000000..e6792725d --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Download/FileDownload.php @@ -0,0 +1,161 @@ + + * @version 1.0 + * @license MIT + */ + +namespace CTXFeed\V5\Download; + +/** + * Provides a simple way to create file downloads in PHP + */ +class FileDownload +{ + /** + * The pointer to the file to download + * + * @var resource + */ + private $filePointer; + + + + /** + * Constructs a new file download + * + * @param resource $filePointer + * + * @throws \InvalidArgumentException + */ + public function __construct ($filePointer) + { + if (!is_resource($filePointer)) + { + throw new \InvalidArgumentException("You must pass a file pointer to the ctor"); + } + + $this->filePointer = $filePointer; + } + + + + /** + * Sends the download to the browser + * + * @param string $filename + * @param bool $forceDownload + * + * @throws \RuntimeException is thrown, if the headers are already sent + */ + public function sendDownload ($filename, $forceDownload = true) + { + if (headers_sent()) + { + throw new \RuntimeException("Cannot send file to the browser, since the headers were already sent."); + } + + header("Pragma: public"); + header("Expires: 0"); + header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); + header("Cache-Control: private", false); + header("Content-Type: {$this->getMimeType($filename)}; charset=utf-8"); + + if ($forceDownload) + { + header("Content-Disposition: attachment; filename=\"{$filename}\";" ); + } + else + { + header("Content-Disposition: filename=\"{$filename}\";" ); + } + + header("Content-Transfer-Encoding: binary"); + header("Content-Length: {$this->getFileSize()}"); + + @ob_clean(); + + rewind($this->filePointer); + fpassthru($this->filePointer); + } + + + + /** + * Returns the mime type of a file name + * + * @param string $fileName + * + * @return string + */ + private function getMimeType ($fileName) + { + $fileExtension = pathinfo($fileName, PATHINFO_EXTENSION); + $mimeTypeHelper = Mimetypes::getInstance(); + $mimeType = $mimeTypeHelper->fromExtension($fileExtension); + + return !is_null($mimeType) ? $mimeType : "application/force-download"; + } + + + + /** + * Returns the file size of the file + * + * @return int + */ + private function getFileSize () + { + $stat = fstat($this->filePointer); + return $stat['size']; + } + + + + /** + * Creates a new file download from a file path + * + * @static + * + * @param string $filePath + * + * @throws \InvalidArgumentException is thrown, if the given file does not exist or is not readable + * + * @return FileDownload + */ + public static function createFromFilePath ($filePath) + { + if (!is_file($filePath)) + { + throw new \InvalidArgumentException("File does not exist"); + } + + if (!is_readable($filePath)) + { + throw new \InvalidArgumentException("File to download is not readable."); + } + + return new FileDownload(fopen($filePath, "rb")); + } + + + + /** + * Creates a new file download helper with a given content + * + * @static + * + * @param string $content the file content + * + * @return FileDownload + */ + public static function createFromString ($content) + { + $file = tmpfile(); + fwrite($file, $content); + + return new FileDownload($file); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Download/Mimetypes.php b/plugins/webappick-product-feed-for-woocommerce/V5/Download/Mimetypes.php new file mode 100644 index 000000000..34f696681 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Download/Mimetypes.php @@ -0,0 +1,1112 @@ + + */ + +namespace CTXFeed\V5\Download; + +/** + * Provides mappings of file extensions to mimetypes. + * API-compatible with Guzzle\Http\Mimetypes (http://guzzlephp.org). + * @link https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/docs/conf/mime.types + */ +class Mimetypes +{ + /** + * @var self + */ + protected static $instance; + + /** + * Returns an associative array with extension => mimetype mappings. + * + * Generated from source on 26 Sep 2016, 10:26am UTC. + * + * @return array An associative array with extension => mimetype mappings. + */ + public function getMimeTypes() + { + return [ + '3dml' => 'text/vnd.in3d.3dml', + '3ds' => 'image/x-3ds', + '3g2' => 'video/3gpp2', + '3gp' => 'video/3gpp', + '7z' => 'application/x-7z-compressed', + 'aab' => 'application/x-authorware-bin', + 'aac' => 'audio/x-aac', + 'aam' => 'application/x-authorware-map', + 'aas' => 'application/x-authorware-seg', + 'abw' => 'application/x-abiword', + 'ac' => 'application/pkix-attr-cert', + 'acc' => 'application/vnd.americandynamics.acc', + 'ace' => 'application/x-ace-compressed', + 'acu' => 'application/vnd.acucobol', + 'acutc' => 'application/vnd.acucorp', + 'adp' => 'audio/adpcm', + 'aep' => 'application/vnd.audiograph', + 'afm' => 'application/x-font-type1', + 'afp' => 'application/vnd.ibm.modcap', + 'ahead' => 'application/vnd.ahead.space', + 'ai' => 'application/postscript', + 'aif' => 'audio/x-aiff', + 'aifc' => 'audio/x-aiff', + 'aiff' => 'audio/x-aiff', + 'air' => 'application/vnd.adobe.air-application-installer-package+zip', + 'ait' => 'application/vnd.dvb.ait', + 'ami' => 'application/vnd.amiga.ami', + 'apk' => 'application/vnd.android.package-archive', + 'appcache' => 'text/cache-manifest', + 'application' => 'application/x-ms-application', + 'apr' => 'application/vnd.lotus-approach', + 'arc' => 'application/x-freearc', + 'asa' => 'text/plain', + 'asax' => 'application/octet-stream', + 'asc' => 'application/pgp-signature', + 'ascx' => 'text/plain', + 'asf' => 'video/x-ms-asf', + 'ashx' => 'text/plain', + 'asm' => 'text/x-asm', + 'asmx' => 'text/plain', + 'aso' => 'application/vnd.accpac.simply.aso', + 'asp' => 'text/plain', + 'aspx' => 'text/plain', + 'asx' => 'video/x-ms-asf', + 'atc' => 'application/vnd.acucorp', + 'atom' => 'application/atom+xml', + 'atomcat' => 'application/atomcat+xml', + 'atomsvc' => 'application/atomsvc+xml', + 'atx' => 'application/vnd.antix.game-component', + 'au' => 'audio/basic', + 'avi' => 'video/x-msvideo', + 'aw' => 'application/applixware', + 'axd' => 'text/plain', + 'azf' => 'application/vnd.airzip.filesecure.azf', + 'azs' => 'application/vnd.airzip.filesecure.azs', + 'azw' => 'application/vnd.amazon.ebook', + 'bat' => 'application/x-msdownload', + 'bcpio' => 'application/x-bcpio', + 'bdf' => 'application/x-font-bdf', + 'bdm' => 'application/vnd.syncml.dm+wbxml', + 'bed' => 'application/vnd.realvnc.bed', + 'bh2' => 'application/vnd.fujitsu.oasysprs', + 'bin' => 'application/octet-stream', + 'blb' => 'application/x-blorb', + 'blorb' => 'application/x-blorb', + 'bmi' => 'application/vnd.bmi', + 'bmp' => 'image/bmp', + 'book' => 'application/vnd.framemaker', + 'box' => 'application/vnd.previewsystems.box', + 'boz' => 'application/x-bzip2', + 'bpk' => 'application/octet-stream', + 'btif' => 'image/prs.btif', + 'bz' => 'application/x-bzip', + 'bz2' => 'application/x-bzip2', + 'c' => 'text/x-c', + 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', + 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', + 'c4d' => 'application/vnd.clonk.c4group', + 'c4f' => 'application/vnd.clonk.c4group', + 'c4g' => 'application/vnd.clonk.c4group', + 'c4p' => 'application/vnd.clonk.c4group', + 'c4u' => 'application/vnd.clonk.c4group', + 'cab' => 'application/vnd.ms-cab-compressed', + 'caf' => 'audio/x-caf', + 'cap' => 'application/vnd.tcpdump.pcap', + 'car' => 'application/vnd.curl.car', + 'cat' => 'application/vnd.ms-pki.seccat', + 'cb7' => 'application/x-cbr', + 'cba' => 'application/x-cbr', + 'cbr' => 'application/x-cbr', + 'cbt' => 'application/x-cbr', + 'cbz' => 'application/x-cbr', + 'cc' => 'text/x-c', + 'cct' => 'application/x-director', + 'ccxml' => 'application/ccxml+xml', + 'cdbcmsg' => 'application/vnd.contact.cmsg', + 'cdf' => 'application/x-netcdf', + 'cdkey' => 'application/vnd.mediastation.cdkey', + 'cdmia' => 'application/cdmi-capability', + 'cdmic' => 'application/cdmi-container', + 'cdmid' => 'application/cdmi-domain', + 'cdmio' => 'application/cdmi-object', + 'cdmiq' => 'application/cdmi-queue', + 'cdx' => 'chemical/x-cdx', + 'cdxml' => 'application/vnd.chemdraw+xml', + 'cdy' => 'application/vnd.cinderella', + 'cer' => 'application/pkix-cert', + 'cfc' => 'application/x-coldfusion', + 'cfm' => 'application/x-coldfusion', + 'cfs' => 'application/x-cfs-compressed', + 'cgm' => 'image/cgm', + 'chat' => 'application/x-chat', + 'chm' => 'application/vnd.ms-htmlhelp', + 'chrt' => 'application/vnd.kde.kchart', + 'cif' => 'chemical/x-cif', + 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', + 'cil' => 'application/vnd.ms-artgalry', + 'cla' => 'application/vnd.claymore', + 'class' => 'application/java-vm', + 'clkk' => 'application/vnd.crick.clicker.keyboard', + 'clkp' => 'application/vnd.crick.clicker.palette', + 'clkt' => 'application/vnd.crick.clicker.template', + 'clkw' => 'application/vnd.crick.clicker.wordbank', + 'clkx' => 'application/vnd.crick.clicker', + 'clp' => 'application/x-msclip', + 'cmc' => 'application/vnd.cosmocaller', + 'cmdf' => 'chemical/x-cmdf', + 'cml' => 'chemical/x-cml', + 'cmp' => 'application/vnd.yellowriver-custom-menu', + 'cmx' => 'image/x-cmx', + 'cod' => 'application/vnd.rim.cod', + 'com' => 'application/x-msdownload', + 'conf' => 'text/plain', + 'cpio' => 'application/x-cpio', + 'cpp' => 'text/x-c', + 'cpt' => 'application/mac-compactpro', + 'crd' => 'application/x-mscardfile', + 'crl' => 'application/pkix-crl', + 'crt' => 'application/x-x509-ca-cert', + 'crx' => 'application/octet-stream', + 'cryptonote' => 'application/vnd.rig.cryptonote', + 'cs' => 'text/plain', + 'csh' => 'application/x-csh', + 'csml' => 'chemical/x-csml', + 'csp' => 'application/vnd.commonspace', + 'css' => 'text/css', + 'cst' => 'application/x-director', + 'csv' => 'text/csv', + 'cu' => 'application/cu-seeme', + 'curl' => 'text/vnd.curl', + 'cww' => 'application/prs.cww', + 'cxt' => 'application/x-director', + 'cxx' => 'text/x-c', + 'dae' => 'model/vnd.collada+xml', + 'daf' => 'application/vnd.mobius.daf', + 'dart' => 'application/vnd.dart', + 'dataless' => 'application/vnd.fdsn.seed', + 'davmount' => 'application/davmount+xml', + 'dbk' => 'application/docbook+xml', + 'dcr' => 'application/x-director', + 'dcurl' => 'text/vnd.curl.dcurl', + 'dd2' => 'application/vnd.oma.dd2+xml', + 'ddd' => 'application/vnd.fujixerox.ddd', + 'deb' => 'application/x-debian-package', + 'def' => 'text/plain', + 'deploy' => 'application/octet-stream', + 'der' => 'application/x-x509-ca-cert', + 'dfac' => 'application/vnd.dreamfactory', + 'dgc' => 'application/x-dgc-compressed', + 'dic' => 'text/x-c', + 'dir' => 'application/x-director', + 'dis' => 'application/vnd.mobius.dis', + 'dist' => 'application/octet-stream', + 'distz' => 'application/octet-stream', + 'djv' => 'image/vnd.djvu', + 'djvu' => 'image/vnd.djvu', + 'dll' => 'application/x-msdownload', + 'dmg' => 'application/x-apple-diskimage', + 'dmp' => 'application/vnd.tcpdump.pcap', + 'dms' => 'application/octet-stream', + 'dna' => 'application/vnd.dna', + 'doc' => 'application/msword', + 'docm' => 'application/vnd.ms-word.document.macroenabled.12', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'dot' => 'application/msword', + 'dotm' => 'application/vnd.ms-word.template.macroenabled.12', + 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', + 'dp' => 'application/vnd.osgi.dp', + 'dpg' => 'application/vnd.dpgraph', + 'dra' => 'audio/vnd.dra', + 'dsc' => 'text/prs.lines.tag', + 'dssc' => 'application/dssc+der', + 'dtb' => 'application/x-dtbook+xml', + 'dtd' => 'application/xml-dtd', + 'dts' => 'audio/vnd.dts', + 'dtshd' => 'audio/vnd.dts.hd', + 'dump' => 'application/octet-stream', + 'dvb' => 'video/vnd.dvb.file', + 'dvi' => 'application/x-dvi', + 'dwf' => 'model/vnd.dwf', + 'dwg' => 'image/vnd.dwg', + 'dxf' => 'image/vnd.dxf', + 'dxp' => 'application/vnd.spotfire.dxp', + 'dxr' => 'application/x-director', + 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', + 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', + 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', + 'ecma' => 'application/ecmascript', + 'edm' => 'application/vnd.novadigm.edm', + 'edx' => 'application/vnd.novadigm.edx', + 'efif' => 'application/vnd.picsel', + 'ei6' => 'application/vnd.pg.osasli', + 'elc' => 'application/octet-stream', + 'emf' => 'application/x-msmetafile', + 'eml' => 'message/rfc822', + 'emma' => 'application/emma+xml', + 'emz' => 'application/x-msmetafile', + 'eol' => 'audio/vnd.digital-winds', + 'eot' => 'application/vnd.ms-fontobject', + 'eps' => 'application/postscript', + 'epub' => 'application/epub+zip', + 'es3' => 'application/vnd.eszigno3+xml', + 'esa' => 'application/vnd.osgi.subsystem', + 'esf' => 'application/vnd.epson.esf', + 'et3' => 'application/vnd.eszigno3+xml', + 'etx' => 'text/x-setext', + 'eva' => 'application/x-eva', + 'evy' => 'application/x-envoy', + 'exe' => 'application/x-msdownload', + 'exi' => 'application/exi', + 'ext' => 'application/vnd.novadigm.ext', + 'ez' => 'application/andrew-inset', + 'ez2' => 'application/vnd.ezpix-album', + 'ez3' => 'application/vnd.ezpix-package', + 'f' => 'text/x-fortran', + 'f4v' => 'video/x-f4v', + 'f77' => 'text/x-fortran', + 'f90' => 'text/x-fortran', + 'fbs' => 'image/vnd.fastbidsheet', + 'fcdt' => 'application/vnd.adobe.formscentral.fcdt', + 'fcs' => 'application/vnd.isac.fcs', + 'fdf' => 'application/vnd.fdf', + 'fe_launch' => 'application/vnd.denovo.fcselayout-link', + 'fg5' => 'application/vnd.fujitsu.oasysgp', + 'fgd' => 'application/x-director', + 'fh' => 'image/x-freehand', + 'fh4' => 'image/x-freehand', + 'fh5' => 'image/x-freehand', + 'fh7' => 'image/x-freehand', + 'fhc' => 'image/x-freehand', + 'fig' => 'application/x-xfig', + 'flac' => 'audio/x-flac', + 'fli' => 'video/x-fli', + 'flo' => 'application/vnd.micrografx.flo', + 'flv' => 'video/x-flv', + 'flw' => 'application/vnd.kde.kivio', + 'flx' => 'text/vnd.fmi.flexstor', + 'fly' => 'text/vnd.fly', + 'fm' => 'application/vnd.framemaker', + 'fnc' => 'application/vnd.frogans.fnc', + 'for' => 'text/x-fortran', + 'fpx' => 'image/vnd.fpx', + 'frame' => 'application/vnd.framemaker', + 'fsc' => 'application/vnd.fsc.weblaunch', + 'fst' => 'image/vnd.fst', + 'ftc' => 'application/vnd.fluxtime.clip', + 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', + 'fvt' => 'video/vnd.fvt', + 'fxp' => 'application/vnd.adobe.fxp', + 'fxpl' => 'application/vnd.adobe.fxp', + 'fzs' => 'application/vnd.fuzzysheet', + 'g2w' => 'application/vnd.geoplan', + 'g3' => 'image/g3fax', + 'g3w' => 'application/vnd.geospace', + 'gac' => 'application/vnd.groove-account', + 'gam' => 'application/x-tads', + 'gbr' => 'application/rpki-ghostbusters', + 'gca' => 'application/x-gca-compressed', + 'gdl' => 'model/vnd.gdl', + 'geo' => 'application/vnd.dynageo', + 'gex' => 'application/vnd.geometry-explorer', + 'ggb' => 'application/vnd.geogebra.file', + 'ggt' => 'application/vnd.geogebra.tool', + 'ghf' => 'application/vnd.groove-help', + 'gif' => 'image/gif', + 'gim' => 'application/vnd.groove-identity-message', + 'gml' => 'application/gml+xml', + 'gmx' => 'application/vnd.gmx', + 'gnumeric' => 'application/x-gnumeric', + 'gph' => 'application/vnd.flographit', + 'gpx' => 'application/gpx+xml', + 'gqf' => 'application/vnd.grafeq', + 'gqs' => 'application/vnd.grafeq', + 'gram' => 'application/srgs', + 'gramps' => 'application/x-gramps-xml', + 'gre' => 'application/vnd.geometry-explorer', + 'grv' => 'application/vnd.groove-injector', + 'grxml' => 'application/srgs+xml', + 'gsf' => 'application/x-font-ghostscript', + 'gtar' => 'application/x-gtar', + 'gtm' => 'application/vnd.groove-tool-message', + 'gtw' => 'model/vnd.gtw', + 'gv' => 'text/vnd.graphviz', + 'gxf' => 'application/gxf', + 'gxt' => 'application/vnd.geonext', + 'gz' => 'application/x-gzip', + 'h' => 'text/x-c', + 'h261' => 'video/h261', + 'h263' => 'video/h263', + 'h264' => 'video/h264', + 'hal' => 'application/vnd.hal+xml', + 'hbci' => 'application/vnd.hbci', + 'hdf' => 'application/x-hdf', + 'hh' => 'text/x-c', + 'hlp' => 'application/winhlp', + 'hpgl' => 'application/vnd.hp-hpgl', + 'hpid' => 'application/vnd.hp-hpid', + 'hps' => 'application/vnd.hp-hps', + 'hqx' => 'application/mac-binhex40', + 'hta' => 'application/octet-stream', + 'htc' => 'text/html', + 'htke' => 'application/vnd.kenameaapp', + 'htm' => 'text/html', + 'html' => 'text/html', + 'hvd' => 'application/vnd.yamaha.hv-dic', + 'hvp' => 'application/vnd.yamaha.hv-voice', + 'hvs' => 'application/vnd.yamaha.hv-script', + 'i2g' => 'application/vnd.intergeo', + 'icc' => 'application/vnd.iccprofile', + 'ice' => 'x-conference/x-cooltalk', + 'icm' => 'application/vnd.iccprofile', + 'ico' => 'image/x-icon', + 'ics' => 'text/calendar', + 'ief' => 'image/ief', + 'ifb' => 'text/calendar', + 'ifm' => 'application/vnd.shana.informed.formdata', + 'iges' => 'model/iges', + 'igl' => 'application/vnd.igloader', + 'igm' => 'application/vnd.insors.igm', + 'igs' => 'model/iges', + 'igx' => 'application/vnd.micrografx.igx', + 'iif' => 'application/vnd.shana.informed.interchange', + 'imp' => 'application/vnd.accpac.simply.imp', + 'ims' => 'application/vnd.ms-ims', + 'in' => 'text/plain', + 'ini' => 'text/plain', + 'ink' => 'application/inkml+xml', + 'inkml' => 'application/inkml+xml', + 'install' => 'application/x-install-instructions', + 'iota' => 'application/vnd.astraea-software.iota', + 'ipa' => 'application/octet-stream', + 'ipfix' => 'application/ipfix', + 'ipk' => 'application/vnd.shana.informed.package', + 'irm' => 'application/vnd.ibm.rights-management', + 'irp' => 'application/vnd.irepository.package+xml', + 'iso' => 'application/x-iso9660-image', + 'itp' => 'application/vnd.shana.informed.formtemplate', + 'ivp' => 'application/vnd.immervision-ivp', + 'ivu' => 'application/vnd.immervision-ivu', + 'jad' => 'text/vnd.sun.j2me.app-descriptor', + 'jam' => 'application/vnd.jam', + 'jar' => 'application/java-archive', + 'java' => 'text/x-java-source', + 'jisp' => 'application/vnd.jisp', + 'jlt' => 'application/vnd.hp-jlyt', + 'jnlp' => 'application/x-java-jnlp-file', + 'joda' => 'application/vnd.joost.joda-archive', + 'jpe' => 'image/jpeg', + 'jpeg' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'jpgm' => 'video/jpm', + 'jpgv' => 'video/jpeg', + 'jpm' => 'video/jpm', + 'js' => 'text/javascript', + 'json' => 'application/json', + 'jsonml' => 'application/jsonml+json', + 'kar' => 'audio/midi', + 'karbon' => 'application/vnd.kde.karbon', + 'kfo' => 'application/vnd.kde.kformula', + 'kia' => 'application/vnd.kidspiration', + 'kml' => 'application/vnd.google-earth.kml+xml', + 'kmz' => 'application/vnd.google-earth.kmz', + 'kne' => 'application/vnd.kinar', + 'knp' => 'application/vnd.kinar', + 'kon' => 'application/vnd.kde.kontour', + 'kpr' => 'application/vnd.kde.kpresenter', + 'kpt' => 'application/vnd.kde.kpresenter', + 'kpxx' => 'application/vnd.ds-keypoint', + 'ksp' => 'application/vnd.kde.kspread', + 'ktr' => 'application/vnd.kahootz', + 'ktx' => 'image/ktx', + 'ktz' => 'application/vnd.kahootz', + 'kwd' => 'application/vnd.kde.kword', + 'kwt' => 'application/vnd.kde.kword', + 'lasxml' => 'application/vnd.las.las+xml', + 'latex' => 'application/x-latex', + 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', + 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', + 'les' => 'application/vnd.hhe.lesson-player', + 'lha' => 'application/x-lzh-compressed', + 'link66' => 'application/vnd.route66.link66+xml', + 'list' => 'text/plain', + 'list3820' => 'application/vnd.ibm.modcap', + 'listafp' => 'application/vnd.ibm.modcap', + 'lnk' => 'application/x-ms-shortcut', + 'log' => 'text/plain', + 'lostxml' => 'application/lost+xml', + 'lrf' => 'application/octet-stream', + 'lrm' => 'application/vnd.ms-lrm', + 'ltf' => 'application/vnd.frogans.ltf', + 'lvp' => 'audio/vnd.lucent.voice', + 'lwp' => 'application/vnd.lotus-wordpro', + 'lz' => 'application/x-lzip', + 'lzh' => 'application/x-lzh-compressed', + 'lzma' => 'application/x-lzma', + 'lzo' => 'application/x-lzop', + 'm13' => 'application/x-msmediaview', + 'm14' => 'application/x-msmediaview', + 'm1v' => 'video/mpeg', + 'm21' => 'application/mp21', + 'm2a' => 'audio/mpeg', + 'm2v' => 'video/mpeg', + 'm3a' => 'audio/mpeg', + 'm3u' => 'audio/x-mpegurl', + 'm3u8' => 'application/vnd.apple.mpegurl', + 'm4a' => 'audio/mp4', + 'm4u' => 'video/vnd.mpegurl', + 'm4v' => 'video/mp4', + 'ma' => 'application/mathematica', + 'mads' => 'application/mads+xml', + 'mag' => 'application/vnd.ecowin.chart', + 'maker' => 'application/vnd.framemaker', + 'man' => 'text/troff', + 'mar' => 'application/octet-stream', + 'mathml' => 'application/mathml+xml', + 'mb' => 'application/mathematica', + 'mbk' => 'application/vnd.mobius.mbk', + 'mbox' => 'application/mbox', + 'mc1' => 'application/vnd.medcalcdata', + 'mcd' => 'application/vnd.mcd', + 'mcurl' => 'text/vnd.curl.mcurl', + 'mdb' => 'application/x-msaccess', + 'mdi' => 'image/vnd.ms-modi', + 'me' => 'text/troff', + 'mesh' => 'model/mesh', + 'meta4' => 'application/metalink4+xml', + 'metalink' => 'application/metalink+xml', + 'mets' => 'application/mets+xml', + 'mfm' => 'application/vnd.mfmp', + 'mft' => 'application/rpki-manifest', + 'mgp' => 'application/vnd.osgeo.mapguide.package', + 'mgz' => 'application/vnd.proteus.magazine', + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mie' => 'application/x-mie', + 'mif' => 'application/vnd.mif', + 'mime' => 'message/rfc822', + 'mj2' => 'video/mj2', + 'mjp2' => 'video/mj2', + 'mk3d' => 'video/x-matroska', + 'mka' => 'audio/x-matroska', + 'mks' => 'video/x-matroska', + 'mkv' => 'video/x-matroska', + 'mlp' => 'application/vnd.dolby.mlp', + 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', + 'mmf' => 'application/vnd.smaf', + 'mmr' => 'image/vnd.fujixerox.edmics-mmr', + 'mng' => 'video/x-mng', + 'mny' => 'application/x-msmoney', + 'mobi' => 'application/x-mobipocket-ebook', + 'mods' => 'application/mods+xml', + 'mov' => 'video/quicktime', + 'movie' => 'video/x-sgi-movie', + 'mp2' => 'audio/mpeg', + 'mp21' => 'application/mp21', + 'mp2a' => 'audio/mpeg', + 'mp3' => 'audio/mpeg', + 'mp4' => 'video/mp4', + 'mp4a' => 'audio/mp4', + 'mp4s' => 'application/mp4', + 'mp4v' => 'video/mp4', + 'mpc' => 'application/vnd.mophun.certificate', + 'mpe' => 'video/mpeg', + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'mpg4' => 'video/mp4', + 'mpga' => 'audio/mpeg', + 'mpkg' => 'application/vnd.apple.installer+xml', + 'mpm' => 'application/vnd.blueice.multipass', + 'mpn' => 'application/vnd.mophun.application', + 'mpp' => 'application/vnd.ms-project', + 'mpt' => 'application/vnd.ms-project', + 'mpy' => 'application/vnd.ibm.minipay', + 'mqy' => 'application/vnd.mobius.mqy', + 'mrc' => 'application/marc', + 'mrcx' => 'application/marcxml+xml', + 'ms' => 'text/troff', + 'mscml' => 'application/mediaservercontrol+xml', + 'mseed' => 'application/vnd.fdsn.mseed', + 'mseq' => 'application/vnd.mseq', + 'msf' => 'application/vnd.epson.msf', + 'msh' => 'model/mesh', + 'msi' => 'application/x-msdownload', + 'msl' => 'application/vnd.mobius.msl', + 'msty' => 'application/vnd.muvee.style', + 'mts' => 'model/vnd.mts', + 'mus' => 'application/vnd.musician', + 'musicxml' => 'application/vnd.recordare.musicxml+xml', + 'mvb' => 'application/x-msmediaview', + 'mwf' => 'application/vnd.mfer', + 'mxf' => 'application/mxf', + 'mxl' => 'application/vnd.recordare.musicxml', + 'mxml' => 'application/xv+xml', + 'mxs' => 'application/vnd.triscape.mxs', + 'mxu' => 'video/vnd.mpegurl', + 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', + 'n3' => 'text/n3', + 'nb' => 'application/mathematica', + 'nbp' => 'application/vnd.wolfram.player', + 'nc' => 'application/x-netcdf', + 'ncx' => 'application/x-dtbncx+xml', + 'nfo' => 'text/x-nfo', + 'ngdat' => 'application/vnd.nokia.n-gage.data', + 'nitf' => 'application/vnd.nitf', + 'nlu' => 'application/vnd.neurolanguage.nlu', + 'nml' => 'application/vnd.enliven', + 'nnd' => 'application/vnd.noblenet-directory', + 'nns' => 'application/vnd.noblenet-sealer', + 'nnw' => 'application/vnd.noblenet-web', + 'npx' => 'image/vnd.net-fpx', + 'nsc' => 'application/x-conference', + 'nsf' => 'application/vnd.lotus-notes', + 'ntf' => 'application/vnd.nitf', + 'nzb' => 'application/x-nzb', + 'oa2' => 'application/vnd.fujitsu.oasys2', + 'oa3' => 'application/vnd.fujitsu.oasys3', + 'oas' => 'application/vnd.fujitsu.oasys', + 'obd' => 'application/x-msbinder', + 'obj' => 'application/x-tgif', + 'oda' => 'application/oda', + 'odb' => 'application/vnd.oasis.opendocument.database', + 'odc' => 'application/vnd.oasis.opendocument.chart', + 'odf' => 'application/vnd.oasis.opendocument.formula', + 'odft' => 'application/vnd.oasis.opendocument.formula-template', + 'odg' => 'application/vnd.oasis.opendocument.graphics', + 'odi' => 'application/vnd.oasis.opendocument.image', + 'odm' => 'application/vnd.oasis.opendocument.text-master', + 'odp' => 'application/vnd.oasis.opendocument.presentation', + 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', + 'odt' => 'application/vnd.oasis.opendocument.text', + 'oga' => 'audio/ogg', + 'ogg' => 'audio/ogg', + 'ogv' => 'video/ogg', + 'ogx' => 'application/ogg', + 'omdoc' => 'application/omdoc+xml', + 'onepkg' => 'application/onenote', + 'onetmp' => 'application/onenote', + 'onetoc' => 'application/onenote', + 'onetoc2' => 'application/onenote', + 'opf' => 'application/oebps-package+xml', + 'opml' => 'text/x-opml', + 'oprc' => 'application/vnd.palm', + 'org' => 'application/vnd.lotus-organizer', + 'osf' => 'application/vnd.yamaha.openscoreformat', + 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', + 'otc' => 'application/vnd.oasis.opendocument.chart-template', + 'otf' => 'application/x-font-otf', + 'otg' => 'application/vnd.oasis.opendocument.graphics-template', + 'oth' => 'application/vnd.oasis.opendocument.text-web', + 'oti' => 'application/vnd.oasis.opendocument.image-template', + 'otp' => 'application/vnd.oasis.opendocument.presentation-template', + 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', + 'ott' => 'application/vnd.oasis.opendocument.text-template', + 'oxps' => 'application/oxps', + 'oxt' => 'application/vnd.openofficeorg.extension', + 'p' => 'text/x-pascal', + 'p10' => 'application/pkcs10', + 'p12' => 'application/x-pkcs12', + 'p7b' => 'application/x-pkcs7-certificates', + 'p7c' => 'application/pkcs7-mime', + 'p7m' => 'application/pkcs7-mime', + 'p7r' => 'application/x-pkcs7-certreqresp', + 'p7s' => 'application/pkcs7-signature', + 'p8' => 'application/pkcs8', + 'pas' => 'text/x-pascal', + 'paw' => 'application/vnd.pawaafile', + 'pbd' => 'application/vnd.powerbuilder6', + 'pbm' => 'image/x-portable-bitmap', + 'pcap' => 'application/vnd.tcpdump.pcap', + 'pcf' => 'application/x-font-pcf', + 'pcl' => 'application/vnd.hp-pcl', + 'pclxl' => 'application/vnd.hp-pclxl', + 'pct' => 'image/x-pict', + 'pcurl' => 'application/vnd.curl.pcurl', + 'pcx' => 'image/x-pcx', + 'pdb' => 'application/vnd.palm', + 'pdf' => 'application/pdf', + 'pfa' => 'application/x-font-type1', + 'pfb' => 'application/x-font-type1', + 'pfm' => 'application/x-font-type1', + 'pfr' => 'application/font-tdpfr', + 'pfx' => 'application/x-pkcs12', + 'pgm' => 'image/x-portable-graymap', + 'pgn' => 'application/x-chess-pgn', + 'pgp' => 'application/pgp-encrypted', + 'phar' => 'application/octet-stream', + 'php' => 'text/plain', + 'phps' => 'application/x-httpd-phps', + 'pic' => 'image/x-pict', + 'pkg' => 'application/octet-stream', + 'pki' => 'application/pkixcmp', + 'pkipath' => 'application/pkix-pkipath', + 'plb' => 'application/vnd.3gpp.pic-bw-large', + 'plc' => 'application/vnd.mobius.plc', + 'plf' => 'application/vnd.pocketlearn', + 'plist' => 'application/x-plist', + 'pls' => 'application/pls+xml', + 'pml' => 'application/vnd.ctc-posml', + 'png' => 'image/png', + 'pnm' => 'image/x-portable-anymap', + 'portpkg' => 'application/vnd.macports.portpkg', + 'pot' => 'application/vnd.ms-powerpoint', + 'potm' => 'application/vnd.ms-powerpoint.template.macroenabled.12', + 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', + 'ppam' => 'application/vnd.ms-powerpoint.addin.macroenabled.12', + 'ppd' => 'application/vnd.cups-ppd', + 'ppm' => 'image/x-portable-pixmap', + 'pps' => 'application/vnd.ms-powerpoint', + 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', + 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', + 'ppt' => 'application/vnd.ms-powerpoint', + 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroenabled.12', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'pqa' => 'application/vnd.palm', + 'prc' => 'application/x-mobipocket-ebook', + 'pre' => 'application/vnd.lotus-freelance', + 'prf' => 'application/pics-rules', + 'ps' => 'application/postscript', + 'psb' => 'application/vnd.3gpp.pic-bw-small', + 'psd' => 'image/vnd.adobe.photoshop', + 'psf' => 'application/x-font-linux-psf', + 'pskcxml' => 'application/pskc+xml', + 'ptid' => 'application/vnd.pvi.ptid1', + 'pub' => 'application/x-mspublisher', + 'pvb' => 'application/vnd.3gpp.pic-bw-var', + 'pwn' => 'application/vnd.3m.post-it-notes', + 'pya' => 'audio/vnd.ms-playready.media.pya', + 'pyv' => 'video/vnd.ms-playready.media.pyv', + 'qam' => 'application/vnd.epson.quickanime', + 'qbo' => 'application/vnd.intu.qbo', + 'qfx' => 'application/vnd.intu.qfx', + 'qps' => 'application/vnd.publishare-delta-tree', + 'qt' => 'video/quicktime', + 'qwd' => 'application/vnd.quark.quarkxpress', + 'qwt' => 'application/vnd.quark.quarkxpress', + 'qxb' => 'application/vnd.quark.quarkxpress', + 'qxd' => 'application/vnd.quark.quarkxpress', + 'qxl' => 'application/vnd.quark.quarkxpress', + 'qxt' => 'application/vnd.quark.quarkxpress', + 'ra' => 'audio/x-pn-realaudio', + 'ram' => 'audio/x-pn-realaudio', + 'rar' => 'application/x-rar-compressed', + 'ras' => 'image/x-cmu-raster', + 'rb' => 'text/plain', + 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', + 'rdf' => 'application/rdf+xml', + 'rdz' => 'application/vnd.data-vision.rdz', + 'rep' => 'application/vnd.businessobjects', + 'res' => 'application/x-dtbresource+xml', + 'resx' => 'text/xml', + 'rgb' => 'image/x-rgb', + 'rif' => 'application/reginfo+xml', + 'rip' => 'audio/vnd.rip', + 'ris' => 'application/x-research-info-systems', + 'rl' => 'application/resource-lists+xml', + 'rlc' => 'image/vnd.fujixerox.edmics-rlc', + 'rld' => 'application/resource-lists-diff+xml', + 'rm' => 'application/vnd.rn-realmedia', + 'rmi' => 'audio/midi', + 'rmp' => 'audio/x-pn-realaudio-plugin', + 'rms' => 'application/vnd.jcp.javame.midlet-rms', + 'rmvb' => 'application/vnd.rn-realmedia-vbr', + 'rnc' => 'application/relax-ng-compact-syntax', + 'roa' => 'application/rpki-roa', + 'roff' => 'text/troff', + 'rp9' => 'application/vnd.cloanto.rp9', + 'rpm' => 'application/x-rpm', + 'rpss' => 'application/vnd.nokia.radio-presets', + 'rpst' => 'application/vnd.nokia.radio-preset', + 'rq' => 'application/sparql-query', + 'rs' => 'application/rls-services+xml', + 'rsd' => 'application/rsd+xml', + 'rss' => 'application/rss+xml', + 'rtf' => 'application/rtf', + 'rtx' => 'text/richtext', + 's' => 'text/x-asm', + 's3m' => 'audio/s3m', + 's7z' => 'application/x-7z-compressed', + 'saf' => 'application/vnd.yamaha.smaf-audio', + 'safariextz' => 'application/octet-stream', + 'sass' => 'text/x-sass', + 'sbml' => 'application/sbml+xml', + 'sc' => 'application/vnd.ibm.secure-container', + 'scd' => 'application/x-msschedule', + 'scm' => 'application/vnd.lotus-screencam', + 'scq' => 'application/scvp-cv-request', + 'scs' => 'application/scvp-cv-response', + 'scss' => 'text/x-scss', + 'scurl' => 'text/vnd.curl.scurl', + 'sda' => 'application/vnd.stardivision.draw', + 'sdc' => 'application/vnd.stardivision.calc', + 'sdd' => 'application/vnd.stardivision.impress', + 'sdkd' => 'application/vnd.solent.sdkm+xml', + 'sdkm' => 'application/vnd.solent.sdkm+xml', + 'sdp' => 'application/sdp', + 'sdw' => 'application/vnd.stardivision.writer', + 'see' => 'application/vnd.seemail', + 'seed' => 'application/vnd.fdsn.seed', + 'sema' => 'application/vnd.sema', + 'semd' => 'application/vnd.semd', + 'semf' => 'application/vnd.semf', + 'ser' => 'application/java-serialized-object', + 'setpay' => 'application/set-payment-initiation', + 'setreg' => 'application/set-registration-initiation', + 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', + 'sfs' => 'application/vnd.spotfire.sfs', + 'sfv' => 'text/x-sfv', + 'sgi' => 'image/sgi', + 'sgl' => 'application/vnd.stardivision.writer-global', + 'sgm' => 'text/sgml', + 'sgml' => 'text/sgml', + 'sh' => 'application/x-sh', + 'shar' => 'application/x-shar', + 'shf' => 'application/shf+xml', + 'sid' => 'image/x-mrsid-image', + 'sig' => 'application/pgp-signature', + 'sil' => 'audio/silk', + 'silo' => 'model/mesh', + 'sis' => 'application/vnd.symbian.install', + 'sisx' => 'application/vnd.symbian.install', + 'sit' => 'application/x-stuffit', + 'sitx' => 'application/x-stuffitx', + 'skd' => 'application/vnd.koan', + 'skm' => 'application/vnd.koan', + 'skp' => 'application/vnd.koan', + 'skt' => 'application/vnd.koan', + 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', + 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', + 'slt' => 'application/vnd.epson.salt', + 'sm' => 'application/vnd.stepmania.stepchart', + 'smf' => 'application/vnd.stardivision.math', + 'smi' => 'application/smil+xml', + 'smil' => 'application/smil+xml', + 'smv' => 'video/x-smv', + 'smzip' => 'application/vnd.stepmania.package', + 'snd' => 'audio/basic', + 'snf' => 'application/x-font-snf', + 'so' => 'application/octet-stream', + 'spc' => 'application/x-pkcs7-certificates', + 'spf' => 'application/vnd.yamaha.smaf-phrase', + 'spl' => 'application/x-futuresplash', + 'spot' => 'text/vnd.in3d.spot', + 'spp' => 'application/scvp-vp-response', + 'spq' => 'application/scvp-vp-request', + 'spx' => 'audio/ogg', + 'sql' => 'application/x-sql', + 'src' => 'application/x-wais-source', + 'srt' => 'application/x-subrip', + 'sru' => 'application/sru+xml', + 'srx' => 'application/sparql-results+xml', + 'ssdl' => 'application/ssdl+xml', + 'sse' => 'application/vnd.kodak-descriptor', + 'ssf' => 'application/vnd.epson.ssf', + 'ssml' => 'application/ssml+xml', + 'st' => 'application/vnd.sailingtracker.track', + 'stc' => 'application/vnd.sun.xml.calc.template', + 'std' => 'application/vnd.sun.xml.draw.template', + 'stf' => 'application/vnd.wt.stf', + 'sti' => 'application/vnd.sun.xml.impress.template', + 'stk' => 'application/hyperstudio', + 'stl' => 'application/vnd.ms-pki.stl', + 'str' => 'application/vnd.pg.format', + 'stw' => 'application/vnd.sun.xml.writer.template', + 'styl' => 'text/x-styl', + 'sub' => 'image/vnd.dvb.subtitle', + 'sus' => 'application/vnd.sus-calendar', + 'susp' => 'application/vnd.sus-calendar', + 'sv4cpio' => 'application/x-sv4cpio', + 'sv4crc' => 'application/x-sv4crc', + 'svc' => 'application/vnd.dvb.service', + 'svd' => 'application/vnd.svd', + 'svg' => 'image/svg+xml', + 'svgz' => 'image/svg+xml', + 'swa' => 'application/x-director', + 'swf' => 'application/x-shockwave-flash', + 'swi' => 'application/vnd.aristanetworks.swi', + 'sxc' => 'application/vnd.sun.xml.calc', + 'sxd' => 'application/vnd.sun.xml.draw', + 'sxg' => 'application/vnd.sun.xml.writer.global', + 'sxi' => 'application/vnd.sun.xml.impress', + 'sxm' => 'application/vnd.sun.xml.math', + 'sxw' => 'application/vnd.sun.xml.writer', + 't' => 'text/troff', + 't3' => 'application/x-t3vm-image', + 'taglet' => 'application/vnd.mynfc', + 'tao' => 'application/vnd.tao.intent-module-archive', + 'tar' => 'application/x-tar', + 'tcap' => 'application/vnd.3gpp2.tcap', + 'tcl' => 'application/x-tcl', + 'teacher' => 'application/vnd.smart.teacher', + 'tei' => 'application/tei+xml', + 'teicorpus' => 'application/tei+xml', + 'tex' => 'application/x-tex', + 'texi' => 'application/x-texinfo', + 'texinfo' => 'application/x-texinfo', + 'text' => 'text/plain', + 'tfi' => 'application/thraud+xml', + 'tfm' => 'application/x-tex-tfm', + 'tga' => 'image/x-tga', + 'tgz' => 'application/x-gzip', + 'thmx' => 'application/vnd.ms-officetheme', + 'tif' => 'image/tiff', + 'tiff' => 'image/tiff', + 'tmo' => 'application/vnd.tmobile-livetv', + 'torrent' => 'application/x-bittorrent', + 'tpl' => 'application/vnd.groove-tool-template', + 'tpt' => 'application/vnd.trid.tpt', + 'tr' => 'text/troff', + 'tra' => 'application/vnd.trueapp', + 'trm' => 'application/x-msterminal', + 'tsd' => 'application/timestamped-data', + 'tsv' => 'text/tab-separated-values', + 'ttc' => 'application/x-font-ttf', + 'ttf' => 'application/x-font-ttf', + 'ttl' => 'text/turtle', + 'twd' => 'application/vnd.simtech-mindmapper', + 'twds' => 'application/vnd.simtech-mindmapper', + 'txd' => 'application/vnd.genomatix.tuxedo', + 'txf' => 'application/vnd.mobius.txf', + 'txt' => 'text/plain', + 'u32' => 'application/x-authorware-bin', + 'udeb' => 'application/x-debian-package', + 'ufd' => 'application/vnd.ufdl', + 'ufdl' => 'application/vnd.ufdl', + 'ulx' => 'application/x-glulx', + 'umj' => 'application/vnd.umajin', + 'unityweb' => 'application/vnd.unity', + 'uoml' => 'application/vnd.uoml+xml', + 'uri' => 'text/uri-list', + 'uris' => 'text/uri-list', + 'urls' => 'text/uri-list', + 'ustar' => 'application/x-ustar', + 'utz' => 'application/vnd.uiq.theme', + 'uu' => 'text/x-uuencode', + 'uva' => 'audio/vnd.dece.audio', + 'uvd' => 'application/vnd.dece.data', + 'uvf' => 'application/vnd.dece.data', + 'uvg' => 'image/vnd.dece.graphic', + 'uvh' => 'video/vnd.dece.hd', + 'uvi' => 'image/vnd.dece.graphic', + 'uvm' => 'video/vnd.dece.mobile', + 'uvp' => 'video/vnd.dece.pd', + 'uvs' => 'video/vnd.dece.sd', + 'uvt' => 'application/vnd.dece.ttml+xml', + 'uvu' => 'video/vnd.uvvu.mp4', + 'uvv' => 'video/vnd.dece.video', + 'uvva' => 'audio/vnd.dece.audio', + 'uvvd' => 'application/vnd.dece.data', + 'uvvf' => 'application/vnd.dece.data', + 'uvvg' => 'image/vnd.dece.graphic', + 'uvvh' => 'video/vnd.dece.hd', + 'uvvi' => 'image/vnd.dece.graphic', + 'uvvm' => 'video/vnd.dece.mobile', + 'uvvp' => 'video/vnd.dece.pd', + 'uvvs' => 'video/vnd.dece.sd', + 'uvvt' => 'application/vnd.dece.ttml+xml', + 'uvvu' => 'video/vnd.uvvu.mp4', + 'uvvv' => 'video/vnd.dece.video', + 'uvvx' => 'application/vnd.dece.unspecified', + 'uvvz' => 'application/vnd.dece.zip', + 'uvx' => 'application/vnd.dece.unspecified', + 'uvz' => 'application/vnd.dece.zip', + 'vcard' => 'text/vcard', + 'vcd' => 'application/x-cdlink', + 'vcf' => 'text/x-vcard', + 'vcg' => 'application/vnd.groove-vcard', + 'vcs' => 'text/x-vcalendar', + 'vcx' => 'application/vnd.vcx', + 'vis' => 'application/vnd.visionary', + 'viv' => 'video/vnd.vivo', + 'vob' => 'video/x-ms-vob', + 'vor' => 'application/vnd.stardivision.writer', + 'vox' => 'application/x-authorware-bin', + 'vrml' => 'model/vrml', + 'vsd' => 'application/vnd.visio', + 'vsf' => 'application/vnd.vsf', + 'vss' => 'application/vnd.visio', + 'vst' => 'application/vnd.visio', + 'vsw' => 'application/vnd.visio', + 'vtu' => 'model/vnd.vtu', + 'vxml' => 'application/voicexml+xml', + 'w3d' => 'application/x-director', + 'wad' => 'application/x-doom', + 'wav' => 'audio/x-wav', + 'wax' => 'audio/x-ms-wax', + 'wbmp' => 'image/vnd.wap.wbmp', + 'wbs' => 'application/vnd.criticaltools.wbs+xml', + 'wbxml' => 'application/vnd.wap.wbxml', + 'wcm' => 'application/vnd.ms-works', + 'wdb' => 'application/vnd.ms-works', + 'wdp' => 'image/vnd.ms-photo', + 'weba' => 'audio/webm', + 'webm' => 'video/webm', + 'webp' => 'image/webp', + 'wg' => 'application/vnd.pmi.widget', + 'wgt' => 'application/widget', + 'wks' => 'application/vnd.ms-works', + 'wm' => 'video/x-ms-wm', + 'wma' => 'audio/x-ms-wma', + 'wmd' => 'application/x-ms-wmd', + 'wmf' => 'application/x-msmetafile', + 'wml' => 'text/vnd.wap.wml', + 'wmlc' => 'application/vnd.wap.wmlc', + 'wmls' => 'text/vnd.wap.wmlscript', + 'wmlsc' => 'application/vnd.wap.wmlscriptc', + 'wmv' => 'video/x-ms-wmv', + 'wmx' => 'video/x-ms-wmx', + 'wmz' => 'application/x-ms-wmz', + 'woff' => 'application/x-font-woff', + 'wpd' => 'application/vnd.wordperfect', + 'wpl' => 'application/vnd.ms-wpl', + 'wps' => 'application/vnd.ms-works', + 'wqd' => 'application/vnd.wqd', + 'wri' => 'application/x-mswrite', + 'wrl' => 'model/vrml', + 'wsdl' => 'application/wsdl+xml', + 'wspolicy' => 'application/wspolicy+xml', + 'wtb' => 'application/vnd.webturbo', + 'wvx' => 'video/x-ms-wvx', + 'x32' => 'application/x-authorware-bin', + 'x3d' => 'model/x3d+xml', + 'x3db' => 'model/x3d+binary', + 'x3dbz' => 'model/x3d+binary', + 'x3dv' => 'model/x3d+vrml', + 'x3dvz' => 'model/x3d+vrml', + 'x3dz' => 'model/x3d+xml', + 'xaml' => 'application/xaml+xml', + 'xap' => 'application/x-silverlight-app', + 'xar' => 'application/vnd.xara', + 'xbap' => 'application/x-ms-xbap', + 'xbd' => 'application/vnd.fujixerox.docuworks.binder', + 'xbm' => 'image/x-xbitmap', + 'xdf' => 'application/xcap-diff+xml', + 'xdm' => 'application/vnd.syncml.dm+xml', + 'xdp' => 'application/vnd.adobe.xdp+xml', + 'xdssc' => 'application/dssc+xml', + 'xdw' => 'application/vnd.fujixerox.docuworks', + 'xenc' => 'application/xenc+xml', + 'xer' => 'application/patch-ops-error+xml', + 'xfdf' => 'application/vnd.adobe.xfdf', + 'xfdl' => 'application/vnd.xfdl', + 'xht' => 'application/xhtml+xml', + 'xhtml' => 'application/xhtml+xml', + 'xhvml' => 'application/xv+xml', + 'xif' => 'image/vnd.xiff', + 'xla' => 'application/vnd.ms-excel', + 'xlam' => 'application/vnd.ms-excel.addin.macroenabled.12', + 'xlc' => 'application/vnd.ms-excel', + 'xlf' => 'application/x-xliff+xml', + 'xlm' => 'application/vnd.ms-excel', + 'xls' => 'application/vnd.ms-excel', + 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroenabled.12', + 'xlsm' => 'application/vnd.ms-excel.sheet.macroenabled.12', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'xlt' => 'application/vnd.ms-excel', + 'xltm' => 'application/vnd.ms-excel.template.macroenabled.12', + 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', + 'xlw' => 'application/vnd.ms-excel', + 'xm' => 'audio/xm', + 'xml' => 'application/xml', + 'xo' => 'application/vnd.olpc-sugar', + 'xop' => 'application/xop+xml', + 'xpi' => 'application/x-xpinstall', + 'xpl' => 'application/xproc+xml', + 'xpm' => 'image/x-xpixmap', + 'xpr' => 'application/vnd.is-xpr', + 'xps' => 'application/vnd.ms-xpsdocument', + 'xpw' => 'application/vnd.intercon.formnet', + 'xpx' => 'application/vnd.intercon.formnet', + 'xsl' => 'application/xml', + 'xslt' => 'application/xslt+xml', + 'xsm' => 'application/vnd.syncml+xml', + 'xspf' => 'application/xspf+xml', + 'xul' => 'application/vnd.mozilla.xul+xml', + 'xvm' => 'application/xv+xml', + 'xvml' => 'application/xv+xml', + 'xwd' => 'image/x-xwindowdump', + 'xyz' => 'chemical/x-xyz', + 'xz' => 'application/x-xz', + 'yaml' => 'text/yaml', + 'yang' => 'application/yang', + 'yin' => 'application/yin+xml', + 'yml' => 'text/yaml', + 'z' => 'application/x-compress', + 'z1' => 'application/x-zmachine', + 'z2' => 'application/x-zmachine', + 'z3' => 'application/x-zmachine', + 'z4' => 'application/x-zmachine', + 'z5' => 'application/x-zmachine', + 'z6' => 'application/x-zmachine', + 'z7' => 'application/x-zmachine', + 'z8' => 'application/x-zmachine', + 'zaz' => 'application/vnd.zzazz.deck+xml', + 'zip' => 'application/zip', + 'zir' => 'application/vnd.zul', + 'zirz' => 'application/vnd.zul', + 'zmm' => 'application/vnd.handheld-entertainment+xml', + '123' => 'application/vnd.lotus-1-2-3', + ]; + } + + /** + * Get a singleton instance of the class + * + * @return self + * @codeCoverageIgnore + */ + public static function getInstance() + { + if (!self::$instance) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Get a mimetype value from a file extension + * + * @param string $extension File extension + * + * @return string|null + * + */ + public function fromExtension($extension) + { + $mimetypes = $this->getMimeTypes(); + return isset($mimetypes[$extension]) ? $mimetypes[$extension] : null; + } + + /** + * Get a mimetype from a filename + * + * @param string $filename Filename to generate a mimetype from + * + * @return string|null + */ + public function fromFilename($filename) + { + return $this->fromExtension(pathinfo($filename, PATHINFO_EXTENSION)); + } +} \ No newline at end of file diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpClient.php b/plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpClient.php new file mode 100644 index 000000000..04cd6fd74 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpClient.php @@ -0,0 +1,968 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @copyright Nicolas Tallefourtane http://nicolab.net + */ +namespace CTXFeed\V5\FTP; + +use Countable; + +/** + * The FTP and SSL-FTP client for PHP. + * + * @method bool alloc(int $filesize, string &$result = null) Allocates space for a file to be uploaded + * @method bool append(string $remote_file, string $local_file, int $mode = FTP_BINARY) Append the contents of a file to another file on the FTP server + * @method bool cdup() Changes to the parent directory + * @method bool chdir(string $directory) Changes the current directory on a FTP server + * @method int chmod(int $mode, string $filename) Set permissions on a file via FTP + * @method bool delete(string $path) Deletes a file on the FTP server + * @method bool exec(string $command) Requests execution of a command on the FTP server + * @method bool fget(resource $handle, string $remote_file, int $mode, int $resumepos = 0) Downloads a file from the FTP server and saves to an open file + * @method bool fput(string $remote_file, resource $handle, int $mode, int $startpos = 0) Uploads from an open file to the FTP server + * @method mixed get_option(int $option) Retrieves various runtime behaviours of the current FTP stream + * @method bool get(string $local_file, string $remote_file, int $mode, int $resumepos = 0) Downloads a file from the FTP server + * @method int mdtm(string $remote_file) Returns the last modified time of the given file + * @method array mlsd(string $remote_dir) Returns a list of files in the given directory + * @method int nb_continue() Continues retrieving/sending a file (non-blocking) + * @method int nb_fget(resource $handle, string $remote_file, int $mode, int $resumepos = 0) Retrieves a file from the FTP server and writes it to an open file (non-blocking) + * @method int nb_fput(string $remote_file, resource $handle, int $mode, int $startpos = 0) Stores a file from an open file to the FTP server (non-blocking) + * @method int nb_get(string $local_file, string $remote_file, int $mode, int $resumepos = 0) Retrieves a file from the FTP server and writes it to a local file (non-blocking) + * @method int nb_put(string $remote_file, string $local_file, int $mode, int $startpos = 0) Stores a file on the FTP server (non-blocking) + * @method bool pasv(bool $pasv) Turns passive mode on or off + * @method bool put(string $remote_file, string $local_file, int $mode, int $startpos = 0) Uploads a file to the FTP server + * @method string pwd() Returns the current directory name + * @method bool quit() Closes an FTP connection + * @method array raw(string $command) Sends an arbitrary command to an FTP server + * @method bool rename(string $oldname, string $newname) Renames a file or a directory on the FTP server + * @method bool set_option(int $option, mixed $value) Set miscellaneous runtime FTP options + * @method bool site(string $command) Sends a SITE command to the server + * @method int size(string $remote_file) Returns the size of the given file + * @method string systype() Returns the system type identifier of the remote FTP server + * + * @author Nicolas Tallefourtane + */ +class FtpClient implements Countable +{ + /** + * The connection with the server. + * + * @var resource + */ + protected $conn; + + /** + * PHP FTP functions wrapper. + * + * @var FtpWrapper + */ + private $ftp; + + /** + * Constructor. + * + * @param resource|null $connection + * @throws FtpException If FTP extension is not loaded. + */ + public function __construct($connection = null) + { + if (!extension_loaded('ftp')) { + throw new FtpException('FTP extension is not loaded!'); + } + + if ($connection) { + $this->conn = $connection; + } + + $this->setWrapper(new FtpWrapper($this->conn)); + } + + /** + * Close the connection when the object is destroyed. + */ + public function __destruct() + { + if ($this->conn) { + $this->ftp->close(); + } + } + + /** + * Call an internal method or a FTP method handled by the wrapper. + * + * Wrap the FTP PHP functions to call as method of FtpClient object. + * The connection is automaticaly passed to the FTP PHP functions. + * + * @param string $method + * @param array $arguments + * @return mixed + * @throws FtpException When the function is not valid + */ + public function __call($method, array $arguments) + { + return $this->ftp->__call($method, $arguments); + } + + /** + * Overwrites the PHP limit + * + * @param string|null $memory The memory limit, if null is not modified + * @param int $time_limit The max execution time, unlimited by default + * @param bool $ignore_user_abort Ignore user abort, true by default + * @return FtpClient + */ + public function setPhpLimit($memory = null, $time_limit = 0, $ignore_user_abort = true) + { + if (null !== $memory) { + ini_set('memory_limit', $memory); + } + + ignore_user_abort($ignore_user_abort); + set_time_limit($time_limit); + + return $this; + } + + /** + * Get the help information of the remote FTP server. + * + * @return array + */ + public function help() + { + return $this->ftp->raw('help'); + } + + /** + * Open a FTP connection. + * + * @param string $host + * @param bool $ssl + * @param int $port + * @param int $timeout + * + * @return FtpClient + * @throws FtpException If unable to connect + */ + public function connect($host, $ssl = false, $port = 21, $timeout = 90) + { + if ($ssl) { + $this->conn = $this->ftp->ssl_connect($host, $port, $timeout); + } else { + $this->conn = $this->ftp->connect($host, $port, $timeout); + } + + if (!$this->conn) { + throw new FtpException('Unable to connect'); + } + + return $this; + } + + /** + * Closes the current FTP connection. + * + * @return bool + */ + public function close() + { + if ($this->conn) { + $this->ftp->close(); + $this->conn = null; + } + } + + /** + * Get the connection with the server. + * + * @return resource + */ + public function getConnection() + { + return $this->conn; + } + + /** + * Get the wrapper. + * + * @return FtpWrapper + */ + public function getWrapper() + { + return $this->ftp; + } + + /** + * Logs in to an FTP connection. + * + * @param string $username + * @param string $password + * + * @return FtpClient + * @throws FtpException If the login is incorrect + */ + public function login($username = 'anonymous', $password = '') + { + $result = $this->ftp->login($username, $password); + + if ($result === false) { + throw new FtpException('Login incorrect'); + } + + return $this; + } + + /** + * Returns the last modified time of the given file. + * Return -1 on error + * + * @param string $remoteFile + * @param string|null $format + * + * @return int + */ + public function modifiedTime($remoteFile, $format = null) + { + $time = $this->ftp->mdtm($remoteFile); + + if ($time !== -1 && $format !== null) { + return date($format, $time); + } + + return $time; + } + + /** + * Changes to the parent directory. + * + * @throws FtpException + * @return FtpClient + */ + public function up() + { + $result = $this->ftp->cdup(); + + if ($result === false) { + throw new FtpException('Unable to get parent folder'); + } + + return $this; + } + + /** + * Returns a list of files in the given directory. + * + * @param string $directory The directory, by default is "." the current directory + * @param bool $recursive + * @param callable $filter A callable to filter the result, by default is asort() PHP function. + * The result is passed in array argument, + * must take the argument by reference ! + * The callable should proceed with the reference array + * because is the behavior of several PHP sorting + * functions (by reference ensure directly the compatibility + * with all PHP sorting functions). + * + * @return array + * @throws FtpException If unable to list the directory + */ + public function nlist($directory = '.', $recursive = false, $filter = 'sort') + { + if (!$this->isDir($directory)) { + throw new FtpException('"'.esc_attr($directory).'" is not a directory'); + } + + $files = $this->ftp->nlist($directory); + + if ($files === false) { + throw new FtpException('Unable to list directory'); + } + + $result = array(); + $dir_len = strlen($directory); + + // if it's the current + if (false !== ($kdot = array_search('.', $files))) { + unset($files[$kdot]); + } + + // if it's the parent + if(false !== ($kdot = array_search('..', $files))) { + unset($files[$kdot]); + } + + if (!$recursive) { + $result = $files; + + // working with the reference (behavior of several PHP sorting functions) + $filter($result); + + return $result; + } + + // utils for recursion + $flatten = function (array $arr) use (&$flatten) { + $flat = []; + + foreach ($arr as $k => $v) { + if (is_array($v)) { + $flat = array_merge($flat, $flatten($v)); + } else { + $flat[] = $v; + } + } + + return $flat; + }; + + foreach ($files as $file) { + $file = $directory.'/'.$file; + + // if contains the root path (behavior of the recursivity) + if (0 === strpos($file, $directory, $dir_len)) { + $file = substr($file, $dir_len); + } + + if ($this->isDir($file)) { + $result[] = $file; + $items = $flatten($this->nlist($file, true, $filter)); + + foreach ($items as $item) { + $result[] = $item; + } + + } else { + $result[] = $file; + } + } + + $result = array_unique($result); + $filter($result); + + return $result; + } + + /** + * Creates a directory. + * + * @see FtpClient::rmdir() + * @see FtpClient::remove() + * @see FtpClient::put() + * @see FtpClient::putAll() + * + * @param string $directory The directory + * @param bool $recursive + * @return bool + */ + public function mkdir($directory, $recursive = false) + { + if (!$recursive or $this->isDir($directory)) { + return $this->ftp->mkdir($directory); + } + + $result = false; + $pwd = $this->ftp->pwd(); + $parts = explode('/', $directory); + + foreach ($parts as $part) { + if ($part == '') { + continue; + } + + if (!@$this->ftp->chdir($part)) { + $result = $this->ftp->mkdir($part); + $this->ftp->chdir($part); + } + } + + $this->ftp->chdir($pwd); + + return $result; + } + + /** + * Remove a directory. + * + * @see FtpClient::mkdir() + * @see FtpClient::cleanDir() + * @see FtpClient::remove() + * @see FtpClient::delete() + * @param string $directory + * @param bool $recursive Forces deletion if the directory is not empty + * @return bool + * @throws FtpException If unable to list the directory to remove + */ + public function rmdir($directory, $recursive = true) + { + if ($recursive) { + $files = $this->nlist($directory, false, 'rsort'); + + // remove children + foreach ($files as $file) { + $this->remove($file, true); + } + } + + // remove the directory + return $this->ftp->rmdir($directory); + } + + /** + * Empty directory. + * + * @see FtpClient::remove() + * @see FtpClient::delete() + * @see FtpClient::rmdir() + * + * @param string $directory + * @return bool + */ + public function cleanDir($directory) + { + if (!$files = $this->nlist($directory)) { + return $this->isEmpty($directory); + } + + // remove children + foreach ($files as $file) { + $this->remove($file, true); + } + + return $this->isEmpty($directory); + } + + /** + * Remove a file or a directory. + * + * @see FtpClient::rmdir() + * @see FtpClient::cleanDir() + * @see FtpClient::delete() + * @param string $path The path of the file or directory to remove + * @param bool $recursive Is effective only if $path is a directory, {@see FtpClient::rmdir()} + * @return bool + */ + public function remove($path, $recursive = false) + { + if ($path == '.' || $path == '..') { + return false; + } + + try { + if (@$this->ftp->delete($path) + or ($this->isDir($path) + and $this->rmdir($path, $recursive))) { + return true; + } else { + // in special cases the delete can fail (for example, at Symfony's "r+e.gex[c]a(r)s" directory) + $newPath = preg_replace('/[^A-Za-z0-9\/]/', '', $path); + if ($this->rename($path, $newPath)) { + if (@$this->ftp->delete($newPath) + or ($this->isDir($newPath) + and $this->rmdir($newPath, $recursive))) { + return true; + } + } + } + + return false; + } catch (\Exception $e) { + return false; + } + } + + /** + * Check if a directory exist. + * + * @param string $directory + * @return bool + * @throws FtpException + */ + public function isDir($directory) + { + $pwd = $this->ftp->pwd(); + + if ($pwd === false) { + throw new FtpException('Unable to resolve the current directory'); + } + + if (@$this->ftp->chdir($directory)) { + $this->ftp->chdir($pwd); + return true; + } + + $this->ftp->chdir($pwd); + + return false; + } + + /** + * Check if a directory is empty. + * + * @param string $directory + * @return bool + */ + public function isEmpty($directory) + { + return $this->countItems($directory, null, false) === 0 ? true : false; + } + + /** + * Scan a directory and returns the details of each item. + * + * @see FtpClient::nlist() + * @see FtpClient::rawlist() + * @see FtpClient::parseRawList() + * @see FtpClient::dirSize() + * @param string $directory + * @param bool $recursive + * @return array + */ + public function scanDir($directory = '.', $recursive = false) + { + return $this->parseRawList($this->rawlist($directory, $recursive)); + } + + /** + * Returns the total size of the given directory in bytes. + * + * @param string $directory The directory, by default is the current directory. + * @param bool $recursive true by default + * @return int The size in bytes. + */ + public function dirSize($directory = '.', $recursive = true) + { + $items = $this->scanDir($directory, $recursive); + $size = 0; + + foreach ($items as $item) { + $size += (int) $item['size']; + } + + return $size; + } + + /** + * Count the items (file, directory, link, unknown). + * + * @param string $directory The directory, by default is the current directory. + * @param string|null $type The type of item to count (file, directory, link, unknown) + * @param bool $recursive true by default + * @return int + */ + public function countItems($directory = '.', $type = null, $recursive = true) + { + $items = (null === $type ? $this->nlist($directory, $recursive) + : $this->scanDir($directory, $recursive)); + + $count = 0; + foreach ($items as $item) { + if (null === $type or $item['type'] == $type) { + $count++; + } + } + + return $count; + } + + /** + * Count the items (file, directory, link, unknown). + * This method call `countItems()` with the default arguments. + * + * @see countItems + * @return int + */ + public function count(): int + { + return $this->countItems(); + } + + /** + * Downloads a file from the FTP server into a string + * + * @param string $remote_file + * @param int $mode + * @param int $resumepos + * @return string|null + */ + public function getContent($remote_file, $mode = FTP_BINARY, $resumepos = 0) + { + $handle = fopen('php://temp', 'r+'); + + if ($this->ftp->fget($handle, $remote_file, $mode, $resumepos)) { + rewind($handle); + return stream_get_contents($handle); + } + + return null; + } + + /** + * Uploads a file to the server from a string. + * + * @param string $remote_file + * @param string $content + * @return FtpClient + * @throws FtpException When the transfer fails + */ + public function putFromString($remote_file, $content) + { + $handle = fopen('php://temp', 'w'); + + fwrite($handle, $content); + rewind($handle); + + if ($this->ftp->fput($remote_file, $handle, FTP_BINARY)) { + return $this; + } + + throw new FtpException('Unable to put the file "'.esc_attr($remote_file).'"'); + } + + /** + * Uploads a file to the server. + * + * @param string $local_file + * @return FtpClient + * @throws FtpException When the transfer fails + */ + public function putFromPath($local_file) + { + $remote_file = basename($local_file); + $handle = fopen($local_file, 'r'); + + if ($this->ftp->fput($remote_file, $handle, FTP_BINARY)) { + rewind($handle); + return $this; + } + + throw new FtpException( + 'Unable to put the remote file from the local file "'.esc_attr($local_file).'"' + ); + } + + /** + * Upload files. + * + * @param string $source_directory + * @param string $target_directory + * @param int $mode + * @return FtpClient + */ + public function putAll($source_directory, $target_directory, $mode = FTP_BINARY) + { + $d = dir($source_directory); + + // do this for each file in the directory + while ($file = $d->read()) { + + // to prevent an infinite loop + if ($file != "." && $file != "..") { + + // do the following if it is a directory + if (is_dir($source_directory.'/'.$file)) { + if (!$this->isDir($target_directory.'/'.$file)) { + + // create directories that do not yet exist + $this->ftp->mkdir($target_directory.'/'.$file); + } + + // recursive part + $this->putAll( + $source_directory.'/'.$file, $target_directory.'/'.$file, + $mode + ); + } else { + + // put the files + $this->ftp->put( + $target_directory.'/'.$file, $source_directory.'/'.$file, + $mode + ); + } + } + } + + $d->close(); + + return $this; + } + + /** + * Downloads all files from remote FTP directory + * + * @param string $source_directory The remote directory + * @param string $target_directory The local directory + * @param int $mode + * @return FtpClient + */ + public function getAll($source_directory, $target_directory, $mode = FTP_BINARY) + { + if ($source_directory != ".") { + if ($this->ftp->chdir($source_directory) == false) { + throw new FtpException("Unable to change directory: ".esc_attr($source_directory)); + } + + if (!(is_dir($target_directory))) { + mkdir($target_directory); + } + + chdir($target_directory); + } + + $contents = $this->ftp->nlist("."); + + foreach ($contents as $file) { + if ($file == '.' || $file == '..') { + continue; + } + + $this->ftp->get($target_directory."/".$file, $file, $mode); + } + + $this->ftp->chdir(".."); + chdir(".."); + + return $this; + } + + /** + * Returns a detailed list of files in the given directory. + * + * @see FtpClient::nlist() + * @see FtpClient::scanDir() + * @see FtpClient::dirSize() + * @param string $directory The directory, by default is the current directory + * @param bool $recursive + * @return array + * @throws FtpException + */ + public function rawlist($directory = '.', $recursive = false) + { + if (!$this->isDir($directory)) { + throw new FtpException('"'.esc_attr($directory).'" is not a directory.'); + } + + if (strpos($directory, " ") > 0) { + $ftproot = $this->ftp->pwd(); + $this->ftp->chdir($directory); + $list = $this->ftp->rawlist(""); + $this->ftp->chdir($ftproot); + } else { + $list = $this->ftp->rawlist($directory); + } + + $items = array(); + + if (!$list) { + return $items; + } + + if (false == $recursive) { + foreach ($list as $path => $item) { + $chunks = preg_split("/\s+/", $item); + + // if not "name" + if (!isset($chunks[8]) || strlen($chunks[8]) === 0 || $chunks[8] == '.' || $chunks[8] == '..') { + continue; + } + + $path = $directory.'/'.$chunks[8]; + + if (isset($chunks[9])) { + $nbChunks = count($chunks); + + for ($i = 9; $i < $nbChunks; $i++) { + $path .= ' '.$chunks[$i]; + } + } + + + if (substr($path, 0, 2) == './') { + $path = substr($path, 2); + } + + $items[ $this->rawToType($item).'#'.$path ] = $item; + } + + return $items; + } + + $path = ''; + + foreach ($list as $item) { + $len = strlen($item); + + if (!$len + + // "." + || ($item[$len-1] == '.' && $item[$len-2] == ' ' + + // ".." + or $item[$len-1] == '.' && $item[$len-2] == '.' && $item[$len-3] == ' ') + ) { + + continue; + } + + $chunks = preg_split("/\s+/", $item); + + // if not "name" + if (!isset($chunks[8]) || strlen($chunks[8]) === 0 || $chunks[8] == '.' || $chunks[8] == '..') { + continue; + } + + $path = $directory.'/'.$chunks[8]; + + if (isset($chunks[9])) { + $nbChunks = count($chunks); + + for ($i = 9; $i < $nbChunks; $i++) { + $path .= ' '.$chunks[$i]; + } + } + + if (substr($path, 0, 2) == './') { + $path = substr($path, 2); + } + + $items[$this->rawToType($item).'#'.$path] = $item; + + if ($item[0] == 'd') { + $sublist = $this->rawlist($path, true); + + foreach ($sublist as $subpath => $subitem) { + $items[$subpath] = $subitem; + } + } + } + + return $items; + } + + /** + * Parse raw list. + * + * @see FtpClient::rawlist() + * @see FtpClient::scanDir() + * @see FtpClient::dirSize() + * @param array $rawlist + * @return array + */ + public function parseRawList(array $rawlist) + { + $items = array(); + $path = ''; + + foreach ($rawlist as $key => $child) { + $chunks = preg_split("/\s+/", $child, 9); + + if (isset($chunks[8]) && ($chunks[8] == '.' or $chunks[8] == '..')) { + continue; + } + + if (count($chunks) === 1) { + $len = strlen($chunks[0]); + + if ($len && $chunks[0][$len-1] == ':') { + $path = substr($chunks[0], 0, -1); + } + + continue; + } + + // Prepare for filename that has space + $nameSlices = array_slice($chunks, 8, true); + + $item = [ + 'permissions' => $chunks[0], + 'number' => $chunks[1], + 'owner' => $chunks[2], + 'group' => $chunks[3], + 'size' => $chunks[4], + 'month' => $chunks[5], + 'day' => $chunks[6], + 'time' => $chunks[7], + 'name' => implode(' ', $nameSlices), + 'type' => $this->rawToType($chunks[0]), + ]; + + if ($item['type'] == 'link' && isset($chunks[10])) { + $item['target'] = $chunks[10]; // 9 is "->" + } + + // if the key is not the path, behavior of ftp_rawlist() PHP function + if (is_int($key) || false === strpos($key, $item['name'])) { + array_splice($chunks, 0, 8); + + $key = $item['type'].'#' + .($path ? $path.'/' : '') + .implode(' ', $chunks); + + if ($item['type'] == 'link') { + // get the first part of 'link#the-link.ext -> /path/of/the/source.ext' + $exp = explode(' ->', $key); + $key = rtrim($exp[0]); + } + + $items[$key] = $item; + } else { + // the key is the path, behavior of FtpClient::rawlist() method() + $items[$key] = $item; + } + } + + return $items; + } + + /** + * Convert raw info (drwx---r-x ...) to type (file, directory, link, unknown). + * Only the first char is used for resolving. + * + * @param string $permission Example : drwx---r-x + * + * @return string The file type (file, directory, link, unknown) + * @throws FtpException + */ + public function rawToType($permission) + { + if (!is_string($permission)) { + throw new FtpException('The "$permission" argument must be a string, "' + .esc_attr(gettype($permission)).'" given.'); + } + + if (empty($permission[0])) { + return 'unknown'; + } + + switch ($permission[0]) { + case '-': + return 'file'; + + case 'd': + return 'directory'; + + case 'l': + return 'link'; + + default: + return 'unknown'; + } + } + + /** + * Set the wrapper which forward the PHP FTP functions to use in FtpClient instance. + * + * @param FtpWrapper $wrapper + * @return FtpClient + */ + protected function setWrapper(FtpWrapper $wrapper) + { + $this->ftp = $wrapper; + + return $this; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpException.php b/plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpException.php new file mode 100644 index 000000000..a692d1a1d --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpException.php @@ -0,0 +1,23 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @copyright Nicolas Tallefourtane http://nicolab.net + */ +namespace CTXFeed\V5\FTP; + +use Exception; + +/** + * The FtpException class. + * Exception thrown if an error on runtime of the FTP client occurs. + * + * @inheritDoc + * @author Nicolas Tallefourtane + */ +class FtpException extends Exception {} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpWrapper.php b/plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpWrapper.php new file mode 100644 index 000000000..44a9caf76 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/FTP/FtpWrapper.php @@ -0,0 +1,116 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @copyright Nicolas Tallefourtane http://nicolab.net + */ +namespace CTXFeed\V5\FTP; + +/** + * Wrap the PHP FTP functions + * + * @method bool alloc(int $filesize, string &$result = null) Allocates space for a file to be uploaded + * @method bool cdup() Changes to the parent directory + * @method bool chdir(string $directory) Changes the current directory on a FTP server + * @method int chmod(int $mode, string $filename) Set permissions on a file via FTP + * @method bool close() Closes an FTP connection + * @method bool delete(string $path) Deletes a file on the FTP server + * @method bool exec(string $command) Requests execution of a command on the FTP server + * @method bool fget(resource $handle, string $remote_file, int $mode, int $resumepos = 0) Downloads a file from the FTP server and saves to an open file + * @method bool fput(string $remote_file, resource $handle, int $mode, int $startpos = 0) Uploads from an open file to the FTP server + * @method mixed get_option(int $option) Retrieves various runtime behaviours of the current FTP stream + * @method bool get(string $local_file, string $remote_file, int $mode, int $resumepos = 0) Downloads a file from the FTP server + * @method bool login(string $username, string $password) Logs in to an FTP connection + * @method int mdtm(string $remote_file) Returns the last modified time of the given file + * @method bool mkdir(string $directory) Creates a directory + * @method array mlsd(string $remote_dir) Returns a list of files in the given directory + * @method int nb_continue() Continues retrieving/sending a file (non-blocking) + * @method int nb_fget(resource $handle, string $remote_file, int $mode, int $resumepos = 0) Retrieves a file from the FTP server and writes it to an open file (non-blocking) + * @method int nb_fput(string $remote_file, resource $handle, int $mode, int $startpos = 0) Stores a file from an open file to the FTP server (non-blocking) + * @method int nb_get(string $local_file, string $remote_file, int $mode, int $resumepos = 0) Retrieves a file from the FTP server and writes it to a local file (non-blocking) + * @method int nb_put(string $remote_file, string $local_file, int $mode, int $startpos = 0) Stores a file on the FTP server (non-blocking) + * @method array nlist(string $directory) Returns a list of file names in the given directory; remote_dir parameter may also include arguments + * @method bool pasv(bool $pasv) Turns passive mode on or off + * @method bool put(string $remote_file, string $local_file, int $mode, int $startpos = 0) Uploads a file to the FTP server + * @method string pwd() Returns the current directory name + * @method bool quit() Closes an FTP connection + * @method array raw(string $command) Sends an arbitrary command to an FTP server + * @method array rawlist(string $directory, bool $recursive = false) Returns a detailed list of files in the given directory + * @method bool rename(string $oldname, string $newname) Renames a file or a directory on the FTP server + * @method bool rmdir(string $directory) Removes a directory + * @method bool set_option(int $option, mixed $value) Set miscellaneous runtime FTP options + * @method bool site(string $command) Sends a SITE command to the server + * @method int size(string $remote_file) Returns the size of the given file + * @method string systype() Returns the system type identifier of the remote FTP server + * + * @author Nicolas Tallefourtane + */ +class FtpWrapper +{ + /** + * The connection with the server + * + * @var resource + */ + protected $conn; + + /** + * Constructor. + * + * @param resource &$connection The FTP (or SSL-FTP) connection (takes by reference). + */ + public function __construct(&$connection) + { + $this->conn = &$connection; + } + + /** + * Forward the method call to FTP functions + * + * @param string $function + * @param array $arguments + * @return mixed + * @throws FtpException When the function is not valid + */ + public function __call($function, array $arguments) + { + $function = 'ftp_' . $function; + + if (function_exists($function)) { + array_unshift($arguments, $this->conn); + return @call_user_func_array($function, $arguments); + } + + throw new FtpException("{".esc_attr($function)." } is not a valid FTP function"); + } + + /** + * Opens a FTP connection + * + * @param string $host + * @param int $port + * @param int $timeout + * @return resource + */ + public function connect($host, $port = 21, $timeout = 90) + { + return @ftp_connect($host, $port, $timeout); + } + + /** + * Opens a Secure SSL-FTP connection + * @param string $host + * @param int $port + * @param int $timeout + * @return resource + */ + public function ssl_connect($host, $port = 21, $timeout = 90) + { + return @ftp_ssl_connect($host, $port, $timeout); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/FTP/info.txt b/plugins/webappick-product-feed-for-woocommerce/V5/FTP/info.txt new file mode 100644 index 000000000..00557adee --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/FTP/info.txt @@ -0,0 +1,3 @@ +https://github.com/lazzard/php-ftp-client +https://github.com/altayalp/php-ftp-client +https://github.com/Nicolab/php-ftp-client \ No newline at end of file diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Feed/Attributes.php b/plugins/webappick-product-feed-for-woocommerce/V5/Feed/Attributes.php new file mode 100644 index 000000000..5de5dbce4 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Feed/Attributes.php @@ -0,0 +1,37 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class Attributes { + /** + * @return void + */ + public static function getAttributes( ) { + + } + + /** + * @return void + */ + public static function saveAttributes( ) { + + } + + /** + * @return void + */ + public static function updateAttributes( ) { + + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Feed/Feed.php b/plugins/webappick-product-feed-for-woocommerce/V5/Feed/Feed.php new file mode 100644 index 000000000..b02c93e8d --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Feed/Feed.php @@ -0,0 +1,170 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class Feed { + + /** + * @var array + */ + private static $feed_lists = []; + + public static function getFeed( ) { + + } + + public static function makeFeed( ) { + + } + + public static function updateFeed( ) { + + } + + /** + * Update feed status + */ + public static function update_feed_status($feed_name, $status) { + $feed_name = isset( $feed_name ) ? sanitize_text_field( wp_unslash( $feed_name ) ) : false; + if ( ! empty( $feed_name ) ) { + $feed_info = maybe_unserialize( get_option( $feed_name ) ); + $feed_info['status'] = isset( $status ) && 1 === (int) $status ? 1 : 0; + + update_option( sanitize_text_field( wp_unslash( $feed_name ) ), serialize( $feed_info ), false ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize + return true; + } + + return false; + } + + public static function delete_feed($feed_id) { + $feed_id = apply_filters('CTXFEED_filter_securing_input', "GET", $feed_id, "text"); + global $wpdb; + if ( ! is_numeric( $feed_id ) ) { + $feed_name = Helper::extract_feed_option_name( $feed_id ); + } else { + $feed_data = $wpdb->get_row( $wpdb->prepare( "SELECT option_name FROM $wpdb->options WHERE option_id = %d", $feed_id ) ); // phpcs:ignore + $feed_name = Helper::extract_feed_option_name( $feed_data->option_name ); + } + $feedInfo = maybe_unserialize( get_option( 'wf_feed_' . $feed_name ) ); + if ( false !== $feedInfo ) { + $feedInfo = $feedInfo['feedrules']; + } else { + $feedInfo = maybe_unserialize( get_option( 'wf_config' . $feed_name ) ); + } + $deleted = false; + $file = Helper::get_file( $feed_name, $feedInfo['provider'], $feedInfo['feedType'] ); + // delete any leftover + FeedHelper::unlink_temporary_files( $feedInfo, $feed_name ); + if ( file_exists( $file ) ) { + // file exists in upload directory + if ( unlink( $file ) ) { // phpcs:ignore + delete_option( 'wf_feed_' . $feed_name ); + delete_option( 'wf_config' . $feed_name ); + $deleted = true; + } + } else { + delete_option( 'wf_feed_' . $feed_name ); + delete_option( 'wf_config' . $feed_name ); + $deleted = true; + } + + // Delete cron schedule. + wp_clear_scheduled_hook( 'woo_feed_update_single_feed', array( $feed_id ) ); + + $hook_name = CronHelper::get_cron_hook_name( $feed_name, true ); + CronHelper::delete_cron_job( $hook_name ); + + return $deleted; + + } + + public static function get_all_feeds( $status = '' ) { + global $wpdb; + self::$feed_lists = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name LIKE %s ORDER BY option_id DESC;", 'wf_feed_%' ), 'ARRAY_A' ); + //SELECT * FROM wp_options WHERE option_name LIKE '_transient_timeout___woo_feed_cache_%' OR option_name LIKE '_transient___woo_feed_cache_%' + + return FeedHelper::prepare_all_feeds( self::$feed_lists , $status ); + } + + public static function get_single_feed( $option_name ) { + global $wpdb; + self::$feed_lists = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name LIKE %s ORDER BY option_id DESC;", $option_name ), 'ARRAY_A' ); + //SELECT * FROM wp_options WHERE option_name LIKE '_transient_timeout___woo_feed_cache_%' OR option_name LIKE '_transient___woo_feed_cache_%' + + return FeedHelper::prepare_all_feeds( self::$feed_lists , '' ); + } + + /** + * @param string $feed_from Required. Feed name to duplicate from + * @param string $new_name Optional. New name for duplicate feed. + * Default to auto generated slug from the old name prefixed with number. + * @param bool $copy_file Optional. Copy the file. Default is true. + * + * @return bool|WP_Error WP_Error object on error, true on success. + */ + public static function duplicate_feed( $feed_from, $new_name = '', $copy_file = true ) { + + if ( empty( $feed_from ) ) { + return new WP_Error( 'invalid_feed_name_top_copy_from', esc_html__( 'Invalid Request.', 'woo-feed' ) ); + } + // normalize the option name. + $feed_from = Helper::extract_feed_option_name( $feed_from ); + // get the feed data for duplicating. + $base_feed = maybe_unserialize( get_option( 'wf_feed_' . $feed_from, array() ) ); + // validate the feed data. + if ( empty( $base_feed ) || ! is_array( $base_feed ) || ! isset( $base_feed['feedrules'] ) || ( isset( $base_feed['feedrules'] ) && empty( $base_feed['feedrules'] ) ) ) { + return new WP_Error( 'empty_base_feed', esc_html__( 'Feed data is empty. Can\'t duplicate feed.', 'woo-feed' ) ); + } + $part = ''; + if ( empty( $new_name ) ) { + // generate a unique slug for duplicate the feed. + $new_name = FeedHelper::generate_unique_feed_file_name( $feed_from, $base_feed['feedrules']['feedType'], $base_feed['feedrules']['provider'] ); + // example-2 or example-2-2-3 + $part = ' ' . Helper::str_replace_trim( $feed_from . '-', '', $new_name ); // -2-2-3 + } else { + $new_name = FeedHelper::generate_unique_feed_file_name( $new_name, $base_feed['feedrules']['feedType'], $base_feed['feedrules']['provider'] ); + } + + $new_name = AttributeValueByType::FEED_RULES_OPTION_PREFIX . $new_name; + + // new name for the feed with numeric parts from the unique slug. + $base_feed['feedrules']['filename'] = $base_feed['feedrules']['filename'] . $part; + // copy feed config data. + $saved_feed = FeedHelper::save_feed_config_data( $base_feed['feedrules'], $new_name, false ); + if ( false === $saved_feed ) { + return new WP_Error( 'unable_to_save_the_duplicate', esc_html__( 'Unable to save the duplicate feed data.', 'woo-feed' ) ); + } + + + if ( true === $copy_file ) { + // copy the data file. + $original_file = Helper::get_file( $feed_from, $base_feed['feedrules']['provider'], $base_feed['feedrules']['feedType'] ); + $new_file = Helper::get_file( $new_name, $base_feed['feedrules']['provider'], $base_feed['feedrules']['feedType'] ); + if ( copy( $original_file, $new_file ) ) { + return true; + } else { + return new WP_Error( 'unable_to_copy_file', esc_html__( 'Feed Successfully Duplicated, but unable to generate the data file. Please click the "Regenerate Button"', 'woo-feed' ) ); + } + } + + return true; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Feed/FeedRules.php b/plugins/webappick-product-feed-for-woocommerce/V5/Feed/FeedRules.php new file mode 100644 index 000000000..d91652c13 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Feed/FeedRules.php @@ -0,0 +1,172 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category Feed + */ +class FeedRules { + /** + * Parse Feed Config/Rules to make sure that necessary array keys are exists + * this will reduce the uses of isset() checking + * + * @param array $rules rules to parse. + * @param string $context parsing context. useful for filtering, view, save, db, create etc. + * + * @return array + * @since 3.3.5 $context parameter added. + * + * @uses wp_parse_args + * + */ + public static function Parse( $rules = [], $context = 'view' ) { + if ( empty( $rules ) ) { + $rules = array(); + } + // TODO validate all rules by checking all rules value type + $defaults = array( + 'provider' => '', + 'feed_country' => '', + 'filename' => '', + 'feedType' => '', + 'ftpenabled' => 0, + 'ftporsftp' => 'ftp', + 'ftphost' => '', + 'ftpport' => '21', + 'ftpuser' => '', + 'ftppassword' => '', + 'ftppath' => '', + 'ftpmode' => 'active', + 'is_variations' => 'y', // Only Variations (All Variations) + 'variable_price' => 'first', + 'variable_quantity' => 'first', + 'feedLanguage' => apply_filters( 'wpml_current_language', null ), + 'feedCurrency' => get_woocommerce_currency(), + 'itemsWrapper' => 'products', + 'itemWrapper' => 'product', + 'delimiter' => ',', + 'enclosure' => 'double', + 'extraHeader' => '', + 'vendors' => array(), + // Feed Config + 'mattributes' => array(), // merchant attributes + 'prefix' => array(), // prefixes + 'type' => array(), // value (attribute) types + 'attributes' => array(), // product attribute mappings + 'default' => array(), // default values (patterns) if value type set to pattern + 'suffix' => array(), // suffixes + 'output_type' => array(), // output type (output filter) + 'limit' => array(), // limit or command + // filters tab + 'composite_price' => 'all_product_price', + 'product_ids' => '', + 'categories' => array(), + 'post_status' => array( 'publish' ), + 'filter_mode' => array(), + 'campaign_parameters' => array(), + 'is_outOfStock' => 'n', + 'is_backorder' => 'n', + 'is_emptyDescription' => 'n', + 'is_emptyImage' => 'n', + 'is_emptyPrice' => 'n', + 'product_visibility' => 0, + // include hidden ? 1 yes 0 no + 'outofstock_visibility' => 0, + // override wc global option for out-of-stock product hidden from catalog? 1 yes 0 no + 'ptitle_show' => '', + // Price Number Format + 'decimal_separator' => wc_get_price_decimal_separator(), + 'thousand_separator' => wc_get_price_thousand_separator(), + 'decimals' => wc_get_price_decimals(), + ); + + /** + * Some previous feed is saving an error on this string. + * That is why this value should be array + */ + if( ! is_array($rules['product_ids']) ){ + $rules['product_ids'] = []; + } + + $rules = wp_parse_args( $rules, $defaults ); + $rules = wp_parse_args( $rules, $defaults ); + // Product Filter Mode (Include or Exclude) + $rules['filter_mode'] = wp_parse_args( + $rules['filter_mode'], + array( + 'product_ids' => 'include', + 'categories' => 'include', + 'post_status' => 'include', + ) + ); + // UTM Campaign parameter with GA4 Support + $rules['campaign_parameters'] = wp_parse_args( + $rules['campaign_parameters'], + array( + 'utm_source' => '', + 'utm_medium' => '', + 'utm_campaign' => '', + 'utm_term' => '', + 'utm_id' => '', + 'utm_source_platform' => '', + 'utm_content' => '', + ) + ); + + if ( isset( $rules['provider'], $rules['feed_config_custom2'] ) && in_array( $rules['provider'], FeedHelper::get_custom2_merchant(), true ) ) { + $rules['feed_config_custom2'] = trim( preg_replace( '/\\\\/', '', $rules['feed_config_custom2'] ) ); + } + + $str_replace = array( + 'subject' => '', + 'search' => '', + 'replace' => '', + ); + if ( empty( $rules['str_replace'] ) ) { + $rules['str_replace'] = array( $str_replace ); + } else { + foreach ( $rules['str_replace'] as $i => $iValue ) { + $rules['str_replace'][ $i ] = wp_parse_args( $iValue, $str_replace ); + } + } + + if ( ! empty( $rules['provider'] ) && is_string( $rules['provider'] ) ) { + /** + * filter parsed rules for provider + * + * @param array $rules + * @param string $context + * + * @since 3.3.7 + * + */ + $rules = apply_filters( "woo_feed_{$rules['provider']}_parsed_rules", $rules, $context ); + } + + /** + * filter parsed rules + * + * @param array $rules + * @param string $context + * + * @since 3.3.7 $provider parameter removed + * + */ + $rules = apply_filters( 'woo_feed_parsed_rules', $rules, $context ); + + return $rules; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Feed/Product.php b/plugins/webappick-product-feed-for-woocommerce/V5/Feed/Product.php new file mode 100644 index 000000000..14b755932 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Feed/Product.php @@ -0,0 +1,43 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class Product { + + public static function addProduct() { + + } + + public static function addProducts() { + + } + + public static function updateProduct() { + + } + + public static function updateProducts() { + + } + + public static function deleteProduct( ) { + + } + + public static function deleteProducts( ) { + + } + + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/File/CSV.php b/plugins/webappick-product-feed-for-woocommerce/V5/File/CSV.php new file mode 100644 index 000000000..90166b4d2 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/File/CSV.php @@ -0,0 +1,115 @@ +data = $data; + $this->config = $config; + } + + /** + * Creates the header and footer for the CSV file. + * + * @return array An array with 'header' and 'footer' keys. + */ + public function make_header_footer() { + $header_footer = [ + 'header' => '', + 'footer' => '', + ]; + + + $enclosure = $this->config->get_enclosure(); + $delimiter = $this->config->get_delimiter(); + + if ( ! empty( $this->data ) && \is_array( $this->data ) ) { + $first = $this->implode_all( $delimiter, $enclosure, $this->data, 'key' ) . "\n"; + + $header_footer = [ + 'header' => $first, + 'footer' => '', + ]; + } + + return \apply_filters( "ctx_make_{$this->config->feedType}_feed_header_footer", $header_footer, $this->data, $this->config ); + } + + /** + * Creates the body of the CSV file. + * + * @return string CSV formatted string representing the body of the file. + */ + public function make_body() { + + $column = ''; + $enclosure = $this->config->get_enclosure(); + $delimiter = $this->config->get_delimiter(); + + foreach ( $this->data as $product ) { + $column .= $this->implode_all( $delimiter, $enclosure, $product ) . "\n"; + } + + return \apply_filters( "ctx_make_{$this->config->feedType}_feed_body", $column, $this->data, $this->config ); + } + + /** + * Helper method to convert multi-dimensional arrays to a CSV string. + * + * @param string $delimiter Delimiter for the CSV. + * @param string $enclosure Enclosure for the CSV. + * @param array $arr Array to be imploded. + * @param array $kv String Default is value + * @return string Imploded string. + */ + private function implode_all( $delimiter, $enclosure, $arr, $kv = 'value' ) { + foreach ( $arr as $i => $i_value ) { + if ( \is_array( $i_value ) ) { + if ( 'value' === $kv ) { + $arr[ $i ] = $enclosure . $this->implode_all( $delimiter, $enclosure, $i_value, $kv ) . $enclosure; + } else { + $arr[ $i ] = $enclosure . \array_key_first( $i_value ) . $enclosure; + } + } + } + + return \implode( $delimiter, $arr ); + } + +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/File/FileFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/File/FileFactory.php new file mode 100644 index 000000000..cca04e9ef --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/File/FileFactory.php @@ -0,0 +1,44 @@ +feedType; + $class = "\CTXFeed\V5\File\\".\strtoupper( $type ); + + if ( \class_exists( $class ) ) { + return new FileInfo( new $class( $data, $config ) ); + } + + return new FileInfo( new CSV( $data, $config ) ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/File/FileInfo.php b/plugins/webappick-product-feed-for-woocommerce/V5/File/FileInfo.php new file mode 100644 index 000000000..4714e3ba9 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/File/FileInfo.php @@ -0,0 +1,52 @@ +file = $file; + } + + /** + * Delegates the creation of header and footer to the file handler. + * + * This method calls the make_header_footer method of the injected FileInterface + * implementation and returns its result. + * + * @return array An array containing header and footer information. + */ + public function make_header_footer() { + return $this->file->make_header_footer(); + } + + /** + * Delegates the creation of the file body to the file handler. + * + * This method calls the make_body method of the injected FileInterface + * implementation and returns its result. + * + * @return false|string The content of the file body or false on failure. + */ + public function make_body() { + return $this->file->make_body(); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/File/FileInterface.php b/plugins/webappick-product-feed-for-woocommerce/V5/File/FileInterface.php new file mode 100644 index 000000000..b02e85c5b --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/File/FileInterface.php @@ -0,0 +1,36 @@ +data = $data; + $this->config = $config; + } + + /** + * Creates the header and footer for the JSON file. + * + * This method returns an array with empty strings for 'header' and 'footer' as JSON files + * typically do not have distinct headers or footers. + * + * @return array An array with 'header' and 'footer' keys, both set to empty strings. + */ + public function make_header_footer() { + $header_footer = [ + 'header' => '', + 'footer' => '', + ]; + + return apply_filters( "ctx_make_{$this->config->feedType}_feed_header_footer", $header_footer, $this->data, $this->config ); + } + + /** + * Generates the body of the JSON file. + * + * This method serializes the provided data into a JSON format. It can be extended to + * manipulate the data structure before serialization. + * + * @return string string representing the body of the file. + */ + public function make_body() { + + $content = $this->data; + + //TODO: Multi dimension to single array. + return apply_filters( "ctx_make_{$this->config->feedType}_feed_body", $content, $this->data, $this->config ); + } + +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/File/TXT.php b/plugins/webappick-product-feed-for-woocommerce/V5/File/TXT.php new file mode 100644 index 000000000..de46347fe --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/File/TXT.php @@ -0,0 +1,111 @@ +data = $data; + $this->config = $config; + } + + /** + * Creates the header and footer for the TXT file. + * + * @return array An array with 'header' and 'footer' keys. + */ + public function make_header_footer() { + $header_footer = [ + 'header' => '', + 'footer' => '', + ]; + + $enclosure = $this->config->get_enclosure(); + $delimiter = $this->config->get_delimiter(); + + if ( ! empty( $this->data ) && is_array( $this->data ) ) { + $first = $this->implode_all( $delimiter, $enclosure, $this->data, 'key' ) . "\n"; + + $header_footer = [ + 'header' => $first, + 'footer' => '', + ]; + } + + return apply_filters( "ctx_make_{$this->config->feedType}_feed_header_footer", $header_footer, $this->data, $this->config ); + } + + /** + * Creates the body of the TXT file. + * + * @return string The formatted body content of the TXT file. + */ + public function make_body( ) { + + $column = ''; + $enclosure = ! $this->config->get_enclosure() ? '' : $this->config->get_enclosure(); + $delimiter = $this->config->get_delimiter(); + + foreach ( $this->data as $product ) { + $column .= $this->implode_all( $delimiter, $enclosure, $product ) . "\n"; + } + + return apply_filters( "ctx_make_{$this->config->feedType}_feed_body", $column, $this->data, $this->config ); + } + + /** + * Helper method to convert multi-dimensional arrays to a string. + * + * @param string $delimiter Delimiter for separating elements. + * @param string $enclosure Enclosure for wrapping elements. + * @param array $array Array to be imploded. + * @param string $kv Key or value indicator for processing. + * + * @return string Imploded string. + */ + private function implode_all( $delimiter, $enclosure, $arr, $kv = 'value' ) { + foreach ( $arr as $i => $i_value ) { + if ( is_array( $i_value ) ) { + if ( 'value' === $kv ) { + $arr[ $i ] = $enclosure . $this->implode_all( $delimiter, $enclosure, $i_value, $kv ) . $enclosure; + } else { + $arr[ $i ] = $enclosure . array_key_first( $i_value ) . $enclosure; + } + } + } + + return implode( $delimiter, $arr ); + } +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/File/XLS.php b/plugins/webappick-product-feed-for-woocommerce/V5/File/XLS.php new file mode 100644 index 000000000..bbc385ae9 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/File/XLS.php @@ -0,0 +1,105 @@ +data = $data; + $this->config = $config; + } + + /** + * Creates the header and footer for the XLS file. + * + * @return array An array with 'header' and 'footer' keys. + */ + public function make_header_footer() { + $header_footer = [ + 'header' => '', + 'footer' => '', + ]; + + $enclosure = $this->config->get_enclosure(); + $delimiter = $this->config->get_delimiter(); + + if ( ! empty( $this->data ) && is_array( $this->data ) ) { + $first = $this->implode_all( $delimiter, $enclosure, $this->data, 'key' ) . "\n"; + + $header_footer = [ + 'header' => $first, + 'footer' => '', + ]; + } + + return apply_filters( "ctx_make_{$this->config->feedType}_feed_header_footer", $header_footer, $this->data, $this->config ); + } + + /** + * Creates the body of the XLS file. + * + * @return string The formatted body content of the XLS file. + */ + public function make_body( ) { + + $column = ''; + $enclosure = ! $this->config->get_enclosure() ? '"' : $this->config->get_enclosure(); + $delimiter = $enclosure . $this->config->get_delimiter() . $enclosure; + + foreach ( $this->data as $product ) { + $column .= $enclosure . $this->implode_all( $delimiter, $enclosure, $product ) . $enclosure . "\n"; + } + + return apply_filters( "ctx_make_{$this->config->feedType}_feed_body", $column, $this->data, $this->config ); + } + + /** + * Helper method to convert multi-dimensional arrays to a string. + * + * @param string $delimiter Delimiter for separating elements. + * @param string $enclosure Enclosure for wrapping elements. + * @param array $array Array to be imploded. + * + * @return string Imploded string. + */ + private function implode_all( $delimiter, $enclosure, $arr ) { + foreach ( $arr as $i => $i_value ) { + if ( is_array( $i_value ) ) { + $arr[ $i ] = $this->implode_all( $delimiter, $enclosure, $i_value ); + } + } + + return implode( $delimiter, $arr ); + } +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/File/XLSX.php b/plugins/webappick-product-feed-for-woocommerce/V5/File/XLSX.php new file mode 100644 index 000000000..ed0abfaa5 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/File/XLSX.php @@ -0,0 +1,102 @@ +data = $data; + $this->config = $config; + } + + /** + * Creates the header and footer for the XLSX file. + * + * @return array An array with 'header' and 'footer' keys. + */ + public function make_header_footer() { + $header_footer = [ + 'header' => '', + 'footer' => '', + ]; + + $enclosure = $this->config->get_enclosure(); + $delimiter = $this->config->get_delimiter(); + + if ( ! empty( $this->data ) && is_array( $this->data ) ) { + $first = $this->implode_all( $delimiter, $enclosure, $this->data, 'key' ) . "\n"; + + $header_footer = [ + 'header' => $first, + 'footer' => '', + ]; + } + + return apply_filters( "ctx_make_{$this->config->feedType}_feed_header_footer", $header_footer, $this->data, $this->config ); + } + + /** + * Creates the body of the XLSX file. + * + * @return string The formatted body content of the XLSX file. + */ + public function make_body( ) { + + $column = ''; + $enclosure = ! $this->config->get_enclosure() ? '"' : $this->config->get_enclosure(); + $delimiter = $enclosure . $this->config->get_delimiter() . $enclosure; + + foreach ( $this->data as $product ) { + $column .= $enclosure . $this->implode_all( $delimiter, $enclosure, $product ) . $enclosure . "\n"; + } + + return apply_filters( "ctx_make_{$this->config->feedType}_feed_body", $column, $this->data, $this->config ); + } + + /** + * Helper method to convert multi-dimensional arrays to a string. + * + * @param string $delimiter Delimiter for separating elements. + * @param string $enclosure Enclosure for wrapping elements. + * @param array $array Array to be imploded. + * + * @return string Imploded string. + */ + private function implode_all( $delimiter, $enclosure, $arr ) { + foreach ( $arr as $i => $i_value ) { + if ( is_array( $i_value ) ) { + $arr[ $i ] = $this->implode_all( $delimiter, $enclosure, $i_value ); + } + } + + return implode( $delimiter, $arr ); + } +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/File/XML.php b/plugins/webappick-product-feed-for-woocommerce/V5/File/XML.php new file mode 100644 index 000000000..c88fe3add --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/File/XML.php @@ -0,0 +1,298 @@ +data = $data; + $this->config = $config; + } + + /** + * Creates the header and footer for the XML file. + * + * @return array An array with 'header' and 'footer' keys. + */ + public function make_header_footer() { + $header_footer = $this->get_header_footer( $this->config ); + + return \apply_filters( "ctx_make_{$this->config->feedType}_feed_header_footer", $header_footer, $this->data, $this->config ); + } + + /** + * Convert an array to XML format. + * + * This method recursively converts an array into an XML string. Special handling is applied for + * certain keys and configurations (e.g., Google Review specific formatting). + * + * @param array $array The array to convert. + * @param string $xml Reference to the XML string being built. + */ + public function array_to_xml( $array, &$xml ) { + foreach ( $array as $key => $value ) { + if ( \is_array( $value ) ) { + if ( !\is_numeric( $key ) ) { + $this->feed_body .= "<$key>" . PHP_EOL; + self::array_to_xml( $value, $child ); + $this->feed_body .= "" . PHP_EOL; + } else { + self::array_to_xml( $value, $xml ); + } + } else { + $value = $this->format_value( $key, $value ); + $this->feed_body .= $value; + } + } + } + + /** + * Format the value for XML output. + * + * This method applies XML encoding and specific formatting based on the key and configuration. + * + * @param string $key The key associated with the value. + * @param mixed $value The value to be formatted. + * + * @return string The formatted value. + */ + private function format_value( $key, $value ) { + if ( !\in_array( $key, ['g:tax', 'g:shipping'], true ) ) { + $value = \htmlentities( $value, ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $value = $this->get_CDATA( $value ); + } + + if ( $this->config->get_feed_template() === 'googlereview' ) { + if ( "overall" === $key ) { + $value = "<$key min='1' max='5'>" . $value . "". PHP_EOL; + } elseif ( "review_url" === $key ) { + $value = "<$key type='group'>" . $value . "". PHP_EOL; + }else { + $value = "<$key>" . $value . "" . PHP_EOL; + } + }else{ + $value = "<$key>" . $value . "" . PHP_EOL; + } + + return $value; + } + + /** + * CDATA add + * + * @return string + */ + private function get_CDATA( $value ){ + $settings = Settings::get( 'enable_cdata' ); + return $this->add_CDATA( $settings,$value ); + + } + + /** Add CDATA to String + * + * @param string $status + * @param string $output + * + * @return string + */ + private function add_CDATA( $status, $output ) { + + if ( 'yes' === $status && $output && $output!="") { + $output = $this->remove_CDATA( $output ); + + return ''; + }else if( 'no' === $status && strpos( $output, '<![CDATA[') !== false ){ + + return \html_entity_decode( $output ); + } + + return $output; + } + + /** Remove CDATA from String + * + * @param string $output + * + * @return string + */ + private function remove_CDATA( $output ) { + $output = \html_entity_decode( $output ); + return \str_replace( [ "" ], "", $output ); + } + + /** + * Make XML body. + * + * @return false|string + */ + public function make_body() { + // create simpleXML object + + $xml = ''; + $this->array_to_xml( $this->data, $xml ); + + return \apply_filters( "ctx_make_{$this->config->feedType}_feed_body", $this->feed_body, $this->data, $this->config ); + } + + /** + * Create XML File Header and Footer based on configuration. + * + * This method generates the header and footer for the XML file. It handles different templates + * and configurations, such as a special format for Google Review feeds. + * + * @param Config $config Configuration object for the feed. + * + * @return array An array with 'header' and 'footer' keys containing the XML strings. + */ + private function get_header_footer( $config ) { + + if( $config->get_feed_template() === 'googlereview' ){ + $header = GooglereviewStructure::make_google_review_header(); + $footer = 'itemsWrapper . '>'; + + $xml_wrapper['header'] = $this->make_header( $config, $header ); + $xml_wrapper['footer'] = "\n" . $this->make_footer( $config, $footer ); + }else{ + $xml_wrapper['header'] = $this->make_header( $config ); + $xml_wrapper['footer'] = "\n" . $this->make_footer( $config ); + } + + $config->itemWrapper = \str_replace( ' ', '_', $config->itemWrapper ); + $config->itemsWrapper = \str_replace( ' ', '_', $config->itemsWrapper ); + + if ( \file_exists( WOO_FEED_FREE_ADMIN_PATH . 'partials/templates/' . $config->provider . '.txt' ) ) { + $txt = \file_get_contents( WOO_FEED_FREE_ADMIN_PATH . 'partials/templates/' . $config->provider . '.txt' ); + $txt = \trim( $txt ); + $txt = \explode( '{separator}', $txt ); + if ( 2 === \count( $txt ) ) { + $xml_wrapper['header'] = $this->make_header( $config, \trim( $txt[0] ) ); + $xml_wrapper['footer'] = "\n" . $this->make_footer( $config, \trim( $txt[1] ) ); + } + } + + return $xml_wrapper; + } + + /** + * Replace template variables. + * + * + * @param $header + * @param $config + * + * @return array|string|string[] + */ + private function replace_template_variable( $header, $config ) { + + $variables = [ + '{DateTimeNow}' => \gmdate( 'Y-m-d H:i:s', \strtotime( \current_time( 'mysql' ) ) ), + '{BlogName}' => \get_bloginfo( 'name' ), + '{BlogURL}' => \get_bloginfo( 'url' ), + '{BlogDescription}' => "CTX Feed - This product feed is generated with the CTX Feed - WooCommerce Product Feed Manager plugin by WebAppick.com. For all your support questions check out our plugin Docs on https://webappick.com/docs or e-mail to: support@webappick.com", + '{BlogEmail}' => \get_bloginfo( 'admin_email' ), + ]; + + $variables = \apply_filters( 'ctx_xml_header_template_variables', $variables, $config ); + + return \str_replace( \array_keys( $variables ), \array_values( $variables ), $header ); + } + + /** + * Make XML Header. + * + * @param $config + * @param $override + * + * @return mixed|void + */ + private function make_header( $config, $override = '' ) { + $config->itemsWrapper = \str_replace( ' ', '_', $config->itemsWrapper ); + if ( ! empty( $override ) ) { + $header = $override; + } else { + $header = '' . PHP_EOL . "<" . \wp_unslash( $config->itemsWrapper ) . ">"; + } + + if ( ! empty( $config->extraHeader ) ) { + $header .= PHP_EOL . \wp_unslash( $config->extraHeader ); + } + + // replace template variables. + $header = $this->replace_template_variable( $header, $config ); + + return \apply_filters( 'ctx_make_xml_header', $header, $config ); + } + + /** + * Make XML Footer. + * + * @param $config + * @param $override + * + * @return mixed|void + */ + private function make_footer( $config, $override = '' ) { + if ( ! empty( $override ) ) { + $footer = $override; + } else { + $footer = 'itemsWrapper . '>'; + } + + return \apply_filters( 'ctx_make_xml_footer', $footer, $config ); + } + + /** + * @param $feed + * + * @return array|string|string[] + */ + private function remove_header_footer( $feed ) { + return \str_replace( + [ '', '', '', '' ], + '', + $feed + ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Filter/AdvanceFilter.php b/plugins/webappick-product-feed-for-woocommerce/V5/Filter/AdvanceFilter.php new file mode 100644 index 000000000..34ad24917 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Filter/AdvanceFilter.php @@ -0,0 +1,136 @@ +fattribute ) && count( $config->fattribute ) ) { + + // Filtering Variable + $fAttributes = $config->fattribute; + $conditions = $config->condition; + $filterCompare = $config->filterCompare; + $concatType = isset( $config->concatType ) ? $config->concatType : []; + + // Backward compatibility for <= v5.2.25 + $filterType = isset( $config->filterType ) && ! empty( $config->filterType ) + ? $config->filterType + : 2; + + $filterType = $filterType === 1 + ? 'OR' + : 'AND'; + + // Tracking Variables + $totalOr = 0; + $effectiveOrCount = 0; + + foreach ( $fAttributes as $key => $check ) { + $flag = false; + $conditionName = ProductHelper::get_attribute_value_by_type( $check, $product, $config ); + $condition = $conditions[ $key ]; + $conditionCompare = stripslashes( $filterCompare[ $key ] ); + + /*if( $conditionName == '' || $conditionName == 0 || $condition == '' || $condition == 0 || $conditionCompare == '' || $conditionCompare == 0 ){ + continue; + }*/ + // Backward compatibility for <= v5.2.25 + $concatOperator = isset( $concatType[ $key ] ) && ! empty( $concatType[ $key ] ) + ? $concatType[ $key ] + : $filterType; + + if ( $concatOperator === 'OR' ) { + $totalOr ++; + } + + // DEBUG HERE + // echo "Product Name: ".$product->get_name() .''.$product->get_id(); echo "
"; + // echo "Name: ".$conditionName; echo "
"; + // echo "Condition: ".$condition; echo "
"; + // echo "Compare: ".$conditionCompare; echo "
"; echo "
"; + + switch ( $condition ) { + + case '==': + if ( strtolower( $conditionName ) === strtolower( $conditionCompare ) ) { + $flag = true; + } + break; + case '!=': + if ( strtolower( $conditionName ) !== strtolower( $conditionCompare ) ) { + $flag = true; + } + break; + case '>=': + if ( strtolower( $conditionName ) >= strtolower( $conditionCompare ) ) { + $flag = true; + } + break; + case '<=': + if ( strtolower( $conditionName ) <= strtolower( $conditionCompare ) ) { + $flag = true; + } + break; + case '>': + if ( strtolower( $conditionName ) > strtolower( $conditionCompare ) ) { + $flag = true; + } + break; + case '<': + if ( strtolower( $conditionName ) < strtolower( $conditionCompare ) ) { + $flag = true; + } + break; + case 'contains': + if ( false !== stripos( $conditionName, $conditionCompare ) ) { + $flag = true; + } + break; + case 'nContains': + if ( false === stripos( $conditionName, $conditionCompare ) ) { + $flag = true; + } + break; + case 'between': + $compare_items = explode( '-', $conditionCompare ); + if ( $conditionName >= $compare_items[0] && $conditionName <= $compare_items[1] ) { + $flag = true; + } + break; + default: + break; + } + + + if ( $concatOperator === 'OR' && $flag ) { + $effectiveOrCount ++; + } + + if ( $concatOperator === 'AND' && ! $flag ) { + return false; + } + } + + if ( $totalOr > 0 && $effectiveOrCount === 0 ) { + return false; + } + } + + return true; + } + + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Filter/Filter.php b/plugins/webappick-product-feed-for-woocommerce/V5/Filter/Filter.php new file mode 100644 index 000000000..caf724fd7 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Filter/Filter.php @@ -0,0 +1,399 @@ +product = $product; + $this->config = $config; + + self::$products_to_include = $this->config->get_products_to_include(); + self::$products_to_exclude = $this->config->get_products_to_exclude(); + self::$categories_to_include = $this->config->get_categories_to_include(); + self::$categories_to_exclude = $this->config->get_categories_to_exclude(); + self::$authors_to_include = $this->config->get_vendors_to_include(); + } + + /** + * @return bool + */ + public function exclude() { + $exclude = false; + + $filters = [ + 'exclude_variable_product', + 'exclude_empty_title_products', + 'exclude_hidden_products', + 'exclude_variation_parent_draft_products', + 'exclude_variation_parent_private_products', + 'exclude_variation_parent_pending_products', + + ]; + + if ( Helper::is_pro() ) { // These filters only applied for pro version. + $pro_filters = [ + 'exclude_empty_description_products', + 'exclude_empty_image_products', + 'exclude_empty_price_products', + 'exclude_out_of_stock_products', + 'exclude_back_order_products', + 'exclude_variation_parent_draft_products', + 'exclude_override_out_of_stock_isibility' + ]; + + $filters = array_merge( $filters, $pro_filters ); + if ( self::$authors_to_include ) { + array_push( $filters, 'include_vendors' ); + } + if ( self::$products_to_include ) { + array_push( $filters, 'include_products' );// Only add products which are set to include. + } + if ( self::$products_to_exclude ) { + array_push( $filters, 'exclude_products' );// Remove products which are set to exclude. + } + + if ( self::$categories_to_exclude ) { + array_push( $filters, 'exclude_categories' );// Remove categories which are set to exclude. + } + + if ( self::$categories_to_include ) { + array_push( $filters, 'include_categories' );// Only add categories which are set to include. + } + } + + + foreach ( $filters as $filter ) { + if ( $this->$filter() ) { + $exclude = true; + break; + } + } + + + return apply_filters( 'ctx_feed_filter_product', $exclude, $this->product, $this->config ); + } + + + /** + * Exclude Variable products if only variations to include. + * @return bool + */ + public function exclude_variable_product() { + //TODO::Remove the second condition ==> [$this->config->is_variations == 1] + if ( $this->product->is_type( 'variable' ) && ( $this->config->is_variations == 1 || $this->config->is_variations === 'y' ) ) { + return true; + } + + return false; + } + + /** + * Remove out of stock products. + * + * @return bool + */ + public function exclude_out_of_stock_products() { + if ( ! $this->config->remove_outofstock_product() || ( $this->product->get_stock_status() !== 'outofstock' && $this->product->get_stock_quantity() !== 0 ) || $this->product->get_stock_status() === 'onbackorder' ) { + return false; + } + + return true; + } + + /** + * Remove back order products. + * + * @return bool + */ + public function exclude_back_order_products() { + if ( $this->config->remove_backorder_product() && $this->product->get_stock_status() === 'onbackorder' ) { + return true; + } + + return false; + } + + /** + * Remove empty title products. + * + * @return bool + */ + public function exclude_empty_title_products() { + if ( $this->config->remove_empty_title() && empty( $this->product->get_name() ) ) { + return true; + } + + return false; + } + + /** + * Remove hidden products. + * + * @return bool + */ + public function exclude_hidden_products() { + $remove_hidden_products = ! $this->config->remove_hidden_products(); + if ( $this->product->get_status() == 'private' ) { + if ( $remove_hidden_products && ( $this->product->get_catalog_visibility() === 'hidden' ) ) { + return true; + } + } else { + if ( $remove_hidden_products && ( $this->product->get_catalog_visibility() === 'hidden' || ! $this->product->is_visible() ) ) { + return true; + } + } + + return false; + } + + /** + * Remove variation products whose parent status is provate. + * + * @return bool + */ + public function exclude_variation_parent_private_products() { + if ( $this->product->is_type( 'variation' ) ) { + $parent_id = $this->product->get_parent_id(); + if ( get_post_status( $parent_id ) === 'private' && !in_array('private',$this->config->get_post_status_to_include())) { + return true; + } + } + + return false; + } + + /** + * Remove variation products whose parent status is pending. + * + * @return bool + */ + public function exclude_variation_parent_pending_products() { + + if ( $this->product->is_type( 'variation' ) ) { + $parent_id = $this->product->get_parent_id(); + if ( get_post_status( $parent_id ) === 'pending' && !in_array('pending',$this->config->get_post_status_to_include())) { + return true; + } + } + + return false; + } + + /** + * Remove hidden variation products whose parent status is draft. + * + * @return bool + */ + public function exclude_variation_parent_draft_products() { + if ( $this->product->is_type( 'variation' ) ) { + $post_status = $this->config->get_post_status_to_include(); + $parent_id = $this->product->get_parent_id(); + if ( $this->config->remove_hidden_products() && get_post_status( $parent_id ) === 'draft' ) { + return true; + }else if( !in_array("draft", $post_status ) && get_post_status( $parent_id ) === 'draft' ) { + return true; + }else if( !in_array("draft", $post_status ) && get_post_status( $parent_id ) === 'draft' ) { + return true; + } + } + + return false; + } + + /** + * Remove hidden variation products whose parent status is draft. + * + * @return bool + */ + public function exclude_override_out_of_stock_isibility() { + if ( ! $this->config->get_outofstock_visibility() && $this->product->get_stock_status() === 'outofstock' && 'yes' === get_option( 'woocommerce_hide_out_of_stock_items' ) ) { + return true; + } + + return false; + } + + /** + * Remove empty description products. + * + * @return bool + */ + public function exclude_empty_description_products() { + + if ( $this->config->remove_empty_description() ) { + if ( $this->product->is_type( 'variation' ) == 1 && empty( $this->product->get_description() ) ) { + $parent_product = wc_get_product( $this->product->get_parent_id() ); + + if ( $parent_product && empty( $parent_product->get_description() ) ) { + return true; + } + } else if ( empty( $this->product->get_description() ) ) { + return true; + } + } + + return false; + } + + /** + * Remove empty image products. + * + * @return bool + */ + public function exclude_empty_image_products() { + if ( $this->config->remove_empty_image() && empty( $this->product->get_image( 'woocommerce_thumbnail', [], false ) ) ) { + return true; + } + + return false; + } + + /** + * Return Empty Price products. + * + * @return bool + */ + public function exclude_empty_price_products() { + if ( $this->config->remove_empty_price() && empty( $this->product->get_price() ) ) { + return true; + } + + return false; + } + + /** + * Exclude Variations. + * + * @param $exclude + * + * @return bool|mixed + */ + public function exclude_variation( $exclude, $is_variation = true ) { + + + // TODO should check, whether this method is written properly. + $filters = [ + 'exclude_products',// Remove products which are set to exclude. + 'include_products',// Only add products which are set to include. + 'exclude_categories',// Remove categories which are set to exclude. + 'include_categories',// Only add categories which are set to include. + 'include_vendors',// Only add product status which are set to include. +// 'exclude_variation_stock_status',// Only add product stock status which are set to include. +// 'include_variation_author',// Only add product authors (For multivendor plugin) which are set to include. + ]; + + foreach ( $filters as $filter ) { + if ( $this->$filter() ) { + $exclude = true; + break; + } + } + + + return $exclude; + } + + public function exclude_products() { + if ( self::$products_to_exclude && in_array( $this->product->get_id(), self::$products_to_exclude ) ) { + return true; + } + + return false; + } + + public function include_products() { + if ( self::$products_to_include && ! in_array( $this->product->get_id(), self::$products_to_include ) ) { + return true; + } + + return false; + } + + public function exclude_categories() { + $id = ( $this->product->is_type( 'variation' ) ) ? $this->product->get_parent_id() : $this->product->get_id(); + if ( self::$categories_to_exclude && has_term( self::$categories_to_exclude, 'product_cat', $id ) ) { + return true; + } + + return false; + } + + public function include_categories() { + if ( self::$products_to_include && in_array( $this->product->get_id(), self::$products_to_include ) ) { + return false; + } + + if ( ! apply_filters( 'ctx_filter_by_category__should_include_sub_categories', false ) ) { + $id = ( $this->product->is_type( 'variation' ) ) ? $this->product->get_parent_id() : $this->product->get_id(); + if ( self::$categories_to_include && ! has_term( self::$categories_to_include, 'product_cat', $id ) ) { + return true; + } + } + + return false; + } + + public function include_vendors() { + + if ( self::$authors_to_include ) { + // Find Author id + $authorId = get_post( $this->product->get_id() )->post_author; + if ( $this->product->is_type( 'variation' ) ) { + $authorId = get_post( $this->product->get_parent_id() )->post_author; + } + + if ( ! in_array( $authorId, self::$authors_to_include ) ) { + return true; + } + } + + return false; + } + + +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Filter/FilterInfo.php b/plugins/webappick-product-feed-for-woocommerce/V5/Filter/FilterInfo.php new file mode 100644 index 000000000..c2a4333d6 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Filter/FilterInfo.php @@ -0,0 +1,239 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category Filter + */ +class FilterInfo { + + /** + * Get Product Ids or count product ids via WC_Product_Query + * @param $args + * @param bool $count + * + * @return array|int|null + */ + public static function getProductsWC( $args = [], $count = true ) { + $config = new Config( [] ); + $oldQueryType = Settings::get( 'product_query_type' ); + Settings::set( 'product_query_type', 'wc' ); + $default_args = [ + 'limit' => - 1, + 'status' => 'publish', + 'return' => 'ids', + ]; + + $args = wp_parse_args( $args, $default_args ); + $Ids = ProductHelper::get_ids( $config, $args ); + Settings::set( 'product_query_type', $oldQueryType ); + + if ( $count ) { + return count( $Ids ); + } + + return $Ids; + } + + /** + * Get Product Ids or count product ids via WP_Query + * @param $args + * @param $count + * + * @return array|int|null + */ + public static function getProductsWP( $args = [], $count = true ) { + $oldQueryType = Settings::get( 'product_query_type' ); + Settings::set( 'product_query_type', 'wp' ); + $config = new Config( [] ); + $default_args = [ + 'posts_per_page' => - 1, + 'post_type' => [ 'product', 'product_variation' ], + 'post_status' => 'publish', + 'fields' => 'ids', + ]; + $args = wp_parse_args( $args, $default_args ); + $Ids = ProductHelper::get_ids( $config, $args ); + Settings::set( 'product_query_type', $oldQueryType ); + + if ( $count ) { + return count( $Ids ); + } + + return $Ids; + } + + /** + * Count out of stock products. + * + * @return array|int|null + */ + public static function getOutOfStockProducts( $count = true ) { + $oldQueryType = Settings::get( 'product_query_type' ); + Settings::set( 'product_query_type', 'wc' ); + $config = new Config( [] ); + $args = [ + 'limit' => - 1, + 'stock_status' => 'outofstock', + 'status' => 'publish', + 'return' => 'ids', + ]; + $Ids = ProductHelper::get_ids( $config, $args ); + Settings::set( 'product_query_type', $oldQueryType ); + + if ( $count ) { + return count( $Ids ); + } + + return $Ids; + } + + /** + * Count on back order products. + * + * @return int|null + */ + public static function getBackOrderProducts() { + $oldQueryType = Settings::get( 'product_query_type' ); + Settings::set( 'product_query_type', 'wc' ); + $config = new Config( [] ); + $args = [ + 'limit' => - 1, + 'stock_status' => 'onbackorder', + 'status' => 'publish', + 'return' => 'ids', + ]; + $Ids = ProductHelper::get_ids( $config, $args ); + Settings::set( 'product_query_type', $oldQueryType ); + + return count( $Ids ); + } + + /** + * Count Hidden products. + * + * @return int|null + */ + public static function getHiddenProducts() { + $oldQueryType = Settings::get( 'product_query_type' ); + Settings::set( 'product_query_type', 'wc' ); + $config = new Config( [] ); + $args = [ + 'limit' => - 1, + 'visibility' => 'hidden', + 'status' => 'publish', + 'return' => 'ids', + ]; + $Ids = ProductHelper::get_ids( $config, $args ); + Settings::set( 'product_query_type', $oldQueryType ); + + return count( $Ids ); + } + + /** + * Count empty title products. + * + * @return int|null + */ + public static function getEmptyTitleProducts() { + global $wpdb; + $emptyPosts = $wpdb->get_results( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title ='' AND post_type='product' AND 'post_status'='publish'" ) ); + + return count( $emptyPosts ); + } + + /** + * Count empty description products. + * + * @return int|null + */ + public static function getDescriptionProducts() { + global $wpdb; + $emptyPosts = $wpdb->get_results( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_content ='' AND post_type='product' AND 'post_status'='publish'" ) ); + + return count( $emptyPosts ); + } + + public static function getEmptyPriceProducts() { + $oldQueryType = Settings::get( 'product_query_type' ); + Settings::set( 'product_query_type', 'wp' ); + $config = new Config( [] ); + $args = [ + 'posts_per_page' => - 1, + 'post_type' => [ 'product', 'product_variation' ], + 'post_status' => 'publish', + 'fields' => 'ids', + ]; + + $args['meta_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query + array( + 'key' => '_regular_price', + 'compare' => '>', + 'value' => '0' + ), + ); + + $args2 = [ + 'posts_per_page' => - 1, + 'post_type' => [ 'product', 'product_variation' ], + 'post_status' => 'publish', + 'fields' => 'ids', + ]; + + $allIds = ProductHelper::get_ids( $config, $args2 ); + $Ids = ProductHelper::get_ids( $config, $args ); + Settings::set( 'product_query_type', $oldQueryType ); + + return count( $allIds ) - count( $Ids ); + } + + /** + * Count empty image products. + * + * @return int|null + */ + public static function getEmptyImageProducts() { + $oldQueryType = Settings::get( 'product_query_type' ); + Settings::set( 'product_query_type', 'wp' ); + $config = new Config( [] ); + $args = [ + 'posts_per_page' => - 1, + 'post_type' => 'product', + 'post_status' => 'publish', + 'fields' => 'ids', + ]; + + $args['meta_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query + array( + 'key' => '_thumbnail_id', + 'compare' => '>', + 'value' => '0' + ), + ); + + $args2 = [ + 'posts_per_page' => - 1, + 'post_type' => 'product', + 'post_status' => 'publish', + 'fields' => 'ids', + ]; + + $allIds = ProductHelper::get_ids( $config, $args2 ); + $Ids = ProductHelper::get_ids( $config, $args ); + Settings::set( 'product_query_type', $oldQueryType ); + + return count( $allIds ) - count( $Ids ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Filter/ValidateProduct.php b/plugins/webappick-product-feed-for-woocommerce/V5/Filter/ValidateProduct.php new file mode 100644 index 000000000..5b10596b7 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Filter/ValidateProduct.php @@ -0,0 +1,76 @@ +filename, sprintf( 'Product with id: %s is not a valid object', $id ) ); + } + + // Skip orphaned variation. + if ( $product->is_type( 'variation' ) && ! $product->get_parent_id() ) { + $valid = false; + Logs::write_log( $config->filename, sprintf( 'Orphaned Variation %s is skipped', $id ) ); + } + + + // Remove unsupported product types. + if ( ! in_array( $product->get_type(), CommonHelper::supported_product_types(), true ) ) { + $valid = false; + Logs::write_log( $config->filename, sprintf( 'Product with id: %s is a %s product. Product Type %s is not supported.', $id, $product->get_type(), $product->get_type() ) ); + } + + + /** + * IMPORTANT: all filters functionality can be done by database query ( only by WP_Query ) + * All filters are implemented on branch feature/CBT-160 with WP_Query. + * + * The benefit of using WP_Query is we don't have to use this Filter class. This Filter class are taking more time during feed generation. + * Example: suppose after database query we get 10000 product ids. We have to check for every product is it valid or not. + * On the Filter class there is a loop of 7 iterations. so ( 10000*7 = 70000 ) which is a huge time. + * + * On the other hand if we implement all types filter through WP_Query, these 70000 iterations can be skipped. Which is huge time saving. + * + */ + + /** + * This filter hook should return false to exclude the product from feed. + */ + + $filer = new Filter( $product, $config ); + if ( $filer->exclude() ) { + $valid = false; + } + // Advance filter is only applied for pro version + if ( Helper::is_pro() && ! AdvanceFilter::filter_product( $product, $config ) ) { + $valid = false; + } + + + + return apply_filters( 'ctx_validate_product_before_include', $valid, $product, $config ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Helper/CommonHelper.php b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/CommonHelper.php new file mode 100644 index 000000000..eaf38c65a --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/CommonHelper.php @@ -0,0 +1,333 @@ +/', '', $content ); + + return !empty( $content ) ? \trim( $content ) : $content; + } + + /** + * Retrieves the list of supported product types. + * This function provides an array of product types that are supported in the context of the application. + * + * @return array List of supported product types. + */ + public static function supported_product_types() { + $product_types = array( + 'simple', + 'variable', + 'variation', + 'grouped', + 'external', + 'composite', + 'bundle', + 'bundled', + 'yith_bundle', + 'yith-composite', + 'subscription', + 'variable-subscription', + 'woosb', + 'woosg', + 'auction', + 'course' + ); + + return apply_filters( 'ctx_filter_product_types_for_product_query', $product_types ); + } + + /** + * Removes all shortcodes from the given content. + * This function processes the content to remove WordPress shortcodes, and additional shortcode-like patterns. + * It first processes registered shortcodes, then removes any remaining shortcode-like structures. + * + * @param string $content The content from which to remove shortcodes. + * @return string The content with shortcodes removed. + */ + public static function remove_shortcodes( $content ) { + if ( $content === '' ) { + return ''; + } + + // Process registered shortcodes. + $content = \strip_shortcodes( \do_shortcode( $content ) ); + + // Custom function to strip invalid XML, if necessary. + $content = self::strip_invalid_xml( $content ); + + // More specific regex to target shortcode-like patterns. + $expression = '/\[\/*[č?a-zA-Z1-90_| -=\'"\{\}]*\/*\]/m'; + $content = \preg_replace( $expression, '', $content ); + + return $content; + } + + /** + * Adds UTM parameters to a given URL. + * This function appends UTM (Urchin Tracking Module) parameters to a URL for tracking purposes. + * Only parameters that are not empty will be added to the URL. + * + * @param array $utm Associative array of UTM parameters. + * @param string $url The URL to which UTM parameters will be added. + * @return string The URL with UTM parameters appended. + */ + public static function add_utm_parameter( array $utm, $url ) { + if ( !empty( $utm['utm_source'] ) && !empty( $utm['utm_medium'] ) && !empty( $utm['utm_campaign'] ) ) { + $utm = \array_map( function( $value ) { + return \str_replace( ' ', '+', $value ); + }, $utm); + + $url = \add_query_arg( \array_filter( $utm ), $url ); + } + + return $url; + } + + /** + * Checks if the current WooCommerce version meets or exceeds the specified version. + * It requires WooCommerce to be installed and activated. + * + * @param string $version The WooCommerce version to compare against, default '3.0'. + * @return bool True if the current version is greater than or equal to the specified version, false otherwise. + */ + public static function wc_version_check( $version = '3.0' ) { + if ( !\function_exists( 'get_plugins') ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + + $plugins = \get_plugins(); + $plugin_path = 'woocommerce/woocommerce.php'; + + if ( !isset( $plugins[$plugin_path] ) ) { + return false; + } + + return \version_compare( $plugins[$plugin_path]['Version'], $version, '>=' ); + } + + /** + * Generates a unique option name by appending a numerical suffix if necessary. + * This function sanitizes the provided slug, checks against a list of disallowed + * names, and ensures uniqueness in the WordPress options table. + * + * @param string $slug The base slug to use for the option name. + * @param string $prefix A prefix to be added to the slug (optional). + * @param int|null $option_id An existing option ID to exclude from the check (optional). + * @return string The unique, sanitized option name. + */ + public static function unique_option_name( $slug, $prefix = '', $option_id = null ) { + global $wpdb; + + // Sanitize and prepare slug. + $slug = \sanitize_key( $slug ); + + $slug = \str_replace( ' ', '_', $slug ); + + if ( '_' === \substr( $slug, -1 ) ) { + $slug = \substr( $slug, 0, -1 ); + } + + /** @noinspection SpellCheckingInspection */ + $slug = \preg_replace( '/[^A-Za-z0-9_]/', '', $slug ); + + // List of disallowed slugs. + $disallowed = array( 'siteurl', 'home', 'blogname', 'blogdescription', 'users_can_register', 'admin_email' ); + + if ( $option_id && $option_id > 0 ) { + $check_sql = "SELECT option_name FROM $wpdb->options WHERE option_name = %s AND option_id != %d LIMIT 1"; + $name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $prefix . $slug, $option_id ) ); // phpcs:ignore + } else { + $check_sql = "SELECT option_name FROM $wpdb->options WHERE option_name = %s LIMIT 1"; + $name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $prefix . $slug ) ); // phpcs:ignore + } + + // slug found or slug in disallowed list + if ( $name_check || \in_array( $slug, $disallowed, true ) ) { + $suffix = 2; + + do { + $alt_name = \_truncate_post_slug( $slug, 200 - ( \strlen( $suffix ) + 1 ) ) . "-$suffix"; + + if ( $option_id && $option_id > 0 ) { + $name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $prefix . $alt_name, $option_id ) ); // phpcs:ignore + } else { + $name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $prefix . $alt_name ) ); // phpcs:ignore + } + + ++$suffix; + } while ( $name_check ); + + $slug = $alt_name; + } + + return $slug; + } + + /** + * Retrieves a list of option names from the WordPress database that start with a given prefix. + * This function performs a database query to find all options matching the specified prefix. + * + * @param string $prefix The prefix to search for in option names. + * @return array|object|null Array of objects containing option names or null on failure. + */ + public static function get_options( $prefix ) { + global $wpdb; + + // Ensure the prefix is sanitized to prevent SQL injection. + $safe_prefix = \esc_sql( $prefix ); + + $sql = "SELECT option_name FROM $wpdb->options WHERE option_name LIKE %s"; + $prepared_sql = $wpdb->prepare( $sql, $safe_prefix . '%' ); + + // Execute the query and handle potential errors. + try { + $results = $wpdb->get_results( $prepared_sql ); + + return $results; + } catch ( \Exception $e ) { + // Consider logging the error or handling it as per your application's needs. + return null; + } + } + + /** + * Extends wp_strip_all_tags to handle WP_Error objects. + * This function returns an empty string if the input is a WP_Error object, + * otherwise, it strips all HTML tags from the input. + * + * @param string|\WP_Error $string The input to be processed. Can be a string or WP_Error object. + * @return string The processed string without HTML tags, or an empty string if input was a WP_Error. + * @since 4.5.10 + */ + public static function strip_all_tags( $string ) { + if ( $string instanceof \WP_Error ) { + return ''; + } + + return \wp_strip_all_tags( $string ); + } + + /** + * Remove non supported xml character + * + * @param string $value + * @return string + * @since 4.5.10 + * @see https://stackoverflow.com/questions/3466035/how-to-skip-invalid-characters-in-xml-file-using-php + */ + public static function strip_invalid_xml( $value ) { + $ret = ''; + + if ( empty( $value ) ) { + return $ret; + } + + if ( \is_int( $value ) || is_float( $value )) { + $ret = $value; + } else { + $length = \strlen( $value ); + + for ( $i = 0; $i < $length; $i++ ) { + $current = \ord( $value[ $i ] ); + + if ( + ( 0x9 === $current ) + || ( 0xA === $current ) + || ( 0xD === $current ) + || ( + ( $current >= 0x20 ) + && ( $current <= 0xD7FF ) + ) + || ( + ( $current >= 0xE000 ) + && ( $current <= 0xFFFD ) + ) + || ( + ( $current >= 0x10000 ) + && ( $current <= 0x10FFFF ) + ) + ) { + $ret .= \chr( $current ); + } else { + $ret .= ''; + } + } + } + + return $ret; + } + + /** + * Returns the parent product ID for a variation product, or the product ID itself if it's not a variation. + * This function is useful when needing to identify the main product associated with a variation. + * + * @param \WC_Product $product The WooCommerce product object. + * @return int The ID of the parent product for variations, or the product's own ID. + */ + public static function parent_product_id( $product ) { + if ( !$product instanceof \WC_Product ) { + // Optionally handle the error if $product is not a valid WC_Product object. + return 0; + } + + return $product->is_type( 'variation' ) ? $product->get_parent_id() : $product->get_id(); + } + + /** + * Get parent product id for Polylang Multi Language + * + * @param int $element_id product id for current language + * + * @return int parent product id for parent language + */ + public static function woo_feed_pll_get_original_post_id( $element_id ) { + if ( function_exists( 'pll_get_post_translations' ) ) { + $polylang_post = pll_get_post_translations( $element_id ); + $defaultLanguage = pll_default_language(); + if ( isset( $polylang_post[ $defaultLanguage ] ) ) { + $parent_id = $polylang_post[ $defaultLanguage ]; + } + } + + return ! empty( $parent_id ) ? $parent_id : $element_id; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Helper/CronHelper.php b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/CronHelper.php new file mode 100644 index 000000000..e8e088b6b --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/CronHelper.php @@ -0,0 +1,834 @@ + [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], + * 'feed_name' => ${option_name}, + * 'hook_name' => "woo_feed_update_${option_name}" + * ) + * + * And another cache will be "woo_feed_sub_cron_list" which will be an array of all the sub-batch cron job names. + * Example array( + * "wf_store_auto_feed_body_info_${option_name}_0", + * "wf_store_auto_feed_body_info_${option_name}_1", + * "wf_store_auto_feed_body_info_${option_name}_2", + * "wf_store_auto_feed_body_info_${option_name}_3", + * "wf_store_auto_feed_body_info_${option_name}_4", + * ) + * + * Sub bath cron job cache will be like this "wf_store_auto_feed_body_info_${option_name}_0" => array( + * 'feed_name' => "${option_name}", + * 'option' => "", + * 'total_offset' => 1, + * 'parent_hook_name' => "woo_feed_update_${option_name}", + * 'product_ids' => [1, 3, 4, 5, ... ], + * 'offset' => 0, + * 'hook_name' => "wf_store_auto_feed_body_info_${option_name}_0", + * ); + * + * Now when the parent cron job will be executed it will get the product ids from the cache "woo_feed_update_${option_name}". + * Then it will create sub-batches for the product ids. And will create sub-batch cron jobs. Batch will be created depending on the product ids. + * If product ids are 100000 then 20 sub-batches will be created. Because the product batch safe limit is 5000. The execution time sub batches are + * 1rst sub-batch will be executed immediately. And the 2nd the sub-batches will be executed after 1 minute. And the 3rd sub-batches will be executed + * 2 minutes later. And so on. And the last sub-batch will be executed after 19 minutes. When finally the last sub-batch will be executed then all + * files will be merged with header and footer into 1 file named "${option_name}.${file_extentsion}". And all the sub-batch files will be deleted. + * + * Now all sub-batch cron jobs will be executed after 1 year. And the parent cron job will be executed after 1 hour. + */ + + +/** + * AI Generated Feed Cron Job Documentation for CTX Feed Plugin Feed Generation. + * + * WordPress Cron Job Documentation for CTX Feed Plugin Feed Generation. + * + * This cron job automates the generation of feed files (XML, CSV, TXT, etc.) for Google Shopping, Facebook Catalog, etc., + * from a vast pool of 100,000 Woo Commerce products. The process is designed to overcome memory and execution time + * constraints by splitting it into a parent cron job and sub-batch cron jobs. + * + * @since 7.0.0 + * @see woo_feed_update_${option_name} + * @see wf_store_auto_feed_body_info_${option_name}_0, wf_store_auto_feed_body_info_${option_name}_1, ... + * + * ## Parent Cron Job: + * - **Name:** `woo_feed_update_${option_name}` + * - **Interval:** Default if products < $cron_job_per_batch, else 1 hour. + * - **Cache:** Stored in `woo_feed_cron_list` for 1 year. + * - **Cache Content (Example):** + * ``` + * array( + * 'product_ids' => [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], + * 'feed_name' => ${option_name}, + * 'hook_name' => "woo_feed_update_${option_name}" + * ) + * ``` + * + * ## Sub-Batch Cron Jobs: + * - **Name Format:** `wf_store_auto_feed_body_info_${option_name}_0`, ... + * - **Interval:** 1 year (manually triggered before the parent cron job). + * - **Cache:** Stored in `woo_feed_sub_cron_list`. + * - **Cache Content (Example):** + * ``` + * array( + * "wf_store_auto_feed_body_info_${option_name}_0", + * "wf_store_auto_feed_body_info_${option_name}_1", + * ... + * ) + * ``` + * + * ## Sub-Batch Cron Job Cache: + * - **Cache Format:** `wf_store_auto_feed_body_info_${option_name}_0` + * - **Content (Example):** + * ``` + * array( + * 'feed_name' => "${option_name}", + * 'option' => "", + * 'total_offset' => 1, + * 'parent_hook_name' => "woo_feed_update_${option_name}", + * 'product_ids' => [1, 3, 4, 5, ... ], + * 'offset' => 0, + * 'hook_name' => "wf_store_auto_feed_body_info_${option_name}_0", + * ) + * ``` + * + * ## Execution Flow: + * - Parent cron job fetches product IDs from either `woo_feed_update_${option_name}` cache or QueryFactor class based on $config object. + * - Sub-batches are created with staggered execution times. + * - Sub-batch cron jobs are scheduled for immediate and 1-minute interval execution. + * - The last sub-batch executes after 19 minutes. + * - Files are merged into `${option_name}.${file_extension}`, and sub-batch files are deleted. + * - Sub-batch cron jobs run after 1 year, and the parent cron job runs after 1 hour. + */ + +/** + * Class CronHelper + * @package CTXFeed\V5\Helper + * + * @since 7.3.0 + */ +class CronHelper { // phpcs:ignore + + /** + * Cron Settings. + * + * @var array + */ + private static $settings = array(); + + /** + * Product Batch Safe Limit. + * + * @var int + */ + private static $cron_job_per_batch = 5000; + + /** + * Cache Expiration. + * + * @var int + */ + private static $cache_expiration = YEAR_IN_SECONDS; + + /** + * Cache Prefix. + * + * @var string + */ + private static $cache_prefix = '__woo_feed_auto_update_cache_'; + + /** + * Constructor + */ + public function __construct() { + $cron_per_batch_setting = Settings::get( 'cron_job__per_batch__safe_limit' ); + if($cron_per_batch_setting) { + self::$cron_job_per_batch = $cron_per_batch_setting; + } + + if (!isset(self::$settings['sub_feed_body_prefix'])) { + self::set_cron_settings(); + } + + // Delete current feed cron jobs. + add_action( 'woo_feed_before_product_loop', array( $this, 'clear_cron_schedule_before_product_query' ), 10, 3 ); + + + add_action( 'woo_feed_after_product_loop', array( $this, 'schedule_cron_job_after_product_query' ), 10, 3 ); + + // Add cron job for all feeds. + $feed_cron_list = self::get_cache( 'woo_feed_cron_list' ); + + if ( ! empty( $feed_cron_list ) ) { + foreach ( $feed_cron_list as $feed_cron_hook_name ) { + add_action( $feed_cron_hook_name, array( $this, 'woo_feed_cron_update_single_feed' ), 10, 1 ); + } + } + + // Add cron job for all feeds sub batches. + $feed_sub_cron_list = self::get_cache( 'woo_feed_sub_cron_list' ); + + if ( ! empty( $feed_sub_cron_list ) ) { + foreach ( $feed_sub_cron_list as $feed_sub_cron_hook_name ) { + add_action( $feed_sub_cron_hook_name, array( $this, 'woo_feed_cron_update_batched_feed' ), 10, 1 ); + } + } + + // Handle old feed. + add_action( 'woo_feed_update_single_feed', array( $this, 'handle_old_single_feed' ), 10, 1 ); + + // Delete old woo_feed_update cron job. + if ( ! self::get_cache( 'is_deleted__woo_feed_update__cron_job' ) || self::is_cron_exits( 'woo_feed_update' ) ) { + self::delete_cron_job( 'woo_feed_update' ); + + return; + } + + self::set_cache( 'is_deleted__woo_feed_update__cron_job', true ); + } + + /** + * Get Cron Hook Name. + * + * @param string $feed_name Feed Name. + * @param bool $is_single_hook Is Single Hook. + * + * @return string + */ + public static function get_cron_hook_name( $feed_name, $is_single_hook = false ) { + $feed_name = str_replace( 'wf_feed_', '', $feed_name ); + $feed_name = str_replace( 'wf_config', '', $feed_name ); + if(!isset(self::$settings['single_feed_hook_prefix'])) { + self::set_cron_settings(); + } + if ( $is_single_hook ) { + if ( strpos( $feed_name, self::$settings['single_feed_hook_prefix'] ) === false ) { + $hook_name = self::$settings['single_feed_hook_prefix'] . $feed_name; + } else { + $hook_name = $feed_name; + } + } elseif ( strpos( $feed_name, self::$settings['sub_feed_body_prefix'] ) === false ) { + $hook_name = self::$settings['sub_feed_body_prefix'] . $feed_name; + } else { + $hook_name = $feed_name; + } + + return $hook_name; + } + + /** + * Delete Cron Job. + * + * @param string $hook_name Cron Hook Name. + * + * @return void + */ + public static function delete_cron_job( $hook_name, $arg_value = false ) { + // !IMPORTANT:: delete also sub hooks. + $crons = _get_cron_array(); + $updated = array_filter( + $crons, + function ( $v ) use ( $hook_name, $arg_value ) { + // If arg value is set then check with arg value. + if ( $arg_value && array_key_exists( $hook_name, $v ) ) { + $cron_job = $v[ $hook_name ]; + $args = array_values( $cron_job ); + foreach ( $args as $arg ) { + if ( isset( $arg['args'] ) && in_array( $arg_value, $arg['args'] ) ) { + return false; + } + } + + return true; + } else { + return ! array_key_exists( $hook_name, $v ); + } + } + ); + + _set_cron_array( $updated ); + } + + + /** + * Delete Cron Job. + * + * @param string $hook_name Cron Hook Name. + * + * @return bool + */ + public static function is_cron_exits( $hook_name ) { + // !IMPORTANT:: delete also sub hooks. + $crons = _get_cron_array(); + $is_cron_exists = array_filter( + $crons, + function ( $v ) use ( $hook_name ) { + return array_key_exists( $hook_name, $v ); + } + ); + + return ! empty( $is_cron_exists ); + } + + /** + * Add Cron Job. + * + * @param string $hook_name Cron Hook Name. + * @param bool $is_single_hook Is Single Hook. + * + * @return void + */ + public static function add_cron_job( $hook_name, $is_single_hook ) { + $hook_name = self::get_cron_hook_name( $hook_name, $is_single_hook ); + self::delete_cron_job( $hook_name ); + + if ( wp_next_scheduled( $hook_name, array( $hook_name ) ) ) { + return; + } + + $interval = self::get_feed_cron_interval(); + wp_schedule_event( time() + $interval, 'woo_feed_corn', $hook_name, array( $hook_name ) ); + } + + /** + * Schedule Cron Job For Sub Batches. + * + * @param string $feed_name Feed Name. + * @param array $cron_batched_ids Cron Batched Ids. + * @param array $batch_data Batch Data. + * @param array $option Feed Option. + * @param bool $execute_now Execute Now or Not. + * + * @return void + */ + private function schedule_cron_job_for_sub_batches( // phpcs:ignore + $feed_name, + $cron_batched_ids, + $batch_data, + $option, + $execute_now = false + ) { // phpcs:ignore + $feed_name = str_replace( 'wf_config', 'wf_feed_', $feed_name ); + $time = 0; + $current_batch_data = array( + 'feed_name' => $feed_name, + 'option' => $option, + 'total_offset' => count( $cron_batched_ids ) - 1, + 'parent_hook_name' => $batch_data['hook_name'], + ); + + + if (!isset(self::$settings['sub_feed_body_prefix'])) { + self::set_cron_settings(); + } + + foreach ( $cron_batched_ids as $index => $batch_ids ) { + $current_batch_name = $feed_name . '_' . $index; + $current_batch_feed_cron_hook_name = self::$settings['sub_feed_body_prefix'] . $current_batch_name; + $current_batch_data['product_ids'] = $batch_ids; + $current_batch_data['offset'] = $index; + $current_batch_data['hook_name'] = $current_batch_feed_cron_hook_name; + + // Delete sub batch cron job. And reschedule it. + self::delete_cron_job( $current_batch_feed_cron_hook_name ); + + if ( wp_next_scheduled( $current_batch_feed_cron_hook_name, array( $current_batch_feed_cron_hook_name ) ) ) { + continue; + } + + // Delete sub batch data if exists. And set new data. + if ( self::get_cache( $current_batch_feed_cron_hook_name ) ) { + self::delete_cache( $current_batch_feed_cron_hook_name ); + } + + self::set_cache( $current_batch_feed_cron_hook_name, wp_json_encode( $current_batch_data ) ); + + if ( $execute_now ) { + if ( $index > 0 ) { + $time += self::$settings['sub_batch_update_interval']; + } + + wp_schedule_event( time() + $time, 'woo_feed_corn', $current_batch_feed_cron_hook_name, array( $current_batch_feed_cron_hook_name ) ); + } else { + wp_schedule_event( time() + YEAR_IN_SECONDS, 'woo_feed_corn', $current_batch_feed_cron_hook_name, array( $current_batch_feed_cron_hook_name ) ); + } + } + } + + + /** + * Clear Cron Schedule Before Update Config. + * + * @param array $product_ids Product Ids. + * @param array $feed_rules Feed Rules. + * @param \CTXFeed\V5\Utility\Config $config Config. + * + * @return void + */ + public function clear_cron_schedule_before_product_query( $product_ids, $feed_rules, $config ) { // phpcs:ignore + $feed_name = $config->get_feed_option_name(); + + if ( ! $feed_name ) { + return; + } + + if (!isset(self::$settings['single_feed_hook_prefix'])) { + self::set_cron_settings(); + } + + self::delete_cron_job( self::$settings['single_feed_hook_prefix'] . $feed_name ); + } + + /** + * Schedule Cron Job After Product Query. + * + * @param array $product_ids Product Ids. + * @param array $feed_rules Feed Rules. + * @param \CTXFeed\V5\Utility\Config $config Config. + * + * @return void + */ + public function schedule_cron_job_after_product_query( $product_ids, $feed_rules, $config ) { // phpcs:ignore + $cron_batched_ids = $this->get_cron_batches( $product_ids ); + $interval = self::get_feed_cron_interval( $product_ids ); + $feed_name = $config->get_feed_option_name(); + + if ( ! $feed_name ) { + return; + } + + if (!isset(self::$settings['single_feed_hook_prefix'])) { + self::set_cron_settings(); + } + + $feed_cron_hook_name = self::$settings['single_feed_hook_prefix'] . $feed_name; + + $batch_data = array( + 'product_ids' => $product_ids, + 'feed_name' => $feed_name, + 'hook_name' => $feed_cron_hook_name, + ); + + if ( ! wp_next_scheduled( $feed_cron_hook_name, array( $feed_cron_hook_name ) ) ) { + if ( self::get_cache( $feed_cron_hook_name ) ) { + self::delete_cache( $feed_cron_hook_name ); + } + + self::set_cache( $feed_cron_hook_name, wp_json_encode( $batch_data ) ); + + if ( self::get_cache( 'woo_feed_cron_list' ) ) { + $feed_cron_list = self::get_cache( 'woo_feed_cron_list' ); + + if ( is_array( $feed_cron_list ) && ! in_array( $feed_cron_hook_name, $feed_cron_list ) ) { // phpcs:ignore + $feed_cron_list[] = $feed_cron_hook_name; + self::set_cache( 'woo_feed_cron_list', $feed_cron_list ); + } + } else { + self::set_cache( 'woo_feed_cron_list', array( $feed_cron_hook_name ) ); + } + + wp_schedule_event( time() + $interval, 'woo_feed_corn', $feed_cron_hook_name, array( $feed_cron_hook_name ) ); + } + + if ( ! count( $cron_batched_ids ) ) { + return; + } + + foreach ( $cron_batched_ids as $index => $batch_ids ) { // phpcs:ignore + $current_batch_name = $feed_name . '_' . $index; + $current_batch_feed_cron_hook_name = self::$settings['sub_feed_body_prefix'] . $current_batch_name; + + self::delete_cron_job( $current_batch_feed_cron_hook_name ); + + if ( wp_next_scheduled( $current_batch_feed_cron_hook_name, array( $current_batch_feed_cron_hook_name ) ) ) { + continue; + } + + if ( self::get_cache( 'woo_feed_sub_cron_list' ) ) { + $feed_sub_cron_list = self::get_cache( 'woo_feed_sub_cron_list' ); + + if ( + is_array( $feed_sub_cron_list ) + && ! in_array( $current_batch_feed_cron_hook_name, $feed_sub_cron_list ) // phpcs:ignore + ) { // phpcs:ignore + $feed_sub_cron_list[] = $current_batch_feed_cron_hook_name; + self::set_cache( 'woo_feed_sub_cron_list', $feed_sub_cron_list ); + } + } else { + self::set_cache( 'woo_feed_sub_cron_list', array( $current_batch_feed_cron_hook_name ) ); + } + + wp_schedule_event( time() + YEAR_IN_SECONDS, 'woo_feed_corn', $current_batch_feed_cron_hook_name, array( $current_batch_feed_cron_hook_name ) ); + } + } + + + /** + * Scheduled Action Hook For Old Single Cron Jobs. + * + * @param string $option_name Old single cron job name which will be 'woo_feed_update_single_feed'. + * + * @return void + */ + public function handle_old_single_feed( $option_name ) { + $results = Feed::get_single_feed( $option_name ); // phpcs:ignore + // If results variable is empty then check with "AttributeValueByType::FEED_RULES_OPTION_PREFIX" prefix. + if ( empty( $results ) ) { + $option_name_with_prefix = AttributeValueByType::FEED_RULES_OPTION_PREFIX . $option_name; + $results = Feed::get_single_feed( $option_name_with_prefix ); // phpcs:ignore + // If results variable is empty then check with "wf_config" prefix. + if ( empty( $results ) ) { + $option_name_with_prefix = 'wf_config' . $option_name; + $results = Feed::get_single_feed( $option_name_with_prefix ); // phpcs:ignore + // If results variable is empty then delete the "woo_feed_update_single_feed". + if ( empty( $results ) ) { + self::delete_cron_job( 'woo_feed_update_single_feed', $option_name ); + + return; + } + } + } + + $feed_info = $results[0]; + + if ( ! isset( $feed_info['option_value']['feedrules'] ) ) { + self::delete_cron_job( 'woo_feed_update_single_feed', $option_name ); + + return; + } + + $config = new Config( $feed_info ); + + // Hook Before Query Products + do_action( 'before_woo_feed_get_product_information', $config ); + + // Get Product Ids + $ids = QueryFactory::get_ids( $config, array() ); + + // Hook After Query Products + do_action( 'after_woo_feed_get_product_information', $config ); + + + if ( ! empty( $ids ) ) { + $this->schedule_cron_job_after_product_query( $ids, $feed_info['option_value']['feedrules'], $config ); + } + + self::delete_cron_job( 'woo_feed_update_single_feed', $option_name ); + } + + /** + * Execute Single Feed Cron Job And Schedule Sub Batch Cron Jobs. + * + * @param string $cache_key Single cron job key. + * + * @return void + */ + public function woo_feed_cron_update_single_feed( $cache_key ) { + $batch_data = self::get_cache( $cache_key ); + $batch_data = json_decode( $batch_data, true ); + + if ( + empty( $batch_data ) + || ! isset( $batch_data['feed_name'] ) + || ! isset( $batch_data['hook_name'] ) + || ! isset( $batch_data['product_ids'] ) + ) { + return; + } + + $feed_name = $batch_data['feed_name']; + + $feed_option_name = AttributeValueByType::FEED_RULES_OPTION_PREFIX . $feed_name; + + + $results = Feed::get_single_feed( $feed_option_name ); // phpcs:ignore + + if ( empty( $results ) ) { + $hook_name = $batch_data['hook_name']; + self::delete_cron_job( $hook_name ); + + return; + } + + $option = $results[0]; + $feed_info = $option['option_value']; + + if ( ! isset( $feed_info['feedrules'] ) || isset( $feed_info['status'] ) && '0' === $feed_info['status'] ) { + return; + } + + $config = new Config( $option ); + + // Hook Before Query Products + do_action( 'before_woo_feed_get_product_information', $config ); + + // Get Product Ids + $ids = QueryFactory::get_ids( $config, array() ); + + // Get Cron Batches + $batch_data['product_ids'] = $ids; + self::delete_cache( $batch_data['hook_name'] ); + self::set_cache( $batch_data['hook_name'], wp_json_encode( $batch_data ) ); + + $cron_batched_ids = $this->get_cron_batches( $ids ); + + // Hook After Query Products + do_action( 'after_woo_feed_get_product_information', $config ); + + if ( ! count( $cron_batched_ids ) ) { + return; + } + + $this->schedule_cron_job_for_sub_batches( $feed_name, $cron_batched_ids, $batch_data, $option, true ); + } + + /** + * Execute Sub Batch Cron Job And Merge All Sub Batched Feed Files Into A Single Feed File. + * + * @param string $cache_key Sub batch cache key. + * + * @return void + */ + public function woo_feed_cron_update_batched_feed( $cache_key ) { // phpcs:ignore + $batch_data = self::get_cache( $cache_key ); + + $batch_data = json_decode( $batch_data, true ); + + // Check if the batch data is valid. + if ( + empty( $batch_data ) + || ! isset( $batch_data['product_ids'] ) + || ! isset( $batch_data['offset'] ) + || ! isset( $batch_data['option'] ) + || ! isset( $batch_data['total_offset'] ) + || ! isset( $batch_data['parent_hook_name'] ) + ) { + return; + } + + $product_ids = $batch_data['product_ids']; + $offset = $batch_data['offset']; + $option = $batch_data['option']; + + $feed_info = $option['option_value']; + $should_update_last_update_time = false; + + if ( $offset === $batch_data['total_offset'] ) { + $should_update_last_update_time = true; + } + + try { + $option = FeedHelper::validate_feed( $option ); + // Create a new prefix for the current feed body. + add_filter( + 'woo_feed_temp_feed_body_prefix', + function ( $prefix ) use ( $offset ) { + if ( $offset === 0 ) { + $prefix_arr = $prefix . $offset . '_'; + } else { + $prefix_arr = explode( '_', $prefix ); + + foreach ( $prefix_arr as $key => $value ) { + if ( ! is_numeric( $value ) ) { + continue; + } + + unset( $prefix_arr[ $key ] ); + } + + $prefix_arr = implode( '_', $prefix_arr ) . $offset . '_'; + } + + return $prefix_arr; + }, + 999, + 1 + ); + + // Generate feed for the current sub batch. + FeedHelper::generate_cron_batched_feed( $option, $offset, $should_update_last_update_time, $product_ids ); + } catch ( \CTXFeed\V5\Helper\Exception $e ) { + $message = 'Error Updating Feed Via CRON Job' . PHP_EOL . 'Caught Exception :: ' . $e->getMessage(); + Logs::write_log( $feed_info['feedrules']['filename'], $message, 'critical', $e, true ); + Logs::write_fatal_log( $message, $e ); + } + + /** + * IF current sub batch is last batch for the feed, then update the last update time. + * And merge all the sub batched feed files into a single feed file. + * Then delete all the sub batched feed files. + */ + if ( ! $should_update_last_update_time ) { + return; + } + + FeedHelper::save_cron_batched_feed_files( $option, $should_update_last_update_time, true ); + $parent_hook_name = $batch_data['parent_hook_name']; + $parent_batch_data = self::get_cache( $parent_hook_name ); + $parent_batch_data = json_decode( $parent_batch_data, true ); + $cron_batches = $this->get_cron_batches( $parent_batch_data['product_ids'] ); + + // Reschedule parent cron job. + self::delete_cron_job( $parent_hook_name ); + $interval = self::get_feed_cron_interval( $parent_batch_data['product_ids'] ); + wp_schedule_event( time() + $interval, 'woo_feed_corn', $parent_hook_name, array( $parent_hook_name ) ); + + + $this->schedule_cron_job_for_sub_batches( $batch_data['feed_name'], $cron_batches, $parent_batch_data, $option, false ); + } + + /** + * Get Cron Batches + * + * @param array $product_ids of product ids. + * + * @return array + */ + public function get_cron_batches( $product_ids ) { + return array_chunk( $product_ids, self::$settings['product_batch_safe_limit'] ); + } + + /** + * Get Feed Cron Interval + * + * !IMPORTANT Feed update interval should be single feed based. Currently it is global. + * + * @param array $product_ids of product ids. + * + * @return int + */ + private static function get_feed_cron_interval( $product_ids = array() ) { + /** + * !IMPORTANT: Feed update interval should be single feed based. Currently it is global. + * If a single feed has 10000 products and another feed has 100 products, then the feed with 10000 products will take more time to update. + * So, the feed with 100 products will be updated more frequently than the feed with 10000 products. + */ + $interval = absint( get_option( 'wf_schedule' ) ); + + if ( ! $interval ) { + $interval = 3600; + } + + if (!isset(self::$settings['product_batch_safe_limit'])) { + self::set_cron_settings(); + } + + $cron_job_per_batch = self::$cron_job_per_batch; + + if ( isset( self::$settings['product_batch_safe_limit'] ) ) { + $cron_job_per_batch = self::$settings['product_batch_safe_limit']; + } + + if ( count( $product_ids ) > $cron_job_per_batch && $interval < 3600 ) { + $interval = 3600; + } + + return apply_filters( 'woo_feed_cron_interval', $interval ); + } + + /** + * Set Cache Data For Cron Job. + * + * @param string $key Cache Key. + * @param mixed $value Cache Value. + * + * @return void + */ + private static function set_cache( $key, $value ) { + update_option( self::$cache_prefix . $key, $value ); + } + + /** + * Get Cache Data For Cron Job. + * + * @param string $key Cache Key. + * + * @return mixed + */ + private static function get_cache( $key ) { + $cache = Cache::get( $key, self::$cache_prefix ); + if ( $cache ) { + self::set_cache( $key, $cache ); + Cache::delete( $key, self::$cache_prefix ); + } + + return get_option( self::$cache_prefix . $key ); + } + + /** + * Delete Cache Data For Cron Job. + * + * @param string $key Cache Key. + */ + private static function delete_cache( $key ) { + Cache::delete( $key, self::$cache_prefix ); + delete_option( self::$cache_prefix . $key ); + } + + /** + * Set Cron Settings. + * + * @return void + */ + public static function set_cron_settings() + { + self::$settings = apply_filters( + 'woo_feed_cron_settings', + array( + 'product_batch_safe_limit' => self::$cron_job_per_batch, + 'sub_batch_update_interval' => 10, + 'sub_feed_body_prefix' => FeedHelper::get_feed_body_temp_prefix(true), + 'single_feed_hook_prefix' => 'woo_feed_update_', + ) + ); + } + + /** + * Is Cron Enabled. + * + * @return bool + */ + private static function is_cron_enabled() + { + return apply_filters('ctx_feed_cron_enabled', Helper::should_init_new_cron_system()); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Helper/CustomFieldHelper.php b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/CustomFieldHelper.php new file mode 100644 index 000000000..1852f8132 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/CustomFieldHelper.php @@ -0,0 +1,44 @@ + array( __( 'Brand', 'woo-feed' ), true, 'taxonomy' ), + 'gtin' => array( __( 'GTIN', 'woo-feed' ), true, 'text' ), + 'mpn' => array( __( 'MPN', 'woo-feed' ), true, 'text' ), + 'ean' => array( __( 'EAN', 'woo-feed' ), true, 'text' ), + 'isbn' => array( __( 'ISBN', 'woo-feed' ), true, 'text' ), + 'age_group' => array( __( 'Age group', 'woo-feed' ), true, 'text' ), + 'gender' => array( __( 'Gender', 'woo-feed' ), true, 'text' ), + 'material' => array( __( 'Material', 'woo-feed' ), true, 'text' ), + 'cost_of_good_sold' => array( __( 'Cost of good sold', 'woo-feed' ), true, 'text' ), + 'availability_date' => array( __( 'Availability Date', 'woo-feed' ), true, 'date' ), + 'unit' => array( __( 'Unit', 'woo-feed' ), true, 'text' ), + 'unit_pricing_measure' => array( __( 'Unit Price Measure', 'woo-feed' ), true, 'text' ), + 'unit_pricing_base_measure' => array( __( 'Unit Price Base Measure', 'woo-feed' ), true, 'text' ), + 'custom_field_0' => array( __( 'Custom field 0', 'woo-feed' ), true, 'text' ), + 'custom_field_1' => array( __( 'Custom field 1', 'woo-feed' ), true, 'text' ), + 'custom_field_2' => array( __( 'Custom field 2', 'woo-feed' ), true, 'text' ), + 'custom_field_3' => array( __( 'Custom field 3', 'woo-feed' ), true, 'text' ), + 'custom_field_4' => array( __( 'Custom field 4', 'woo-feed' ), true, 'text' ), + ); + + return apply_filters( 'woo_feed_product_custom_fields', $custom_fields ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Helper/FeedHelper.php b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/FeedHelper.php new file mode 100644 index 000000000..7ffb8a07c --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/FeedHelper.php @@ -0,0 +1,1890 @@ + $v ) { + if ( true === apply_filters( 'woo_feed_sanitize_form_fields', true, $k, $v, $data ) ) { + if ( is_array( $v ) ) { + $v = self::sanitize_form_fields( $v ); + } else { + // $v = sanitize_text_field( $v ); #TODO should not trim Prefix and Suffix field + } + } + $data[ $k ] = apply_filters( 'woo_feed_sanitize_form_field', $v, $k ); + } + + return $data; + } + + /** + * Generates a unique filename for a feed, ensuring no conflicts in the feed directory. + * + * @param string $file_name The initial filename. + * @param string $type The type of the feed (e.g., 'xml', 'csv'). + * @param string $provider The provider for which the feed is being generated. + * + * @return string|false The unique filename, or false if an error occurs. + */ + public static function generate_unique_feed_file_name( $file_name, $type, $provider ) { + if ( ! \is_string( $file_name ) || ! \is_string( $type ) || ! \is_string( $provider ) ) { + // Handle invalid input types. + return false; + } + + $feed_dir = Helper::get_file_dir( $provider, $type ); + + $raw_filename = \sanitize_title( $file_name, '', 'save' ); + $raw_filename = self::unique_feed_slug( $raw_filename, 'wf_feed_' ); + $raw_filename = \sanitize_file_name( $raw_filename . '.' . $type ); + $raw_filename = \wp_unique_filename( $feed_dir, $raw_filename ); + $base_filename = \str_replace( '.' . $type, '', $raw_filename ); + + return \is_numeric( $base_filename ) ? false : $base_filename; + } + + /** + * Generates a unique slug for a feed by checking against existing database entries. + * This function delegates to CommonHelper::unique_option_name for actual uniqueness check. + * Use generate_unique_feed_file_name() for a complete unique file name generation. + * + * @param string $slug The initial slug for the feed. + * @param string $prefix An optional prefix to prepend to the slug. + * @param int $option_id An optional ID to exclude a specific option from the uniqueness check. + * + * @return string Unique slug for the feed. + * @see CommonHelper::unique_option_name() + */ + public static function unique_feed_slug( $slug, $prefix = '', $option_id = null ) { + return CommonHelper::unique_option_name( $slug, $prefix, $option_id ); + + } + + /** + * Sanitizes and saves feed configuration data to the WordPress options table. + * + * @param array $feed_rules Data to be saved. Should be an associative array of feed rules. + * @param string|null $feed_option_name Optional. The name of the feed option. If null, a name is auto-generated. + * @param bool $configOnly Optional. Whether to save only 'wf_config' or both 'wf_config' and 'wf_feed_'. Defaults to true. + * + * @return bool|string False on failure, or the feed option name on success. + */ + public static function save_feed_config_data( $feed_rules, $feed_option_name = null, $configOnly = true ) { + if ( ! \is_array( $feed_rules ) ) { + // Handle invalid input + return false; + } + + $prepared_feed_rules = self::prepare_feed_rules_to_save( $feed_rules, $feed_option_name ); + if ( ! $prepared_feed_rules ) { + // Handle failure in preparing feed rules + return false; + } + + $feed_option_name = $prepared_feed_rules['feed_option_name']; + $is_update = $prepared_feed_rules['is_update']; + + self::call_action_before_update_feed_config( $is_update, $feed_rules, $feed_option_name ); + + $updated = update_option( $feed_option_name, $prepared_feed_rules['feedrules_to_save'], false ); + + self::call_action_after_update_feed_config( $is_update, $feed_rules, $feed_option_name ); + + // Return feed option name on success or false if update failed + return $updated ? $feed_option_name : false; + } + + + /** + * Prepares feed rules for saving to the database, ensuring data integrity and sanitization. + * + * @param array $feed_rules Data to be saved, expected to contain 'filename', 'feedType', 'provider'. + * @param mixed $feed_option_name Optional. Feed name, auto-generated if null or empty. + * + * @return array|false Returns prepared data for saving or false if input is invalid. + */ + public static function prepare_feed_rules_to_save( $feed_rules, $feed_option_name ) { + if ( ! \is_array( $feed_rules ) || ! self::validate_feed_rules( $feed_rules ) ) { + return false; + } + + $feed_rules = self::remove_unnecessary_fields( $feed_rules ); + + $feed_rules = self::sanitize_form_fields( $feed_rules ); + + // Handle feed option name generation or retrieval. + list( $feed_option_name, $old_feed, $update, $status ) = self::handle_feed_option_name( $feed_rules, $feed_option_name ); + + + $feed_url = self::get_file_url( $feed_option_name, $feed_rules['provider'], $feed_rules['feedType'] ); + + // Modify feed rules before save to database. + $feed_rules = apply_filters( 'woo_feed_insert_feed_data', $feed_rules, $old_feed, $feed_option_name ); + + $feed_rulesToSave = [ + 'feedrules' => $feed_rules, + 'url' => $feed_url, + 'last_updated' => \current_time( 'mysql' ), + 'status' => $status, + ]; + + return [ + 'feedrules_to_save' => $feed_rulesToSave, + 'is_update' => $update, + 'old_data' => $old_feed, + 'feed_option_name' => $feed_option_name, + ]; + } + + /** + * Validates the required keys in feed rules. + * + * @param array $feed_rules + * + * @return bool + */ + private static function validate_feed_rules( $feed_rules ) { + return isset( $feed_rules['filename'], $feed_rules['feedType'], $feed_rules['provider'] ); + } + + /** + * Removes unnecessary fields from feed rules. + * + * @param array $feed_rules + * + * @return array + */ + private static function remove_unnecessary_fields( $feed_rules ) { + // Define fields to remove + $removables = array( 'closedpostboxesnonce', '_wpnonce', '_wp_http_referer', 'save_feed_config', 'edit-feed' ); + foreach ( $removables as $removable ) { + unset( $feed_rules[ $removable ] ); + } + + return $feed_rules; + } + + /** + * Handles the generation or retrieval of feed option name. + * + * @param array $feed_rules + * @param mixed $feed_option_name + * + * @return array + */ + private static function handle_feed_option_name( $feed_rules, $feed_option_name ) { + if ( empty( $feed_option_name ) ) { + $feed_option_name = AttributeValueByType::FEED_RULES_OPTION_PREFIX . self::generate_unique_feed_file_name( + $feed_rules['filename'], + $feed_rules['feedType'], + $feed_rules['provider'] + ); + + return [ $feed_option_name, array(), false, 1 ]; + } else { + $old_feed = maybe_unserialize( get_option( $feed_option_name, [] ) ); + $status = isset( $old_feed['status'] ) && 1 === (int) $old_feed['status'] ? 1 : 0; + + return [ $feed_option_name, $old_feed, true, $status ]; + } + } + + + /** + * @param $update + * @param $feed_rules + * @param $feed_option_name + * + * @return void + */ + public static function call_action_before_update_feed_config( $update, $feed_rules, $feed_option_name ) { + if ( $update ) { + /** + * Before Updating Config to db + * + * @param array $feed_rules An array of sanitized config + * @param string $feed_option_name Option name + */ + do_action( 'woo_feed_before_update_config', $feed_rules, $feed_option_name ); + } else { + /** + * Before inserting Config to db + * + * @param array $feed_rules An array of sanitized config + * @param string $feed_option_name Option name + */ + do_action( 'woo_feed_before_insert_config', $feed_rules, $feed_option_name ); + } + } + + /** + * @param $update + * @param $feed_rules + * @param $feed_option_name + * + * @return void + */ + public static function call_action_after_update_feed_config( $update, $feed_rules, $feed_option_name ) { + if ( $update ) { + /** + * After Updating Config to db + * + * @param array $feed_rules An array of sanitized config + * @param string $feed_option_name Option name + */ + do_action( 'woo_feed_after_update_config', $feed_rules, $feed_option_name ); + } else { + /** + * After inserting Config to db + * + * @param array $feed_rules An array of sanitized config + * @param string $feed_option_name Option name + */ + do_action( 'woo_feed_after_insert_config', $feed_rules, $feed_option_name ); + } + } + + /** + * @param $rules + * @param $context + * + * @return mixed|null + */ + public static function parse_feed_rules( $rules = array(), $context = 'view' ) { + + if ( empty( $rules ) ) { + $rules = array(); + } + + $defaults = Config::default_feed_rules(); + + $rules = wp_parse_args( $rules, $defaults ); + $rules['filter_mode'] = wp_parse_args( + $rules['filter_mode'], + array( + 'product_ids' => 'include', + 'categories' => 'include', + 'post_status' => 'include', + ) + ); + + $rules['campaign_parameters'] = wp_parse_args( + $rules['campaign_parameters'], + array( + 'utm_source' => '', + 'utm_medium' => '', + 'utm_campaign' => '', + 'utm_term' => '', + 'utm_content' => '', + ) + ); + + if ( ! empty( $rules['provider'] ) && is_string( $rules['provider'] ) ) { + /** + * filter parsed rules for provider + * + * @param array $rules + * @param string $context + * + * @since 3.3.7 + * + */ + $rules = apply_filters( "woo_feed_{$rules['provider']}_parsed_rules", $rules, $context ); + } + + /** + * filter parsed rules + * + * @param array $rules + * @param string $context + * + * @since 3.3.7 $provider parameter removed + * + */ + return apply_filters( 'woo_feed_parsed_rules', $rules, $context ); + } + + /** + * Get pro version feed default rules. + * + * @param $rules + * + * @return mixed|null + */ + private static function free_default_feed_rules( $rules = [] ) { + $defaults = array( + 'provider' => '', + 'filename' => '', + 'feedType' => '', + 'feed_country' => '', + 'ftpenabled' => 0, + 'ftporsftp' => 'ftp', + 'ftphost' => '', + 'ftpport' => '21', + 'ftpuser' => '', + 'ftppassword' => '', + 'ftppath' => '', + 'ftpmode' => 'active', + 'is_variations' => 'y', + 'variable_price' => 'first', + 'variable_quantity' => 'first', + 'feedLanguage' => apply_filters( 'wpml_current_language', null ), + 'feedCurrency' => get_woocommerce_currency(), + 'itemsWrapper' => 'products', + 'itemWrapper' => 'product', + 'delimiter' => ',', + 'enclosure' => 'double', + 'extraHeader' => '', + 'vendors' => array(), + // Feed Config + 'mattributes' => array(), // merchant attributes + 'prefix' => array(), // prefixes + 'type' => array(), // value (attribute) types + 'attributes' => array(), // product attribute mappings + 'default' => array(), // default values (patterns) if value type set to pattern + 'suffix' => array(), // suffixes + 'output_type' => array(), // output type (output filter) + 'limit' => array(), // limit or command + // filters tab + 'composite_price' => '', + 'shipping_country' => '', + 'tax_country' => '', + 'product_ids' => '', + 'categories' => array(), + 'post_status' => array( 'publish' ), + 'filter_mode' => array(), + 'campaign_parameters' => array(), + + 'ptitle_show' => '', + 'decimal_separator' => wc_get_price_decimal_separator(), + 'thousand_separator' => wc_get_price_thousand_separator(), + 'decimals' => wc_get_price_decimals(), + ); + $rules = wp_parse_args( $rules, $defaults ); + + return apply_filters( 'woo_feed_free_default_feed_rules', $rules ); + } + + /** + * Get pro version feed default rules. + * + * @param $rules + * + * @return mixed|null + */ + private static function pro_default_feed_rules( $rules = [] ) { + $defaults = array( + 'provider' => '', + 'feed_country' => '', + 'filename' => '', + 'feedType' => '', + 'ftpenabled' => 0, + 'ftporsftp' => 'ftp', + 'ftphost' => '', + 'ftpport' => '21', + 'ftpuser' => '', + 'ftppassword' => '', + 'ftppath' => '', + 'ftpmode' => 'active', + 'is_variations' => 'y', // Only Variations (All Variations) + 'variable_price' => 'first', + 'variable_quantity' => 'first', + 'feedLanguage' => apply_filters( 'wpml_current_language', null ), + 'feedCurrency' => get_woocommerce_currency(), + 'itemsWrapper' => 'products', + 'itemWrapper' => 'product', + 'delimiter' => ',', + 'enclosure' => 'double', + 'extraHeader' => '', + 'vendors' => array(), + // Feed Config + 'mattributes' => array(), // merchant attributes + 'prefix' => array(), // prefixes + 'type' => array(), // value (attribute) types + 'attributes' => array(), // product attribute mappings + 'default' => array(), // default values (patterns) if value type set to pattern + 'suffix' => array(), // suffixes + 'output_type' => array(), // output type (output filter) + 'limit' => array(), // limit or command + // filters tab + 'composite_price' => 'all_product_price', + 'product_ids' => '', + 'categories' => array(), + 'post_status' => array( 'publish' ), + 'filter_mode' => array(), + 'campaign_parameters' => array(), + 'is_outOfStock' => 'n', + 'is_backorder' => 'n', + 'is_emptyDescription' => 'n', + 'is_emptyImage' => 'n', + 'is_emptyPrice' => 'n', + 'product_visibility' => 0, + // include hidden ? 1 yes 0 no + 'outofstock_visibility' => 0, + // override wc global option for out-of-stock product hidden from catalog? 1 yes 0 no + 'ptitle_show' => '', + 'decimal_separator' => wc_get_price_decimal_separator(), + 'thousand_separator' => wc_get_price_thousand_separator(), + 'decimals' => wc_get_price_decimals(), + ); +// $defaults = [ +// "provider" => "", +// "feed_country" => "", +// "filename" => "", +// "feedType" => "xml", +// "ftpenabled" => false, +// "ftporsftp" => "ftp", +// "ftphost" => "", +// "ftpport" => "21", +// "ftpuser" => "", +// "ftppassword" => "", +// "ftppath" => "", +// "ftpmode" => "active", +// "is_variations" => "y", +// "variable_price" => "first", +// "variable_quantity" => "first", +// 'feedLanguage' => apply_filters( 'wpml_current_language', null ), +// 'feedCurrency' => get_woocommerce_currency(), +// "itemsWrapper" => "products", +// "itemWrapper" => "product", +// "delimiter" => ",", +// "enclosure" => "double", +// "extraHeader" => "", +// "vendors" => [], +// "mattributes" => [], +// "prefix" => [], +// "type" => [], +// "attributes" => [], +// "default" => [], +// "suffix" => [], +// "output_type" => [], +// "limit" => [], +// "composite_price" => "all_product_price", +// "product_ids" => [], +// "categories" => [], +// "post_status" => ["publish"], +// "filter_mode" => [ +// "product_ids" => "include", +// "categories" => "include", +// "post_status" => "include" +// ], +// "campaign_parameters" => [ +// "utm_source" => "", +// "utm_medium" => "", +// "utm_campaign" => "", +// "utm_term" => "", +// "utm_content" => "" +// ], +// "is_outOfStock" => false, +// "is_backorder" => false, +// "is_emptyDescription" => false, +// "is_emptyImage" => false, +// "is_emptyPrice" => false, +// "product_visibility" => false, +// "outofstock_visibility" => false, +// "ptitle_show" => "", +// 'decimal_separator' => wc_get_price_decimal_separator(), +// 'thousand_separator' => wc_get_price_thousand_separator(), +// 'decimals' => wc_get_price_decimals(), +// "feed_option_name" => "", +// "feed_id" => "", +// "meta-box-order-nonce" => "", +// "shipping_country" => "", +// "tax_country" => "", +// "str_replace" => [ +// [ +// "subject" => "", +// "search" => "", +// "replace" => "" +// ] +// ], +// "concatType" => [], +// "fattribute" => [], +// "condition" => [], +// "filterCompare" => [], +// "wf_tabs" => true, +// "option_id" => "", +// "option_name" => "" +// ]; + + $rules = wp_parse_args( $rules, $defaults ); + + + return apply_filters( 'woo_feed_pro_default_feed_rules', $rules ); + } + + + /** + * @param $item + * @param $request + * + * @return void|\WP_Error|\WP_REST_Response + */ + public static function prepare_item_for_response( $item ) { + $actual_value_from_db = $item; + if ( isset( $item['option_value'] ) ) { + $item['option_value'] = maybe_unserialize( maybe_unserialize( $item['option_value'] ) ); + + return apply_filters( 'woo_feed_prepare_item_for_response', $item, $actual_value_from_db ); + } else { + $item['option_value'] = maybe_unserialize( get_option( $item['option_name'] ) ); + } + + if ( ! isset( $item['option_value']['url'] ) ) { + $item['option_value']['url'] = Helper::get_file_url( $item['option_name'], $item['option_value']['feedrules']['provider'], $item['option_value']['feedrules']['feedType'] ); + } + + if ( ! isset( $item['option_value']['status'] ) ) { + $item['option_value']['status'] = false; + } + + return apply_filters( 'woo_feed_prepare_item_for_response', $item, $actual_value_from_db ); + } + + /** + * @param $feed_lists + * @param $status + * + * @return array + */ + public static function prepare_all_feeds( $feed_lists, $status ) { + $lists = []; + + foreach ( $feed_lists as $feed ) { + $item = self::prepare_item_for_response( $feed ); + // Skip invalid feed structure + if ( ! self::validate_feed_structure( $item ) ) { + continue; + } + if ( apply_filters( 'woo_feed_should_apply_validate_feed_structure', false ) && ! self::validate_feed_structure( $item, 'full' ) ) { + continue; + } + + if ( $status ) { + if ( \is_object( $item['option_value'] ) ) { + $lists[] = $item; + continue; + } + if ( 'active' === $status && 1 === $item['option_value']['status'] ) { + $lists[] = $item; + } + if ( 'inactive' === $status && 0 === $item['option_value']['status'] ) { + $lists[] = $item; + } + } else { + $lists[] = $item; + } + } + + // Modify the feed list before returning. + return apply_filters( 'woo_feed_prepare_all_feeds', $lists, $feed_lists, $status ); + } + + + /** + * Validates the structure of a feed option. + * + * @param $feed + * @param $validation_type + * + * @return bool + */ + public static function validate_feed_structure( $feed, $validation_type = 'partial' ) { + // Define the nested structure of required keys + $required_structure = [ + 'option_id' => 'scalar', + 'option_name' => 'scalar', + 'option_value' => [ + 'feedrules' => [ + 'provider' => 'scalar', + 'feed_country' => 'scalar', + 'filename' => 'scalar', + 'feedType' => 'scalar', + 'ftpenabled' => 'scalar', + 'ftporsftp' => 'scalar', + 'ftphost' => 'scalar', + 'ftpport' => 'scalar', + 'ftpuser' => 'scalar', + 'ftppassword' => 'scalar', + 'ftppath' => 'scalar', + 'ftpmode' => 'scalar', + 'is_variations' => 'scalar', + 'variable_price' => 'scalar', + 'variable_quantity' => 'scalar', + 'feedLanguage' => 'scalar', + 'feedCurrency' => 'scalar', + 'itemsWrapper' => 'scalar', + 'itemWrapper' => 'scalar', + 'delimiter' => 'scalar', + 'enclosure' => 'scalar', + 'extraHeader' => 'scalar', + 'vendors' => 'array', + 'mattributes' => 'array', + 'prefix' => 'array', + 'type' => 'array', + 'attributes' => 'array', + 'default' => 'array', + 'suffix' => 'array', + 'output_type' => 'array', + 'limit' => 'array', + 'composite_price' => 'scalar', + 'product_ids' => 'array', + 'categories' => 'array', + 'post_status' => 'array', + 'filter_mode' => [ + 'product_ids' => 'scalar', + 'categories' => 'scalar', + 'post_status' => 'scalar', + ], + 'campaign_parameters' => [ + 'utm_source' => 'scalar', + 'utm_medium' => 'scalar', + 'utm_campaign' => 'scalar', + 'utm_term' => 'scalar', + 'utm_content' => 'scalar', + ], + 'is_outOfStock' => 'scalar', + 'is_backorder' => 'scalar', + 'is_emptyDescription' => 'scalar', + 'is_emptyImage' => 'scalar', + 'is_emptyPrice' => 'scalar', + 'product_visibility' => 'scalar', + 'outofstock_visibility' => 'scalar', + 'ptitle_show' => 'scalar', + 'decimal_separator' => 'scalar', + 'thousand_separator' => 'scalar', + 'decimals' => 'scalar', + 'feed_option_name' => 'scalar', + 'feed_id' => 'scalar', + 'meta-box-order-nonce' => 'scalar', + 'shipping_country' => 'scalar', + 'tax_country' => 'scalar', + 'str_replace' => 'array', + 'concatType' => 'array', + 'fattribute' => 'array', + 'condition' => 'array', + 'filterCompare' => 'array', + 'wf_tabs' => 'scalar', + ], + 'url' => 'scalar', + 'last_updated' => 'scalar', + 'status' => 'scalar', + ], + 'autoload' => 'scalar', + ]; + $is_valid = false; + if( $validation_type == 'partial' ) { + if(isset($feed['option_value'], $feed['option_name'],$feed['option_value']['feedrules'], $feed['option_value']['feedrules']['provider'], $feed['option_value']['feedrules']['feedType'] ) && $feed['option_value']['feedrules']['provider'] && $feed['option_value']['feedrules']['feedType'] ) { + $is_valid = true; + } + }else{ + $is_valid = self::validate_structure( $feed, $required_structure ); + } + + + + return apply_filters( 'woo_feed_validate_feed_structure', $is_valid, $feed, $required_structure ); + } + + /** + * Validates the structure of a feed option. + * + * @param $array + * @param $required_structure + * + * @return bool + */ + private static function validate_structure( $array, $required_structure ) { + $is_valid = true; + foreach ( $required_structure as $key => $value ) { + if ( ! array_key_exists( $key, $array ) ) { + // Key is missing + $is_valid = false; + break; + } + if ( is_array( $value ) ) { + if ( ! is_array( $array[ $key ] ) ) { + // Expected an array, found something else + $is_valid = false; + break; + } + // Recursive check for nested structure + $valid = self::validate_structure( $array[ $key ], $value ); + if ( ! $valid ) { + $is_valid = false; + break; + } + } else { + if ( $value === 'scalar' && is_array( $array[ $key ] ) ) { + // Expected a scalar value, found an array + $is_valid = false; + break; + } + } + } + + return $is_valid; + } + + + /** + * Removes predefined prefixes from a feed option name and returns the resulting slug. + * + * @param string $feed The feed option name from which to remove prefixes. + * + * @return string The slug derived from the feed option name after removing specific prefixes. + */ + public static function get_feed_option_name( $feed ) { + if ( ! \is_string( $feed ) ) { + // Handle invalid input. + return ''; + } + + // Define the prefixes to be removed. Consider making these configurable if necessary. + $prefixes_to_remove = [ 'wf_feed_', 'wf_config' ]; + + return \str_replace( $prefixes_to_remove, '', $feed ); + } + + + /** + * Get Schedule Intervals + * @return mixed + */ + public static function get_schedule_interval_options() { + if ( Helper::is_pro() ) { + $interval_options = array( + WEEK_IN_SECONDS => esc_html__( '1 Week', 'woo-feed' ), + DAY_IN_SECONDS => esc_html__( '24 Hours', 'woo-feed' ), + 12 * HOUR_IN_SECONDS => esc_html__( '12 Hours', 'woo-feed' ), + 6 * HOUR_IN_SECONDS => esc_html__( '6 Hours', 'woo-feed' ), + HOUR_IN_SECONDS => esc_html__( '1 Hour', 'woo-feed' ), + 30 * MINUTE_IN_SECONDS => esc_html__( '30 Minutes', 'woo-feed' ), + 15 * MINUTE_IN_SECONDS => esc_html__( '15 Minutes', 'woo-feed' ), + 5 * MINUTE_IN_SECONDS => esc_html__( '5 Minutes', 'woo-feed' ) + ); + } else { + $interval_options = array( + WEEK_IN_SECONDS => esc_html__( '1 Week', 'woo-feed' ), + DAY_IN_SECONDS => esc_html__( '24 Hours', 'woo-feed' ), + 12 * HOUR_IN_SECONDS => esc_html__( '12 Hours', 'woo-feed' ), + 6 * HOUR_IN_SECONDS => esc_html__( '6 Hours', 'woo-feed' ), + HOUR_IN_SECONDS => esc_html__( '1 Hour', 'woo-feed' ), + ); + } + + return apply_filters( + 'woo_feed_schedule_interval_options', $interval_options + ); + } + + /** + * @return false|float|int|string + */ + public static function get_minimum_interval_option() { + $intervals = \array_keys( self::get_schedule_interval_options() ); + if ( ! empty( $intervals ) ) { + return \end( $intervals ); + } + + return 15 * MINUTE_IN_SECONDS; + } + + /** + * Get Merchant list that are allowed on Custom2 Template + * @return array + */ + public static function get_custom2_merchant() { + return array( 'custom2', 'admarkt', 'yandex_xml', 'glami' ); + } + + /** + * Get Feed File URL + * + * @param string $file_name + * @param string $provider + * @param string $type + * + * @return string + */ + public static function get_file_url( $file_name, $provider, $type ) { + $file_name = Helper::extract_feed_option_name( $file_name ); + $upload_dir = wp_get_upload_dir(); + + return esc_url( + \sprintf( + '%s/woo-feed/%s/%s/%s.%s', + $upload_dir['baseurl'], + $provider, + $type, + $file_name, + $type + ) + ); + } + + /** + * Removes temporary feed files based on the given configuration and file name. + * + * @param array $config Feed configuration data. + * @param string $file_name The name of the feed file. + * @param bool $auto Flag indicating whether the process is automatic. + * + * @return void + */ + public static function unlink_temporary_files( $config, $file_name, $auto = false ) { + if ( ! \is_array( $config ) || ! \is_string( $file_name ) ) { + // Handle invalid input. + return; + } + + $type = $config['feedType']; + $ext = self::get_file_type( $type ); + $path = Helper::get_file_dir( $config['provider'], $type ); + + $temp_feed_body_prefix = self::get_feed_body_temp_prefix( $auto ); + + $files = [ + 'headerFile' => $path . '/' . AttributeValueByType::FEED_TEMP_HEADER_PREFIX . $file_name . '.' . $ext, + 'bodyFile' => $path . '/' . $temp_feed_body_prefix . $file_name . '.' . $ext, + 'footerFile' => $path . '/' . AttributeValueByType::FEED_TEMP_FOOTER_PREFIX . $file_name . '.' . $ext, + ]; + + foreach ( $files as $file ) { + if ( \file_exists( $file ) ) { + \unlink( $file ); // Consider adding error handling here. + } + } + } + + + /** + * Removes temporary feed files based on the given configuration and file name. + * + * @param array $config Feed configuration data. + * @param string $file_name The name of the feed file. + * @param bool $auto Flag indicating whether the process is automatic. + * + * @return void + */ + public static function unlink_temporary_cron_files( $path, $option_name, $files = [] ) { + if ( empty( $files ) || ! \is_string( $option_name ) ) { + // Handle invalid input. + return; + } + + foreach ( $files as $file ) { + $temp_file_name = $path . '/' . $file; + + if ( \file_exists( $temp_file_name ) ) { + \unlink( $temp_file_name ); // Consider adding error handling here. + } + + } + } + + + /** + * Saves a batch chunk of feed information to a file. + * + * @param string $feed_service Merchant service. + * @param string $type File type (extension). + * @param string|array $string Data to be saved. + * @param string $file_name File name. + * @param array $info Feed configuration. + * + * @return bool True on successful save, false otherwise. + */ + public static function save_batch_feed_info( $feed_service, $type, $string, $file_name, $info ) { + if ( ! \is_string( $feed_service ) || ! \is_string( $type ) || ! ( \is_string( $string ) || \is_array( $string ) ) || ! \is_string( $file_name ) ) { + // Handle invalid input. + return false; + } + + $ext = self::get_file_type( $type ); + if ( 'json' === $ext ) { + $string = \wp_json_encode( $string ); + } + + $path = Helper::get_file_dir( $feed_service, $type ); + $file = $path . '/' . $file_name . '.' . $ext; + $status = FileSystem::saveFile( $path, $file, $string ); + + if ( Helper::is_debugging_enabled() ) { + $message = $status ? \sprintf( 'Batch chunk file (%s) saved.', $file_name ) : + \sprintf( 'Unable to save batch chunk file %s.', $file_name ); + woo_feed_log_feed_process( $info['filename'], $message ); + } + + return $status; + } + + /** + * Retrieves batch feed information from a file. + * + * @param string $feed_service The feed service. + * @param string $type The file type. + * @param string $file_name The file name. + * + * @return bool|array|string False if file does not exist or data is not readable, array or JSON string otherwise. + */ + public static function get_batch_feed_info( $feed_service, $type, $file_name ) { + if ( ! \is_string( $feed_service ) || ! \is_string( $type ) || ! \is_string( $file_name ) ) { + // Handle invalid input. + return false; + } + + $ext = self::get_file_type( $type ); + $path = Helper::get_file_dir( $feed_service, $type ); + $file = $path . '/' . $file_name . '.' . $ext; + + if ( ! \file_exists( $file ) ) { + return false; + } + + $data = \file_get_contents( $file ); // Consider adding error handling here. + if ( false === $data ) { + return false; + } + + return 'json' === $ext ? \json_decode( $data, true ) : $data; + } + + /** + * Determines the appropriate file extension type for the given file type. + * + * @param string $type The file type (e.g., 'csv', 'json'). + * + * @return string The determined file extension type, defaults to 'json' for certain types. + */ + public static function get_file_type( $type ) { + if ( ! \is_string( $type ) ) { + // Handle non-string type. + return ''; + } + + $json_types = array( 'csv', 'tsv', 'xls', 'xlsx', 'json' ); + + return \in_array( $type, $json_types ) ? 'json' : $type; + } + + /** + * Determines if the content of a given file type should be JSON decoded. + * + * @param string $type The file type (e.g., 'csv', 'json'). + * + * @return bool True if the content should be JSON decoded, false otherwise. + */ + public static function should_json_decode( $type ) { + if ( ! \is_string( $type ) ) { + // Handle non-string type. + return false; + } + + $json_decodable_types = array( 'csv', 'tsv', 'xls', 'xlsx', 'json' ); + + return \in_array( $type, $json_decodable_types ); + } + + + /** + * @param $file_ext_type + * + * @return bool + */ + public static function should_create_footer( $file_ext_type ) { + return 'xml' == $file_ext_type; + } + + /** + * @param $value + * + * @return bool + */ + public static function is_attribute_price_type( $value ) { + return \in_array( $value, [ + 'price', + 'current_price', + 'sale_price', + 'price_with_tax', + 'current_price_with_tax', + 'sale_price_with_tax' + ] ); + } + + /** + * @return string[] + */ + public static function get_special_templates() { + return array( + 'custom2', + 'admarkt', + 'glami', + 'yandex_xml', + ); + } + + /** + * @param $feed_info + * + * @return array + */ + public static function get_product_ids( $feed_info ) { + + $config = new Config( $feed_info ); + + do_action( 'before_woo_feed_get_product_information', $config ); + + $ids = QueryFactory::get_ids( $config ); + + do_action( 'after_woo_feed_get_product_information', $config ); + + return $ids; + } + + private static function should_create_header_footer( $path, $feed_name, $file_type, $auto_update ) { + $should_create_header_footer = false; + + $temp_feed_header_name = $auto_update ? AttributeValueByType::AUTO_FEED_TEMP_HEADER_PREFIX : AttributeValueByType::FEED_TEMP_HEADER_PREFIX; + $temp_feed_footer_name = $auto_update ? AttributeValueByType::AUTO_FEED_TEMP_FOOTER_PREFIX : AttributeValueByType::FEED_TEMP_FOOTER_PREFIX; + $temp_feed_header_name .= $feed_name . $file_type; + $temp_feed_footer_name .= $feed_name . $file_type; + + if ( ! file_exists( $path . '/' . $temp_feed_header_name ) ) { + $should_create_header_footer = true; + } + + if ( ! file_exists( $path . '/' . $temp_feed_footer_name ) && self::should_create_footer( $file_type ) ) { + $should_create_header_footer = true; + } + + return $should_create_header_footer; + } + + /** + * @param $feed_info + * @param $product_ids + * @param $offset + * @param $status + * + * @return bool|mixed + */ + public static function generate_temp_feed_body( $feed_info, $product_ids, $offset, $status = false, $auto = false ) { + + $feed_rules = $feed_info['option_value']['feedrules']; + $feed_name = Helper::extract_feed_option_name( $feed_info['option_name'] ); + + $config = new Config( $feed_info ); + + do_action( 'before_woo_feed_generate_batch_data', $config ); + + if ( ! empty( $feed_rules['provider'] ) ) { + + $provider = $config->get_feed_template(); + $file_ext_type = $config->get_feed_file_type(); + if ( $offset === 0 ) { + self::unlink_temporary_files( $feed_rules, $feed_rules['filename'], $auto ); + } + $path = Helper::get_file_dir( $provider, $file_ext_type ); + + $feed_template = TemplateFactory::make_feed( $product_ids, $config ); + //Generate Header footer + // TODO: call this function only when offset is 0. But when creating the new feed 0 is calling 2 times. and not generating the header footer. + if ( self::should_create_header_footer( $path, $feed_name, $file_ext_type, $auto ) ) { + self::generate_header_footer( $feed_template, $file_ext_type, $feed_name, $feed_rules, $provider, $auto ); + } + + $current_feed = $feed_template->get_feed(); + woo_feed_log_feed_process( $feed_rules['filename'], sprintf( 'Initializing merchant Class %s for %s', $provider, $provider ) ); + if ( ! empty( $current_feed ) ) { + // Get previous feed body data from temporary file to concat with current data. + //$temp_feed_body_name = AttributeValueByType::AUTO_FEED_TEMP_BODY_PREFIX . $feed_name; + $temp_feed_body_prefix = self::get_feed_body_temp_prefix( $auto ); + $temp_feed_body_name = $temp_feed_body_prefix . $feed_name; + + $previous_feed = self::get_batch_feed_info( $provider, $file_ext_type, $temp_feed_body_name ); + + // Has previous feed body. + if ( $previous_feed ) { + /** + * If file extension type is csv, tsv, xls, json, xlsx then + * merge previous array with current array + * + * Else concat previous feed body with current feed body + */ + if ( 'csv' === $file_ext_type || 'tsv' === $file_ext_type || 'xls' === $file_ext_type || 'json' === $file_ext_type || 'xlsx' === $file_ext_type ) { + if ( \is_array( $previous_feed ) ) { + $newFeed = \array_merge( $previous_feed, $current_feed ); + self::save_batch_feed_info( $provider, $file_ext_type, $newFeed, $temp_feed_body_name, $feed_rules ); + } else { + $newFeed = $previous_feed . $current_feed; + self::save_batch_feed_info( $provider, $file_ext_type, $newFeed, $temp_feed_body_name, $feed_rules ); + } + } else { + $newFeed = $previous_feed . $current_feed; + self::save_batch_feed_info( $provider, $file_ext_type, $newFeed, $temp_feed_body_name, $feed_rules ); + } + } else { + self::save_batch_feed_info( $provider, $file_ext_type, $current_feed, $temp_feed_body_name, $feed_rules ); + } + $status = true; + } else { + $status = false; + } + } + do_action( 'after_woo_feed_generate_batch_data', $config ); + + return $status; + } + + private static function get_re_indexed_files( $files ) { + + $header_index = null; + $footer_index = null; + $header_value = ''; + $footer_value = ''; + // Find header and footer indices + foreach ( $files as $key => $value ) { + if ( strpos( $value, 'header' ) !== false ) { + $header_index = $key; + } + if ( strpos( $value, 'footer' ) !== false ) { + $footer_index = $key; + } + } + + // Move header to the first position if it exists + if ( isset( $files[ $header_index ] ) && $header_index !== null ) { + $header_value = $files[ $header_index ]; + unset( $files[ $header_index ] ); + } + + // Move footer to the last position if it exists + if ( isset( $files[ $footer_index ] ) && $footer_index !== null ) { + $footer_value = $files[ $footer_index ]; + unset( $files[ $footer_index ] ); + } + + + if ( ! empty( $header_value ) ) { + array_unshift( $files, $header_value ); + } + if ( ! empty( $footer_value ) ) { + array_push( $files, $footer_value ); + } + + + return array_values( $files ); + } + + + /** + * @param $path + * @param $option_name + * @param $feed_type_ext + * + * @return array + */ + private static function get_re_indexed_and_valid_files( $path, $option_name, $feed_type_ext ) { + + // get all batched files and merge them. and save them in one file to extension type folder. + // Read files in the directory + $files = scandir( $path ); + + // Filter out '.' and '..' (current and parent directory entries) + $files = array_diff( $files, array( '.', '..' ) ); + + + $valid_files = []; + // Find header and footer indices + foreach ( $files as $key => $file ) { + + if ( strpos( $file, $feed_type_ext ) === false || strpos( $file, $option_name ) === false || empty( $file ) ) { + continue; + } + + if ( strpos( $file, 'header' ) !== false && strpos( $file, AttributeValueByType::AUTO_FEED_TEMP_HEADER_PREFIX ) !== false ) { + $valid_files[] = $file; + continue; + } + + if ( strpos( $file, 'footer' ) !== false && strpos( $file, AttributeValueByType::AUTO_FEED_TEMP_FOOTER_PREFIX ) !== false ) { + $valid_files[] = $file; + continue; + } + + if ( strpos( $file, AttributeValueByType::AUTO_FEED_TEMP_BODY_PREFIX ) === false ) { + continue; + } + + $valid_files[] = $file; + + } + + $get_re_indexed_files = self::get_re_indexed_files( $valid_files ); + + return $get_re_indexed_files; + } + + + /** + * @param $feed_info + * @param $should_update_last_update_time + * + * <<<<<<< HEAD + * ======= + * + * @return array + */ + public static function save_cron_batched_feed_files( $feed_info, $should_update_last_update_time = false, $auto = true ) { + $option_name_orginal = $feed_info['option_name']; + $provider = $feed_info['option_value']['feedrules']['provider']; + $feed_type_ext = $feed_info['option_value']['feedrules']['feedType']; + + $path = Helper::get_file_dir( $provider, $feed_type_ext ); + $option_name = Helper::extract_feed_option_name( $option_name_orginal ); + $feed_url = Helper::get_file_url( $option_name, $provider, $feed_type_ext ); + $contents = ''; + + $files = self::get_re_indexed_and_valid_files( $path, $option_name, $feed_type_ext ); + + foreach ( $files as $file ) { + $temp_content = FileSystem::ReadFile( $path, $file ); + // If there is a problem regarding file system or other. + if ( is_wp_error( $temp_content ) ) { + continue; + } + + if ( self::should_json_decode( $feed_type_ext ) ) { + $temp_content = \json_decode( $temp_content, true ); + if ( \is_array( $temp_content ) || 'json' === $feed_type_ext ) { // json, csv fil + $temp_contents = $contents ? $contents : []; + $temp_content = $temp_content ? $temp_content : []; + $contents = \array_merge( $temp_contents, $temp_content ); + } else { + $contents .= $temp_content; + } + } else { + $contents .= $temp_content; + } + } + + + $file_name = $option_name . '.' . $feed_type_ext; + + if ( is_array( $contents ) ) { // file type json, csv + $contents = wp_json_encode( $contents ); + $status = FileSystem::WriteFile( $contents, $path, $file_name ); + }else if ( $contents ) { + $status = FileSystem::WriteFile( $contents, $path, $file_name ); + } else { + $status = false; + } + + // Upload ftp/sftp if enabled. + self::upload_feed_file_to_ftp_server( $feed_info, $path, $file_name ); + + // Remove temporary files. + self::unlink_temporary_cron_files( $path, $option_name, $files ); + + // Delete temporary cache data. + Cache::delete( 'wad_discounts' ); + + if ( ! isset( $feed_info['option_value']['url'] ) ) { + $feed_info['option_value']['url'] = Helper::get_file_url( $feed_info['option_name'], $feed_info['option_value']['feedrules']['provider'], $feed_info['option_value']['feedrules']['feedType'] ); + } + + if ( ! isset( $feed_info['option_value']['status'] ) ) { + $feed_info['option_value']['status'] = false; + } + + if ( $should_update_last_update_time ) { + $feed_info['option_value']['last_updated'] = \date( 'Y-m-d H:i:s', \strtotime( \current_time( 'mysql' ) ) ); + update_option( $option_name_orginal, $feed_info['option_value'] ); + } + + return [ + 'status' => $status, + 'feed_url' => $feed_url, + ]; + + } + + /** + * @param $feed_info + * @param $should_update_last_update_time + * + * >>>>>>> feature/CV-79 + * + * @return array + */ + public static function save_feed_file( $feed_info, $should_update_last_update_time = false, $auto = false ) { + $option_name_orginal = $feed_info['option_name']; + $provider = $feed_info['option_value']['feedrules']['provider']; + $feed_type_ext = $feed_info['option_value']['feedrules']['feedType']; + + $path = Helper::get_file_dir( $provider, $feed_type_ext ); + $option_name = Helper::extract_feed_option_name( $option_name_orginal ); + $feed_url = Helper::get_file_url( $option_name, $provider, $feed_type_ext ); + + $contents = ''; + $sections = [ 'header', 'body', 'footer' ]; + // Remove the footer if feed type is csv + if ( ! self::should_create_footer( $feed_type_ext ) ) { + $sections = \array_filter( $sections, function ( $section ) { + return 'footer' != $section; + } ); + } + + $temp_file_name = ''; + foreach ( $sections as $section ) { + $temp_file_ext = self::get_file_type( $feed_type_ext ); + if ( 'header' === $section ) { + $temp_file_name = AttributeValueByType::FEED_TEMP_HEADER_PREFIX . $option_name . '.' . $temp_file_ext; + } elseif ( 'footer' === $section ) { + $temp_file_name = AttributeValueByType::FEED_TEMP_FOOTER_PREFIX . $option_name . '.' . $temp_file_ext; + } else { + $temp_feed_body_prefix = self::get_feed_body_temp_prefix( $auto ); + $temp_file_name = $temp_feed_body_prefix . $option_name . '.' . $temp_file_ext; + } + + $temp_content = FileSystem::ReadFile( $path, $temp_file_name ); + + // If there is a problem regarding file system or other. + if ( is_wp_error( $temp_content ) ) { + $status = new WP_Error( + $temp_content->get_error_code(), + $temp_content->get_error_message(), + [ 'status' => 404 ] + ); + + return [ + 'status' => $status, + 'feed_url' => $feed_url, + ]; + } + + if ( self::should_json_decode( $feed_type_ext ) ) { + $temp_content = \json_decode( $temp_content, true ); + if ( \is_array( $temp_content ) || 'json' === $feed_type_ext ) { // json, csv fil + $temp_contents = $contents ? $contents : []; + $temp_content = $temp_content ? $temp_content : []; + $contents = \array_merge( $temp_contents, $temp_content ); + } else { + $contents .= $temp_content; + } + } else { + $contents .= $temp_content; + } + } + + $file_name = $option_name . '.' . $feed_type_ext; + + if ( is_array( $contents ) ) { // file type json, csv + $contents = wp_json_encode( $contents ); + $status = FileSystem::WriteFile( $contents, $path, $file_name ); + } else { + $status = FileSystem::WriteFile( $contents, $path, $file_name ); + } + + // Upload ftp/sftp if enabled. + self::upload_feed_file_to_ftp_server( $feed_info, $path, $file_name ); + + // Remove temporary files. + self::unlink_temporary_files( $feed_info['option_value']['feedrules'], $option_name, $auto ); + + // Delete temporary cache data. + Cache::delete( 'wad_discounts' ); + + if ( ! isset( $feed_info['option_value']['url'] ) ) { + $feed_info['option_value']['url'] = Helper::get_file_url( $feed_info['option_name'], $feed_info['option_value']['feedrules']['provider'], $feed_info['option_value']['feedrules']['feedType'] ); + } + + if ( ! isset( $feed_info['option_value']['status'] ) ) { + $feed_info['option_value']['status'] = false; + } + + if ( $should_update_last_update_time ) { + $feed_info['option_value']['last_updated'] = \date( 'Y-m-d H:i:s', \strtotime( \current_time( 'mysql' ) ) ); + update_option( $option_name_orginal, $feed_info['option_value'] ); + } + + delete_transient( 'ctx_feed_structure_transient' ); + + do_action('ctx_feed_after_save_feed_file', $status, $feed_info, $should_update_last_update_time, $auto ); + + return [ + 'status' => $status, + 'feed_url' => $feed_url, + ]; + + } + + /** + * @param $feed_info + * @param $path + * @param $file_name + * + * @return void + * @throws \CTXFeed\V5\FTP\FtpException + */ + private static function upload_feed_file_to_ftp_server( $feed_info, $path, $file_name ) { + + /** + * class FtpClient only can upload ftp/ftps not sftp upload. + * ftp_ssl_connect method is used for FTP SSL file upload + * ssh2_sftp is intended to use for sFTP file upload + * + * That's why here we use FtpClient class for FTP file upload and + * self::handle_file_transfer for sFTP uload. + * + * @see https://secure.helpscout.net/conversation/2390941164/29741?folderId=713813 + * @see https://www.php.net/manual/en/function.ftp-ssl-connect.php + * @see https://www.php.net/manual/en/function.ssh2-sftp.php + * @see https://www.spiceworks.com/tech/networking/articles/sftp-vs-ftps/ + */ + $global_ftp_status= Settings:: get(); + if ( isset( $global_ftp_status['enable_ftp_upload'] ) && $global_ftp_status['enable_ftp_upload']=='yes' ) { + + if (isset($feed_info['option_value']['feedrules']['ftpenabled']) && $feed_info['option_value']['feedrules']['ftpenabled']) { + $path = $path . '/' . $file_name; // locale file path to upload. + + if (isset($feed_info['option_value']['feedrules']['ftporsftp']) & 'ftp' === $feed_info['option_value']['feedrules']['ftporsftp']) { + /*$ftp = new FtpClient(); + $ftp_connect = $ftp->connect( $feed_info['option_value']['feedrules']['ftphost'], false, $feed_info['option_value']['feedrules']['ftpport'] ); // connect to ftp/sftp server + $ftp_connect = $ftp_connect->login( $feed_info['option_value']['feedrules']['ftpuser'], $feed_info['option_value']['feedrules']['ftppassword'] ); // login to server + + $ftp_connect->putFromPath( $path );*/ + + $remote_file = basename($path); + self::uploadFileInFtp($feed_info['option_value']['feedrules']['ftpuser'], $feed_info['option_value']['feedrules']['ftppassword'], $feed_info['option_value']['feedrules']['ftphost'], $path, $remote_file); + + + } else { + $feed_rules = $feed_info['option_value']['feedrules']; + $is_file_uploaded = self::handle_file_transfer($path, $file_name, $feed_rules); + if ($is_file_uploaded) { + woo_feed_log_feed_process($file_name, 'file transfer request success.'); + } else { + woo_feed_log_feed_process($file_name, 'Unable to process file transfer request.'); + } + } + } + } + + } + + /** + * Transfer file as per ftp config + * + * @param string $file_from + * @param string $file_to + * @param array $info + * + * @return bool + */ + private static function handle_file_transfer( $file_from, $file_to, $info ) { + if ( $info['ftpenabled'] ) { + if ( ! file_exists( $file_from ) ) { + \woo_feed_log_feed_process( $info['filename'], 'Unable to process file transfer request. File does not exists.' ); + + return false; + } + $ftp_host = \sanitize_text_field( $info['ftphost'] ); + $ftp_user = \sanitize_text_field( $info['ftpuser'] ); + $ftp_password = \sanitize_text_field( $info['ftppassword'] ); + $ftp_path = \trailingslashit( \untrailingslashit( \sanitize_text_field( $info['ftppath'] ) ) ); + $ftp_passive_mode = ( isset( $info['ftpmode'] ) && \sanitize_text_field( $info['ftpmode'] ) === 'passive' ) ? true : false; + if ( isset( $info['ftporsftp'] ) & 'ftp' === $info['ftporsftp'] ) { + $ftporsftp = 'ftp'; + } else { + $ftporsftp = 'sftp'; + } + if ( isset( $info['ftpport'] ) && ! empty( $info['ftpport'] ) ) { + $ftp_port = \absint( $info['ftpport'] ); + } else { + $ftp_port = false; + } + + if ( ! $ftp_port || ! ( ( 1 <= $ftp_port ) && ( $ftp_port <= 65535 ) ) ) { + $ftp_port = 'sftp' === $ftporsftp ? 22 : 21; + } + + \woo_feed_log_feed_process( $info['filename'], sprintf( 'Uploading Feed file via %s.', $ftporsftp ) ); + + + try { + if ( 'ftp' === $ftporsftp ) { + + $ftp = new \WebAppick\FTP\FTPConnection(); + if ( $ftp->connect( $ftp_host, $ftp_user, $ftp_password, $ftp_passive_mode, $ftp_port ) ) { + return $ftp->upload_file( $file_from, $ftp_path . $file_to ); + } + } elseif ( 'sftp' === $ftporsftp ) { + $sftp = new \WebAppick\FTP\SFTPConnection( $ftp_host, $ftp_port ); + $sftp->login( $ftp_user, $ftp_password ); + + return $sftp->upload_file( $file_from, $file_to, $ftp_path ); + + } + } catch ( \Exception $e ) { + $message = 'Error Uploading Feed Via ' . $ftporsftp . PHP_EOL . 'Caught Exception :: ' . $e->getMessage(); + \woo_feed_log( $info['filename'], $message, 'critical', $e, true ); + \woo_feed_log_fatal_error( $message, $e ); + + return false; + } + } + + return false; + } + + /** + * @param array $feed_rules + * @param int $offset + * @param array $product_ids + * + * @return void + */ + public static function log_data( $feed_rules, $offset, $product_ids ) { + \woo_feed_log_feed_process( $feed_rules['filename'], \sprintf( 'Processing Loop %d.', ( $offset + 1 ) ) ); + $m = 'Processing Product Following Product (IDs) : ' . PHP_EOL; + foreach ( \array_chunk( $product_ids, 10 ) as $ids ) { // pretty print log [B-)= + $m .= \implode( ', ', $ids ) . PHP_EOL; + } + + \woo_feed_log_feed_process( $feed_rules['filename'], $m ); + } + + + /** + * Generates and saves the header and footer for a feed. + * + * @param object $feed_template The feed template object. + * @param string $file_ext_type The file extension type. + * @param string $feed_name The name of the feed. + * @param array $feed_rules Feed rules. + * @param string $provider The provider. + * + * @return void + */ + public static function generate_header_footer( $feed_template, $file_ext_type, $feed_name, $feed_rules, $provider, $auto_update = false ) { + $feed_header = $feed_template->get_header(); + $feed_footer = $feed_template->get_footer(); + + $temp_feed_header_name = $auto_update ? AttributeValueByType::AUTO_FEED_TEMP_HEADER_PREFIX . $feed_name : AttributeValueByType::FEED_TEMP_HEADER_PREFIX . $feed_name; + $temp_feed_footer_name = $auto_update ? AttributeValueByType::AUTO_FEED_TEMP_FOOTER_PREFIX . $feed_name : AttributeValueByType::FEED_TEMP_FOOTER_PREFIX . $feed_name; + // TODO: should generate footer when template type is csv ? + self::save_batch_feed_info( $provider, $file_ext_type, $feed_header, $temp_feed_header_name, $feed_rules ); + + // create footer for xml file . + if ( self::should_create_footer( $file_ext_type ) ) { + self::save_batch_feed_info( $provider, $file_ext_type, $feed_footer, $temp_feed_footer_name, $feed_rules ); + } + + } + + /** + * Generates a feed during a cron job. + * + * @param array $feed_info Feed configuration information. + * @param int $offset Offset for batch processing. + * @param bool $should_update_last_update_time Flag indicating whether to update the last update time. + * + * @return bool True if the feed generation is successful, false otherwise. + */ + public static function generate_feed( $feed_info, $offset = 0, $should_update_last_update_time = true ) { + if ( ! \is_array( $feed_info ) || ! isset( $feed_info['option_value'] ) ) { + // Handle invalid input. + return false; + } + + if ( $offset < 0 ) { + // Handle invalid offset. + return false; + } + + $ids = self::get_product_ids( $feed_info ); + + if ( empty( $ids ) ) { + // Handle the case where no product IDs are found. + return false; + } + + /** + * This parameter is used to check if the feed is generated by cron or not. + * Even the feed is generated by cron, it will be considered as manual feed. + * Because, The header, footer and body prefix is same for the manual and old cron feed. + * But the new cron feed has different prefix for header, footer and body. + * And this function is only called from old cron job functionality. So, it's not a new cron feed. + * That's why we have to send this parameter false to generate_temp_feed_body function. + * + * @link: https://webappick.atlassian.net/browse/CBT-363 + * @since 7.3.13 + */ + $is_auto_feed = false; + + $status = self::generate_temp_feed_body( $feed_info, $ids, $offset, false, $is_auto_feed ); + + if ( $status ) { + self::save_feed_file( $feed_info, $should_update_last_update_time, $is_auto_feed ); + } + + return $status; + } + + + /** + * Generates a feed during a cron job. + * + * @param array $feed_info Feed configuration information. + * @param int $offset Offset for batch processing. + * @param bool $should_update_last_update_time Flag indicating whether to update the last update time. + * + * @return bool True if the feed generation is successful, false otherwise. + */ + public static function generate_cron_batched_feed( $feed_info, $offset = 0, $should_update_last_update_time = true, $ids = [] ) { + if ( ! \is_array( $feed_info ) || ! isset( $feed_info['option_value'] ) ) { + // Handle invalid input. + return false; + } + + if ( empty( $ids ) ) { + // Handle the case where no product IDs are found. + return false; + } + + $status = self::generate_temp_feed_body( $feed_info, $ids, $offset, false, true ); + + return $status; + } + + /** + * Extracts a substring from a given string, delimited by start and end markers. + * + * @param string $string The full string to extract from. + * @param string $start The start marker of the desired substring. + * @param string $end The end marker of the desired substring. + * + * @return string The extracted substring, or an empty string if markers are not found. + */ + public static function get_string_between( $string, $start, $end ) { + if ( ! \is_string( $string ) || ! \is_string( $start ) || ! \is_string( $end ) ) { + // Handle invalid inputs. + return ''; + } + + $start_pos = \strpos( $string, $start ); + + if ( $start_pos === false ) { + return ''; + } + + $start_pos += \strlen( $start ); + $end_pos = \strpos( $string, $end, $start_pos ); + + if ( $end_pos === false ) { + return ''; + } + + return \substr( $string, $start_pos, $end_pos - $start_pos ); + } + + /** + * Validate old feeds during cron job. + * + * @param array $feed_info feed information. + * + * @return array An array return form old feed. + */ + public static function validate_feed( $feed_info ) { + $temp_make_feed = $feed_info; + // Modify old feed data + $temp_make_rules = $temp_make_feed['option_value']['feedrules']; + $should_modify_filter = array( + 'is_outOfStock' => false, + 'is_backorder' => false, + 'is_emptyDescription' => false, + 'is_emptyImage' => false, + 'is_emptyPrice' => false, + 'product_visibility' => false, + 'outofstock_visibility' => false, + ); + $should_modify_filter = \array_keys( $should_modify_filter ); + $feed_default_value = array( 'product_ids', 'post_status', 'categories' ); + + foreach ( $temp_make_rules as $key => $value ) { + if ( \in_array( $key, $should_modify_filter ) ) { + $temp_make_rules[ $key ] = self::get_toggle_value( $temp_make_rules[ $key ] ); + } + + /** + * Some previous feed is saving an error as value of product_ids. + * this value should be an array, it's default value is an array + */ + + if ( \in_array( $key, $feed_default_value ) && ! \is_array( $temp_make_rules[ $key ] ) ) { + if ( $temp_make_rules[ $key ] ) { + if ( 'product_ids' === $key ) { // if key is product_ids then remove the extra space from ids. + $temp_data = \explode( ',', $temp_make_rules[ $key ] ); + $temp_data = \array_map( 'absint', $temp_data ); + $temp_make_rules[ $key ] = $temp_data; + } else { + $temp_make_rules[ $key ] = \explode( ',', $temp_make_rules[ $key ] ); + } + } else { + $temp_make_rules[ $key ] = array(); + } + } + } + + $temp_make_feed['option_value']['feedrules'] = $temp_make_rules; + + return $temp_make_feed; + } + + /** + * Validate feed config. + * + * @param array $feed_rules feed rules. + * + * @return array feed config. + */ + public static function validate_config( $feed_rules ) { + // Modify old feed data + $temp_feed_rules = $feed_rules; + $should_modify_filter = array( + 'is_outOfStock' => false, + 'is_backorder' => false, + 'is_emptyDescription' => false, + 'is_emptyImage' => false, + 'is_emptyPrice' => false, + 'product_visibility' => false, + 'outofstock_visibility' => false, + 'is_emptyTitle' => false, + + ); + $should_modify_filter = \array_keys( $should_modify_filter ); + + foreach ( $temp_feed_rules as $key => $value ) { + if ( \in_array( $key, $should_modify_filter ) ) { + $temp_feed_rules[ $key ] = self::get_toggle_value( $temp_feed_rules[ $key ] ); + } + } + + return $temp_feed_rules; + } + + /** + * Determines the boolean value based on various representations of 'false'. + * + * @param mixed $toggle_value The value to evaluate. + * + * @return bool Returns false for common representations of 'false', otherwise true. + */ + public static function get_toggle_value( $toggle_value ) { + $false_values = array( 'disable', 'off', 'no', false, '', 0, 'n', '0', 'false' ); + + // Check if the value is in the list of 'false' representations. + return ! \in_array( $toggle_value, $false_values, true ); + } + + /** + * Returns the appropriate temporary feed body prefix based on the automatic flag. + * + * @param bool $auto Indicates whether the automatic mode is enabled. + * + * @return string The temporary feed body prefix. + */ + public static function get_feed_body_temp_prefix( $auto = false ) { + if ( ! \is_bool( $auto ) ) { + // Handle non-boolean input. + return AttributeValueByType::FEED_TEMP_BODY_PREFIX; + } + + $temp_feed_body_prefix = $auto ? AttributeValueByType::AUTO_FEED_TEMP_BODY_PREFIX : AttributeValueByType::FEED_TEMP_BODY_PREFIX; + + return apply_filters( 'woo_feed_temp_feed_body_prefix', $temp_feed_body_prefix, $auto ); + } + + /** + * @return bool + */ + public static function should_generate_feed_by_ajax() { + + $should_generate_feed_by_ajax = true; + if ( is_plugin_active( 'polylang/polylang.php' ) ) { + $should_generate_feed_by_ajax = false; + } + + if ( is_plugin_active( 'woocommerce-multilingual/wpml-woocommerce.php' ) ) { + $should_generate_feed_by_ajax = false; + } + + $theme = wp_get_theme(); // gets the current theme + if ( 'Woodmart' == $theme->parent_theme ) { + $should_generate_feed_by_ajax = false; + } + + return apply_filters( 'woo_feed_generate_feed_by_ajax', $should_generate_feed_by_ajax ); + } + + public static function uploadFileInFtp( $ftpUsername, $ftpPassword, $ftpServer, $localFilePath, $serverFilePath ) { + $conn_id = ftp_connect( $ftpServer ); + if ( ! $conn_id ) { + throw new FtpException( "Failed to connect to the FTP server" ); + } + $login = ftp_login( $conn_id, $ftpUsername, $ftpPassword ); + if ( ! $login ) { + throw new FtpException( "FTP login failed" ); + } + ftp_pasv( $conn_id, true ); + + if ( ! file_exists( $localFilePath ) ) { + throw new FtpException( "Local file not found: ".esc_attr($localFilePath)."." ); + } + $content = file_get_contents( $localFilePath ); + $tmp = fopen( tempnam( sys_get_temp_dir(), $localFilePath ), "w+" ); + fwrite( $tmp, $content ); + rewind( $tmp ); + $upload = ftp_fput( $conn_id, $serverFilePath, $tmp, FTP_BINARY ); + ftp_close( $conn_id ); + + if ( $upload ) { + return true; + } else { + throw new FtpException( + 'Unable to put the remote file from the local file "' . esc_attr($localFilePath) . '"' + ); + } + + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Helper/ProductHelper.php b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/ProductHelper.php new file mode 100644 index 000000000..c02ae35f1 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Helper/ProductHelper.php @@ -0,0 +1,1291 @@ + An array of attachment IDs. + * @since 3.2.6 + */ + + public static function get_product_gallery( $product ) { + $img_urls = []; + $attachment_ids = []; + + if ( $product->is_type( 'variation' ) ) { + $theme = wp_get_theme(); // gets the current theme +// if ( 'Woodmart Child' == $theme->name || 'Twenty Twelve' == $theme->parent_theme ) { +// // if you're here Twenty Twelve is the active theme or is +// // the current theme's parent theme +// } + if ( class_exists( 'Woo_Variation_Gallery' ) ) { + /** + * Get Variation Additional Images for "Additional Variation Images Gallery for WooCommerce" + * + * @plugin Additional Variation Images Gallery for WooCommerce + * @link https://wordpress.org/plugins/woo-variation-gallery/ + */ + $attachment_ids = \get_post_meta( $product->get_id(), 'woo_variation_gallery_images', true ); + } elseif ( \class_exists( 'WooProductVariationGallery' ) ) { + /** + * Get Variation Additional Images for "Variation Images Gallery for WooCommerce" + * + * @plugin Variation Images Gallery for WooCommerce + * @link https://wordpress.org/plugins/woo-product-variation-gallery/ + */ + $attachment_ids = \get_post_meta( $product->get_id(), 'rtwpvg_images', true ); + } elseif ( \class_exists( 'WC_Additional_Variation_Images' ) ) { + /** + * Get Variation Additional Images for "WooCommerce Additional Variation Images" + * + * @plugin WooCommerce Additional Variation Images + * @link https://woocommerce.com/products/woocommerce-additional-variation-images/ + */ + $attachment_ids = \explode( ',', \get_post_meta( $product->get_id(), '_wc_additional_variation_images', true ) ); + } elseif ( \class_exists( 'WOODMART_Theme' ) ) { + /** + * Get Variation Additional Images for "WOODMART Theme -> Variation Gallery Images Feature" + * + * @theme WOODMART + * @link https://themeforest.net/item/woodmart-woocommerce-wordpress-theme/20264492 + */ + $var_id = $product->get_id(); + $parent_id = $product->get_parent_id(); + + $variation_obj = \get_post_meta( $parent_id, 'woodmart_variation_gallery_data', true ); + if ( isset( $variation_obj, $variation_obj[ $var_id ] ) ) { + $attachment_ids = \explode( ',', $variation_obj[ $var_id ] ); + } else { + $attachment_ids = \explode( ',', \get_post_meta( $var_id, 'wd_additional_variation_images_data', true ) ); + } + } elseif ( 'Woodmart Child' == $theme->name ) { + /** + * Get Variation Additional Images for "Woodmart Child Theme -> Variation Gallery Images Feature" + * + * @theme WOODMART + * @link https://themeforest.net/item/woodmart-woocommerce-wordpress-theme/20264492 + */ + $var_id = $product->get_id(); + $parent_id = $product->get_parent_id(); + + $variation_obj = \get_post_meta( $parent_id, 'woodmart_variation_gallery_data', true ); + if ( isset( $variation_obj, $variation_obj[ $var_id ] ) ) { + $attachment_ids = \explode( ',', $variation_obj[ $var_id ] ); + } else { + $attachment_ids = \explode( ',', \get_post_meta( $var_id, 'wd_additional_variation_images_data', true ) ); + } + } else { + /** + * If any Variation Gallery Image plugin not installed then get Variable Product Additional Image Ids . + */ + $attachment_ids = \wc_get_product( $product->get_parent_id() )->get_gallery_image_ids(); + } + + } + + /** + * Get Variable Product Gallery Image ids if Product is not a variation + * or variation does not have any gallery images + * + * Test case write is pending + */ + if ( empty( $attachment_ids ) ) { + $attachment_ids = $product->get_gallery_image_ids(); + } + + if ( $attachment_ids && \is_array( $attachment_ids ) ) { + $m_key = 1; + foreach ( $attachment_ids as $attachment_id ) { + $img_urls[ $m_key ] = Helper::woo_feed_get_formatted_url( \wp_get_attachment_url( $attachment_id ) ); + $m_key ++; + } + } + + return $img_urls; + } + + + + private static function count_identifiers_in_attributes( $product, $config ) { + $count = 0; + $feed_rules = $config->get_feed_rules()['option_value']['feedrules']; + $identifiers = [ + self::PRODUCT_CUSTOM_IDENTIFIER . 'identifier_gtin', + self::PRODUCT_TAXONOMY_PREFIX . 'woo-feed-brand', + self::PRODUCT_CUSTOM_IDENTIFIER . 'identifier_mpn', + ]; + + foreach ( \array_intersect( $feed_rules['attributes'], $identifiers ) as $key => $result ) { + if ( $feed_rules['type'][ $key ] === 'attribute' && self::get_custom_field( $result, $product, $config ) !== '' ) { + $count ++; + } + } + + return $count; + } + + /** + * Retrieves custom field values for a WooCommerce product. + * + * @param string $field The custom field key. + * @param WC_Product $product The WooCommerce product object. + * @param mixed $config Additional configuration or context. + * + * @return mixed The formatted value of the custom field. + */ + public static function get_custom_field( $field, $product, $config ) { + + $field_name = $field; + // Adjust the meta key for variation products. + if ( strpos( $field, '_cattr') !== false ) { + $field = str_replace(AttributeValueByType::POST_META_PREFIX, "", $field ); + } + + if ( strpos( $field, '_var') !== false ) { +// $meta_key = $product->is_type( 'variation' ) ? $field : str_replace("_var", "",$field ); + $meta_key = $field ; + }else{ + $meta_key = $product->is_type( 'variation' ) ? $field . '_var' : $field; + } + + // Allow filtering of the meta key. + $meta_key = apply_filters( 'woo_feed_custom_field_meta', $meta_key, $product, $config ); + + // Determine the new and old meta keys based on the presence of '_identifier'. + if ( \strpos( $meta_key, '_identifier' ) !== false ) { + $new_meta_key = \str_replace( '_identifier', '', $meta_key ); + $old_meta_key = $meta_key; + } else { + $new_meta_key = $meta_key; + $old_meta_key = \str_replace( 'woo_feed_', 'woo_feed_identifier_', $meta_key ); + } + + // Retrieve the values for the new and old meta keys. + $new_meta_value = self::get_product_meta( $new_meta_key, $product, $config ); + $old_meta_value = self::get_product_meta( $old_meta_key, $product, $config ); + + if ( strpos( $field_name, '_cattr') === false ) { + if ( empty( $new_meta_value) && $product->is_type('variation')) { + $new_meta_key = str_replace("_var", "", $new_meta_key ); + $new_meta_value = self::get_product_meta( $new_meta_key, $product, $config ); + } + } + + // Return the formatted custom field value, preferring the new meta key. + return empty( $new_meta_value ) ? self::format_custom_field_value( $old_meta_value, $meta_key ) + : self::format_custom_field_value( $new_meta_value, $meta_key ); + } + + /** + * Retrieves a specific meta value for a WooCommerce product. Supports handling variations and RankMath integration. + * + * @param string $meta The meta key to retrieve. + * @param WC_Product $product The WooCommerce product object. + * @param mixed $config Additional configuration or context. + * + * @return mixed The value of the specified meta key. Filters the value through 'woo_feed_filter_product_meta'. + */ + public static function get_product_meta( $meta, $product, $config ) { + $product_id = $product->get_id(); + $value = \get_post_meta( $product_id, $meta, true ); + + // Attempt to retrieve the meta value from the parent product if it's a variation and the meta value is empty. + if ( empty( $value ) && $product->is_type( 'variation' ) ) { + $parent_id = $product->get_parent_id(); + $value = \get_post_meta( $parent_id, $meta, true ); + } + + // Handling for RankMath integration. + if ( self::is_rank_math_active() && $meta === 'rank_math_primary_product_cat' && \is_numeric( $value ) ) { + $term = \get_term( $value ); + $value = $term instanceof WP_Term ? $term->name : $value; + } + + // Handle taxonomy-related meta keys. + if ( \strpos( $meta, self::PRODUCT_TAXONOMY_PREFIX ) !== false ) { + $meta_key = \str_replace( self::PRODUCT_TAXONOMY_PREFIX, '', $meta ); + $value = self::get_product_taxonomy( $meta_key, $product, $config ); + } + + return apply_filters( 'woo_feed_filter_product_meta', $value, $product, $config ); + } + + /** + * Checks if Rank Math SEO plugin is active. + * + * @return bool True if Rank Math or Rank Math Pro is active, false otherwise. + */ + private static function is_rank_math_active() { + return \class_exists( 'RankMath' ) || \class_exists( 'RankMathPro' ); + } + + /** + * Retrieves the taxonomy terms associated with a product. + * + * @param string $taxonomy The taxonomy for which to retrieve terms. + * @param WC_Product $product The WooCommerce product object. + * @param Config $config Additional configuration or context. + * + * @return string + */ + public static function overwrite_identifier_exists( $attribute, $product, $config ) { + + /** + * Please add the plugins name if any plugin needs to do extra code to get proper identifier_exists attribute value. + * + * Here is the already compatible plugin list: + * 1. EAN for WooCommerce + * 2. Custom Post Type UI + * 3. ACF + */ + + $identifiers = array( 'brand', 'upc', 'sku', 'mpn', 'gtin' ); + + $structure = get_transient( 'ctx_feed_structure_transient' ); + $have_attributes_value = []; + foreach ( $identifiers as $single_identifier ) { + $attribute_key = self::array_search_key( $single_identifier, $structure ); + if ( ! is_array( $attribute_key ) ) { + continue; + } + + $attributeValueByType = new AttributeValueByType( $attribute_key['attribute'], $product, $config, $attribute_key['mattribute'] ); + $value = $attributeValueByType->get_value(); + if ( $value ) { + $have_attributes_value[ $single_identifier ] = $value; + } + } + + return count( $have_attributes_value ) > 1 ? "yes" : "no"; + } + + /** + * Get merchant attribute and attribute + * + * @param $needle_key + * @param $structure + * + * @return array|false + */ + private static function array_search_key( $needle_key, $structure ) { + foreach ( $structure as $key => $value ) { + if ( strpos( $key, $needle_key ) !== false ) { + + return [ + 'attribute' => $value, + 'mattribute' => $key, + ]; + } + if ( is_array( $value ) ) { + if ( ( $result = self::array_search_key( $needle_key, $value ) ) !== false ) { + return $result; + } + } + } + + return false; + } + + + /** + * Get Product Taxonomy. +======= + * @return string A string containing the taxonomy terms separated by the specified separator. +>>>>>>> develop + * + * Note: Test case writing is pending for this function. + */ + public static function get_product_taxonomy( $taxonomy, $product, $config ) { + $id = CommonHelper::parent_product_id( $product ); + $separator = apply_filters( 'woo_feed_product_taxonomy_term_list_separator', ',', $config, $product ); + $term_list = \get_the_term_list( $id, $taxonomy, '', $separator, '' ); + + if ( \is_object( $term_list ) && \get_class( $term_list ) === 'WP_Error' ) { + $term_list = ''; + } + + $getTaxonomy = CommonHelper::strip_all_tags( $term_list ); + + return apply_filters( 'woo_feed_filter_product_taxonomy', $getTaxonomy, $product, $config ); + } + + /** + * Formats the value of a custom field based on its metadata key. + * + * @param mixed $value The value of the custom field. + * @param string $meta_key The metadata key used to determine the formatting. + * + * @return mixed Formatted value if specific formatting is required, otherwise returns the original value. + */ + private static function format_custom_field_value( $value, $meta_key ) { + if ( \strpos( $meta_key, 'availability_date' ) !== false ) { + $formatted_date = \strtotime( $value ); + + if ( $formatted_date === false ) { + // Handle invalid date + return $value; + } + + return \date( 'c', $formatted_date ); + } + + return $value; + } + + private static function count_identifiers_in_mattributes( $product, $config ) { + $count = 0; + $feed_rules = $config->get_feed_rules()['option_value']['feedrules']; + $identifier_keys = [ 'brand', 'upc', 'sku', 'mpn', 'gtin' ]; + + foreach ( \array_intersect( $feed_rules['mattributes'], $identifier_keys ) as $key => $result ) { + $count += self::evaluate_mattribute( $feed_rules, $key, $product, $config ); + } + + return $count; + } + + private static function evaluate_mattribute( $feed_rules, $key, $product, $config ) { + $attribute_key = $feed_rules['attributes'][ $key ]; + + if ( $feed_rules['type'][ $key ] === 'pattern' && $feed_rules['default'][ $key ] !== '' ) { + return 1; + } + + if ( $feed_rules['type'][ $key ] === 'attribute' ) { + if ( $attribute_key === 'sku' && $product->get_sku() !== '' ) { + return 1; + } + + if ( $attribute_key !== '' && \strpos( $attribute_key, self::PRODUCT_ATTRIBUTE_PREFIX ) !== false ) { + $attribute = \str_replace( self::PRODUCT_ATTRIBUTE_PREFIX, '', $attribute_key ); + + return self::get_product_attribute( $attribute, $product, $config ) !== '' ? 1 : 0; + } + + if ( $attribute_key !== '' && \strpos( $attribute_key, self::PRODUCT_TAXONOMY_PREFIX ) !== false ) { + return self::get_product_meta( $attribute_key, $product, $config ) !== '' ? 1 : 0; + } + } + + return 0; + } + + /** + * Retrieves a specified attribute from a WooCommerce product. + * + * @param string $attr The attribute slug to retrieve. + * @param WC_Product $product The WooCommerce product object. + * @param Config $config Additional configuration or context. + * + * @return string The value of the specified attribute. + * @since 2.2.3 + */ + public static function get_product_attribute( $attr, $product, $config ) { + $id = $product->get_id(); + + if ( woo_feed_wc_version_check( 3.2 ) ) { + if ( woo_feed_wc_version_check( 3.6 ) ) { + $attr = str_replace( 'pa_', '', $attr ); + } + if ( $product instanceof WC_Product ) { + $value = $product->get_attribute( $attr ); + } + + // if empty get attribute of parent post + if ( '' === $value && $product->is_type( 'variation' ) ) { + $product = wc_get_product( $product->get_parent_id() ); + if ( $product instanceof WC_Product ) { + $value = $product->get_attribute( $attr ); + } + } + + $getAttribute = $value; + } else { + $getAttribute = implode( ',', wc_get_product_terms( $id, $attr, array( 'fields' => 'names' ) ) ); + } + + $value = self::fetch_product_attribute( $attr, $product ); + + // Retrieve attribute value from the parent product if it's a variation and the attribute value is empty. + + if ( $product instanceof WC_Product ) { + if ('' === $value && $product->is_type('variation')) { + $parent_product = \wc_get_product($product->get_parent_id()); + if ($parent_product) { + $value = self::fetch_product_attribute($attr, $parent_product); + } + } + } + + return apply_filters( 'woo_feed_filter_product_attribute', $value, $attr, $product, $config ); + } + + /** + * Fetches the attribute value from a product. + * + * @param string $attr The attribute slug. + * @param WC_Product $product The WooCommerce product object. + * + * @return string The attribute value. + */ + private static function fetch_product_attribute( $attr, $product ) { + if ($product instanceof WC_Product) { + if (\woo_feed_wc_version_check(3.2)) { + return $product->get_attribute($attr); + } + + // Fallback for WooCommerce versions below 3.2. + return \implode(',', \wc_get_product_terms($product->get_id(), $attr, array('fields' => 'names'))); + } + + return ''; + } + + /** + * Retrieves the value of an Advanced Custom Fields (ACF) field for a given WooCommerce product. + * + * @param WC_Product $product The WooCommerce product object. + * @param string $field_key The ACF field key, with the prefix "acf_fields_". + * + * @return mixed|string The value of the ACF field, or an empty string if ACF is not available. + * + * Note: Test case writing is pending for this function. + */ + public static function get_acf_field( $product, $field_key ) { + // Remove the prefix to get the actual ACF field key. + $acf_field_key = \str_replace( 'acf_fields_', '', $field_key ); + + // Check if ACF is installed and active. + if ( \class_exists( 'ACF' ) ) { + // Retrieve and return the ACF field value. + return \get_field( $acf_field_key, $product->get_id() ); + } + + // Return an empty string if ACF is not available. + return ''; + } + + /** + * Returns category mapping values by product ID, considering the parent product for variations. + * + * @param string $mapping_name Category Mapping Name + * @param int $product_id Product ID / Parent Product ID for variation product + * + * @return mixed + * + * This function already exists in CTXFeed\V5\Output\CategoryMapping. + * Test case is available in CTXFeed\tests\wpunit\Output\CategoryMappingTest. + */ + public static function get_category_mapping( $mapping_name, $product_id ) { + $mapping_settings = \maybe_unserialize( \get_option( $mapping_name ) ); + + if ( ! isset( $mapping_settings['cmapping'], $mapping_settings['gcl-cmapping'] ) ) { + return ''; + } + + // Define suggestive category list merchants. + $suggestive_category_list_merchants = [ + 'google', + 'facebook', + 'pinterest', + 'bing', + 'bing_local_inventory', + 'snapchat' + ]; + + // Determine the appropriate mapping array. + $cmapping = self::determine_mapping_array( $mapping_settings, $suggestive_category_list_merchants ); + + // Retrieve product categories and process them. + $categories = \get_the_terms( $product_id, 'product_cat' ); + if ( \is_array( $categories ) ) { + foreach ( \array_reverse( $categories ) as $category ) { + if ( ! empty( $cmapping[ $category->term_id ] ) ) { + return $cmapping[ $category->term_id ]; + } + } + } + + return ''; + } + + /** + * Determines the appropriate category mapping array. + * + * @param array $mapping_settings Configuration settings for mapping. + * @param array $merchants List of suggestive category list merchants. + * + * @return array The determined mapping array. + */ + private static function determine_mapping_array( $mapping_settings, $merchants ) { + if ( isset( $mapping_settings['gcl-cmapping'] ) && \in_array( $mapping_settings['mappingprovider'], $merchants, true ) ) { + return \is_array( $mapping_settings['gcl-cmapping'] ) ? \array_reverse( $mapping_settings['gcl-cmapping'], true ) : $mapping_settings['gcl-cmapping']; + } + + return \is_array( $mapping_settings['cmapping'] ) ? \array_reverse( $mapping_settings['cmapping'], true ) : $mapping_settings['cmapping']; + } + + /** + * Retrieves the mapped value for a specified attribute, considering the merchant attribute and configuration. + * + * @param WC_Product $product The product object. + * @param string $attribute The attribute to map. + * @param string $merchant_attribute The merchant attribute. + * @param mixed $config Additional configuration or context. + * + * @return string The concatenated attribute values, separated by the defined glue or a space. + * + * This function already exists in CTXFeed\V5\Output\AttributesMapping. + * Test case is available in CTXFeed\tests\wpunit\Output\AttributesMappingTest. + */ + public static function get_attribute_mapping( $product, $attribute, $merchant_attribute, $config ) { + $attributes = \get_option( $attribute ); + $glue = ! empty( $attributes['glue'] ) ? $attributes['glue'] : ' '; + + if ( ! isset( $attributes['mapping'] ) || ! \is_array( $attributes['mapping'] ) ) { + return ''; + } + + $get_attribute_value_by_type = new AttributeValueByType( $attribute, $merchant_attribute, $product, $config ); + $output = self::build_attribute_output( $attributes['mapping'], $get_attribute_value_by_type, $glue ); + + // remove extra whitespace + $output = \preg_replace( '!\s\s+!', ' ', $output ); + + return apply_filters( 'woo_feed_filter_attribute_mapping', $output, $attribute, $product, $config ); + } + + /** + * Builds the concatenated output for the attribute mapping. + * + * @param array $mapping The attribute mapping array. + * @param AttributeValueByType $get_attribute_value_by_type The object to retrieve attribute values. + * @param string $glue The glue used for concatenation. + * + * @return string The concatenated attribute values. + */ + private static function build_attribute_output( $mapping, $get_attribute_value_by_type, $glue ) { + $output = []; + + foreach ( $mapping as $map ) { + $value = $get_attribute_value_by_type->get_value( $map ); + if ( ! empty( $value ) ) { + $output[] = $value; + } + } + + return implode( $glue, $output ); + } + + /** + * Retrieves the value of a dynamic attribute for a product. + * + * @param WC_Product $product + * @param string $attribute_name + * @param string $merchant_attribute + * @param mixed $config + * + * @return mixed|string + * @since 3.2.0 + * + * This function already exists in CTXFeed\V5\Output\DynamicAttributes. + * Test case is available in CTXFeed\tests\wpunit\Output\DynamicAttributesTest. + */ + public static function get_dynamic_attribute( $product, $attribute_name, $merchant_attribute, $config ) { + $get_attribute_value_by_type = new AttributeValueByType( $attribute_name, $merchant_attribute, $product, $config ); + $get_value = \maybe_unserialize( \get_option( $attribute_name ) ); + $wf_dattribute_code = $get_value['wfDAttributeCode'] ?? ''; + $attribute = isset( $get_value['attribute'] ) ? (array) $get_value['attribute'] : array(); + $condition = isset( $get_value['condition'] ) ? (array) $get_value['condition'] : array(); + $compare = isset( $get_value['compare'] ) ? (array) $get_value['compare'] : array(); + $type = isset( $get_value['type'] ) + ? (array) $get_value['type'] + : array(); + + $prefix = isset( $get_value['prefix'] ) + ? (array) $get_value['prefix'] + : array(); + $suffix = isset( $get_value['suffix'] ) + ? (array) $get_value['suffix'] + : array(); + + $value_attribute = isset( $get_value['value_attribute'] ) + ? (array) $get_value['value_attribute'] + : array(); + $value_pattern = isset( $get_value['value_pattern'] ) + ? (array) $get_value['value_pattern'] + : array(); + + $default_type = $get_value['default_type'] ?? 'attribute'; + $default_value_attribute = $get_value['default_value_attribute'] ?? ''; + $default_value_pattern = $get_value['default_value_pattern'] ?? ''; + + $result = ''; + + // Check If Attribute Code exist + if ( $wf_dattribute_code && count( $attribute ) ) { + foreach ( $attribute as $key => $name ) { + if ( empty( $name ) ) { + continue; + } + + $condition_name = $get_attribute_value_by_type->get_value( $name ); + + if ( 'weight' === $name ) { + $unit = ' ' . \get_option( 'woocommerce_weight_unit' ); + + if ( ! empty( $unit ) ) { + $condition_name = (float) \str_replace( $unit, '', $condition_name ); + } + } + + $condition_compare = $compare[ $key ]; + $condition_operator = $condition[ $key ]; + + if ( ! empty( $condition_compare ) ) { + $condition_compare = \trim( $condition_compare ); + } + + $condition_value = ''; + + if ( 'pattern' === $type[ $key ] ) { + $condition_value = $value_pattern[ $key ]; + } elseif ( 'attribute' === $type[ $key ] ) { + $condition_value = $get_attribute_value_by_type->get_value( $value_attribute[ $key ] ); + } elseif ( 'remove' === $type[ $key ] ) { + $condition_value = ''; + } + + switch ( $condition_operator ) { + case '==': + if ( $condition_name === $condition_compare ) { + $result = self::price_format( $name, $condition_name, $condition_value ); + + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + + break; + + case '!=': + if ( $condition_name !== $condition_compare ) { + $result = self::price_format( $name, $condition_name, $condition_value ); + + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + + break; + + case '>=': + if ( $condition_name >= $condition_compare ) { + $result = self::price_format( $name, $condition_name, $condition_value ); + + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + + break; + + case '<=': + if ( $condition_name <= $condition_compare ) { + $result = self::price_format( $name, $condition_name, $condition_value ); + + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + + break; + + case '>': + if ( $condition_name > $condition_compare ) { + $result = self::price_format( $name, $condition_name, $condition_value ); + + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + + break; + + case '<': + if ( $condition_name < $condition_compare ) { + $result = self::price_format( $name, $condition_name, $condition_value ); + + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + + break; + + case 'contains': + if ( false !== stripos( $condition_name, $condition_compare ) ) { + $result = self::price_format( $name, $condition_name, $condition_value ); + + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + + break; + + case 'nContains': + if ( stripos( $condition_name, $condition_compare ) === false ) { + $result = self::price_format( $name, $condition_name, $condition_value ); + + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + + break; + + case 'between': + $compare_items = explode( ',', $condition_compare ); + + if ( + isset( $compare_items[1] ) + && \is_numeric( $compare_items[0] ) + && \is_numeric( $compare_items[1] ) + ) { + if ( $condition_name >= $compare_items[0] && $condition_name <= $compare_items[1] ) { + $result = self::price_format( $name, $condition_name, $condition_value ); + + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + } else { + $result = ''; + } + + break; + + default: + break; + } + } + } + + if ( '' === $result ) { + if ( 'pattern' === $default_type ) { + $result = $default_value_pattern; + } elseif ( 'attribute' === $default_type ) { + if ( ! empty( $default_value_attribute ) ) { + $result = $get_attribute_value_by_type->get_value( $default_value_attribute ); + } + } elseif ( 'remove' === $default_type ) { + $result = ''; + } + } + + return apply_filters( 'woo_feed_after_dynamic_attribute_value', $result, $product, $attribute_name, $merchant_attribute, $config ); + } + + /** + * Formats a price or weight value based on the specified operation. + * + * @param string $name Attribute Name indicating whether it's a price or weight. + * @param float $conditionName The initial value to be formatted. + * @param string $result The operation and value to apply to the initial value. + * + * @return float|int|string Formatted result after applying the operation. + * @since 3.2.0 + */ + public static function price_format( $name, $condition_name, $result ) { + // calc and return the output. + if ( false !== \strpos( $name, 'price' ) || false !== \strpos( $name, 'weight' ) ) { + if ( false !== \strpos( $result, '+' ) && false !== \strpos( $result, '%' ) ) { + $result = \str_replace_trim( '+', '', $result ); + $result = \str_replace_trim( '%', '', $result ); + + if ( \is_numeric( $result ) ) { + $result = $condition_name + ( $condition_name * $result / 100 ); + } + } elseif ( false !== \strpos( $result, '-' ) && false !== \strpos( $result, '%' ) ) { + $result = \str_replace_trim( '-', '', $result ); + $result = \str_replace_trim( '%', '', $result ); + + if ( \is_numeric( $result ) ) { + // $result = ( ( $conditionName * $result ) / 100 ) - $conditionName; + $result = $condition_name - ( $condition_name * $result / 100 ); + } + } elseif ( false !== \strpos( $result, '*' ) && false !== \strpos( $result, '%' ) ) { + $result = \str_replace_trim( '*', '', $result ); + $result = \str_replace_trim( '%', '', $result ); + + if ( \is_numeric( $result ) ) { + $result = $condition_name * $result / 100; + } + } elseif ( false !== \strpos( $result, '+' ) ) { + $result = \str_replace_trim( '+', '', $result ); + + if ( \is_numeric( $result ) ) { + $result = $condition_name + $result; + } + } elseif ( false !== \strpos( $result, '-' ) ) { + $result = \str_replace_trim( '-', '', $result ); + + if ( \is_numeric( $result ) ) { + $result = $condition_name - $result; + } + } elseif ( false !== \strpos( $result, '*' ) ) { + $result = \str_replace_trim( '*', '', $result ); + + if ( \is_numeric( $result ) ) { + $result = $condition_name * $result; + } + } elseif ( false !== \strpos( $result, '/' ) ) { + $result = \str_replace_trim( '/', '', $result ); + + if ( \is_numeric( $result ) ) { + $result = $condition_name / $result; + } + } + } + + return $result; + } + + /** + * Validates a given date string against a specified format. + * + * @param string $date The date string to validate. + * @param string $format The date format to validate against. Defaults to 'Y-m-d'. + * + * @return bool True if the date is valid and matches the format, false otherwise. + */ + public static function validate_date( $date, $format = 'Y-m-d' ) { + if ( ! \is_string( $date ) ) { + // Optional: Add error logging or handling if $date is not a string + return false; + } + + $dateTime = DateTime::createFromFormat( $format, $date ); + + return $dateTime && $dateTime->format( $format ) === $date; + } + + /** + * Retrieves a product attribute value based on its type. + * + * @param string $attribute The name of the product attribute. + * @param \WC_Product $product The product object, representing the context of the attribute. + * @param \CTXFeed\V5\Utility\Config $config Configuration settings, affecting how attribute values are processed. + * @param string|null $merchant_attribute Optional merchant-specific attribute, altering the return value based on merchant requirements. + * @param \WC_Product $parent_product The product object. + * + * @return mixed The value of the attribute, which varies depending on the attribute type and configuration settings. + */ + public static function get_attribute_value_by_type( $attribute, $product, $config, $merchant_attribute = null, $parent_product = null ) { + // Error handling: validate inputs + if ( ! $product || ! $config ) { + // Handle error or invalid input + return null; + } + + // Efficient handling of AttributeValueByType instance creation could be considered here + $attribute_value = new AttributeValueByType( $attribute, $product, $config, $merchant_attribute, $parent_product ); + + return $attribute_value->get_value(); + } + + /** + * Replaces specific strings in a product attribute based on configuration rules. + * + * @param string $output The initial string to be modified. + * @param string $productAttribute The product attribute to be checked for replacements. + * @param Config $config Configuration containing the replacement rules. + * + * @return string The modified string after applying the replacement rules. + * + * @todo Write test cases for this method. + */ + public static function str_replace( $output, $product_attribute, $config ) { + + // str_replace array can contain duplicate subjects, so better loop through... + foreach ( $config->get_string_replace() as $str_replace ) { + + if ( ! empty( $str_replace['subject'] ) && ( $product_attribute == $str_replace['subject'] || self::PRODUCT_ATTRIBUTE_PREFIX . $product_attribute == $str_replace['subject'] ) ) { + + if ( \strpos( $str_replace['search'], '/' ) === false ) { + $output = \preg_replace( \stripslashes( '/' . $str_replace['search'] . '/mi' ), $str_replace['replace'], $output ); + } else { + $output = \str_replace( $str_replace['search'], $str_replace['replace'], $output ); + } + } + } + + return $output; + } + + /** + * Adds a prefix and/or suffix to a given output string based on attribute configurations. + * + * @param string $output The string to which the prefix and suffix will be added. + * @param string $attribute The product attribute to which the prefix and suffix apply. + * @param \CTXFeed\V5\Utility\Config $config Configuration settings for determining prefix and suffix. + * @param string|null $merchant_attribute Optional merchant-specific attribute. + * + * @return string The modified output string with the appropriate prefix and/or suffix added. + */ + public static function add_prefix_suffix( $output, $attribute, $config, $merchant_attribute ) { + if ( $output == '' ) { + return $output; + } + + if ( ! $config || ! \method_exists( $config, 'get_prefix_suffix' ) ) { + // Handle error or invalid configuration object + return $output; + } + + $prefix_suffix = $config->get_prefix_suffix( $attribute, $merchant_attribute ); + + $output = ( empty( $prefix_suffix['prefix'] ) ? '' : $prefix_suffix['prefix'] ) . $output; + if ( ! empty( $prefix_suffix['suffix'] ) ) { + if ( self::should_encode_attribute( $attribute ) ) { + $output .= ( \preg_match( '/^\s/', $prefix_suffix['suffix'] ) ? '' : '' ) . $prefix_suffix['suffix']; + }else{ + $output .= ( \preg_match( '/^\s/', $prefix_suffix['suffix'] ) ? '' : ' ' ) . $prefix_suffix['suffix']; + } + } + + /** + * Some attributes don't need any space like : link url, image url + */ + if ( self::should_encode_attribute( $attribute ) ) { + $output = \str_replace( ' ', '%20', $output ); + } + + return $output; + } + + /** + * Determines if a prefix or suffix should be stripped from a given attribute. + * + * @param string $attribute The attribute name to check. + * + * @return bool True if the prefix and suffix should be stripped for the given attribute, false otherwise. + */ + public static function should_encode_attribute( $attribute ) { + // Validate attribute + if ( ! \is_string( $attribute ) ) { + // Handle error or invalid input + return false; + } + + // Consider defining these as a class constant or static variable if reused + $attributes_to_strip = [ + 'link', + 'canonical_link', + 'mobile_link', + 'image', + 'images', + 'images_1', + 'images_2', + 'images_3', + 'images_4', + 'images_5', + 'images_6', + 'images_7', + 'images_8', + 'images_9', + 'images_10', + 'image_1', + 'image_2', + 'image_3', + 'image_4', + 'image_5', + 'image_6', + 'image_7', + 'image_8', + 'image_9', + 'image_10' + ]; + + return \in_array( $attribute, $attributes_to_strip ); + } + + /** + * Translates an attribute using the TranslatePress plugin. + * + * @param string $attribute Name of the product attribute. + * @param mixed $attribute_value Value of the product attribute. + * @param WC_Product $product Product object. + * @param mixed $config Feed configuration settings. + * + * @return mixed Translated attribute value if TranslatePress is active and configured, else returns original value. + * @since 5.2.12 + */ + public static function get_tp_translate( $attribute, $attribute_value, $product, $config ) { + if ( \is_plugin_active( 'translatepress-multilingual/index.php' ) ) { + $target_language = $config->get_feed_language( $attribute ); + + if ( ! empty( $target_language ) ) { + if ( \class_exists( 'TRP_Settings' ) && \class_exists( 'TRP_Translation_Render' ) ) { + $settings = ( new TRP_Settings() )->get_settings(); + $trp_render = new TRP_Translation_Render( $settings ); + global $TRP_LANGUAGE; + $default_language = $TRP_LANGUAGE; + $TRP_LANGUAGE = $target_language; + $attribute_value = $trp_render->translate_page( $attribute_value ); + + // Resetting the global language to default + $TRP_LANGUAGE = $default_language; + } + } + } + + return $attribute_value; + } + + /** + * Retrieves a WooCommerce product object based on the product ID and configuration settings. + * For variable products, it returns a specific variation based on the configured variation type. + * + * @param int $product_id Product ID. + * @param Config $config Configuration settings for handling variable products. + * + * @return mixed The product object, which may be a variation for variable products. + * @throws Exception If the product is not found or an error occurs. + */ + public static function get_product_object( $product_id, $config ) { + $product = \wc_get_product( $product_id ); + if ( ! $product ) { + throw new Exception( 'Product not found.' ); + } + + $variable_config = $config->get_variable_config(); + $variation_type = $variable_config['is_variations']; + + if ( $product->is_type( 'variable' ) && \in_array( $variation_type, [ + 'default', + 'cheap', + 'first', + 'last', + 'expensive', + 'n' + ], true ) ) { + $id = self::determine_variable_product( $product, $variation_type ); + + return $id ? \wc_get_product( $id ) : $product; + } + + if ( $config->get_categories_to_include() && $product->is_type( 'variable' ) ) { + $products = []; + if ( $variation_type == 'both' ) { + array_push( $products, $product ); + } + $variations = $product->get_visible_children(); + + foreach ( $variations as $variation_id ) { + $variation_product = wc_get_product( $variation_id ); + array_push( $products, $variation_product ); + } + + return $products; + } + + + return $product; + } + + /** + * Determines the ID of the variable product based on the variation type. + * + * @param WC_Product $product The variable product. + * @param string $variationType The type of variation to retrieve. + * + * @return int|null The ID of the determined product variation, or null if not found. + */ + private static function determine_variable_product( $product, $variation_type ) { + $variations = $product->get_visible_children(); + $variations_price = $product->get_variation_prices(); + switch ( $variation_type ) { + case 'default': + return self::get_default_product_variation( $product ); + + case 'first': + return ! empty( $variations ) ? \reset( $variations ) : null; + + case 'last': + return ! empty( $variations ) ? \end( $variations ) : null; + + case 'cheap': + return (isset($variations_price['price']) && !empty($variations_price['price'])) ? \array_keys( $variations_price['price'], \min( $variations_price['price'] ) )[0] : null; + + case 'expensive': + return isset( $variations_price['price'] ) ? \array_keys( $variations_price['price'], \max( $variations_price['price'] ) )[0] : null; + } + + return null; + } + + /** + * Finds the default variation ID for a variable product. + * + * @param WC_Product $product The variable product. + * + * @return int|false The ID of the default variation, or false if the product is not a variable product. + * @throws Exception If the product is not valid. + */ + public static function get_default_product_variation( $product ) { + if ( $product->is_type( 'variable' ) ) { + $attributes = $product->get_default_attributes(); + + foreach ( $attributes as $key => $value ) { + if ( \strpos( $key, 'attribute_' ) === 0 ) { + continue; + } + + unset( $attributes[ $key ] ); + $attributes[ \sprintf( 'attribute_%s', $key ) ] = $value; + } + + return ( new WC_Product_Variation_Data_Store_CPT )->find_matching_product_variation( $product, $attributes ); + } + + return false; + } + + /** + * Retrieves the product price including tax. + * + * @param float|string $price The base price of the product. + * @param WC_Product $product The WooCommerce product object. + * + * @return float The product price including tax. + */ + public static function get_price_with_tax( $price, $product ) { + if ( CommonHelper::wc_version_check( 3.0 ) ) { + return \wc_get_price_including_tax( $product, array( 'price' => $price ) ); + } + + return $product->get_price_including_tax( 1, $price ); + + } + +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/MakeFeed.php b/plugins/webappick-product-feed-for-woocommerce/V5/MakeFeed.php new file mode 100644 index 000000000..eba6a4fb1 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/MakeFeed.php @@ -0,0 +1,82 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class MakeFeed { + + /** + * @var array $product_ids Product IDs + */ + private $product_ids; + + /** + * @var array $config Feed Config + */ + private $config; + + /** + * MakeFeed constructor. + * + * @param array $config Feed Config. + * @param array $product_ids Product IDs. + */ + public function __construct( $config, $product_ids ) { + $this->product_ids = $product_ids; + $this->config = $config; + } + + public function get_structure() { + return 'test'; + } + + public function get_content() { + // Get the feed structure. + // Loop through the product IDs. + // Get the product object. + // Get the product ID. + // Get the product object. + // Get the product type. + // If not, Variable Product Return Product Object. + // If Variable then gets the variation according to the config. + // Validate the product. + // If not an object, return false. + // If not purchasable, return false. + // If not published, return false. + // Filter the product. + // If the filter is different from the default filter, then call filter class to validate. + // Advance filter the product. + // If Advance filter set, then call advance filter class to validate. + // Get the product info. + // Return the feed content. (FileFactory::get_file_data) + } + + public function shipping() { + $shipping[] = array( + 'class_name_placeholder' => array( + 'country' => 'US', + 'region' => 'US', + 'postcode' => '1234', + 'price' => '10', + ), + array( + 'country' => 'US', + 'region' => 'US:NY', + 'postcode' => '12345', + 'price' => '12', + ), + ); + + return $shipping; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/MerchantAttributeReplaceFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/MerchantAttributeReplaceFactory.php new file mode 100644 index 000000000..9d17a5489 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/MerchantAttributeReplaceFactory.php @@ -0,0 +1,858 @@ + [ + 'XML' => [ + 'id' => array( 'g:id', false ), + 'webitemid' => array( 'g:webitemid', false ), + 'region_id' => array( 'g:region_id', false ), + 'title' => array( 'g:title', true ), + 'description' => array( 'g:description', true ), + 'link' => array( 'link', true ), + 'canonical_link' => array( 'g:canonical_link', true ), + 'mobile_link' => array( 'mobile_link', true ), + 'product_type' => array( 'g:product_type', true ), + 'current_category' => array( 'g:google_product_category', true ), + 'image' => array( 'g:image_link', true ), + 'images' => array( 'g:additional_image_link', false ), + 'images_1' => array( 'g:additional_image_link', true ), + 'images_2' => array( 'g:additional_image_link', true ), + 'images_3' => array( 'g:additional_image_link', true ), + 'images_4' => array( 'g:additional_image_link', true ), + 'images_5' => array( 'g:additional_image_link', true ), + 'images_6' => array( 'g:additional_image_link', true ), + 'images_7' => array( 'g:additional_image_link', true ), + 'images_8' => array( 'g:additional_image_link', true ), + 'images_9' => array( 'g:additional_image_link', true ), + 'images_10' => array( 'g:additional_image_link', true ), + 'lifestyle_image' => array( 'g:lifestyle_image_link', true ), + 'condition' => array( 'g:condition', false ), + 'availability' => array( 'g:availability', false ), + 'availability_date' => array( 'g:availability_date', false ), + 'inventory' => array( 'g:inventory', false ), + 'price' => array( 'g:price', true ), + 'sale_price' => array( 'g:sale_price', true ), + 'sale_price_effective_date' => array( 'g:sale_price_effective_date', true ), + 'auto_pricing_min_price' => array( 'g:auto_pricing_min_price', true ), + 'brand' => array( 'g:brand', true ), + 'sku' => array( 'g:mpn', true ), + 'upc' => array( 'g:gtin', true ), + 'identifier_exists' => array( 'g:identifier_exists', true ), + 'item_group_id' => array( 'g:item_group_id', false ), + 'external_seller_id' => array( 'g:external_seller_id', false ), + 'product_length' => array( 'g:product_length', true ), + 'product_width' => array( 'g:product_width', true ), + 'product_height' => array( 'g:product_height', true ), + 'product_weight' => array( 'g:product_weight', true ), + 'product_highlight_1' => array( 'g:product_highlight', true ), + 'product_highlight_2' => array( 'g:product_highlight', true ), + 'product_highlight_3' => array( 'g:product_highlight', true ), + 'product_highlight_4' => array( 'g:product_highlight', true ), + 'product_highlight_5' => array( 'g:product_highlight', true ), + 'product_highlight_6' => array( 'g:product_highlight', true ), + 'product_highlight_7' => array( 'g:product_highlight', true ), + 'product_highlight_8' => array( 'g:product_highlight', true ), + 'product_highlight_9' => array( 'g:product_highlight', true ), + 'product_highlight_10' => array( 'g:product_highlight', true ), + 'color' => array( 'g:color', true ), + 'gender' => array( 'g:gender', true ), + 'age_group' => array( 'g:age_group', true ), + 'material' => array( 'g:material', true ), + 'pattern' => array( 'g:pattern', true ), + 'size' => array( 'g:size', true ), + 'size_type' => array( 'g:size_type', true ), + 'size_system' => array( 'g:size_system', true ), + 'tax' => array( 'g:tax', true ), + 'country' => array( 'g:country', true ), + 'region' => array( 'g:region', true ), + 'postal_code' => array( 'g:postal_code', true ), + 'rate' => array( 'g:rate', true ), + 'tax_ship' => array( 'g:tax_ship', true ), + 'tax_category' => array( 'g:tax_category', true ), + 'free_shipping_label' => array( 'g:free_shipping_label', true ), + 'free_shipping_limit' => array( 'g:free_shipping_limit', true ), + 'average_review_rating' => array( 'g:average_review_rating', true ), + 'number_of_ratings' => array( 'g:number_of_ratings', true ), + 'number_of_reviews' => array( 'g:number_of_reviews', true ), + 'shipping' => array( 'g:shipping', true ), + 'weight' => array( 'g:shipping_weight', false ), + 'length' => array( 'g:shipping_length', false ), + 'width' => array( 'g:shipping_width', false ), + 'height' => array( 'g:shipping_height', false ), + 'ships_from_country' => array( 'g:ships_from_country', false ), + 'shipping_label' => array( 'g:shipping_label', false ), + 'multipack' => array( 'g:multipack', true ), + 'is_bundle' => array( 'g:is_bundle', true ), + 'adult' => array( 'g:adult', true ), + 'ads_redirect' => array( 'g:ads_redirect', true ), + 'pause' => array( 'g:pause', true ), + 'ads_labels' => array( 'g:ads_labels', true ), + 'ads_grouping' => array( 'g:ads_grouping', true ), + 'custom_label_0' => array( 'g:custom_label_0', true ), + 'custom_label_1' => array( 'g:custom_label_1', true ), + 'custom_label_2' => array( 'g:custom_label_2', true ), + 'custom_label_3' => array( 'g:custom_label_3', true ), + 'custom_label_4' => array( 'g:custom_label_4', true ), + 'excluded_destination' => array( 'g:excluded_destination', true ), + 'shopping_ads_excluded_country' => array( 'g:shopping_ads_excluded_country', true ), + 'included_destination' => array( 'g:included_destination', true ), + 'expiration_date' => array( 'g:expiration_date', true ), + 'unit_pricing_measure' => array( 'g:unit_pricing_measure', true ), + 'unit_pricing_base_measure' => array( 'g:unit_pricing_base_measure', true ), + 'subscription_cost' => array( 'g:subscription_cost', true ), + 'months' => array( 'g:months', true ), + 'amount' => array( 'g:amount', true ), + 'period' => array( 'g:period', true ), + 'product_detail' => array( 'g:product_detail', true ), + 'section_name' => array( 'g:section_name', true ), + 'attribute_name' => array( 'g:attribute_name', true ), + 'attribute_value' => array( 'g:attribute_value', true ), + 'product_highlight' => array( 'g:product_highlight', true ), + + 'material_1' => array( 'g:material', true ), + 'material_2' => array( 'g:material', true ), + 'energy_efficiency_class' => array( 'g:energy_efficiency_class', true ), + 'min_energy_efficiency_class' => array( 'g:min_energy_efficiency_class', true ), + 'max_energy_efficiency_class' => array( 'g:max_energy_efficiency_class', true ), + 'loyalty_points' => array( 'g:loyalty_points', true ), + 'installment' => array( 'g:installment', true ), + 'promotion_id' => array( 'g:promotion_id', true ), + 'product_applicability' => array( 'g:product_applicability', true ), + 'offer_type' => array( 'g:offer_type', true ), + 'long_title' => array( 'g:long_title', true ), + 'promotion_effective_dates' => array( 'g:promotion_effective_dates', true ), + 'redemption_channel' => array( 'g:redemption_channel', true ), + 'promotion_destination' => array( 'g:promotion_destination', true ), + 'percent_off' => array( 'g:percent_off', true ), + 'money_off_amount' => array( 'g:money_off_amount', true ), + 'get_this_quantity_discounted' => array( 'g:get_this_quantity_discounted', true ), + 'free_shipping' => array( 'g:free_shipping', true ), + 'free_gift_value' => array( 'g:free_gift_value', true ), + 'free_gift_description' => array( 'g:free_gift_description', true ), + 'promotion_display_dates' => array( 'g:promotion_display_dates', true ), + 'generic_redemption_code' => array( 'g:generic_redemption_code', true ), + 'fine_print' => array( 'g:fine_print', true ), + 'promotion_price' => array( 'g:promotion_price', true ), + 'coupon_value_type' => array( 'g:coupon_value_type', true ), + 'limit_quantity' => array( 'g:limit_quantity', true ), + 'limit_value' => array( 'g:limit_value', true ), + 'minimum_purchase_amount' => array( 'g:minimum_purchase_amount', true ), + 'item_id_exclusion' => array( 'g:item_id_exclusion', true ), + 'product_type_exclusion' => array( 'g:product_type_exclusion', true ), + 'brand_exclusion' => array( 'g:brand_exclusion', true ), + 'item_group_id_exclusion' => array( 'g:item_group_id_exclusion', true ), + 'cost_of_goods_sold' => array( 'g:cost_of_goods_sold', true ), + 'sell_on_google_quantity' => array( 'g:sell_on_google_quantity', false ), + 'location_id' => array( 'g:location_id', false ), + 'location_group_name' => array( 'g:location_group_name', false ), + 'min_handling_time' => array( 'g:min_handling_time', false ), + 'max_handling_time' => array( 'g:max_handling_time', false ), + 'max_transit_time' => array( 'g:max_transit_time', false ), + 'min_transit_time' => array( 'g:min_transit_time', false ), + 'transit_time_label' => array( 'g:transit_time_label', false ), + 'return_address_label' => array( 'g:return_address_label', false ), + 'return_policy_label' => array( 'g:return_policy_label', false ), + 'store_code' => array( 'g:store_code', false ), + 'quantity' => array( 'g:quantity', true ), + 'pickup_method' => array( 'g:pickup_method', true ), + 'pickup_sla' => array( 'g:pickup_sla', true ), + 'pickup_link_template' => array( 'g:pickup_link_template', true ), + 'link_template' => array( 'g:link_template', true ), + 'mobile_link_template' => array( 'g:mobile_link_template', true ), + 'mobile_pickup_link_template' => array( 'g:mobile_pickup_link_template', true ), + 'local_shipping_label' => array( 'g:local_shipping_label', true ), + 'certification' => array( 'g:certification', true ), + 'capacity' => array( 'g:capacity', true ), + 'google_funded_promotion_eligibility' => array( + 'g:google_funded_promotion_eligibility', + false, + ), + 'certified_pre-owned' => array( 'g:certified_pre-owned', true ), + ], + 'CSV' => [ + 'id' => array( 'id', false ), + 'webitemid' => array( 'webitemid', false ), + 'region_id' => array( 'region_id', false ), + 'title' => array( 'title', true ), + 'description' => array( 'description', true ), + 'link' => array( 'link', true ), + 'canonical_link' => array( 'canonical link', true ), + 'mobile_link' => array( 'mobile_link', true ), + 'product_type' => array( 'product type', true ), + 'current_category' => array( 'google product category', true ), + 'image' => array( 'image link', true ), + 'images' => array( 'additional image link', true ), + 'images_1' => array( 'additional image link', true ), + 'images_2' => array( 'additional image link', true ), + 'images_3' => array( 'additional image link', true ), + 'images_4' => array( 'additional image link', true ), + 'images_5' => array( 'additional image link', true ), + 'images_6' => array( 'additional image link', true ), + 'images_7' => array( 'additional image link', true ), + 'images_8' => array( 'additional image link', true ), + 'images_9' => array( 'additional image link', true ), + 'images_10' => array( 'additional image link', true ), + 'lifestyle_image' => array( 'lifestyle image link', true ), + 'condition' => array( 'condition', false ), + 'availability' => array( 'availability', false ), + 'availability_date' => array( 'availability date', false ), + 'inventory' => array( 'inventory', false ), + 'price' => array( 'price', true ), + 'sale_price' => array( 'sale price', true ), + 'sale_price_effective_date' => array( 'sale price effective date', true ), + 'auto_pricing_min_price' => array( 'auto pricing minimum price', true ), + 'brand' => array( 'brand', true ), + 'sku' => array( 'mpn', true ), + 'upc' => array( 'gtin', true ), + 'identifier_exists' => array( 'identifier exists', true ), + 'item_group_id' => array( 'item group id', false ), + 'external_seller_id' => array( 'external seller id', false ), + 'product_length' => array( 'product length', true ), + 'product_width' => array( 'product width', true ), + 'product_height' => array( 'product height', true ), + 'product_weight' => array( 'product weight', true ), + 'product_highlight' => array( 'product highlight', true ), + 'color' => array( 'color', true ), + 'gender' => array( 'gender', true ), + 'age_group' => array( 'age group', true ), + 'material' => array( 'material', true ), + 'pattern' => array( 'pattern', true ), + 'size' => array( 'size', true ), + 'size_type' => array( 'size type', true ), + 'size_system' => array( 'size system', true ), + 'free_shipping_label' => array( 'free_shipping_label', true ), + 'free_shipping_limit' => array( 'free_shipping_limit', true ), + 'average_review_rating' => array( 'average_review_rating', true ), + 'number_of_ratings' => array( 'number_of_ratings', true ), + 'number_of_reviews' => array( 'number_of_reviews', true ), + 'checkout_link_template' => array( 'checkout link template', true ), + 'tax' => array( + 'tax(country:region:rate:postal_code:tax_ship)', + true + ), + 'tax_category' => array( 'tax category', true ), + 'shipping' => array( + 'shipping(country:state:service:price)', + true + ), + //'shipping' => array( 'shipping', true ), + 'weight' => array( 'shipping weight', false ), + 'length' => array( 'shipping length', false ), + 'width' => array( 'shipping width', false ), + 'height' => array( 'shipping height', false ), + 'ships_from_country' => array( 'ships from country', false ), + 'shipping_label' => array( 'shipping label', false ), + 'shipping_country' => array( 'shipping country', false ), + 'shipping_service' => array( 'shipping service', false ), + 'shipping_price' => array( 'shipping price', false ), + 'shipping_region' => array( 'shipping region', false ), + 'multipack' => array( 'multipack', true ), + 'is_bundle' => array( 'is bundle', true ), + 'adult' => array( 'adult', true ), + 'ads_redirect' => array( 'ads redirect', true ), + 'pause' => array( 'pause', true ), + 'custom_label_0' => array( 'custom label 0', true ), + 'custom_label_1' => array( 'custom label 1', true ), + 'custom_label_2' => array( 'custom label 2', true ), + 'custom_label_3' => array( 'custom label 3', true ), + 'custom_label_4' => array( 'custom label 4', true ), + 'excluded_destination' => array( 'excluded destination', true ), + 'shopping_ads_excluded_country' => array( 'shopping ads excluded country', true ), + 'included_destination' => array( 'included destination', true ), + 'expiration_date' => array( 'expiration date', true ), + 'unit_pricing_measure' => array( 'unit pricing measure', true ), + 'unit_pricing_base_measure' => array( 'unit pricing base measure', true ), + 'installment_months' => array( 'months', true ), + 'installment_amount' => array( 'amount', true ), + 'subscription_period' => array( 'period', true ), + 'subscription_period_length' => array( 'period_length', true ), + 'subscription_amount' => array( 'amount', true ), + 'energy_efficiency_class' => array( 'energy efficiency class', true ), + 'min_energy_efficiency_class' => array( 'min energy efficiency class', true ), + 'max_energy_efficiency_class' => array( 'max energy efficiency class', true ), + 'loyalty_points' => array( 'loyalty points', true ), + 'installment' => array( 'installment', true ), + 'promotion_id' => array( 'promotion id', true ), + 'cost_of_goods_sold' => array( 'cost of goods sold', true ), + 'sell_on_google_quantity' => array( 'sell on google quantity', false ), + 'min_handling_time' => array( 'min handling time', false ), + 'max_handling_time' => array( 'max handling time', false ), + 'transit_time_label' => array( 'transit time label', false ), + 'return_address_label' => array( 'return address label', false ), + 'return_policy_label' => array( 'return policy label', false ), + 'store_code' => array( 'store code', false ), + 'pickup_method' => array( 'pickup method', true ), + 'pickup_sla' => array( 'pickup sla', true ), + 'pickup_link_template' => array( 'pickup link template', true ), + 'link_template' => array( 'link template', true ), + 'mobile_link_template' => array( 'mobile link template', true ), + 'mobile_pickup_link_template' => array( 'mobile pickup link template', true ), + 'local_shipping_label' => array( 'g:local_shipping_label', true ), + 'google_funded_promotion_eligibility' => array( + 'google funded promotion eligibility', + false, + ), + ], + 'JSON' => [], + ], + 'facebook' => [ + 'XML' => [ + 'id' => array( 'g:id', false ), + 'title' => array( 'g:title', true ), + 'description' => array( 'g:description', true ), + 'link' => array( 'g:link', true ), + 'mobile_link' => array( 'g:mobile_link', true ), + 'product_type' => array( 'g:product_type', true ), + 'current_category' => array( 'g:google_product_category', true ), + 'image' => array( 'g:image_link', true ), + 'images' => array( 'g:additional_image_link', false ), + 'images_1' => array( 'g:additional_image_link', true ), + 'images_2' => array( 'g:additional_image_link', true ), + 'images_3' => array( 'g:additional_image_link', true ), + 'images_4' => array( 'g:additional_image_link', true ), + 'images_5' => array( 'g:additional_image_link', true ), + 'images_6' => array( 'g:additional_image_link', true ), + 'images_7' => array( 'g:additional_image_link', true ), + 'images_8' => array( 'g:additional_image_link', true ), + 'images_9' => array( 'g:additional_image_link', true ), + 'images_10' => array( 'g:additional_image_link', true ), + 'condition' => array( 'g:condition', false ), + 'availability' => array( 'g:availability', false ), + 'inventory' => array( 'g:inventory', false ), + 'override' => array( 'g:override', false ), + 'price' => array( 'g:price', true ), + 'sale_price' => array( 'g:sale_price', true ), + 'sale_price_effective_date' => array( 'g:sale_price_effective_date', true ), + 'brand' => array( 'g:brand', true ), + 'sku' => array( 'g:mpn', true ), + 'upc' => array( 'g:gtin', true ), + 'identifier_exists' => array( 'g:identifier_exists', true ), + 'item_group_id' => array( 'g:item_group_id', false ), + 'color' => array( 'g:color', true ), + 'gender' => array( 'g:gender', true ), + 'age_group' => array( 'g:age_group', true ), + 'material' => array( 'g:material', true ), + 'pattern' => array( 'g:pattern', true ), + 'size' => array( 'g:size', true ), + 'size_type' => array( 'g:size_type', true ), + 'size_system' => array( 'g:size_system', true ), + 'tax' => array( 'g:tax', true ), + 'weight' => array( 'g:shipping_weight', false ), + 'length' => array( 'g:shipping_length', false ), + 'width' => array( 'g:shipping_width', false ), + 'height' => array( 'g:shipping_height', false ), + 'shipping' => array( 'g:shipping', true ), + 'ships_from_country' => array( 'g:ships_from_country', false ), + 'shipping_label' => array( 'g:shipping_label', false ), + 'shipping_country' => array( 'g:shipping_country', false ), + 'shipping_service' => array( 'g:shipping_service', false ), + 'shipping_price' => array( 'g:shipping_price', false ), + 'shipping_region' => array( 'g:shipping_region', false ), + 'multipack' => array( 'g:multipack', true ), + 'is_bundle' => array( 'g:is_bundle', true ), + 'adult' => array( 'g:adult', true ), + 'adwords_redirect' => array( 'g:adwords_redirect', true ), + 'internal_label' => array( 'g:internal_label', true ), + 'custom_label_0' => array( 'g:custom_label_0', true ), + 'custom_label_1' => array( 'g:custom_label_1', true ), + 'custom_label_2' => array( 'g:custom_label_2', true ), + 'custom_label_3' => array( 'g:custom_label_3', true ), + 'custom_label_4' => array( 'g:custom_label_4', true ), + 'excluded_destination' => array( 'g:excluded_destination', true ), + 'expiration_date' => array( 'g:expiration_date', true ), + 'unit_pricing_measure' => array( 'g:unit_pricing_measure', true ), + 'unit_pricing_base_measure' => array( 'g:unit_pricing_base_measure', true ), + 'energy_efficiency_class' => array( 'g:energy_efficiency_class', true ), + 'loyalty_points' => array( 'g:loyalty_points', true ), + 'installment' => array( 'g:installment', true ), + 'promotion_id' => array( 'g:promotion_id', true ), + 'cost_of_goods_sold' => array( 'g:cost_of_goods_sold', true ), + 'availability_date' => array( 'g:availability_date', true ), + 'tax_category' => array( 'g:tax_category', true ), + 'included_destination' => array( 'g:included_destination', true ), + 'quantity_to_sell_on_facebook' => array( 'g:quantity_to_sell_on_facebook', true ), + ], + 'CSV' => [ + 'id' => array( 'id', false ), + 'title' => array( 'title', true ), + 'description' => array( 'description', true ), + 'link' => array( 'link', true ), + 'mobile_link' => array( 'mobile_link', true ), + 'product_type' => array( 'product type', true ), + 'current_category' => array( 'google product category', true ), + 'image' => array( 'image link', true ), + 'images' => array( 'additional image link', true ), + 'additional_image_link' => array( 'additional image link', true ), + 'images_1' => array( 'additional image link', true ), + 'images_2' => array( 'additional image link', true ), + 'images_3' => array( 'additional image link', true ), + 'images_4' => array( 'additional image link', true ), + 'images_5' => array( 'additional image link', true ), + 'images_6' => array( 'additional image link', true ), + 'images_7' => array( 'additional image link', true ), + 'images_8' => array( 'additional image link', true ), + 'images_9' => array( 'additional image link', true ), + 'images_10' => array( 'additional image link', true ), + 'condition' => array( 'condition', false ), + 'availability' => array( 'availability', false ), + 'inventory' => array( 'inventory', false ), + 'override' => array( 'override', false ), + 'price' => array( 'price', true ), + 'sale_price' => array( 'sale price', true ), + 'sale_price_effective_date' => array( 'sale price effective date', true ), + 'brand' => array( 'brand', true ), + 'sku' => array( 'mpn', true ), + 'upc' => array( 'gtin', true ), + 'identifier_exists' => array( 'identifier exists', true ), + 'item_group_id' => array( 'item group id', false ), + 'color' => array( 'color', true ), + 'gender' => array( 'gender', true ), + 'age_group' => array( 'age group', true ), + 'material' => array( 'material', true ), + 'pattern' => array( 'pattern', true ), + 'size' => array( 'size', true ), + 'size_type' => array( 'size type', true ), + 'size_system' => array( 'size system', true ), + 'tax' => array( 'tax', true ), + 'weight' => array( 'shipping weight', false ), + 'length' => array( 'shipping length', false ), + 'width' => array( 'shipping width', false ), + 'height' => array( 'shipping height', false ), + 'ships_from_country' => array( 'ships from country', false ), + 'shipping_label' => array( 'shipping label', false ), + 'shipping_country' => array( 'shipping country', false ), + 'shipping_service' => array( 'shipping service', false ), + 'shipping_price' => array( 'shipping price', false ), + 'shipping_region' => array( 'shipping region', false ), + 'multipack' => array( 'multipack', true ), + 'is_bundle' => array( 'is bundle', true ), + 'adult' => array( 'adult', true ), + 'adwords_redirect' => array( 'adwords redirect', true ), + 'internal_label' => array( 'internal_label', true ), + 'custom_label_0' => array( 'custom label 0', true ), + 'custom_label_1' => array( 'custom label 1', true ), + 'custom_label_2' => array( 'custom label 2', true ), + 'custom_label_3' => array( 'custom label 3', true ), + 'custom_label_4' => array( 'custom label 4', true ), + 'excluded_destination' => array( 'excluded destination', true ), + 'expiration_date' => array( 'expiration date', true ), + 'unit_pricing_measure' => array( 'unit pricing measure', true ), + 'unit_pricing_base_measure' => array( 'unit pricing base measure', true ), + 'energy_efficiency_class' => array( 'energy efficiency class', true ), + 'loyalty_points' => array( 'loyalty points', true ), + 'installment' => array( 'installment', true ), + 'promotion_id' => array( 'promotion id', true ), + 'cost_of_goods_sold' => array( 'cost of goods sold', true ), + 'availability_date' => array( 'availability date', true ), + 'tax_category' => array( 'tax category', true ), + 'included_destination' => array( 'included destination', true ), + 'quantity_to_sell_on_facebook' => array( 'quantity_to_sell_on_facebook', true ), + ], + 'JSON' => [], + ], + 'pinterest' => [ + 'XML' => [ + 'id' => array( 'g:id', false ), + 'title' => array( 'title', true ), + 'description' => array( 'description', true ), + 'link' => array( 'link', true ), + 'mobile_link' => array( 'mobile_link', true ), + 'product_type' => array( 'g:product_type', true ), + 'current_category' => array( 'g:google_product_category', true ), + 'image' => array( 'g:image_link', true ), + 'images' => array( 'g:additional_image_link', false ), + 'images_1' => array( 'g:additional_image_link', true ), + 'images_2' => array( 'g:additional_image_link', true ), + 'images_3' => array( 'g:additional_image_link', true ), + 'images_4' => array( 'g:additional_image_link', true ), + 'images_5' => array( 'g:additional_image_link', true ), + 'images_6' => array( 'g:additional_image_link', true ), + 'images_7' => array( 'g:additional_image_link', true ), + 'images_8' => array( 'g:additional_image_link', true ), + 'images_9' => array( 'g:additional_image_link', true ), + 'images_10' => array( 'g:additional_image_link', true ), + 'condition' => array( 'g:condition', false ), + 'availability' => array( 'g:availability', false ), + 'availability_date' => array( 'g:availability_date', false ), + 'inventory' => array( 'g:inventory', false ), + 'price' => array( 'g:price', true ), + 'sale_price' => array( 'g:sale_price', true ), + 'sale_price_effective_date' => array( 'g:sale_price_effective_date', true ), + 'brand' => array( 'g:brand', true ), + 'sku' => array( 'g:mpn', true ), + 'upc' => array( 'g:gtin', true ), + 'identifier_exists' => array( 'g:identifier_exists', true ), + 'item_group_id' => array( 'g:item_group_id', false ), + 'color' => array( 'g:color', true ), + 'gender' => array( 'g:gender', true ), + 'age_group' => array( 'g:age_group', true ), + 'material' => array( 'g:material', true ), + 'pattern' => array( 'g:pattern', true ), + 'size' => array( 'g:size', true ), + 'size_type' => array( 'g:size_type', true ), + 'size_system' => array( 'g:size_system', true ), + 'tax' => array( 'g:tax', true ), + 'tax_country' => array( 'g:tax_country', true ), + 'tax_region' => array( 'g:tax_region', true ), + 'tax_rate' => array( 'g:tax_rate', true ), + 'tax_ship' => array( 'g:tax_ship', true ), + 'tax_category' => array( 'g:tax_category', true ), + 'free_shipping_label' => array( 'g:free_shipping_label', true ), + 'free_shipping_limit' => array( 'g:free_shipping_limit', true ), + 'average_review_rating' => array( 'g:average_review_rating', true ), + 'number_of_ratings' => array( 'g:number_of_ratings', true ), + 'number_of_reviews' => array( 'g:number_of_reviews', true ), + 'weight' => array( 'g:shipping_weight', false ), + 'length' => array( 'g:shipping_length', false ), + 'width' => array( 'g:shipping_width', false ), + 'height' => array( 'g:shipping_height', false ), + 'ships_from_country' => array( 'g:ships_from_country', false ), + 'shipping' => array( 'g:shipping', true ), + 'shipping_label' => array( 'g:shipping_label', false ), + 'shipping_country' => array( 'g:shipping_country', false ), + 'shipping_service' => array( 'g:shipping_service', false ), + 'shipping_price' => array( 'g:shipping_price', false ), + 'shipping_region' => array( 'g:shipping_region', false ), + 'multipack' => array( 'g:multipack', true ), + 'is_bundle' => array( 'g:is_bundle', true ), + 'adult' => array( 'g:adult', true ), + 'adwords_redirect' => array( 'g:adwords_redirect', true ), + 'custom_label_0' => array( 'g:custom_label_0', true ), + 'custom_label_1' => array( 'g:custom_label_1', true ), + 'custom_label_2' => array( 'g:custom_label_2', true ), + 'custom_label_3' => array( 'g:custom_label_3', true ), + 'custom_label_4' => array( 'g:custom_label_4', true ), + 'excluded_destination' => array( 'g:excluded_destination', true ), + 'included_destination' => array( 'g:included_destination', true ), + 'expiration_date' => array( 'g:expiration_date', true ), + 'unit_pricing_measure' => array( 'g:unit_pricing_measure', true ), + 'unit_pricing_base_measure' => array( 'g:unit_pricing_base_measure', true ), + 'energy_efficiency_class' => array( 'g:energy_efficiency_class', true ), + 'loyalty_points' => array( 'g:loyalty_points', true ), + 'installment' => array( 'g:installment', true ), + 'promotion_id' => array( 'g:promotion_id', true ), + 'cost_of_goods_sold' => array( 'g:cost_of_goods_sold', true ), + ], + 'CSV' => [ + 'id' => array( 'id', false ), + 'title' => array( 'title', true ), + 'description' => array( 'description', true ), + 'link' => array( 'link', true ), + 'mobile_link' => array( 'mobile_link', true ), + 'product_type' => array( 'product_type', true ), + 'current_category' => array( 'google_product_category', true ), + 'image' => array( 'image_link', true ), + 'images' => array( 'additional_image_link', true ), + 'images_1' => array( 'additional_image_link', true ), + 'images_2' => array( 'additional_image_link', true ), + 'images_3' => array( 'additional_image_link', true ), + 'images_4' => array( 'additional_image_link', true ), + 'images_5' => array( 'additional_image_link', true ), + 'images_6' => array( 'additional_image_link', true ), + 'images_7' => array( 'additional_image_link', true ), + 'images_8' => array( 'additional_image_link', true ), + 'images_9' => array( 'additional_image_link', true ), + 'images_10' => array( 'additional_image_link', true ), + 'condition' => array( 'condition', false ), + 'availability' => array( 'availability', false ), + 'availability_date' => array( 'availability_date', false ), + 'inventory' => array( 'inventory', false ), + 'price' => array( 'price', true ), + 'sale_price' => array( 'sale_price', true ), + 'sale_price_effective_date' => array( 'sale_price_effective_date', true ), + 'brand' => array( 'brand', true ), + 'sku' => array( 'mpn', true ), + 'upc' => array( 'gtin', true ), + 'identifier_exists' => array( 'identifier_exists', true ), + 'item_group_id' => array( 'item_group_id', false ), + 'color' => array( 'color', true ), + 'gender' => array( 'gender', true ), + 'age_group' => array( 'age_group', true ), + 'material' => array( 'material', true ), + 'pattern' => array( 'pattern', true ), + 'size' => array( 'size', true ), + 'size_type' => array( 'size_type', true ), + 'size_system' => array( 'size_system', true ), + 'tax' => array( 'tax', true ), + 'tax_country' => array( 'tax_country', true ), + 'tax_region' => array( 'tax_region', true ), + 'tax_rate' => array( 'tax_rate', true ), + 'tax_ship' => array( 'tax_ship', true ), + 'tax_category' => array( 'tax_category', true ), + 'free_shipping_label' => array( 'free_shipping_label', true ), + 'free_shipping_limit' => array( 'free_shipping_limit', true ), + 'average_review_rating' => array( 'average_review_rating', true ), + 'number_of_ratings' => array( 'number_of_ratings', true ), + 'number_of_reviews' => array( 'number_of_reviews', true ), + 'weight' => array( 'shipping_weight', false ), + 'length' => array( 'shipping_length', false ), + 'width' => array( 'shipping_width', false ), + 'height' => array( 'shipping_height', false ), + 'ships_from_country' => array( 'ships_from_country', false ), + 'shipping_label' => array( 'shipping_label', false ), + 'shipping_country' => array( 'shipping_country', false ), + 'shipping_service' => array( 'shipping_service', false ), + 'shipping_price' => array( 'shipping_price', false ), + 'shipping_region' => array( 'shipping_region', false ), + 'multipack' => array( 'multipack', true ), + 'is_bundle' => array( 'is_bundle', true ), + 'adult' => array( 'adult', true ), + 'adwords_redirect' => array( 'adwords_redirect', true ), + 'custom_label_0' => array( 'custom_label_0', true ), + 'custom_label_1' => array( 'custom_label_1', true ), + 'custom_label_2' => array( 'custom_label_2', true ), + 'custom_label_3' => array( 'custom_label_3', true ), + 'custom_label_4' => array( 'custom_label_4', true ), + 'excluded_destination' => array( 'excluded_destination', true ), + 'included_destination' => array( 'included_destination', true ), + 'expiration_date' => array( 'expiration_date', true ), + 'unit_pricing_measure' => array( 'unit_pricing_measure', true ), + 'unit_pricing_base_measure' => array( 'unit_pricing_base_measure', true ), + 'energy_efficiency_class' => array( 'energy_efficiency_class', true ), + 'loyalty_points' => array( 'loyalty_points', true ), + 'installment' => array( 'installment', true ), + 'promotion_id' => array( 'promotion_id', true ), + 'cost_of_goods_sold' => array( 'cost_of_goods_sold', true ), + ], + 'JSON' => [], + ], + 'skroutz' => [ + 'XML' => [ + 'id' => array( 'id', false ), + 'name' => array( 'name', true ), + 'description' => array( 'description', true ), + 'link' => array( 'link', true ), + 'image' => array( 'image', true ), + 'category' => array( 'category', true ), + 'price' => array( 'price', false ), + 'price_with_vat' => array( 'price_with_vat', false ), + 'manufacturer' => array( 'manufacturer', true ), + 'mpn' => array( 'mpn', false ), + 'ean' => array( 'ean', false ), + 'instock' => array( 'instock', false ), + 'availability' => array( 'availability', false ), + 'color' => array( 'color', false ), + 'size' => array( 'size', false ), + 'weight' => array( 'weight', false ), + 'quantity' => array( 'quantity', false ), + 'additional_imageurl' => array( 'additional_imageurl', true ), + 'additional_imageurl_1' => array( 'additional_imageurl', true ), + 'additional_imageurl_2' => array( 'additional_imageurl', true ), + 'additional_imageurl_3' => array( 'additional_imageurl', true ), + 'additional_imageurl_4' => array( 'additional_imageurl', true ), + 'additional_imageurl_5' => array( 'additional_imageurl', true ), + 'additional_imageurl_6' => array( 'additional_imageurl', true ), + 'additional_imageurl_7' => array( 'additional_imageurl', true ), + 'additional_imageurl_8' => array( 'additional_imageurl', true ), + 'additional_imageurl_9' => array( 'additional_imageurl', true ), + 'additional_imageurl_10' => array( 'additional_imageurl', true ), + 'lifestyle_image' => array( 'lifestyle_imageurl', true ), + ], + 'CSV' => [], + 'JSON' => [], + ], + 'tiktok' => [ + 'XML' => [ + 'id' => array( 'g:id', false ), + 'sku_id' => array( 'g:sku_id', true ), + 'webitemid' => array( 'g:webitemid', false ), + 'region_id' => array( 'g:region_id', false ), + 'title' => array( 'g:title', true ), + 'description' => array( 'g:description', true ), + 'link' => array( 'g:link', true ), + 'canonical_link' => array( 'g:canonical_link', true ), + 'mobile_link' => array( 'mobile_link', true ), + 'product_type' => array( 'g:product_type', true ), + 'google_product_category' => array( 'g:google_product_category', true ), + 'image_link' => array( 'g:image_link', true ), + 'additional_image_link' => array( 'g:additional_image_link', false ), + 'images_1' => array( 'g:additional_image_link', true ), + 'images_2' => array( 'g:additional_image_link', true ), + 'images_3' => array( 'g:additional_image_link', true ), + 'images_4' => array( 'g:additional_image_link', true ), + 'images_5' => array( 'g:additional_image_link', true ), + 'images_6' => array( 'g:additional_image_link', true ), + 'images_7' => array( 'g:additional_image_link', true ), + 'images_8' => array( 'g:additional_image_link', true ), + 'images_9' => array( 'g:additional_image_link', true ), + 'images_10' => array( 'g:additional_image_link', true ), + 'lifestyle_image' => array( 'g:lifestyle_image_link', true ), + 'condition' => array( 'g:condition', false ), + 'availability' => array( 'g:availability', false ), + 'availability_date' => array( 'g:availability_date', false ), + 'inventory' => array( 'g:inventory', false ), + 'price' => array( 'g:price', true ), + 'sale_price' => array( 'g:sale_price', true ), + 'sale_price_effective_date' => array( 'g:sale_price_effective_date', true ), + 'auto_pricing_min_price' => array( 'g:auto_pricing_min_price', true ), + 'brand' => array( 'g:brand', true ), + 'sku' => array( 'g:mpn', true ), + 'upc' => array( 'g:gtin', true ), + 'identifier_exists' => array( 'g:identifier_exists', true ), + 'item_group_id' => array( 'g:item_group_id', false ), + 'external_seller_id' => array( 'g:external_seller_id', false ), + 'product_length' => array( 'g:product_length', true ), + 'product_width' => array( 'g:product_width', true ), + 'product_height' => array( 'g:product_height', true ), + 'product_weight' => array( 'g:product_weight', true ), + 'product_highlight_1' => array( 'g:product_highlight', true ), + 'product_highlight_2' => array( 'g:product_highlight', true ), + 'product_highlight_3' => array( 'g:product_highlight', true ), + 'product_highlight_4' => array( 'g:product_highlight', true ), + 'product_highlight_5' => array( 'g:product_highlight', true ), + 'product_highlight_6' => array( 'g:product_highlight', true ), + 'product_highlight_7' => array( 'g:product_highlight', true ), + 'product_highlight_8' => array( 'g:product_highlight', true ), + 'product_highlight_9' => array( 'g:product_highlight', true ), + 'product_highlight_10' => array( 'g:product_highlight', true ), + 'color' => array( 'g:color', true ), + 'gender' => array( 'g:gender', true ), + 'age_group' => array( 'g:age_group', true ), + 'material' => array( 'g:material', true ), + 'pattern' => array( 'g:pattern', true ), + 'size' => array( 'g:size', true ), + 'size_type' => array( 'g:size_type', true ), + 'size_system' => array( 'g:size_system', true ), + 'tax' => array( 'g:tax', true ), + 'country' => array( 'g:country', true ), + 'region' => array( 'g:region', true ), + 'postal_code' => array( 'g:postal_code', true ), + 'rate' => array( 'g:rate', true ), + 'tax_ship' => array( 'g:tax_ship', true ), + 'tax_category' => array( 'g:tax_category', true ), + 'free_shipping_label' => array( 'g:free_shipping_label', true ), + 'free_shipping_limit' => array( 'g:free_shipping_limit', true ), + 'average_review_rating' => array( 'g:average_review_rating', true ), + 'number_of_ratings' => array( 'g:number_of_ratings', true ), + 'number_of_reviews' => array( 'g:number_of_reviews', true ), + 'shipping' => array( 'g:shipping', true ), + 'weight' => array( 'g:shipping_weight', false ), + 'length' => array( 'g:shipping_length', false ), + 'width' => array( 'g:shipping_width', false ), + 'height' => array( 'g:shipping_height', false ), + 'ships_from_country' => array( 'g:ships_from_country', false ), + 'shipping_label' => array( 'g:shipping_label', false ), + 'multipack' => array( 'g:multipack', true ), + 'is_bundle' => array( 'g:is_bundle', true ), + 'adult' => array( 'g:adult', true ), + 'ads_redirect' => array( 'g:ads_redirect', true ), + 'pause' => array( 'g:pause', true ), + 'custom_label_0' => array( 'g:custom_label_0', true ), + 'custom_label_1' => array( 'g:custom_label_1', true ), + 'custom_label_2' => array( 'g:custom_label_2', true ), + 'custom_label_3' => array( 'g:custom_label_3', true ), + 'custom_label_4' => array( 'g:custom_label_4', true ), + 'excluded_destination' => array( 'g:excluded_destination', true ), + 'shopping_ads_excluded_country' => array( 'g:shopping_ads_excluded_country', true ), + 'included_destination' => array( 'g:included_destination', true ), + 'expiration_date' => array( 'g:expiration_date', true ), + 'unit_pricing_measure' => array( 'g:unit_pricing_measure', true ), + 'unit_pricing_base_measure' => array( 'g:unit_pricing_base_measure', true ), + 'subscription_cost' => array( 'g:subscription_cost', true ), + 'months' => array( 'g:months', true ), + 'amount' => array( 'g:amount', true ), + 'period' => array( 'g:period', true ), + 'product_detail' => array( 'g:product_detail', true ), + 'section_name' => array( 'g:section_name', true ), + 'attribute_name' => array( 'g:attribute_name', true ), + 'attribute_value' => array( 'g:attribute_value', true ), + 'product_highlight' => array( 'g:product_highlight', true ), + + 'material_1' => array( 'g:material', true ), + 'material_2' => array( 'g:material', true ), + 'energy_efficiency_class' => array( 'g:energy_efficiency_class', true ), + 'min_energy_efficiency_class' => array( 'g:min_energy_efficiency_class', true ), + 'max_energy_efficiency_class' => array( 'g:max_energy_efficiency_class', true ), + 'loyalty_points' => array( 'g:loyalty_points', true ), + 'installment' => array( 'g:installment', true ), + 'promotion_id' => array( 'g:promotion_id', true ), + 'product_applicability' => array( 'g:product_applicability', true ), + 'offer_type' => array( 'g:offer_type', true ), + 'long_title' => array( 'g:long_title', true ), + 'promotion_effective_dates' => array( 'g:promotion_effective_dates', true ), + 'redemption_channel' => array( 'g:redemption_channel', true ), + 'promotion_destination' => array( 'g:promotion_destination', true ), + 'percent_off' => array( 'g:percent_off', true ), + 'money_off_amount' => array( 'g:money_off_amount', true ), + 'get_this_quantity_discounted' => array( 'g:get_this_quantity_discounted', true ), + 'free_shipping' => array( 'g:free_shipping', true ), + 'free_gift_value' => array( 'g:free_gift_value', true ), + 'free_gift_description' => array( 'g:free_gift_description', true ), + 'promotion_display_dates' => array( 'g:promotion_display_dates', true ), + 'generic_redemption_code' => array( 'g:generic_redemption_code', true ), + 'fine_print' => array( 'g:fine_print', true ), + 'promotion_price' => array( 'g:promotion_price', true ), + 'coupon_value_type' => array( 'g:coupon_value_type', true ), + 'limit_quantity' => array( 'g:limit_quantity', true ), + 'limit_value' => array( 'g:limit_value', true ), + 'minimum_purchase_amount' => array( 'g:minimum_purchase_amount', true ), + 'item_id_exclusion' => array( 'g:item_id_exclusion', true ), + 'product_type_exclusion' => array( 'g:product_type_exclusion', true ), + 'brand_exclusion' => array( 'g:brand_exclusion', true ), + 'item_group_id_exclusion' => array( 'g:item_group_id_exclusion', true ), + 'cost_of_goods_sold' => array( 'g:cost_of_goods_sold', true ), + 'sell_on_google_quantity' => array( 'g:sell_on_google_quantity', false ), + 'location_id' => array( 'g:location_id', false ), + 'location_group_name' => array( 'g:location_group_name', false ), + 'min_handling_time' => array( 'g:min_handling_time', false ), + 'max_handling_time' => array( 'g:max_handling_time', false ), + 'max_transit_time' => array( 'g:max_transit_time', false ), + 'min_transit_time' => array( 'g:min_transit_time', false ), + 'transit_time_label' => array( 'g:transit_time_label', false ), + 'return_address_label' => array( 'g:return_address_label', false ), + 'return_policy_label' => array( 'g:return_policy_label', false ), + 'store_code' => array( 'g:store_code', false ), + 'quantity' => array( 'g:quantity', true ), + 'pickup_method' => array( 'g:pickup_method', true ), + 'pickup_sla' => array( 'g:pickup_sla', true ), + 'pickup_link_template' => array( 'g:pickup_link_template', true ), + 'link_template' => array( 'g:link_template', true ), + 'mobile_link_template' => array( 'g:mobile_link_template', true ), + 'mobile_pickup_link_template' => array( 'g:mobile_pickup_link_template', true ), + 'certification' => array( 'g:certification', true ), + 'capacity' => array( 'g:capacity', true ), + 'google_funded_promotion_eligibility' => array( + 'g:google_funded_promotion_eligibility', + false, + ), + ], + 'CSV' => [], + ], + + ]; + // TODO missing other templates replaceable attribute. + $template=self::replace_template($template); + + return isset( $data[ $template ] ) ? $data[ $template ][ strtoupper( $file_type ) ] : []; + } + + public static function replace_attribute( $attribute, $config ) { + $feedType = ( 'xml' === $config->feedType ) ? 'xml' : 'csv'; + $data = self::data( $config->provider, $feedType ); + if ( isset( $data[ $attribute ] ) ) { + return $data[ $attribute ][0]; + } + + return $attribute; + } + + public static function replace_template($template){ + + $group_classes = [ + 'google' => ['google_shopping_action', 'google_local', 'google_local_inventory'], + ]; + + foreach ($group_classes as $class => $providers) { + if (in_array($template, $providers)) { + return $class; + } + } + return $template; + + } + + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/MerchantAttributesFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/MerchantAttributesFactory.php new file mode 100644 index 000000000..a368f6bb3 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/MerchantAttributesFactory.php @@ -0,0 +1,2163 @@ + array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'id' => 'Product Id[id]', + 'webitemid' => 'Product WebItemId[webitemid]', + 'region_id' => 'Region Id[region_id]', + 'title' => 'Product Title[title]', + 'description' => 'Product Description[description]', + 'link' => 'Product URL[link]', + 'canonical_link' => 'Canonical Link[canonical_link]', + 'mobile_link' => 'Product URL[mobile_link]', + 'product_type' => 'Product Categories[product_type] ', + 'current_category' => 'Google Product Category[google_product_category]', + 'image' => 'Main Image[image_link]', + 'images' => 'Additional Images [additional_image_link]', + 'images_1' => 'Additional Image 1 [additional_image_link]', + 'images_2' => 'Additional Image 2 [additional_image_link]', + 'images_3' => 'Additional Image 3 [additional_image_link]', + 'images_4' => 'Additional Image 4 [additional_image_link]', + 'images_5' => 'Additional Image 5 [additional_image_link]', + 'images_6' => 'Additional Image 6 [additional_image_link]', + 'images_7' => 'Additional Image 7 [additional_image_link]', + 'images_8' => 'Additional Image 8 [additional_image_link]', + 'images_9' => 'Additional Image 9 [additional_image_link]', + 'images_10' => 'Additional Image 10 [additional_image_link]', + 'lifestyle_image' => 'Lifestyle Image Link[lifestyle_image_link]', + 'condition' => 'Condition[condition]', + ), + ), + 2 => array( + 'optionGroup' => 'Availability & Price', + 'options' => array( + 'availability' => 'Stock Status[availability]', + 'availability_date' => 'Availability Date[availability_date]', + 'inventory' => 'Facebook Inventory[inventory]', + 'override' => 'Facebook Override[override]', + 'price' => 'Regular Price[price]', + 'sale_price' => 'Sale Price[sale_price]', + 'cost_of_goods_sold' => 'Cost of Goods Sold[cost_of_goods_sold]', + 'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]', + 'auto_pricing_min_price' => 'Auto pricing minimum price[auto_pricing_min_price]', + ), + ), + 3 => array( + 'optionGroup' => 'Unique Product Identifiers', + 'options' => array( + 'brand' => 'Manufacturer[brand]', + 'upc' => 'GTIN[gtin]', + 'sku' => 'MPN[mpn]', + 'identifier_exists' => 'Identifier Exist[identifier_exists]', + ), + ), + 4 => array( + 'optionGroup' => 'Detailed Product Attributes', + 'options' => array( + 'item_group_id' => 'Item Group Id[item_group_id]', + 'external_seller_id' => 'External seller ID[external_seller_id]', + 'color' => 'Color[color]', + 'gender' => 'Gender[gender]', + 'age_group' => 'Age Group[age_group]', + 'material' => 'Material[material]', + 'pattern' => 'Pattern[pattern]', + 'size' => 'Size of the item[size]', + 'size_type' => 'Size Type[size_type]', + 'size_system' => 'Size System[size_system]', + 'product_length' => 'Product Length[product_length]', + 'product_width' => 'Product Width[product_width]', + 'product_height' => 'Product Height[product_height]', + 'product_weight' => 'Product Weight[product_weight]', + 'product_highlight_1' => 'Product Highlight 1[product_highlight]', + 'product_highlight_2' => 'Product Highlight 2[product_highlight]', + 'product_highlight_3' => 'Product Highlight 3[product_highlight]', + 'product_highlight_4' => 'Product Highlight 4[product_highlight]', + 'product_highlight_5' => 'Product Highlight 5[product_highlight]', + 'product_highlight_6' => 'Product Highlight 6[product_highlight]', + 'product_highlight_7' => 'Product Highlight 7[product_highlight]', + 'product_highlight_8' => 'Product Highlight 8[product_highlight]', + 'product_highlight_9' => 'Product Highlight 9[product_highlight]', + 'product_highlight_10' => 'Product Highlight 10[product_highlight]', + 'section_name' => 'Section Name (Product Detail)[section_name]', + 'attribute_name' => 'Attribute Name (Product Detail)[attribute_name]', + 'attribute_value' => 'Attribute Value (Product Detail)[attribute_value]', + 'capacity' => 'Capacity[capacity]', + 'checkout_link_template' => 'Checkout Link Template[checkout_link_template]', + ), + ), + 5 => array( + 'optionGroup' => 'Tax & Shipping', + 'options' => array( + 'tax' => 'Tax[tax]', + 'tax_category' => 'Tax[tax_category]', + 'shipping' => 'Shipping', + 'location_id' => 'location_id', + 'location_group_name' => 'location_group_name', + 'min_handling_time' => 'Min Handling Time[min_handling_time]', + 'max_handling_time' => 'Max Handling Time[max_handling_time]', + 'min_transit_time' => 'Min Transit Time[min_transit_time]', + 'max_transit_time' => 'Max Transit Time[max_transit_time]', + 'weight' => 'Shipping Weight[shipping_weight]', + 'length' => 'Shipping Length[shipping_length]', + 'width' => 'Shipping Width[shipping_width]', + 'height' => 'Shipping Height[shipping_height]', + 'ships_from_country' => 'Shipping Country[ships_from_country]', + 'shipping_label' => 'Shipping Label[shipping_label]', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + ), + ), + 6 => array( + 'optionGroup' => 'Product Combinations', + 'options' => array( + 'multipack' => 'Multipack[multipack]', + 'is_bundle' => 'Is Bundle[is_bundle]', + ), + ), + 7 => array( + 'optionGroup' => 'Adult Products', + 'options' => array( + 'adult' => 'Adult[adult]', + ), + ), + 8 => array( + 'optionGroup' => 'Ads Attributes', + 'options' => array( + 'ads_redirect' => 'Ads Redirect[ads_redirect]', + 'pause' => 'Pause[pause]', + 'ads_labels' => 'Ads Label[ads_labels]', + 'ads_grouping' => 'Ads Grouping[ads_grouping]', + ), + ), + 9 => array( + 'optionGroup' => 'Custom Label Attributes', + 'options' => array( + 'custom_label_0' => 'Custom label 0 [custom_label_0]', + 'custom_label_1' => 'Custom label 1 [custom_label_1]', + 'custom_label_2' => 'Custom label 2 [custom_label_2]', + 'custom_label_3' => 'Custom label 3 [custom_label_3]', + 'custom_label_4' => 'Custom label 4 [custom_label_4]', + ), + ), + 10 => array( + 'optionGroup' => 'Additional Attributes', + 'options' => array( + 'excluded_destination' => 'Excluded Destination[excluded_destination]', + 'shopping_ads_excluded_country' => 'Shopping Ads Excluded Country[shopping_ads_excluded_country]', + 'included_destination' => 'Included Destination[included_destination]', + 'expiration_date' => 'Expiration Date [expiration_date]', + 'transit_time_label' => 'Transit Time [transit_time_label]', + ), + ), + 11 => array( + 'optionGroup' => 'Unit Prices, Subscription, and Installment', + 'options' => array( + 'unit_pricing_measure' => 'Unit Pricing Measure[unit_pricing_measure]', + 'unit_pricing_base_measure' => 'Unit Pricing Base Measure[unit_pricing_base_measure]', + 'installment_months' => 'Installment Months[months]', + 'installment_amount' => 'Installment Amount[amount]', + 'subscription_period' => 'Subscription Period[period]', + 'subscription_period_length' => 'Subscription Period Length[period_length]', + 'subscription_amount' => 'Subscription Amount[amount]', + ), + ), + 12 => array( + 'optionGroup' => 'Energy Labels', + 'options' => array( + 'energy_efficiency_class' => 'Energy Efficiency Class[energy_efficiency_class]', + 'min_energy_efficiency_class' => 'Min Energy Efficiency Class[energy_efficiency_class]', + 'max_energy_efficiency_class' => 'Max Energy Efficiency Class[energy_efficiency_class]', + 'certification' => 'Certification [certification_code]', + 'certified_pre-owned' => 'Certified pre-owned [certified_pre-owned]', + ), + ), + 13 => array( + 'optionGroup' => 'Loyalty Points (Japan Only)', + 'options' => array( + 'loyalty_points' => 'loyalty_points[loyalty_points]', + ), + ), + 14 => array( + 'optionGroup' => 'Multiple Installments (Brazil Only)', + 'options' => array( + 'installment' => 'Installment[installment]', + ), + ), + 15 => array( + 'optionGroup' => 'Merchant Promotions Attributes', + 'options' => array( + 'promotion_id' => 'Promotion Id[promotion_id]', + 'product_applicability' => 'Product Applicability[product_applicability]', + 'offer_type' => 'Offer Type[offer_type]', + 'long_title' => 'Long Title[long_title]', + 'promotion_effective_dates' => 'Promotion Effective Dates[promotion_effective_dates]', + 'redemption_channel' => 'Redemption Channel[redemption_channel]', + 'promotion_destination' => 'Promotion Destination[promotion_destination]', + 'percent_off' => 'Percent Off[percent_off]', + 'money_off_amount' => 'Money Off Amount[money_off_amount]', + 'get_this_quantity_discounted' => 'Get Quantity Discounted[get_this_quantity_discounted]', + 'free_shipping' => 'Free Shipping[free_shipping]', + 'free_gift_value' => 'Free Gift Value[free_gift_value]', + 'free_gift_description' => 'Free Gift Description[free_gift_description]', + 'free_gift_item_id' => 'Free Gift Item ID[free_gift_item_id]', + 'promotion_display_dates' => 'Promotion Display Dates[promotion_display_dates]', + 'generic_redemption_code' => 'Generic Redemption Code[generic_redemption_code]', + 'fine_print' => 'Fine Print[fine_print]', + 'promotion_price' => 'Promotion Price[promotion_price]', + 'coupon_value_type' => 'Coupon Value Type[coupon_value_type]', + 'limit_quantity' => 'Limit Quantity[limit_quantity]', + 'limit_value' => 'Limit Value[limit_value]', + 'minimum_purchase_amount' => 'Minimum Purchase Amount[minimum_purchase_amount]', + 'item_id_exclusion' => 'Item ID Exclusion[item_id_exclusion]', + 'product_type_exclusion' => 'Product Type Exclusion[product_type_exclusion]', + 'brand_exclusion' => 'Brand Exclusion[brand_exclusion]', + 'item_group_id_exclusion' => 'Item Group Exclusion[item_group_id_exclusion]', + ), + ), + 16 => array( + 'optionGroup' => 'Shopping Action Attributes', + 'options' => array( + 'sell_on_google_quantity' => 'Number of Product Sold On Google [sell_on_google_quantity]', + 'return_address_label' => 'Return Address [return_address_label]', + 'return_policy_label' => 'Return Policy [return_policy_label]', + 'google_funded_promotion_eligibility' => 'Google Funded Promotion Eligibility [google_funded_promotion_eligibility]', + ), + ), + 17 => array( + 'optionGroup' => 'Local Inventory / Product Inventory', + 'options' => array( + 'store_code' => 'Store Code [store_code]', + 'quantity' => 'Quantity [quantity]', + 'pickup_method' => 'Pickup Method [pickup_method]', + 'pickup_sla' => 'Pickup SLA [pickup_sla]', + 'pickup_link_template' => 'Pickup Link Template [pickup_link_template]', + 'link_template' => 'Link Template [link_template]', + 'mobile_link_template' => 'Mobile Link Template [mobile_link_template]', + 'mobile_pickup_link_template' => 'Mobile Pickup Link Template [mobile_pickup_link_template]', + ), + ), + 18 => array( + 'optionGroup' => 'Pinterest Catalog Attributes', + 'options' => array( + 'free_shipping_label' => 'Free Shipping Label[free_shipping_label]', + 'free_shipping_limit' => 'Free Shipping Limit[free_shipping_limit]', + 'average_review_rating' => 'Average Review Rating[average_review_rating]', + 'number_of_ratings' => 'Number of Ratings[number_of_ratings]', + 'number_of_reviews' => 'Number of Reviews[number_of_reviews]', + ), + ), + ), + 'facebook' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'id' => 'Product Id[id]', + 'title' => 'Product Title[title]', + 'description' => 'Product Description[description]', + 'link' => 'Product URL[link]', + 'mobile_link' => 'Product URL[mobile_link]', + 'product_type' => 'Product Categories[product_type] ', + 'fb_product_category' => 'Facebook Product Category[fb_product_category]', + 'current_category' => 'Google Product Category[google_product_category]', + 'image' => 'Main Image[image_link]', + 'images' => 'Additional Images [additional_image_link]', + 'images_1' => 'Additional Image 1 [additional_image_link]', + 'images_2' => 'Additional Image 2 [additional_image_link]', + 'images_3' => 'Additional Image 3 [additional_image_link]', + 'images_4' => 'Additional Image 4 [additional_image_link]', + 'images_5' => 'Additional Image 5 [additional_image_link]', + 'images_6' => 'Additional Image 6 [additional_image_link]', + 'images_7' => 'Additional Image 7 [additional_image_link]', + 'images_8' => 'Additional Image 8 [additional_image_link]', + 'images_9' => 'Additional Image 9 [additional_image_link]', + 'images_10' => 'Additional Image 10 [additional_image_link]', + 'condition' => 'Condition[condition]', + ), + ), + 2 => array( + 'optionGroup' => 'Availability & Price', + 'options' => array( + 'availability' => 'Stock Status[availability]', + 'availability_date' => 'Availability Date[availability_date]', + 'price' => 'Regular Price[price]', + 'sale_price' => 'Sale Price[sale_price]', + 'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]', + ), + ), + 3 => array( + 'optionGroup' => 'Unique Product Identifiers', + 'options' => array( + 'brand' => 'Manufacturer[brand]', + 'gtin' => 'GTIN[gtin]', + 'mpn' => 'MPN[mpn]', + 'identifier_exists' => 'Identifier Exist[identifier_exists]', + ), + ), + 4 => array( + 'optionGroup' => 'Detailed Product Attributes', + 'options' => array( + 'item_group_id' => 'Item Group Id[item_group_id]', + 'color' => 'Color[color]', + 'gender' => 'Gender[gender]', + 'age_group' => 'Age Group[age_group]', + 'material' => 'Material[material]', + 'pattern' => 'Pattern[pattern]', + 'size' => 'Size of the item[size]', + ), + ), + 5 => array( + 'optionGroup' => 'Tax & Shipping', + 'options' => array( + 'tax' => 'Tax[tax]', + 'tax_country' => 'Tax Country[tax_country]', + 'tax_region' => 'Tax Region[tax_region]', + 'tax_rate' => 'Tax Rate[tax_rate]', + 'tax_ship' => 'Tax Ship[tax_ship]', + 'tax_category' => 'Tax[tax_category]', + 'shipping' => 'Shipping', + 'shipping_weight' => 'Shipping Weight[shipping_weight]', + ), + ), + 6 => array( + 'optionGroup' => 'Custom Label Attributes', + 'options' => array( + 'internal_label' => 'Internal label [internal_label]', + 'custom_label_0' => 'Custom label 0 [custom_label_0]', + 'custom_label_1' => 'Custom label 1 [custom_label_1]', + 'custom_label_2' => 'Custom label 2 [custom_label_2]', + 'custom_label_3' => 'Custom label 3 [custom_label_3]', + 'custom_label_4' => 'Custom label 4 [custom_label_4]', + ), + ), + 7 => array( + 'optionGroup' => 'Additional Attributes', + 'options' => array( + 'inventory' => 'Facebook Inventory[inventory]', + 'override' => 'Facebook Override[override]', + 'status' => 'Status [status]', + 'video' => 'Video [video]', + 'unit_price_value' => 'Unit Price > Value [unit_price_value]', + 'unit_price_currency' => 'Unit Price > Currency [unit_price_currency]', + 'unit_price_unit' => 'Unit Price > Unit [unit_price_unit]', + 'quantity_to_sell_on_facebook' => 'Quantity to Sell on Facebook [quantity_to_sell_on_facebook]', + 'commerce_tax_category' => 'Commerce Tax Category [commerce_tax_category]', + 'expiration_date' => 'Expiration Date[expiration_date]', + 'marked_for_product_launch' => 'Marked for Product Launce [marked_for_product_launch]', + 'rich_text_description' => 'Rich Text Description [rich_text_description]', + 'visibility' => 'Visibility [visibility]', + 'additional_variant_label' => 'Additional Variant Attribute > Label [Variant Label]', + 'additional_variant_value' => 'Additional Variant Attribute > Value [Variant Value]', + 'applink' => 'Applink [applink]', + 'origin_country' => 'Origin Country [origin_country]', + 'importer_name' => 'Importer Name [importer_name]', + 'importer_address' => 'Importer Address [importer_address]', + 'manufacturer_info' => 'Manufacturer Info [manufacturer_info]', + 'return_policy_info' => 'Return Policy Info [return_policy_info]', + ), + ), + ), + 'google_dynamic_ads' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'Page URL' => 'Page URL[Page URL]', + 'Custom Label' => 'Custom Label [Custom Label]', + ), + ), + ), + 'google_local' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'id' => 'Product Id[id]', + 'webitemid' => 'Product WebItemId[webitemid]', + 'region_id' => 'Region Id[region_id]', + 'title' => 'Product Title[title]', + 'description' => 'Product Description[description]', + 'link' => 'Product URL[link]', + 'canonical_link' => 'Canonical Link[canonical_link]', + 'mobile_link' => 'Product URL[mobile_link]', + 'product_type' => 'Product Categories[product_type] ', + 'current_category' => 'Google Product Category[google_product_category]', + 'image' => 'Main Image[image_link]', + 'images' => 'Additional Images [additional_image_link]', + 'images_1' => 'Additional Image 1 [additional_image_link]', + 'images_2' => 'Additional Image 2 [additional_image_link]', + 'images_3' => 'Additional Image 3 [additional_image_link]', + 'images_4' => 'Additional Image 4 [additional_image_link]', + 'images_5' => 'Additional Image 5 [additional_image_link]', + 'images_6' => 'Additional Image 6 [additional_image_link]', + 'images_7' => 'Additional Image 7 [additional_image_link]', + 'images_8' => 'Additional Image 8 [additional_image_link]', + 'images_9' => 'Additional Image 9 [additional_image_link]', + 'images_10' => 'Additional Image 10 [additional_image_link]', + 'condition' => 'Condition[condition]', + ), + ), + 2 => array( + 'optionGroup' => 'Availability & Price', + 'options' => array( + 'availability' => 'Stock Status[availability]', + 'availability_date' => 'Availability Date[availability_date]', + 'inventory' => 'Facebook Inventory[inventory]', + 'override' => 'Facebook Override[override]', + 'price' => 'Regular Price[price]', + 'sale_price' => 'Sale Price[sale_price]', + 'cost_of_goods_sold' => 'Cost of Goods Sold[cost_of_goods_sold]', + 'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]', + ), + ), + 3 => array( + 'optionGroup' => 'Unique Product Identifiers', + 'options' => array( + 'brand' => 'Manufacturer[brand]', + 'upc' => 'GTIN[gtin]', + 'sku' => 'MPN[mpn]', + 'identifier_exists' => 'Identifier Exist[identifier_exists]', + ), + ), + 4 => array( + 'optionGroup' => 'Detailed Product Attributes', + 'options' => array( + 'item_group_id' => 'Item Group Id[item_group_id]', + 'external_seller_id' => 'External seller ID[external_seller_id]', + 'color' => 'Color[color]', + 'gender' => 'Gender[gender]', + 'age_group' => 'Age Group[age_group]', + 'material' => 'Material[material]', + 'pattern' => 'Pattern[pattern]', + 'size' => 'Size of the item[size]', + 'size_type' => 'Size Type[size_type]', + 'size_system' => 'Size System[size_system]', + 'product_length' => 'Product Length[product_length]', + 'product_width' => 'Product Width[product_width]', + 'product_height' => 'Product Height[product_height]', + 'product_weight' => 'Product Weight[product_weight]', + 'product_highlight_1' => 'Product Highlight 1[product_highlight]', + 'product_highlight_2' => 'Product Highlight 2[product_highlight]', + 'product_highlight_3' => 'Product Highlight 3[product_highlight]', + 'product_highlight_4' => 'Product Highlight 4[product_highlight]', + 'product_highlight_5' => 'Product Highlight 5[product_highlight]', + 'product_highlight_6' => 'Product Highlight 6[product_highlight]', + 'product_highlight_7' => 'Product Highlight 7[product_highlight]', + 'product_highlight_8' => 'Product Highlight 8[product_highlight]', + 'product_highlight_9' => 'Product Highlight 9[product_highlight]', + 'product_highlight_10' => 'Product Highlight 10[product_highlight]', + 'section_name' => 'Section Name (Product Detail)[section_name]', + 'attribute_name' => 'Attribute Name (Product Detail)[attribute_name]', + 'attribute_value' => 'Attribute Value (Product Detail)[attribute_value]', + ), + ), + 5 => array( + 'optionGroup' => 'Tax & Shipping', + 'options' => array( + 'tax' => 'Tax[tax]', + 'tax_category' => 'Tax[tax_category]', + 'shipping' => 'Shipping', + 'location_id' => 'location_id', + 'location_group_name' => 'location_group_name', + 'min_handling_time' => 'Min Handling Time[min_handling_time]', + 'max_handling_time' => 'Max Handling Time[max_handling_time]', + 'min_transit_time' => 'Min Transit Time[min_transit_time]', + 'max_transit_time' => 'Max Transit Time[max_transit_time]', + 'weight' => 'Shipping Weight[shipping_weight]', + 'length' => 'Shipping Length[shipping_length]', + 'width' => 'Shipping Width[shipping_width]', + 'height' => 'Shipping Height[shipping_height]', + 'ships_from_country' => 'Shipping Country[ships_from_country]', + 'shipping_label' => 'Shipping Label[shipping_label]', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + ), + ), + 6 => array( + 'optionGroup' => 'Product Combinations', + 'options' => array( + 'multipack' => 'Multipack[multipack]', + 'is_bundle' => 'Is Bundle[is_bundle]', + ), + ), + 7 => array( + 'optionGroup' => 'Adult Products', + 'options' => array( + 'adult' => 'Adult[adult]', + ), + ), + 8 => array( + 'optionGroup' => 'Ads Attributes', + 'options' => array( + 'ads_redirect' => 'Ads Redirect[ads_redirect]', + ), + ), + 9 => array( + 'optionGroup' => 'Custom Label Attributes', + 'options' => array( + 'custom_label_0' => 'Custom label 0 [custom_label_0]', + 'custom_label_1' => 'Custom label 1 [custom_label_1]', + 'custom_label_2' => 'Custom label 2 [custom_label_2]', + 'custom_label_3' => 'Custom label 3 [custom_label_3]', + 'custom_label_4' => 'Custom label 4 [custom_label_4]', + ), + ), + 10 => array( + 'optionGroup' => 'Additional Attributes', + 'options' => array( + 'excluded_destination' => 'Excluded Destination[excluded_destination]', + 'shopping_ads_excluded_country' => 'Shopping Ads Excluded Country[shopping_ads_excluded_country]', + 'included_destination' => 'Included Destination[included_destination]', + 'expiration_date' => 'Expiration Date [expiration_date]', + 'transit_time_label' => 'Transit Time [transit_time_label]', + ), + ), + 11 => array( + 'optionGroup' => 'Unit Prices, Subscription, and Installment', + 'options' => array( + 'unit_pricing_measure' => 'Unit Pricing Measure[unit_pricing_measure]', + 'unit_pricing_base_measure' => 'Unit Pricing Base Measure[unit_pricing_base_measure]', + 'installment_months' => 'Installment Months[months]', + 'installment_amount' => 'Installment Amount[amount]', + 'subscription_period' => 'Subscription Period[period]', + 'subscription_period_length' => 'Subscription Period Length[period_length]', + 'subscription_amount' => 'Subscription Amount[amount]', + ), + ), + 12 => array( + 'optionGroup' => 'Energy Labels', + 'options' => array( + 'energy_efficiency_class' => 'Energy Efficiency Class[energy_efficiency_class]', + 'min_energy_efficiency_class' => 'Min Energy Efficiency Class[energy_efficiency_class]', + 'max_energy_efficiency_class' => 'Max Energy Efficiency Class[energy_efficiency_class]', + ), + ), + 13 => array( + 'optionGroup' => 'Loyalty Points (Japan Only)', + 'options' => array( + 'loyalty_points' => 'loyalty_points[loyalty_points]', + ), + ), + 14 => array( + 'optionGroup' => 'Multiple Installments (Brazil Only)', + 'options' => array( + 'installment' => 'Installment[installment]', + ), + ), + 15 => array( + 'optionGroup' => 'Merchant Promotions Attributes', + 'options' => array( + 'promotion_id' => 'Promotion Id[promotion_id]', + 'product_applicability' => 'Product Applicability[product_applicability]', + 'offer_type' => 'Offer Type[offer_type]', + 'long_title' => 'Long Title[long_title]', + 'promotion_effective_dates' => 'Promotion Effective Dates[promotion_effective_dates]', + 'redemption_channel' => 'Redemption Channel[redemption_channel]', + 'promotion_destination' => 'Promotion Destination[promotion_destination]', + 'percent_off' => 'Percent Off[percent_off]', + 'money_off_amount' => 'Money Off Amount[money_off_amount]', + 'get_this_quantity_discounted' => 'Get Quantity Discounted[get_this_quantity_discounted]', + 'free_shipping' => 'Free Shipping[free_shipping]', + 'free_gift_value' => 'Free Gift Value[free_gift_value]', + 'free_gift_description' => 'Free Gift Description[free_gift_description]', + 'free_gift_item_id' => 'Free Gift Item ID[free_gift_item_id]', + 'promotion_display_dates' => 'Promotion Display Dates[promotion_display_dates]', + 'generic_redemption_code' => 'Generic Redemption Code[generic_redemption_code]', + 'fine_print' => 'Fine Print[fine_print]', + 'promotion_price' => 'Promotion Price[promotion_price]', + 'coupon_value_type' => 'Coupon Value Type[coupon_value_type]', + 'limit_quantity' => 'Limit Quantity[limit_quantity]', + 'limit_value' => 'Limit Value[limit_value]', + 'minimum_purchase_amount' => 'Minimum Purchase Amount[minimum_purchase_amount]', + 'item_id_exclusion' => 'Item ID Exclusion[item_id_exclusion]', + 'product_type_exclusion' => 'Product Type Exclusion[product_type_exclusion]', + 'brand_exclusion' => 'Brand Exclusion[brand_exclusion]', + 'item_group_id_exclusion' => 'Item Group Exclusion[item_group_id_exclusion]', + ), + ), + 16 => array( + 'optionGroup' => 'Shopping Action Attributes', + 'options' => array( + 'sell_on_google_quantity' => 'Number of Product Sold On Google [sell_on_google_quantity]', + 'return_address_label' => 'Return Address [return_address_label]', + 'return_policy_label' => 'Return Policy [return_policy_label]', + 'google_funded_promotion_eligibility' => 'Google Funded Promotion Eligibility [google_funded_promotion_eligibility]', + ), + ), + 17 => array( + 'optionGroup' => 'Local Inventory / Product Inventory', + 'options' => array( + 'store_code' => 'Store Code [store_code]', + 'quantity' => 'Quantity [quantity]', + 'pickup_method' => 'Pickup Method [pickup_method]', + 'pickup_sla' => 'Pickup SLA [pickup_sla]', + 'pickup_link_template' => 'Pickup Link Template [pickup_link_template]', + 'link_template' => 'Link Template [link_template]', + 'mobile_link_template' => 'Mobile Link Template [mobile_link_template]', + 'mobile_pickup_link_template' => 'Mobile Pickup Link Template [mobile_pickup_link_template]', + ), + ), + 18 => array( + 'optionGroup' => 'Pinterest Catalog Attributes', + 'options' => array( + 'free_shipping_label' => 'Free Shipping Label[free_shipping_label]', + 'free_shipping_limit' => 'Free Shipping Limit[free_shipping_limit]', + 'average_review_rating' => 'Average Review Rating[average_review_rating]', + 'number_of_ratings' => 'Number of Ratings[number_of_ratings]', + 'number_of_reviews' => 'Number of Reviews[number_of_reviews]', + ), + ), + ), + 'google_local_inventory'=> array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'id' => 'Product Id[id]', + 'webitemid' => 'Product WebItemId[webitemid]', + 'region_id' => 'Region Id[region_id]', + 'title' => 'Product Title[title]', + 'description' => 'Product Description[description]', + 'link' => 'Product URL[link]', + 'canonical_link' => 'Canonical Link[canonical_link]', + 'mobile_link' => 'Product URL[mobile_link]', + 'product_type' => 'Product Categories[product_type] ', + 'current_category' => 'Google Product Category[google_product_category]', + 'image' => 'Main Image[image_link]', + 'images' => 'Additional Images [additional_image_link]', + 'images_1' => 'Additional Image 1 [additional_image_link]', + 'images_2' => 'Additional Image 2 [additional_image_link]', + 'images_3' => 'Additional Image 3 [additional_image_link]', + 'images_4' => 'Additional Image 4 [additional_image_link]', + 'images_5' => 'Additional Image 5 [additional_image_link]', + 'images_6' => 'Additional Image 6 [additional_image_link]', + 'images_7' => 'Additional Image 7 [additional_image_link]', + 'images_8' => 'Additional Image 8 [additional_image_link]', + 'images_9' => 'Additional Image 9 [additional_image_link]', + 'images_10' => 'Additional Image 10 [additional_image_link]', + 'condition' => 'Condition[condition]', + ), + ), + 2 => array( + 'optionGroup' => 'Availability & Price', + 'options' => array( + 'availability' => 'Stock Status[availability]', + 'availability_date' => 'Availability Date[availability_date]', + 'inventory' => 'Facebook Inventory[inventory]', + 'override' => 'Facebook Override[override]', + 'price' => 'Regular Price[price]', + 'sale_price' => 'Sale Price[sale_price]', + 'cost_of_goods_sold' => 'Cost of Goods Sold[cost_of_goods_sold]', + 'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]', + ), + ), + 3 => array( + 'optionGroup' => 'Unique Product Identifiers', + 'options' => array( + 'brand' => 'Manufacturer[brand]', + 'upc' => 'GTIN[gtin]', + 'sku' => 'MPN[mpn]', + 'identifier_exists' => 'Identifier Exist[identifier_exists]', + ), + ), + 4 => array( + 'optionGroup' => 'Detailed Product Attributes', + 'options' => array( + 'item_group_id' => 'Item Group Id[item_group_id]', + 'external_seller_id' => 'External seller ID[external_seller_id]', + 'color' => 'Color[color]', + 'gender' => 'Gender[gender]', + 'age_group' => 'Age Group[age_group]', + 'material' => 'Material[material]', + 'pattern' => 'Pattern[pattern]', + 'size' => 'Size of the item[size]', + 'size_type' => 'Size Type[size_type]', + 'size_system' => 'Size System[size_system]', + 'product_length' => 'Product Length[product_length]', + 'product_width' => 'Product Width[product_width]', + 'product_height' => 'Product Height[product_height]', + 'product_weight' => 'Product Weight[product_weight]', + 'product_highlight_1' => 'Product Highlight 1[product_highlight]', + 'product_highlight_2' => 'Product Highlight 2[product_highlight]', + 'product_highlight_3' => 'Product Highlight 3[product_highlight]', + 'product_highlight_4' => 'Product Highlight 4[product_highlight]', + 'product_highlight_5' => 'Product Highlight 5[product_highlight]', + 'product_highlight_6' => 'Product Highlight 6[product_highlight]', + 'product_highlight_7' => 'Product Highlight 7[product_highlight]', + 'product_highlight_8' => 'Product Highlight 8[product_highlight]', + 'product_highlight_9' => 'Product Highlight 9[product_highlight]', + 'product_highlight_10' => 'Product Highlight 10[product_highlight]', + 'section_name' => 'Section Name (Product Detail)[section_name]', + 'attribute_name' => 'Attribute Name (Product Detail)[attribute_name]', + 'attribute_value' => 'Attribute Value (Product Detail)[attribute_value]', + ), + ), + 5 => array( + 'optionGroup' => 'Tax & Shipping', + 'options' => array( + 'tax' => 'Tax[tax]', + 'tax_category' => 'Tax[tax_category]', + 'shipping' => 'Shipping', + 'location_id' => 'location_id', + 'location_group_name' => 'location_group_name', + 'min_handling_time' => 'Min Handling Time[min_handling_time]', + 'max_handling_time' => 'Max Handling Time[max_handling_time]', + 'min_transit_time' => 'Min Transit Time[min_transit_time]', + 'max_transit_time' => 'Max Transit Time[max_transit_time]', + 'weight' => 'Shipping Weight[shipping_weight]', + 'length' => 'Shipping Length[shipping_length]', + 'width' => 'Shipping Width[shipping_width]', + 'height' => 'Shipping Height[shipping_height]', + 'ships_from_country' => 'Shipping Country[ships_from_country]', + 'shipping_label' => 'Shipping Label[shipping_label]', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + ), + ), + 6 => array( + 'optionGroup' => 'Product Combinations', + 'options' => array( + 'multipack' => 'Multipack[multipack]', + 'is_bundle' => 'Is Bundle[is_bundle]', + ), + ), + 7 => array( + 'optionGroup' => 'Adult Products', + 'options' => array( + 'adult' => 'Adult[adult]', + ), + ), + 8 => array( + 'optionGroup' => 'Ads Attributes', + 'options' => array( + 'ads_redirect' => 'Ads Redirect[ads_redirect]', + ), + ), + 9 => array( + 'optionGroup' => 'Custom Label Attributes', + 'options' => array( + 'custom_label_0' => 'Custom label 0 [custom_label_0]', + 'custom_label_1' => 'Custom label 1 [custom_label_1]', + 'custom_label_2' => 'Custom label 2 [custom_label_2]', + 'custom_label_3' => 'Custom label 3 [custom_label_3]', + 'custom_label_4' => 'Custom label 4 [custom_label_4]', + ), + ), + 10 => array( + 'optionGroup' => 'Additional Attributes', + 'options' => array( + 'excluded_destination' => 'Excluded Destination[excluded_destination]', + 'shopping_ads_excluded_country' => 'Shopping Ads Excluded Country[shopping_ads_excluded_country]', + 'included_destination' => 'Included Destination[included_destination]', + 'expiration_date' => 'Expiration Date [expiration_date]', + 'transit_time_label' => 'Transit Time [transit_time_label]', + ), + ), + 11 => array( + 'optionGroup' => 'Unit Prices, Subscription, and Installment', + 'options' => array( + 'unit_pricing_measure' => 'Unit Pricing Measure[unit_pricing_measure]', + 'unit_pricing_base_measure' => 'Unit Pricing Base Measure[unit_pricing_base_measure]', + 'installment_months' => 'Installment Months[months]', + 'installment_amount' => 'Installment Amount[amount]', + 'subscription_period' => 'Subscription Period[period]', + 'subscription_period_length' => 'Subscription Period Length[period_length]', + 'subscription_amount' => 'Subscription Amount[amount]', + ), + ), + 12 => array( + 'optionGroup' => 'Energy Labels', + 'options' => array( + 'energy_efficiency_class' => 'Energy Efficiency Class[energy_efficiency_class]', + 'min_energy_efficiency_class' => 'Min Energy Efficiency Class[energy_efficiency_class]', + 'max_energy_efficiency_class' => 'Max Energy Efficiency Class[energy_efficiency_class]', + ), + ), + 13 => array( + 'optionGroup' => 'Loyalty Points (Japan Only)', + 'options' => array( + 'loyalty_points' => 'loyalty_points[loyalty_points]', + ), + ), + 14 => array( + 'optionGroup' => 'Multiple Installments (Brazil Only)', + 'options' => array( + 'installment' => 'Installment[installment]', + ), + ), + 15 => array( + 'optionGroup' => 'Merchant Promotions Attributes', + 'options' => array( + 'promotion_id' => 'Promotion Id[promotion_id]', + 'product_applicability' => 'Product Applicability[product_applicability]', + 'offer_type' => 'Offer Type[offer_type]', + 'long_title' => 'Long Title[long_title]', + 'promotion_effective_dates' => 'Promotion Effective Dates[promotion_effective_dates]', + 'redemption_channel' => 'Redemption Channel[redemption_channel]', + 'promotion_destination' => 'Promotion Destination[promotion_destination]', + 'percent_off' => 'Percent Off[percent_off]', + 'money_off_amount' => 'Money Off Amount[money_off_amount]', + 'get_this_quantity_discounted' => 'Get Quantity Discounted[get_this_quantity_discounted]', + 'free_shipping' => 'Free Shipping[free_shipping]', + 'free_gift_value' => 'Free Gift Value[free_gift_value]', + 'free_gift_description' => 'Free Gift Description[free_gift_description]', + 'free_gift_item_id' => 'Free Gift Item ID[free_gift_item_id]', + 'promotion_display_dates' => 'Promotion Display Dates[promotion_display_dates]', + 'generic_redemption_code' => 'Generic Redemption Code[generic_redemption_code]', + 'fine_print' => 'Fine Print[fine_print]', + 'promotion_price' => 'Promotion Price[promotion_price]', + 'coupon_value_type' => 'Coupon Value Type[coupon_value_type]', + 'limit_quantity' => 'Limit Quantity[limit_quantity]', + 'limit_value' => 'Limit Value[limit_value]', + 'minimum_purchase_amount' => 'Minimum Purchase Amount[minimum_purchase_amount]', + 'item_id_exclusion' => 'Item ID Exclusion[item_id_exclusion]', + 'product_type_exclusion' => 'Product Type Exclusion[product_type_exclusion]', + 'brand_exclusion' => 'Brand Exclusion[brand_exclusion]', + 'item_group_id_exclusion' => 'Item Group Exclusion[item_group_id_exclusion]', + ), + ), + 16 => array( + 'optionGroup' => 'Shopping Action Attributes', + 'options' => array( + 'sell_on_google_quantity' => 'Number of Product Sold On Google [sell_on_google_quantity]', + 'return_address_label' => 'Return Address [return_address_label]', + 'return_policy_label' => 'Return Policy [return_policy_label]', + 'google_funded_promotion_eligibility' => 'Google Funded Promotion Eligibility [google_funded_promotion_eligibility]', + ), + ), + 17 => array( + 'optionGroup' => 'Local Inventory / Product Inventory', + 'options' => array( + 'store_code' => 'Store Code [store_code]', + 'quantity' => 'Quantity [quantity]', + 'pickup_method' => 'Pickup Method [pickup_method]', + 'pickup_sla' => 'Pickup SLA [pickup_sla]', + 'pickup_link_template' => 'Pickup Link Template [pickup_link_template]', + 'link_template' => 'Link Template [link_template]', + 'mobile_link_template' => 'Mobile Link Template [mobile_link_template]', + 'mobile_pickup_link_template' => 'Mobile Pickup Link Template [mobile_pickup_link_template]', + 'local_shipping_label' => 'Local shipping label [local_shipping_label]' + ), + ), + 18 => array( + 'optionGroup' => 'Pinterest Catalog Attributes', + 'options' => array( + 'free_shipping_label' => 'Free Shipping Label[free_shipping_label]', + 'free_shipping_limit' => 'Free Shipping Limit[free_shipping_limit]', + 'average_review_rating' => 'Average Review Rating[average_review_rating]', + 'number_of_ratings' => 'Number of Ratings[number_of_ratings]', + 'number_of_reviews' => 'Number of Reviews[number_of_reviews]', + ), + ), + ), + 'google_shopping_action'=> array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'id' => 'Product Id[id]', + 'webitemid' => 'Product WebItemId[webitemid]', + 'region_id' => 'Region Id[region_id]', + 'title' => 'Product Title[title]', + 'description' => 'Product Description[description]', + 'link' => 'Product URL[link]', + 'canonical_link' => 'Canonical Link[canonical_link]', + 'mobile_link' => 'Product URL[mobile_link]', + 'product_type' => 'Product Categories[product_type] ', + 'current_category' => 'Google Product Category[google_product_category]', + 'image' => 'Main Image[image_link]', + 'images' => 'Additional Images [additional_image_link]', + 'images_1' => 'Additional Image 1 [additional_image_link]', + 'images_2' => 'Additional Image 2 [additional_image_link]', + 'images_3' => 'Additional Image 3 [additional_image_link]', + 'images_4' => 'Additional Image 4 [additional_image_link]', + 'images_5' => 'Additional Image 5 [additional_image_link]', + 'images_6' => 'Additional Image 6 [additional_image_link]', + 'images_7' => 'Additional Image 7 [additional_image_link]', + 'images_8' => 'Additional Image 8 [additional_image_link]', + 'images_9' => 'Additional Image 9 [additional_image_link]', + 'images_10' => 'Additional Image 10 [additional_image_link]', + 'condition' => 'Condition[condition]', + ), + ), + 2 => array( + 'optionGroup' => 'Availability & Price', + 'options' => array( + 'availability' => 'Stock Status[availability]', + 'availability_date' => 'Availability Date[availability_date]', + 'inventory' => 'Facebook Inventory[inventory]', + 'override' => 'Facebook Override[override]', + 'price' => 'Regular Price[price]', + 'sale_price' => 'Sale Price[sale_price]', + 'cost_of_goods_sold' => 'Cost of Goods Sold[cost_of_goods_sold]', + 'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]', + ), + ), + 3 => array( + 'optionGroup' => 'Unique Product Identifiers', + 'options' => array( + 'brand' => 'Manufacturer[brand]', + 'upc' => 'GTIN[gtin]', + 'sku' => 'MPN[mpn]', + 'identifier_exists' => 'Identifier Exist[identifier_exists]', + ), + ), + 4 => array( + 'optionGroup' => 'Detailed Product Attributes', + 'options' => array( + 'item_group_id' => 'Item Group Id[item_group_id]', + 'external_seller_id' => 'External seller ID[external_seller_id]', + 'color' => 'Color[color]', + 'gender' => 'Gender[gender]', + 'age_group' => 'Age Group[age_group]', + 'material' => 'Material[material]', + 'pattern' => 'Pattern[pattern]', + 'size' => 'Size of the item[size]', + 'size_type' => 'Size Type[size_type]', + 'size_system' => 'Size System[size_system]', + 'product_length' => 'Product Length[product_length]', + 'product_width' => 'Product Width[product_width]', + 'product_height' => 'Product Height[product_height]', + 'product_weight' => 'Product Weight[product_weight]', + 'product_highlight_1' => 'Product Highlight 1[product_highlight]', + 'product_highlight_2' => 'Product Highlight 2[product_highlight]', + 'product_highlight_3' => 'Product Highlight 3[product_highlight]', + 'product_highlight_4' => 'Product Highlight 4[product_highlight]', + 'product_highlight_5' => 'Product Highlight 5[product_highlight]', + 'product_highlight_6' => 'Product Highlight 6[product_highlight]', + 'product_highlight_7' => 'Product Highlight 7[product_highlight]', + 'product_highlight_8' => 'Product Highlight 8[product_highlight]', + 'product_highlight_9' => 'Product Highlight 9[product_highlight]', + 'product_highlight_10' => 'Product Highlight 10[product_highlight]', + 'section_name' => 'Section Name (Product Detail)[section_name]', + 'attribute_name' => 'Attribute Name (Product Detail)[attribute_name]', + 'attribute_value' => 'Attribute Value (Product Detail)[attribute_value]', + ), + ), + 5 => array( + 'optionGroup' => 'Tax & Shipping', + 'options' => array( + 'tax' => 'Tax[tax]', + 'tax_category' => 'Tax[tax_category]', + 'shipping' => 'Shipping', + 'location_id' => 'location_id', + 'location_group_name' => 'location_group_name', + 'min_handling_time' => 'Min Handling Time[min_handling_time]', + 'max_handling_time' => 'Max Handling Time[max_handling_time]', + 'min_transit_time' => 'Min Transit Time[min_transit_time]', + 'max_transit_time' => 'Max Transit Time[max_transit_time]', + 'weight' => 'Shipping Weight[shipping_weight]', + 'length' => 'Shipping Length[shipping_length]', + 'width' => 'Shipping Width[shipping_width]', + 'height' => 'Shipping Height[shipping_height]', + 'ships_from_country' => 'Shipping Country[ships_from_country]', + 'shipping_label' => 'Shipping Label[shipping_label]', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + ), + ), + 6 => array( + 'optionGroup' => 'Product Combinations', + 'options' => array( + 'multipack' => 'Multipack[multipack]', + 'is_bundle' => 'Is Bundle[is_bundle]', + ), + ), + 7 => array( + 'optionGroup' => 'Adult Products', + 'options' => array( + 'adult' => 'Adult[adult]', + ), + ), + 8 => array( + 'optionGroup' => 'Ads Attributes', + 'options' => array( + 'ads_redirect' => 'Ads Redirect[ads_redirect]', + ), + ), + 9 => array( + 'optionGroup' => 'Custom Label Attributes', + 'options' => array( + 'custom_label_0' => 'Custom label 0 [custom_label_0]', + 'custom_label_1' => 'Custom label 1 [custom_label_1]', + 'custom_label_2' => 'Custom label 2 [custom_label_2]', + 'custom_label_3' => 'Custom label 3 [custom_label_3]', + 'custom_label_4' => 'Custom label 4 [custom_label_4]', + ), + ), + 10 => array( + 'optionGroup' => 'Additional Attributes', + 'options' => array( + 'excluded_destination' => 'Excluded Destination[excluded_destination]', + 'shopping_ads_excluded_country' => 'Shopping Ads Excluded Country[shopping_ads_excluded_country]', + 'included_destination' => 'Included Destination[included_destination]', + 'expiration_date' => 'Expiration Date [expiration_date]', + 'transit_time_label' => 'Transit Time [transit_time_label]', + ), + ), + 11 => array( + 'optionGroup' => 'Unit Prices, Subscription, and Installment', + 'options' => array( + 'unit_pricing_measure' => 'Unit Pricing Measure[unit_pricing_measure]', + 'unit_pricing_base_measure' => 'Unit Pricing Base Measure[unit_pricing_base_measure]', + 'installment_months' => 'Installment Months[months]', + 'installment_amount' => 'Installment Amount[amount]', + 'subscription_period' => 'Subscription Period[period]', + 'subscription_period_length' => 'Subscription Period Length[period_length]', + 'subscription_amount' => 'Subscription Amount[amount]', + ), + ), + 12 => array( + 'optionGroup' => 'Energy Labels', + 'options' => array( + 'energy_efficiency_class' => 'Energy Efficiency Class[energy_efficiency_class]', + 'min_energy_efficiency_class' => 'Min Energy Efficiency Class[energy_efficiency_class]', + 'max_energy_efficiency_class' => 'Max Energy Efficiency Class[energy_efficiency_class]', + ), + ), + 13 => array( + 'optionGroup' => 'Loyalty Points (Japan Only)', + 'options' => array( + 'loyalty_points' => 'loyalty_points[loyalty_points]', + ), + ), + 14 => array( + 'optionGroup' => 'Multiple Installments (Brazil Only)', + 'options' => array( + 'installment' => 'Installment[installment]', + ), + ), + 15 => array( + 'optionGroup' => 'Merchant Promotions Attributes', + 'options' => array( + 'promotion_id' => 'Promotion Id[promotion_id]', + 'product_applicability' => 'Product Applicability[product_applicability]', + 'offer_type' => 'Offer Type[offer_type]', + 'long_title' => 'Long Title[long_title]', + 'promotion_effective_dates' => 'Promotion Effective Dates[promotion_effective_dates]', + 'redemption_channel' => 'Redemption Channel[redemption_channel]', + 'promotion_destination' => 'Promotion Destination[promotion_destination]', + 'percent_off' => 'Percent Off[percent_off]', + 'money_off_amount' => 'Money Off Amount[money_off_amount]', + 'get_this_quantity_discounted' => 'Get Quantity Discounted[get_this_quantity_discounted]', + 'free_shipping' => 'Free Shipping[free_shipping]', + 'free_gift_value' => 'Free Gift Value[free_gift_value]', + 'free_gift_description' => 'Free Gift Description[free_gift_description]', + 'free_gift_item_id' => 'Free Gift Item ID[free_gift_item_id]', + 'promotion_display_dates' => 'Promotion Display Dates[promotion_display_dates]', + 'generic_redemption_code' => 'Generic Redemption Code[generic_redemption_code]', + 'fine_print' => 'Fine Print[fine_print]', + 'promotion_price' => 'Promotion Price[promotion_price]', + 'coupon_value_type' => 'Coupon Value Type[coupon_value_type]', + 'limit_quantity' => 'Limit Quantity[limit_quantity]', + 'limit_value' => 'Limit Value[limit_value]', + 'minimum_purchase_amount' => 'Minimum Purchase Amount[minimum_purchase_amount]', + 'item_id_exclusion' => 'Item ID Exclusion[item_id_exclusion]', + 'product_type_exclusion' => 'Product Type Exclusion[product_type_exclusion]', + 'brand_exclusion' => 'Brand Exclusion[brand_exclusion]', + 'item_group_id_exclusion' => 'Item Group Exclusion[item_group_id_exclusion]', + ), + ), + 16 => array( + 'optionGroup' => 'Shopping Action Attributes', + 'options' => array( + 'sell_on_google_quantity' => 'Number of Product Sold On Google [sell_on_google_quantity]', + 'return_address_label' => 'Return Address [return_address_label]', + 'return_policy_label' => 'Return Policy [return_policy_label]', + 'google_funded_promotion_eligibility' => 'Google Funded Promotion Eligibility [google_funded_promotion_eligibility]', + ), + ), + 17 => array( + 'optionGroup' => 'Local Inventory / Product Inventory', + 'options' => array( + 'store_code' => 'Store Code [store_code]', + 'quantity' => 'Quantity [quantity]', + 'pickup_method' => 'Pickup Method [pickup_method]', + 'pickup_sla' => 'Pickup SLA [pickup_sla]', + 'pickup_link_template' => 'Pickup Link Template [pickup_link_template]', + 'link_template' => 'Link Template [link_template]', + 'mobile_link_template' => 'Mobile Link Template [mobile_link_template]', + 'mobile_pickup_link_template' => 'Mobile Pickup Link Template [mobile_pickup_link_template]', + ), + ), + 18 => array( + 'optionGroup' => 'Pinterest Catalog Attributes', + 'options' => array( + 'free_shipping_label' => 'Free Shipping Label[free_shipping_label]', + 'free_shipping_limit' => 'Free Shipping Limit[free_shipping_limit]', + 'average_review_rating' => 'Average Review Rating[average_review_rating]', + 'number_of_ratings' => 'Number of Ratings[number_of_ratings]', + 'number_of_reviews' => 'Number of Reviews[number_of_reviews]', + ), + ), + ), + 'bing' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'id' => 'Product Id[id]', + 'title' => 'Product Title[title]', + 'link' => 'Product URL[link]', + 'price' => 'Product Price[price]', + 'description' => 'Product Description[description]', + 'image_link' => 'Image[image_link]', + 'shipping' => 'Shipping [shipping]', + 'shipping_country' => 'Shipping Country[shipping]', + 'shipping_service' => 'Shipping Service[shipping]', + 'shipping_price' => 'Shipping Price[shipping]', + 'gtin' => 'GTIN[gtin]', + 'mpn' => 'MPN[mpn]', + 'brand' => 'Brand[brand]', + 'identifier_exists' => 'Identifier Exists[identifier_exists]', + ), + ), + 2 => array( + 'optionGroup' => 'Apparel Products', + 'options' => array( + 'gender' => 'Gender[gender]', + 'age_group' => 'Age Group[age_group]', + 'color' => 'Color[color]', + 'size' => 'Size[size]', + 'size_type' => 'Size Type[size_type]', + 'size_system' => 'Size System[size_system]', + ), + ), + 3 => array( + 'optionGroup' => 'Product Variants', + 'options' => array( + 'item_group_id' => 'Item Group ID[item_group_id]', + 'material' => 'Material[material]', + 'pattern' => 'Pattern[pattern]', + 'additional_image_link' => 'Additional Image Link[additional_image_link]', + ), + ), + 4 => array( + 'optionGroup' => 'Other Information', + 'options' => array( + 'adult' => 'Adult[adult]', + 'availability' => 'Availability[availability]', + 'product_category' => 'Product Category[product_category]', + 'condition' => 'Condition[condition]', + 'expiration_date' => 'Expiration Date[expiration_date]', + 'multipack' => 'Multipack[multipack]', + 'product_type' => 'Product Type[product_type]', + 'mobile_link' => 'Mobile Link[mobile_link]', + 'unit_pricing_measure' => 'Unit Pricing Measure[unit_pricing_measure]', + 'unit_pricing_base_measure' => 'Unit Pricing Base Measure[unit_pricing_base_measure]', + 'installment' => 'Installment[installment]', + 'energy_efficiency_class' => 'Energy Efficiency Class[energy_efficiency_class]', + 'min_energy_efficiency_class' => 'Min Energy Efficiency Class[min_energy_efficiency_class]', + 'max_energy_efficiency_class' => 'Max Energy Efficiency Class[max_energy_efficiency_class]', + 'seller_name' => 'Seller Name[seller_name]', + 'ads_redirect' => 'Ads Redirect[ads_redirect]', + 'excluded_destination' => 'Excluded Destination[excluded_destination]', + 'included_destination' => 'Included Destination[included_destination]', + 'custom_label_0' => 'Custom Label 0[custom_label_0]', + 'custom_label_1' => 'Custom Label 1[custom_label_1]', + 'custom_label_2' => 'Custom Label 2[custom_label_2]', + 'custom_label_3' => 'Custom Label 3[custom_label_3]', + 'custom_label_4' => 'Custom Label 4[custom_label_4]', + ), + ), + 5 => array( + 'optionGroup' => 'Sales & Promotions', + 'options' => array( + 'sale_price' => 'Sale Price[sale_price]', + 'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]', + 'promotion_ID' => 'Promotion ID[promotion_ID]', + ), + ), + 6 => array( + 'optionGroup' => 'Local Product Inventory', + 'options' => array( + 'store_code' => 'Store Code[store_code]', + 'itemid' => 'Item ID[itemid]', + 'quantity' => 'Quantity[quantity]', + 'weeks_of_supply' => 'Weeks Of Supply[weeks_of_supply]', + 'pick_up_method' => 'Pick Up Method[pick_up_method]', + 'pick_up_sla' => 'Pick Up SLA[pick_up_sla]', + ), + ), + ), + 'pinterest' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'id' => 'Product Id[id]', + 'webitemid' => 'Product WebItemId[webitemid]', + 'region_id' => 'Region Id[region_id]', + 'title' => 'Product Title[title]', + 'description' => 'Product Description[description]', + 'link' => 'Product URL[link]', + 'canonical_link' => 'Canonical Link[canonical_link]', + 'mobile_link' => 'Product URL[mobile_link]', + 'product_type' => 'Product Categories[product_type] ', + 'current_category' => 'Google Product Category[google_product_category]', + 'image' => 'Main Image[image_link]', + 'images' => 'Additional Images [additional_image_link]', + 'images_1' => 'Additional Image 1 [additional_image_link]', + 'images_2' => 'Additional Image 2 [additional_image_link]', + 'images_3' => 'Additional Image 3 [additional_image_link]', + 'images_4' => 'Additional Image 4 [additional_image_link]', + 'images_5' => 'Additional Image 5 [additional_image_link]', + 'images_6' => 'Additional Image 6 [additional_image_link]', + 'images_7' => 'Additional Image 7 [additional_image_link]', + 'images_8' => 'Additional Image 8 [additional_image_link]', + 'images_9' => 'Additional Image 9 [additional_image_link]', + 'images_10' => 'Additional Image 10 [additional_image_link]', + 'condition' => 'Condition[condition]', + ), + ), + 2 => array( + 'optionGroup' => 'Availability & Price', + 'options' => array( + 'availability' => 'Stock Status[availability]', + 'availability_date' => 'Availability Date[availability_date]', + 'inventory' => 'Facebook Inventory[inventory]', + 'override' => 'Facebook Override[override]', + 'price' => 'Regular Price[price]', + 'sale_price' => 'Sale Price[sale_price]', + 'cost_of_goods_sold' => 'Cost of Goods Sold[cost_of_goods_sold]', + 'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]', + ), + ), + 3 => array( + 'optionGroup' => 'Unique Product Identifiers', + 'options' => array( + 'brand' => 'Manufacturer[brand]', + 'upc' => 'GTIN[gtin]', + 'sku' => 'MPN[mpn]', + 'identifier_exists' => 'Identifier Exist[identifier_exists]', + ), + ), + 4 => array( + 'optionGroup' => 'Detailed Product Attributes', + 'options' => array( + 'item_group_id' => 'Item Group Id[item_group_id]', + 'external_seller_id' => 'External seller ID[external_seller_id]', + 'color' => 'Color[color]', + 'gender' => 'Gender[gender]', + 'age_group' => 'Age Group[age_group]', + 'material' => 'Material[material]', + 'pattern' => 'Pattern[pattern]', + 'size' => 'Size of the item[size]', + 'size_type' => 'Size Type[size_type]', + 'size_system' => 'Size System[size_system]', + 'product_length' => 'Product Length[product_length]', + 'product_width' => 'Product Width[product_width]', + 'product_height' => 'Product Height[product_height]', + 'product_weight' => 'Product Weight[product_weight]', + 'product_highlight_1' => 'Product Highlight 1[product_highlight]', + 'product_highlight_2' => 'Product Highlight 2[product_highlight]', + 'product_highlight_3' => 'Product Highlight 3[product_highlight]', + 'product_highlight_4' => 'Product Highlight 4[product_highlight]', + 'product_highlight_5' => 'Product Highlight 5[product_highlight]', + 'product_highlight_6' => 'Product Highlight 6[product_highlight]', + 'product_highlight_7' => 'Product Highlight 7[product_highlight]', + 'product_highlight_8' => 'Product Highlight 8[product_highlight]', + 'product_highlight_9' => 'Product Highlight 9[product_highlight]', + 'product_highlight_10' => 'Product Highlight 10[product_highlight]', + 'section_name' => 'Section Name (Product Detail)[section_name]', + 'attribute_name' => 'Attribute Name (Product Detail)[attribute_name]', + 'attribute_value' => 'Attribute Value (Product Detail)[attribute_value]', + ), + ), + 5 => array( + 'optionGroup' => 'Tax & Shipping', + 'options' => array( + 'tax' => 'Tax[tax]', + 'tax_category' => 'Tax[tax_category]', + 'shipping' => 'Shipping', + 'location_id' => 'location_id', + 'location_group_name' => 'location_group_name', + 'min_handling_time' => 'Min Handling Time[min_handling_time]', + 'max_handling_time' => 'Max Handling Time[max_handling_time]', + 'min_transit_time' => 'Min Transit Time[min_transit_time]', + 'max_transit_time' => 'Max Transit Time[max_transit_time]', + 'weight' => 'Shipping Weight[shipping_weight]', + 'length' => 'Shipping Length[shipping_length]', + 'width' => 'Shipping Width[shipping_width]', + 'height' => 'Shipping Height[shipping_height]', + 'ships_from_country' => 'Shipping Country[ships_from_country]', + 'shipping_label' => 'Shipping Label[shipping_label]', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + ), + ), + 6 => array( + 'optionGroup' => 'Product Combinations', + 'options' => array( + 'multipack' => 'Multipack[multipack]', + 'is_bundle' => 'Is Bundle[is_bundle]', + ), + ), + 7 => array( + 'optionGroup' => 'Adult Products', + 'options' => array( + 'adult' => 'Adult[adult]', + ), + ), + 8 => array( + 'optionGroup' => 'Ads Attributes', + 'options' => array( + 'ads_redirect' => 'Ads Redirect[ads_redirect]', + ), + ), + 9 => array( + 'optionGroup' => 'Custom Label Attributes', + 'options' => array( + 'custom_label_0' => 'Custom label 0 [custom_label_0]', + 'custom_label_1' => 'Custom label 1 [custom_label_1]', + 'custom_label_2' => 'Custom label 2 [custom_label_2]', + 'custom_label_3' => 'Custom label 3 [custom_label_3]', + 'custom_label_4' => 'Custom label 4 [custom_label_4]', + ), + ), + 10 => array( + 'optionGroup' => 'Additional Attributes', + 'options' => array( + 'excluded_destination' => 'Excluded Destination[excluded_destination]', + 'shopping_ads_excluded_country' => 'Shopping Ads Excluded Country[shopping_ads_excluded_country]', + 'included_destination' => 'Included Destination[included_destination]', + 'expiration_date' => 'Expiration Date [expiration_date]', + 'transit_time_label' => 'Transit Time [transit_time_label]', + ), + ), + 11 => array( + 'optionGroup' => 'Unit Prices, Subscription, and Installment', + 'options' => array( + 'unit_pricing_measure' => 'Unit Pricing Measure[unit_pricing_measure]', + 'unit_pricing_base_measure' => 'Unit Pricing Base Measure[unit_pricing_base_measure]', + 'installment_months' => 'Installment Months[months]', + 'installment_amount' => 'Installment Amount[amount]', + 'subscription_period' => 'Subscription Period[period]', + 'subscription_period_length' => 'Subscription Period Length[period_length]', + 'subscription_amount' => 'Subscription Amount[amount]', + ), + ), + 12 => array( + 'optionGroup' => 'Energy Labels', + 'options' => array( + 'energy_efficiency_class' => 'Energy Efficiency Class[energy_efficiency_class]', + 'min_energy_efficiency_class' => 'Min Energy Efficiency Class[energy_efficiency_class]', + 'max_energy_efficiency_class' => 'Max Energy Efficiency Class[energy_efficiency_class]', + ), + ), + 13 => array( + 'optionGroup' => 'Loyalty Points (Japan Only)', + 'options' => array( + 'loyalty_points' => 'loyalty_points[loyalty_points]', + ), + ), + 14 => array( + 'optionGroup' => 'Multiple Installments (Brazil Only)', + 'options' => array( + 'installment' => 'Installment[installment]', + ), + ), + 15 => array( + 'optionGroup' => 'Merchant Promotions Attributes', + 'options' => array( + 'promotion_id' => 'Promotion Id[promotion_id]', + 'product_applicability' => 'Product Applicability[product_applicability]', + 'offer_type' => 'Offer Type[offer_type]', + 'long_title' => 'Long Title[long_title]', + 'promotion_effective_dates' => 'Promotion Effective Dates[promotion_effective_dates]', + 'redemption_channel' => 'Redemption Channel[redemption_channel]', + 'promotion_destination' => 'Promotion Destination[promotion_destination]', + 'percent_off' => 'Percent Off[percent_off]', + 'money_off_amount' => 'Money Off Amount[money_off_amount]', + 'get_this_quantity_discounted' => 'Get Quantity Discounted[get_this_quantity_discounted]', + 'free_shipping' => 'Free Shipping[free_shipping]', + 'free_gift_value' => 'Free Gift Value[free_gift_value]', + 'free_gift_description' => 'Free Gift Description[free_gift_description]', + 'free_gift_item_id' => 'Free Gift Item ID[free_gift_item_id]', + 'promotion_display_dates' => 'Promotion Display Dates[promotion_display_dates]', + 'generic_redemption_code' => 'Generic Redemption Code[generic_redemption_code]', + 'fine_print' => 'Fine Print[fine_print]', + 'promotion_price' => 'Promotion Price[promotion_price]', + 'coupon_value_type' => 'Coupon Value Type[coupon_value_type]', + 'limit_quantity' => 'Limit Quantity[limit_quantity]', + 'limit_value' => 'Limit Value[limit_value]', + 'minimum_purchase_amount' => 'Minimum Purchase Amount[minimum_purchase_amount]', + 'item_id_exclusion' => 'Item ID Exclusion[item_id_exclusion]', + 'product_type_exclusion' => 'Product Type Exclusion[product_type_exclusion]', + 'brand_exclusion' => 'Brand Exclusion[brand_exclusion]', + 'item_group_id_exclusion' => 'Item Group Exclusion[item_group_id_exclusion]', + ), + ), + 16 => array( + 'optionGroup' => 'Shopping Action Attributes', + 'options' => array( + 'sell_on_google_quantity' => 'Number of Product Sold On Google [sell_on_google_quantity]', + 'return_address_label' => 'Return Address [return_address_label]', + 'return_policy_label' => 'Return Policy [return_policy_label]', + 'google_funded_promotion_eligibility' => 'Google Funded Promotion Eligibility [google_funded_promotion_eligibility]', + ), + ), + 17 => array( + 'optionGroup' => 'Local Inventory / Product Inventory', + 'options' => array( + 'store_code' => 'Store Code [store_code]', + 'quantity' => 'Quantity [quantity]', + 'pickup_method' => 'Pickup Method [pickup_method]', + 'pickup_sla' => 'Pickup SLA [pickup_sla]', + 'pickup_link_template' => 'Pickup Link Template [pickup_link_template]', + 'link_template' => 'Link Template [link_template]', + 'mobile_link_template' => 'Mobile Link Template [mobile_link_template]', + 'mobile_pickup_link_template' => 'Mobile Pickup Link Template [mobile_pickup_link_template]', + ), + ), + 18 => array( + 'optionGroup' => 'Pinterest Catalog Attributes', + 'options' => array( + 'free_shipping_label' => 'Free Shipping Label[free_shipping_label]', + 'free_shipping_limit' => 'Free Shipping Limit[free_shipping_limit]', + 'average_review_rating' => 'Average Review Rating[average_review_rating]', + 'number_of_ratings' => 'Number of Ratings[number_of_ratings]', + 'number_of_reviews' => 'Number of Reviews[number_of_reviews]', + ), + ), + ), + 'pinterest_rss' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'title' => 'Product Title[title]', + 'description' => 'Product Description[description]', + 'link' => 'Product URL[link]', + 'image' => 'Main Image[image]', + 'pubDate' => 'Publish Date[pubDate]', + 'guid' => 'GUID[guid]', + ), + ), + ), + 'googlereview' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'product_name' => 'Product Title [product_name]', + 'product_url' => 'Product URL [product_url]', + 'review_temp_gtin' => 'GTIN [gtin]', + 'review_temp_mpn' => 'MPN [mpn]', + 'review_temp_sku' => 'SKU [sku]', + 'review_temp_brand' => 'Brand [brand]', + ), + ), + ), + 'wine_searcher' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'name' => 'Product Title[name]', + 'description' => 'Product description[description]', + 'vintage' => 'Vintage[vintage]', + 'link' => 'Product URL[link]', + 'unit-size' => 'Unit Size[unit-size]', + 'price' => 'Price[price]', + 'url' => 'URL[url] ', + 'min-order' => 'Minimum Order[min-order]', + 'tax' => 'Tax[tax]', + 'offer-type' => 'Offer Type[offer-type]', + 'delivery-time' => 'Delivery Time[delivery-time]', + 'stock-level' => 'Stock Level[stock-level]', + ), + ), + ), + 'tiktok' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'sku_id' => 'SKU ID[id]', + 'title' => 'Product Title[title]', + 'description' => 'Product description[description]', + 'availability' => 'Availability[availability]', + 'condition' => 'Condition[condition]', + 'price' => 'Price[price]', + 'sale_price' => 'Sale Price[sale_price]', + 'shipping' => 'Shipping[shipping]', + 'tax ' => 'Tax[tax]', + 'shipping_weight' => 'Shipping Weight[shipping_weight]', + 'link' => 'Product URL[link]', + 'image_link' => 'Product Image[image_link]', + 'additional_image_link' => 'Additional Image [additional_image_link]', + 'item_group_id' => 'Parent ID[item_group_id]', + 'brand' => 'Product Brand[brand]', + 'gtin' => 'Gtin[gtin]', + 'mpn' => 'MPN[mpn]', + 'google_product_category' => 'Google Product Category[google_product_category]', + 'video_link' => 'Video Link[video_link]', + 'age_group' => 'Age Group[age_group]', + 'color' => 'Color[color]', + 'size' => 'Size[size]', + 'gender' => 'Gender[gender]', + 'material' => 'Material[material]', + 'pattern' => 'Pattern[pattern]', + 'product_type' => 'Product Type[product_type]', + 'ios_url' => 'IOS URL[ios_url]', + 'ios_app_store_id' => 'IOS App Store ID[ios_app_store_id]', + 'ios_app_name' => 'IOS App Name[ios_app_name]', + 'iPhone_url' => 'iPhone URL[iPhone_url]', + 'iPhone_app_store_id' => 'iPhone App Store ID[iPhone_app_store_id]', + 'iPhone_app_name' => 'iPhone App Name[iPhone_app_name]', + 'iPad_url' => 'iPad URL[iPad_url]', + 'iPad_app_store_id' => 'iPad App Store ID[iPad_app_store_id]', + 'iPad_app_name' => 'iPad App Name[iPad_app_name]', + 'android_url' => 'Android URL[android_url]', + 'android_package' => 'Android Package[android_package]', + 'android_app_name' => 'Android App Name[android_app_name]', + 'custom_label_0' => 'custom_label_0[custom_label_0]', + 'custom_label_1' => 'custom_label_1[custom_label_1]', + 'custom_label_2' => 'custom_label_2[custom_label_2]', + 'custom_label_3' => 'custom_label_3[custom_label_3]', + 'custom_label_4' => 'custom_label_4[custom_label_4]', + 'merchant_brand' => 'Merchant Brand[merchant_brand]', + 'productHisEval' => 'Purchase Count:FeedBack[productHisEval]', + 'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]', + ), + ), + ), + 'modalova' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'id' => 'Product ID[id]', + 'title' => 'Product Title[title]', + 'slug' => 'Product URL Slug[slug]', + 'description' => 'Product description[description]', + 'short_description' => 'Product Short description[short_description]', + 'link' => 'Product URL[link]', + 'sku' => 'SKU[sku]', + 'brand' => 'Product Brand[brand]', + 'main_image' => 'Product Image[main_image]', + 'featured_image' => 'Featured Image[featured_image]', + 'images' => 'Images[images]', + 'price' => 'Price[price]', + 'sale_price' => 'Sale Price[sale_price]', + 'availability' => 'Availability[availability]', + 'tags' => 'Tags[tags]', + 'color' => 'Color[color]', + 'size' => 'Size[size]', + 'quantity' => 'Quantity[quantity]', + 'parent_id' => 'Parent ID[parent_id]', + 'condition' => 'Condition[condition]', + 'category' => 'Category[category]', + 'parent_category' => 'Parent Category[parent_category]', + 'child_category' => 'Child Category[child_category]', + 'category_path' => 'Category Path[category_path]', + 'created_at' => 'Created At[created_at]', + 'updated_at' => 'Updated At[updated_at]', + ), + ), + ), + 'catchdotcom' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'product-id' => 'Product ID [product-id]', + 'title' => 'Product title [title]', + 'product-description' => 'Product Description[product-description]', + 'product-id-type' => 'Product ID Type[product-id-type]', + 'internal-sku' => 'Internal SKU[internal-sku]', + 'category' => 'Product Category[category]', + 'image-1' => 'Image 1 [image-1]', + 'images-2' => 'Image 2 [image-2]', + 'images-3' => 'Image 3 [image-3]', + 'images-4' => 'Image 4 [image-4]', + 'images-5' => 'Image 5 [image-5]', + 'images-6' => 'Image 6 [image-6]', + 'image-size-chart' => 'Image Size Chart[image-size-chart]', + 'brand' => 'Brand[brand]', + 'adult' => 'Adult[adult]', + 'keywords' => 'Keywords[keywords]', + 'sku' => 'Offer SKU[sku]', + 'inventory' => 'Facebook Inventory[inventory]', + 'override' => 'Facebook Override[override]', + 'price' => 'Regular Price[price]', + 'quantity' => 'Offer Quantity[quantity]', + 'min-quantity-alert' => 'Minimum Quantity Alert[min-quantity-alert]', + 'state' => 'Offer State[state]', + 'logistic-class' => 'Logistic Class[logistic-class]', + 'discount-price' => 'Discount Price[discount-price]', + 'leadtime-to-ship' => 'Lead Time to Ship[leadtime-to-ship]', + 'club-catch-eligible' => 'Club Catch eligible[club-catch-eligible]', + 'tax-au' => 'GST %[tax-au]', + ), + ), + ), + 'fashionchick' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'Product ID' => 'Product ID [Product ID]', + 'Titel' => 'Product Titel [Titel]', + 'Omschrijving' => 'Product Description [Omschrijving]', + 'Url' => 'Product URL [Url]', + 'Image' => 'Image [Image]', + 'Category' => 'Product Category [Category (pad)]', + 'Prijs' => 'Regular Price [Prijs]', + 'Merk' => 'Brand [Merk]', + 'Cluster ID' => 'Cluster ID [Cluster ID]', + 'internal-sku' => 'Internal SKU [internal-sku]', + 'sku' => 'Offer SKU[sku]', + 'Delivery Time' => 'Delivery Time [Delivery Time]', + 'Shipping Costs' => 'Shipping Costs [Shipping Costs]', + 'Old price' => 'Old price [Old price]', + 'Product maten' => 'Product sizes [Product maten]', + 'Stock' => 'Stock [Stock]', + 'Voorraad aantal' => 'Stock quantity [Voorraad aantal]', + 'Materiaal' => 'Material [Materiaal]', + 'Geslacht' => 'Gender [Geslacht]', + 'Kleur' => 'Color [Kleur]', + ), + ), + ), + 'goedgeplaatst' => array( + 1 => array( + 'optionGroup' => 'Basic Information', + 'options' => array( + 'title' => 'Product Title [title]', + 'description' => 'Product Description [description]', + 'type' => 'Product Type [type]', + 'price' => 'Price [price]', + 'images' => 'Images [images]', + 'categoryId' => 'Category ID [categoryId]', + 'externalAdId' => 'External Ad ID [externalAdId]', + 'priceRetail' => 'Retail Price [priceRetail]', + 'priceOther' => 'Other Price [priceOther]', + 'bid' => 'Bid [bid]', + 'showContact' => 'Show Contact [showContact]', + 'website' => 'Website [website]', + 'name' => 'Name [name]', + 'phone' => 'Phone [phone]', + 'address' => 'Address [address]', + 'houseNumber' => 'House Number [houseNumber]', + 'postalCode' => 'Postal Code [postalCode]', + 'city' => 'City [city]', + 'country' => 'Country [country]', + 'autoReplace' => 'Auto Replace [autoReplace]', + 'directForwardToMp' => 'Direct Forward Mp [directForwardToMp]', + 'priceBidMinimal' => 'Price Bid Minimal [priceBidMinimal]', + 'priceBidAsking' => 'Price Bid Asking [priceBidAsking]', + ), + ), + ), + 'skroutz' => array( + 1 => array( + 'optionGroup' => 'Required Information', + 'options' => array( + 'id' => 'Unique ID', + 'name' => 'Product Title', + 'description' => 'Product Description', + 'link' => 'Product Link', + 'image' => 'Image Link', + 'category' => 'Category Name', + 'price' => 'Price', + 'price_with_vat' => 'Price With Tax', + 'manufacturer' => 'Manufacturer', + 'mpn' => 'MPN / ISBN', + 'availability' => 'Availability', + ), + ), + 2 => array( + 'optionGroup' => 'Additional Information', + 'options' => array( + 'instock' => 'Stock Status [InStock]', + 'ean' => 'EAN / Barcode', + 'additional_imageurl' => 'Additional Image Link', + 'additional_imageurl_1' => 'Additional Image Link 1', + 'additional_imageurl_2' => 'Additional Image Link 2', + 'additional_imageurl_3' => 'Additional Image Link 3', + 'additional_imageurl_4' => 'Additional Image Link 4', + 'additional_imageurl_5' => 'Additional Image Link 5', + 'additional_imageurl_6' => 'Additional Image Link 6', + 'additional_imageurl_7' => 'Additional Image Link 7', + 'additional_imageurl_8' => 'Additional Image Link 8', + 'additional_imageurl_9' => 'Additional Image Link 9', + 'additional_imageurl_10' => 'Additional Image Link 10', + 'color' => 'Color', + 'size' => 'Size', + 'weight' => 'Weight', + 'quantity' => 'Quantity', + ), + ), + ), + 'daisycon' => array( + 1 => array( + 'optionGroup' => 'Required Attributes', + 'options' => array( + 'sku' => 'Unique Product ID [SKU]', + 'description' => 'Description', + 'link' => 'Product URL', + 'price' => 'Price[Current/Sale Price]', + 'title' => 'Product Title', + ), + ), + 2 => array( + 'optionGroup' => 'Highly Recommended Attributes', + 'options' => array( + 'image_link_1' => 'Main Image', + 'brand' => 'Brand of the product', + 'category' => 'Main category', + 'category_path' => 'Category path', + 'delivery_time' => 'Delivery time in days', + 'ean' => 'EAN', + 'google_category_id' => 'Google category ID', + 'in_stock' => 'Stock status', + 'in_stock_amount' => 'Amount of items in stock', + 'price_old' => 'Old price [Regular Price (in case of discount prices)]', + ), + ), + 3 => array( + 'optionGroup' => 'Recommended Attributes', + 'options' => array( + 'color_primary' => 'Primary color of the product', + 'condition' => 'Product Condition', + 'gender_target' => 'Gender Target', + 'price_shipping' => 'Shipping costs', + 'image_link_2' => 'Image 2', + 'image_link_3' => 'Image 3', + 'image_link_4' => 'Image 4', + 'image_link_5' => 'Image 5', + 'image_link_6' => 'Image 6', + 'image_link_7' => 'Image 7', + 'image_link_8' => 'Image 8', + 'image_link_9' => 'Image 9', + ), + ), + 4 => array( + 'optionGroup' => 'Optional Attributes', + 'options' => array( + 'additional_costs' => 'Additional costs', + 'brand_logo' => 'Brand Logo URL', + 'delivery_description' => 'Description of the delivery method', + 'keywords' => 'Keywords [Tags]', + 'model' => 'Model name/number', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + 'priority' => 'Priority of the product', + 'size' => 'General Size field', + 'size_description' => 'Description for the “size” field', + 'terms_conditions' => 'Full terms and conditions', + ), + ), + ), + 'daisycon_automotive' => array( + 1 => array( + 'optionGroup' => 'Required Attributes', + 'options' => array( + 'description' => 'Description of the product', + 'link' => 'URL to the page of the product', + 'price' => 'Price [Current/Sale Price]', + 'sku' => 'Unique Product ID [SKU]', + 'title' => 'Complete name of the product', + ), + ), + 2 => array( + 'optionGroup' => 'Highly Recommended Attributes', + 'options' => array( + 'brand' => 'Brand of the product', + 'category' => 'Main category', + 'category_path' => 'Category path', + 'color_primary' => 'Primary color of the product', + 'delivery_time' => 'Delivery time in days', + 'ean' => 'EAN', + 'google_category_id' => 'Google category ID', + 'in_stock' => 'Stock status', + 'in_stock_amount' => 'Amount of items in stock', + 'price_old' => 'Old price [Regular Price]', + 'image_link_1' => 'Main Image', + ), + ), + 3 => array( + 'optionGroup' => 'Recommended Attributes', + 'options' => array( + 'condition' => 'Product Condition', + 'price_shipping' => 'Shipping costs', + 'image_link_2' => 'Image 2', + 'image_link_3' => 'Image 3', + 'image_link_4' => 'Image 4', + 'image_link_5' => 'Image 5', + 'image_link_6' => 'Image 6', + 'image_link_7' => 'Image 7', + 'image_link_8' => 'Image 8', + 'image_link_9' => 'Image 9', + ), + ), + 4 => array( + 'optionGroup' => 'Optional Attributes', + 'options' => array( + 'additional_costs' => 'Additional costs', + 'brake_system' => 'Brake system type', + 'brand_logo' => 'Brand Logo URL', + 'delivery_description' => 'Description of the delivery method', + 'fuel_type' => 'Fuel type', + 'gear_system' => 'Gear system type', + 'gender_target' => 'Gender Target', + 'has_airco' => 'Is there an airco present', + 'keywords' => 'Keywords [Tags]', + 'model' => 'Model name/number', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + 'priority' => 'Priority of the product', + 'rental_location_city' => "City of a rental car's pick up location (if applicable)", + 'rental_location_country' => "Country of a rental car's pick up location (if applicable)", + 'rental_location_region' => "Region of a rental car's pick up location (if applicable)", + 'size' => 'General field for size', + 'size_description' => 'Description for the “size” field', + 'tire_size' => 'The measurements of the tire size of the product.', + 'year_built' => 'Year in which the product is fabricated', + 'terms_conditions' => 'Full terms and conditions', + ), + ), + ), + 'daisycon_books' => array( + 1 => array( + 'optionGroup' => 'Required Attributes', + 'options' => array( + 'description' => 'Description of the product', + 'link' => 'URL to the page of the product', + 'price' => 'Price [Current/Sale Price]', + 'sku' => 'Unique Product ID [SKU]', + 'title' => 'Complete name of the product', + ), + ), + 2 => array( + 'optionGroup' => 'Highly Recommended Attributes', + 'options' => array( + 'author' => 'Name of the author', + 'category' => 'Main category', + 'category_path' => 'Category path', + 'delivery_time' => 'Delivery time in days', + 'ean' => 'EAN', + 'google_category_id' => 'Google category ID', + 'in_stock' => 'Stock status', + 'in_stock_amount' => 'Amount of items in stock', + 'isbn' => 'ISBN of the book/magazine', + 'price_old' => 'Old price [Regular Price]', + 'image_link_1' => 'Main Image', + ), + ), + 3 => array( + 'optionGroup' => 'Recommended Attributes', + 'options' => array( + 'book_publisher' => 'Publisher of the book', + 'book_type' => 'Type of book', + 'price_shipping' => 'Shipping costs', + 'image_link_2' => 'Image 2', + 'image_link_3' => 'Image 3', + 'image_link_4' => 'Image 4', + 'image_link_5' => 'Image 5', + 'image_link_6' => 'Image 6', + 'image_link_7' => 'Image 7', + 'image_link_8' => 'Image 8', + 'image_link_9' => 'Image 9', + ), + ), + 4 => array( + 'optionGroup' => 'Low Priority Attributes', + 'options' => array( + 'condition' => 'Product Condition', + 'gender_target' => 'Gender to which the product is aimed', + 'number_of_pages' => 'Number of pages', + 'release_date' => 'Date of publication', + ), + ), + 5 => array( + 'optionGroup' => 'Optional Attributes', + 'options' => array( + 'additional_costs' => 'Additional costs', + 'book_edition' => 'Edition of the book', + 'brand' => 'Brand of the product', + 'brand_logo' => 'URL to an image of the brand logo', + 'color_primary' => 'Primary color of the product', + 'delivery_description' => 'Description of the delivery method', + 'file_size' => 'Total file size in kbps', + 'file_type' => 'File type (for example: epub)', + 'keywords' => 'Keywords for this product', + 'language' => 'Language of the product', + 'model' => 'Model name/number', + 'priority' => 'Priority of the product', + 'size' => 'General field for size', + 'size_description' => 'Description for the “size” field', + 'size_length' => 'Magazine length in mm', + 'size_width' => 'Magazine width in mm', + 'weight' => 'Weight in grams', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + 'terms_conditions' => 'Full terms and conditions', + ), + ), + ), + 'daisycon_cosmetics' => array( + 1 => array( + 'optionGroup' => 'Required Attributes', + 'options' => array( + 'description' => 'Description of the product', + 'link' => 'URL to the page of the product', + 'price' => 'Price [Current/Sale Price]', + 'sku' => 'Unique Product ID [SKU]', + 'title' => 'Complete name of the product', + ), + ), + 2 => array( + 'optionGroup' => 'Highly Recommended Attributes', + 'options' => array( + 'allergic_info' => 'Allergy information', + 'amount_content' => 'Amount of content, for example: 120(in combination with amount_description)', + 'amount_description' => 'The unit in which the amount is specified for example: ml', + 'category' => 'Main category', + 'category_path' => 'Category path', + 'delivery_time' => 'Delivery time in days', + 'ean' => 'EAN', + 'google_category_id' => 'Google category ID', + 'in_stock' => 'Stock status', + 'in_stock_amount' => 'Amount of items in stock', + 'price_old' => 'Old price [Regular Price]', + 'image_link_1' => 'Main Image', + ), + ), + 3 => array( + 'optionGroup' => 'Recommended Attributes', + 'options' => array( + 'description_ingredients' => 'Description of the ingredients', + 'gender_target' => 'Gender to which the product is aimed', + 'price_shipping' => 'Shipping costs', + 'skin_type' => 'Skintype for which the product is made', + 'image_link_2' => 'Image 2', + 'image_link_3' => 'Image 3', + 'image_link_4' => 'Image 4', + 'image_link_5' => 'Image 5', + 'image_link_6' => 'Image 6', + 'image_link_7' => 'Image 7', + 'image_link_8' => 'Image 8', + 'image_link_9' => 'Image 9', + ), + ), + 4 => array( + 'optionGroup' => 'Low Priority Attributes', + 'options' => array( + 'color_primary' => 'Primary color of the product', + ), + ), + 5 => array( + 'optionGroup' => 'Optional Attributes', + 'options' => array( + 'additional_costs' => 'Additional costs', + 'brand_logo' => 'URL to an image of the brand logo', + 'condition' => 'Product Condition', + 'delivery_description' => 'Description of the delivery method', + 'keywords' => 'Keywords for this product', + 'made_in_country' => 'Country in which the product is fabricated', + 'model' => 'Model name/number', + 'priority' => 'Priority of the product', + 'size' => 'General field for size', + 'size_description' => 'Description for the “size” field', + 'weight' => 'Weight in grams', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + 'terms_conditions' => 'Full terms and conditions', + ), + ), + ), + 'daisycon_daily_offers' => array( + 1 => array( + 'optionGroup' => 'Required Attributes', + 'options' => array( + 'description' => 'Description of the product', + 'link' => 'URL to the page of the product', + 'price' => 'Price [Current/Sale Price]', + 'sku' => 'Unique Product ID [SKU]', + 'title' => 'Complete name of the product', + ), + ), + 2 => array( + 'optionGroup' => 'Highly Recommended Attributes', + 'options' => array( + 'brand' => 'Brand of the product', + 'category' => 'Main category', + 'category_path' => 'Category path', + 'delivery_time' => 'Delivery time in days', + 'ean' => 'EAN', + 'in_stock' => 'Stock status', + 'in_stock_amount' => 'Amount of items in stock', + 'price_old' => 'Old price [Regular Price]', + 'image_link_1' => 'Main Image', + ), + ), + 3 => array( + 'optionGroup' => 'Recommended Attributes', + 'options' => array( + 'google_category_id' => 'Google category ID', + 'price_shipping' => 'Shipping costs', + 'image_link_2' => 'Image 2', + 'image_link_3' => 'Image 3', + 'image_link_4' => 'Image 4', + 'image_link_5' => 'Image 5', + 'image_link_6' => 'Image 6', + 'image_link_7' => 'Image 7', + 'image_link_8' => 'Image 8', + 'image_link_9' => 'Image 9', + ), + ), + 4 => array( + 'optionGroup' => 'Optional Attributes', + 'options' => array( + 'additional_costs' => 'Additional costs', + 'brand_logo' => 'URL to an image of the brand logo', + 'color_primary' => 'Primary color of the product', + 'condition' => 'Product Condition', + 'delivery_description' => 'Description of the delivery method', + 'discount_amount' => "Amount of discount in euro's", + 'discount_percentage' => 'Amount of discount in percent', + 'gender_target' => 'Gender to which the product is aimed', + 'keywords' => 'Keywords for this product', + 'model' => 'Model name/number', + 'offer_datetime_end' => 'End (time and) date of the daily offer', + 'offer_datetime_start' => 'Start (time and) date of the daily offer', + 'size' => 'General field for size', + 'size_description' => 'Description for the “size” field', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + 'terms_conditions' => 'Full terms and conditions', + ), + ), + ), + 'daisycon_electronics' => array( + 1 => array( + 'optionGroup' => 'Required Attributes', + 'options' => array( + 'description' => 'Description of the product', + 'link' => 'URL to the page of the product', + 'price' => 'Price [Current/Sale Price]', + 'sku' => 'Unique Product ID [SKU]', + 'title' => 'Complete name of the product', + ), + ), + 2 => array( + 'optionGroup' => 'Highly Recommended Attributes', + 'options' => array( + 'brand' => 'Brand of the product', + 'category' => 'Main category', + 'category_path' => 'Category path', + 'delivery_time' => 'Delivery time in days', + 'ean' => 'EAN', + 'google_category_id' => 'Google category ID', + 'in_stock' => 'Stock status', + 'in_stock_amount' => 'Amount of items in stock', + 'model' => 'Model name/number', + 'price_old' => 'Old price [Regular Price]', + 'image_link_1' => 'Main Image', + ), + ), + 3 => array( + 'optionGroup' => 'Recommended Attributes', + 'options' => array( + 'color_primary' => 'Primary color of the product', + 'price_shipping' => 'Shipping costs', + 'image_link_2' => 'Image 2', + 'image_link_3' => 'Image 3', + 'image_link_4' => 'Image 4', + 'image_link_5' => 'Image 5', + 'image_link_6' => 'Image 6', + 'image_link_7' => 'Image 7', + 'image_link_8' => 'Image 8', + 'image_link_9' => 'Image 9', + ), + ), + 4 => array( + 'optionGroup' => 'Low Priority Attributes', + 'options' => array( + 'condition' => 'Product Condition', + ), + ), + 5 => array( + 'optionGroup' => 'Optional Attributes', + 'options' => array( + 'additional_costs' => 'Additional costs', + 'audio_surround' => 'Has audio surround sound', + 'batteries_included' => 'Specifies is batteries are included at the purchase of the product', + 'brand_logo' => 'URL to an image of the brand logo', + 'connection_type' => 'Connection type, for example: USB', + 'delivery_description' => 'Description of the delivery method', + 'device_max_content' => 'Maximum content of the product, for example: 7KG or 3L', + 'device_max_temperature' => 'Maximum temperature the device can reach in Celsius', + 'device_serve_amount' => 'Amount of portions/persons the product can serve.', + 'device_watt' => 'Maximum wattage of the product for example: 450', + 'dishwasher_safe' => 'Product is dishwasher proof', + 'disposal_fee' => 'Disposal fee of the product in euro’s', + 'file_types_supported' => 'Supported filetypes', + 'gender_target' => 'Gender to which the product is aimed', + 'has_alarm' => 'Product has an alarm', + 'has_grill' => 'Product has a grill option, or a grill is present', + 'has_microwave' => 'Product has a microwave option or a microwave is present', + 'has_oven' => 'Product has an oven option or an oven is present', + 'has_radio' => 'Product has a radio option or a radio is pressent', + 'has_remote_control' => 'Product has a remote', + 'has_timer' => 'Product has a timer', + 'has_wifi' => 'Product has a wifi connection or wifi is present', + 'keywords' => 'Keywords for this product', + 'made_in_country' => 'Country in which the product is fabricated', + 'partnumber' => 'Part Number [MPN]', + 'power_type' => 'Type of energysource, for example: gas, electric, ceramic', + 'price_suggested_retail' => 'Suggested price', + 'priority' => 'Priority of the product', + 'resolution_record' => 'Camera recording resolution of the product (for example: 1280x768, 350dpi or 10MP)', + 'resolution_screen' => 'Screenresolution of the product (For example: 1280x768 or 350dpi)', + 'screen_size' => 'Screensize in inches', + 'screen_type' => 'Screentype of the product (for example: LED/3D/etc.)', + 'size' => 'General field for size', + 'size_description' => 'Description for the “size” field', + 'size_length' => 'Product length in mm', + 'size_width' => 'Product width in mm', + 'specs' => 'All specifications/functionalities of the product', + 'terms_conditions' => 'Full terms and conditions', + 'material_1' => 'The primary material', + 'material_2' => 'The secondary material', + 'material_3' => 'The tertiary material', + ), + ), + ), + 'name' => array(), + ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/Merchants.php b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/Merchants.php new file mode 100644 index 000000000..e23dfc67a --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/Merchants.php @@ -0,0 +1,23 @@ + array( + 'mattributes' => array( + 'id', + 'title', + 'description', + 'link', + 'image_link', + 'price', + 'categories', + 'brand', + ), + 'prefix' => array( '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'link', + 'image', + 'price', + 'product_type', + '', + ), + 'default' => array( '', '', '', '', '', '', '', self::$brand ), + 'suffix' => array( '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '' ), + ), + 'google' => array( + 'mattributes' => array( + 'id', + 'title', + 'description', + 'item_group_id', + 'link', + 'product_type', + 'current_category', + 'image', + 'condition', + 'availability', + 'price', + 'sale_price', + 'sku', + 'brand', + 'canonical_link', + 'images_1', + 'images_2', + 'images_3', + 'images_4', + 'images_5' + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'item_group_id', + 'link', + 'product_type', + '', + 'image', + '', + 'availability', + 'price', + 'current_price', + 'sku', + '', + 'canonical_link', + 'image_1', + 'image_2', + 'image_3', + 'image_4', + 'image_5' + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + 'new', + '', + '', + '', + '', + self::$brand, + '', + '', + '', + '', + '', + '' + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ' ' . self::$currency, + ' ' . self::$currency, + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '6', + '6', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1' + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + ), + 'facebook' => array( + 'mattributes' => array( + 'id', + 'title', + 'description', + 'item_group_id', + 'link', + 'product_type', + 'fb_product_category', + 'image', + 'condition', + 'availability', + 'price', + 'sale_price', + 'brand', + 'images_1', + 'images_2', + 'images_3', + 'images_4', + 'images_5' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'item_group_id', + 'link', + 'product_type', + '', + 'image', + '', + 'availability', + 'price', + 'current_price', + '', + 'image_1', + 'image_2', + 'image_3', + 'image_4', + 'image_5' + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + 'new', + '', + '', + '', + self::$brand, + '', + '', + '', + '', + '' + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ' ' . self::$currency, + ' ' . self::$currency, + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '6', + '6', + '1', + '1', + '1', + '1', + '1', + '1' + ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'pinterest_rss' => array( + 'mattributes' => array( 'title', 'description', 'link', 'image', 'pubDate', 'guid' ), + 'prefix' => array( '', '', '', '', '', '' ), + 'type' => array( 'attribute', 'attribute', 'attribute', 'attribute', 'attribute', 'attribute' ), + 'attributes' => array( 'title', 'description', 'link', 'image', 'date_created', 'link' ), + 'default' => array( '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '' ), + 'output_type' => array( '1', '11', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '' ), + ), + 'bol' => array( + 'mattributes' => array( + 'EAN', + 'Internal Reference', + 'Name', + 'Product Classification', + 'Description', + 'Cover Image URL', + 'Brand', + ), + 'prefix' => array( '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'id', + 'title', + 'product_type', + 'description', + 'image', + '', + ), + 'default' => array( '', '', '', '', '', '', self::$brand ), + 'suffix' => array( '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1, 2, 11', '1', '' ), + 'limit' => array( '', '', '', '', '', '', '' ), + ), + 'adform' => array( + 'mattributes' => array( + 'product_id', + 'product_name', + 'product_category_id', + 'product_deeplink', + 'product_image', + 'product_price', + ), + 'prefix' => array( '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( 'id', 'title', 'product_type', 'link', 'image', 'price' ), + 'default' => array( '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '' ), + ), + 'avantlink' => array( + 'mattributes' => array( + 'SKU', + 'Brand Name', + 'Product Name', + 'Long Description', + 'Category', + 'Standardized Categorization', + 'Image URL', + 'Buy Link', + 'Retail Price', + 'Sale Price', + 'UPC', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'sku', + '', + 'title', + 'description', + 'product_type', + '', + 'image', + 'link', + 'price', + 'sale_price', + '', + ), + 'default' => array( + '', + self::$brand, + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '11', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'become' => array( + 'mattributes' => array( + 'Unique ID', + 'Title', + 'Description', + 'Category', + 'Product URL', + 'Image URL', + 'Condition', + 'Availability', + 'Current Price', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'product_type', + 'link', + 'image', + 'condition', + 'availability', + 'price', + ), + 'default' => array( '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1', '6' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'bonanza' => array( + 'mattributes' => array( + 'id', + 'title', + 'description', + 'price', + 'images', + 'category', + 'booth_category', + 'shipping_price', + 'shipping_type', + 'shipping_service', + 'shipping_lbs', + 'shipping_oz', + 'shipping_carrier', + 'shipping_package', + 'sku', + 'worldwide_shipping_price', + 'worldwide_shipping_type', + 'worldwide_shipping_carrier', + 'quantity', + 'trait', + 'force_update', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'price', + 'image', + '', + 'product_type', + '', + '', + '', + '', + '', + '', + '', + 'sku', + '', + '', + '', + 'quantity', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'criteo' => array( + 'mattributes' => array( + 'ID', + 'title', + 'description', + 'google_product_category', + 'link', + 'image_link', + 'additional_image_link', + 'availability', + 'price', + 'sale_price', + 'gtin', + 'mpn', + 'brand', + 'product_type', + 'product_type_key', + 'number_of_reviews', + 'product_rating', + 'filters', + 'adult', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'product_type', + 'link', + 'image', + 'images', + 'availability', + 'price', + 'sale_price', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + self::$brand, + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '240', + '150', + '5000', + '', + '1024', + '2000', + '2000', + '25', + '14', + '50', + '50', + '70', + '70', + '500', + '500', + '8', + '8', + '2000', + '', + ), + ), + 'crowdfox' => array( + 'mattributes' => array( + 'sku ', + 'image', + 'name', + 'price', + 'ean', + 'dlv_time', + 'dlv_cost', + 'obl_info', + 'brand', + 'mpn', + 'link', + 'desc', + 'sell_max', + 'shop_cat', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'sku', + 'image', + 'title', + 'price', + '', + '', + '', + '', + '', + '', + 'link', + 'description', + 'quantity', + 'product_type', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + self::$brand, + '', + '', + '', + '', + '', + ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'fruugo' => array( + 'mattributes' => array( + 'ProductId', + 'SkuId', + 'EAN', + 'Brand', + 'Category', + 'Imageurl1', + 'StockStatus', + 'StockQuantity', + 'Title', + 'Description', + 'NormalPriceWithoutVAT', + 'DiscountPriceWithoutVAT', + 'VatRate', + 'Currency', + 'Country', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + ), + 'attributes' => array( + 'id', + 'sku', + '', + '', + 'product_type', + 'image', + 'availability', + 'quantity', + 'title', + 'description', + 'price', + 'sale_price', + '', + '', + '', + ), + 'default' => array( + '', + '', + '', + self::$brand, + '', + '', + '', + '', + '', + '', + '', + '', + '', + ' ' . self::$currency, + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'jet' => array( + 'mattributes' => array( + 'Merchant SKU ID', + 'Unique ID', + 'Multi-pack Quantity', + 'Product Title', + 'Description', + 'Image', + 'Product Price', + 'Jet Category', + 'Brand', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'id', + '', + 'title', + 'description', + 'image', + 'price', + '', + '', + ), + 'default' => array( '', '', '', '', '', '', '', '', self::$brand ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '11', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'kelkoo' => array( + 'mattributes' => array( + 'title', + 'product-url', + 'price', + 'merchant-category', + 'ean', + 'delivery-cost', + 'brand', + 'description', + 'image-url', + 'availability', + 'mpn', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'title', + 'link', + 'price', + '', + '', + '', + '', + 'description', + 'image', + 'availability', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + self::$brand, + '', + '', + '', + '', + ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '11', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'kieskeurig.nl' => array( + 'mattributes' => array( + 'id', + 'productgroep', + 'merk', + 'type', + 'toevoeging-type', + 'extra-productbeschrijving', + 'partnumber', + 'ean-code', + 'prijs', + 'verzendkosten', + 'afhaalkosten', + 'levertijd', + 'deeplink', + 'imagelink', + 'voorraad', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'id', + 'product_type', + 'title', + 'type', + '', + 'description', + '', + '', + 'price', + '', + '', + '', + 'link', + 'image', + 'quantity', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'kijiji.ca' => array( + 'mattributes' => array( + 'id', + 'title', + 'description', + 'link', + 'image_link', + 'price', + 'categories', + 'brand', + ), + 'prefix' => array( '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'link', + 'image', + 'price', + 'product_type', + '', + ), + 'default' => array( '', '', '', '', '', '', '', self::$brand ), + 'suffix' => array( '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '' ), + ), + 'leguide' => array( + 'mattributes' => array( + 'category', + 'unique_id', + 'title', + 'description', + 'price', + 'product_URL', + 'landing_URL', + 'image_URL', + 'EAN', + 'delivery_charge', + 'delivery_time', + 'availability', + 'guarantee', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'product_type', + 'id', + 'title', + 'description', + 'price', + 'link', + '', + 'image', + 'sku', + '', + '', + '', + '', + ), + 'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'modina.de' => array( + 'mattributes' => array( + 'id', + 'brand', + 'title', + 'description', + 'productLink', + 'imageLink', + 'imageLinkAdditional', + 'price', + 'priceOld', + 'shippingCost', + 'shippingDuration', + 'availability', + 'gtin', + 'mpn', + 'category', + 'subcategory', + 'color', + 'gender', + 'material', + 'pattern', + 'size', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'id', + '', + 'title', + 'description', + 'link', + 'image', + 'images', + 'price', + '', + '', + '', + 'availability', + '', + '', + 'product_type', + '', + '', + '', + '', + '', + '', + ), + 'default' => array( + '', + self::$brand, + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'myshopping.com.au' => array( + 'mattributes' => array( + 'Code', + 'Id', + 'Name', + 'Description', + 'Category', + 'price', + 'Product_URL', + 'Image_URL', + 'Brand', + 'InStock', + 'MPN', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'attribute', + ), + 'attributes' => array( + '', + 'id', + 'title', + 'description', + 'product_type', + 'price', + 'link', + 'image', + '', + '', + 'sku', + ), + 'default' => array( '', '', '', '', '', '', '', '', self::$brand, 'Y', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '11', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'nextag' => array( + 'mattributes' => array( + 'Manufacturer', + 'Product Name', + 'Product Description', + 'Price', + 'Click-Out URL', + 'Category', + 'Image URL', + 'Stock Status', + 'Condition', + ), + 'prefix' => array( '', '', '', '$', '', '', '', '', '' ), + 'type' => array( + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + '', + 'title', + 'description', + 'price', + 'link', + 'product_type', + 'image', + 'availability', + 'condition', + ), + 'default' => array( self::$brand, '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'polyvore' => array( + 'mattributes' => array( + 'title', + 'brand', + 'url', + 'imgurl', + 'price', + 'currency', + 'description', + 'subject', + ), + 'prefix' => array( '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + ), + 'attributes' => array( + 'title', + '', + 'link', + 'image', + 'price', + '', + 'description', + '', + ), + 'default' => array( + '', + self::$brand, + '', + '', + '', + ' ' . self::$currency, + '', + '', + ), + 'suffix' => array( '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '11', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '' ), + ), + 'pricegrabber' => array( + 'mattributes' => array( + 'Retsku', + 'Product Title', + 'Detailed Description', + 'Categorization', + 'Product URL', + 'Primary Image URL', + 'Selling Price', + 'Regular Price', + 'Condition', + 'Availability', + 'Manufacturer Name', + 'GTIN', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'sku', + 'title', + 'description', + 'product_type', + 'link', + 'image', + 'sale_price', + 'price', + 'condition', + 'availability', + '', + '', + ), + 'default' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'pricerunner' => array( + 'mattributes' => array( + 'Category', + 'SKU', + 'Price', + 'Product URL', + 'Product name', + 'Manufacturer SKU', + 'Manufacturer', + 'EAN', + 'Description', + 'Graphic URL', + 'In Stock', + 'Stock Level', + 'Shipping Cost', + 'Delivery time' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern' + ), + 'attributes' => array( + 'product_type', + 'id', + 'price', + 'link', + 'title', + 'sku', + '', + 'sku', + 'description', + 'image', + 'availability', + 'quantity', + '', + '' + ), + 'default' => array( '', '', '', '', '', '', self::$brand, '', '', '', '', '', '10.00', '5-7 days' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '11', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'prisjakt' => array( + 'mattributes' => array( + 'Produktnamn', + 'Art.nr.', + 'Kategori', + 'Pris inkl.moms', + 'Produkt-URL', + 'Tillverkare', + 'Tillverkar-SKU', + 'Frakt', + 'Bild-URL', + 'Lagerstatus', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'title', + 'id', + 'product_type', + 'price', + 'link', + '', + 'sku', + '', + 'image', + 'condition', + ), + 'default' => array( '', '', '', '', '', '', '', '', 'mens, womens', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '' ), + ), + 'real' => array( + 'mattributes' => array( + 'ean', + 'category', + 'title', + 'description', + 'picture', + 'manufacturer', + ), + 'prefix' => array( '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'product_type', + 'title', + 'description', + 'image', + '', + ), + 'default' => array( '', '', '', '', '', self::$brand ), + 'suffix' => array( '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '11', '1', '1' ), + 'limit' => array( '', '', '', '', '', '' ), + ), + 'shareasale' => array( + 'mattributes' => array( + 'ProductID', + 'Name', + 'MerchantID', + 'Merchant', + 'Link', + 'Thumbnail', + 'BigImage', + 'Price', + 'RetailPrice', + 'Category', + 'Subcategory', + 'Description', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'id', + 'title', + '', + '', + 'link', + 'image', + 'feature_image', + 'sale_price', + 'price', + 'product_type', + '', + 'description', + ), + 'default' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '6', + '6', + '1', + '1', + '11', + ), + 'limit' => array( + '8', + '255', + '8', + '255', + '255', + '255', + '255', + '', + '', + '50', + '50', + '', + ), + ), + 'shopbot' => array( + 'mattributes' => array( + 'ID', + 'Product Name', + 'URL', + 'Category', + 'Photo URL', + 'Price', + 'Original Price', + 'Description', + 'MPN', + 'Brand', + 'Shipment Cost', + 'Stock', + 'Promotional Phrase', + 'Model', + 'Color', + 'Product Type', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'id', + 'title', + 'link', + 'product_type', + 'image', + 'sale_price', + 'price', + 'description', + 'sku', + '', + '', + 'quantity', + '', + '', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + 'mens, womens', + self::$brand, + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'shopmania' => array( + 'mattributes' => array( + 'Category', + 'Manufacturer', + 'Model', + 'MPC', + 'Name', + 'Description', + 'URL', + 'Image', + 'Price', + 'Currency', + 'Shipping', + 'Availability', + 'GTIN', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'product_type', + '', + '', + '', + 'title', + 'description', + 'link', + 'image', + 'price', + '', + '', + 'availability', + '', + ), + 'default' => array( '', self::$brand, '', '', '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'shopping' => array( + 'mattributes' => array( + 'Unique Merchant SKU', + 'Product Name', + 'Product URL', + 'Image URL', + 'Current Price', + 'Stock Availability', + 'Condition', + 'MPN', + 'UPC', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'sku', + 'title', + 'link', + 'image', + 'price', + 'availability', + 'condition', + '', + '', + ), + 'default' => array( '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'spartoo.fi' => array( + 'mattributes' => array( + 'SKU', + 'Parent / Child', + 'Parent SKU', + 'Product name', + 'Manufacturer name', + 'Gender', + 'Product_description', + 'Product price', + 'Discount price', + 'Quantity', + 'Category', + 'Products selection', + 'Photo 1', + 'Photo 2', + 'Photo 3', + 'Photo 4', + 'Photo 5', + 'Photo 6', + 'Photo 7', + 'Photo 8', + 'Color id', + 'Color name', + 'Size name', + 'ean', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'sku', + 'type', + 'parent_sku', + 'title', + '', + '', + 'description', + 'price', + 'sale_price', + 'quantity', + 'product_type', + '', + 'image_1', + 'image_2', + 'image_3', + 'image_4', + 'image_5', + 'image_6', + 'image_7', + 'image_8', + '', + '', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + self::$brand, + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'trovaprezzi' => array( + 'mattributes' => array( + 'Code', + 'Name', + 'Description', + 'Link', + 'Price', + 'Categories', + 'Image', + 'Stock', + 'Availability', + 'ShippingCost', + 'SKU', + 'Brand', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + ), + 'attributes' => array( + 'id', + 'title', + 'short_description', + 'link', + 'current_price', + 'product_type', + 'image', + 'wf_cattr__stock', + 'availability', + '', + 'sku', + '', + ), + 'default' => array( '', '', '', '', '', '', '', '', '', '0', '', self::$brand ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( + '1', + '1', + '2, 11', + '1', + '6', + '1', + '1', + '5', + '1', + '6', + '1', + '1', + ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'twenga' => array( + 'mattributes' => array( + 'merchant_ref', + 'merchant_id', + 'upc_ean', + 'manufacturer_id', + 'product_url', + 'image_url', + 'price', + 'regular_price', + 'shipping_cost', + 'designation', + 'description', + 'category', + 'brand', + 'in_stock', + 'availability', + 'stock_detail', + 'unit_price', + 'merchant_margin', + 'ecotax', + 'item_display', + 'condition', + 'merchant_ref', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + ), + 'attributes' => array( + 'sku', + 'id', + '', + 'sku', + 'link', + 'image', + 'sale_price', + 'price', + '', + '', + 'description', + 'product_type', + '', + 'availability', + 'quantity', + '', + '', + '', + '', + '', + '', + 'sku', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + self::$brand, + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'vertaa.fi' => array( + 'mattributes' => array( + 'Product category', + 'Product name', + 'Product brand', + 'Product price', + 'Product URL', + 'Delivery time', + 'Shipping method', + 'Delivery price', + 'Service country code', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'product_type', + 'title', + '', + 'price', + 'link', + '', + '', + '', + '', + ), + 'default' => array( '', '', self::$brand, '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'walmart' => array( + 'mattributes' => array( + 'Product Name', + 'SKU', + 'Product Tax Code', + 'Product ID Type', + 'Product ID', + 'Product Identifiers', + 'Description', + 'Brand', + 'Price', + 'Shipping Weight', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'title', + 'sku', + '', + '', + 'id', + '', + 'description', + '', + 'price', + '', + ), + 'default' => array( '', '', '', '', '', '', '', self::$brand, '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '11', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '' ), + ), + 'wish' => array( + 'mattributes' => array( + 'Main Image URL', + 'Price', + 'Product Name', + 'Quantity', + 'Shipping', + 'Tags', + 'Parent Unique Id', + 'Unique ID/SKU', + 'Description', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'image', + 'price', + 'title', + 'quantity', + '', + 'tags', + 'item_group_id', + 'id', + 'description', + ), + 'default' => array( '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '11' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'yahoo_nfa' => array( + 'mattributes' => array( + 'id', + 'title', + 'description', + 'image_link', + 'link', + 'availability', + 'condition', + 'price', + 'gtin', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'image', + 'link', + 'availability', + 'condition', + 'price', + '', + ), + 'default' => array( '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'zap.co.il' => array( + 'mattributes' => array( + 'PRODUCT_URL', + 'PRODUCT_NAME', + 'DETAILS', + 'PRODUCTCODE', + 'CURRENCY', + 'PRICE', + 'SHIPMENT_COST', + 'DELIVERY_TIME', + 'IMAGE', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'link', + 'title', + 'description', + 'id', + '', + 'price', + '', + '', + 'image', + ), + 'default' => array( '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'adwords' => array( + 'mattributes' => array( + 'ID', + 'ID2', + 'Item title', + 'Final URL', + 'Image URL', + 'Item subtitle', + 'Item description', + 'Item category', + 'Price', + 'Sale price', + 'Contextual keywords', + 'Item address' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern' + ), + 'attributes' => array( + 'id', + 'id', + 'title', + 'link', + 'image', + 'short_description', + 'description', + 'product_type', + 'price', + 'sale_price', + '', + '' + ), + 'default' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + ' ' . self::$currency, + ' ' . self::$currency, + '', + '' + ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '11', '1', '6', '6', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'adwords_local_product' => array( + 'mattributes' => array( + 'Rank', + 'Product Item Id', + 'Title', + 'Description', + 'Item URL', + 'Image URL', + 'Price', + 'Store code' + ), + 'prefix' => array( '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern' + ), + 'attributes' => array( 'id', 'id', 'title', 'description', 'link', 'image', 'current_price', '' ), + 'default' => array( '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', ' ' . self::$currency, '' ), + 'output_type' => array( '1', '1', '1', '11', '1', '1', '6', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '' ), + ), + 'bing' => array( + 'mattributes' => array( + 'id', + 'title', + 'link', + 'price', + 'sale_price', + 'description', + 'image_link', + 'mpn', + 'brand', + 'product_type', + 'availability', + 'item_group_id', + 'shipping' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'id', + 'title', + 'link', + 'price', + 'current_price', + 'description', + 'image', + 'sku', + '', + 'product_type', + 'availability', + 'item_group_id', + 'shipping' + ), + 'default' => array( '', '', '', '', '', '', '', '', self::$brand, '', '', '', '' ), + 'suffix' => array( + '', + '', + '', + ' ' . self::$currency, + ' ' . self::$currency, + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( '1', '1', '1', '6', '6', '11', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'bing_local_inventory' => array( + 'mattributes' => array( + 'store_code', + 'itemid', + 'quantity', + 'weeks_of_supply', + 'pick_up_method', + 'pick_up_sla' + ), + 'prefix' => array( '', '', '', '', '', '' ), + 'type' => array( 'pattern', 'attribute', 'attribute', 'pattern', 'pattern', 'pattern' ), + 'attributes' => array( '', 'id', 'quantity', '', '', '' ), + 'default' => array( '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '' ), + ), + 'google_local_inventory' => array( + 'mattributes' => array( + 'store_code', + 'id', + 'quantity', + 'price', + 'sale_price', + 'sale_price_effective_date', + 'availability', + 'pickup_method', + 'pickup_sla' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern' + ), + 'attributes' => array( + '', + 'id', + 'quantity', + 'price', + 'sale_price', + 'sale_price_effective_date', + 'availability', + '', + '' + ), + 'default' => array( '', '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', ' ' . self::$currency, ' ' . self::$currency, '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '6', '6', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'google_local' => array( + 'mattributes' => array( + 'store_code', + 'id', + 'title', + 'description', + 'image', + 'upc', + 'brand', + 'condition', + 'price', + 'sale_price', + 'sale_price_effective_date', + 'energy_efficiency_class', + 'min_energy_efficiency_class', + 'max_energy_efficiency_class' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern' + ), + 'attributes' => array( + '', + 'id', + 'title', + 'description', + 'image', + 'sku', + '', + '', + 'price', + 'sale_price', + 'sale_price_effective_date', + '', + '', + '' + ), + 'default' => array( '', '', '', '', '', '', self::$brand, 'new', '', '', '', '', '', '' ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + ' ' . self::$currency, + ' ' . self::$currency, + '', + '', + '', + '' + ), + 'output_type' => array( '1', '1', '1', '11', '1', '1', '1', '1', '6', '6', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'google_promotions' => array( + 'mattributes' => array( + 'promotion_id', + 'product_applicability', + 'offer_type', + 'long_title', + 'promotion_effective_dates', + 'redemption_channel', + 'promotion_destination', + 'money_off_amount' + ), + 'prefix' => array( '', '', '', '', '', '', '', '' ), + 'type' => array( + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern' + ), + 'attributes' => array( '', '', '', '', '', '', '', '' ), + 'default' => array( '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '' ), + ), + 'google_dynamic_ads' => array( + 'mattributes' => array( 'Page URL', 'Custom Label' ), + 'prefix' => array( '', '' ), + 'type' => array( 'attribute', 'pattern' ), + 'attributes' => array( 'link', '' ), + 'default' => array( '', '' ), + 'suffix' => array( '', '' ), + 'output_type' => array( '1', '1' ), + 'limit' => array( '', '' ), + ), + 'snapchat' => array( + 'mattributes' => array( + 'id', + 'title', + 'description', + 'item_group_id', + 'link', + 'product_type', + 'google_product_category', + 'image', + 'condition', + 'availability', + 'price', + 'sale_price', + 'sku', + 'brand', + 'canonical_link' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute' + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'item_group_id', + 'link', + 'product_type', + '', + 'image', + 'condition', + 'availability', + 'price', + 'current_price', + 'sku', + '', + 'canonical_link' + ), + 'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', self::$brand, '' ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ' ' . self::$currency, + ' ' . self::$currency, + '', + '', + '' + ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1', '1', '1', '6', '6', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'idealo' => array( + 'mattributes' => array( + 'sku', + 'title', + 'description', + 'price', + 'imageUrls', + 'deliveryTime', + 'categoryPath', + 'url', + 'brand', + 'checkout', + 'eans', + 'fulfillmentType', + 'checkoutLimitPerPeriod', + 'size', + 'colour' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'sku', + 'title', + 'description', + 'current_price', + 'images', + '', + 'product_type', + 'link', + '', + '', + '', + '', + '', + 'wf_attr_pa_size', + 'wf_attr_pa_color' + ), + 'default' => array( '', '', '', '', '', '1-3 working days', '', '', self::$brand, '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', ' USD', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '6', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'pricespy' => array( + 'mattributes' => array( + 'Product-name', + 'Your-item-number', + 'category', + 'price-including-gst', + 'Product-URL', + 'manufacturer', + 'manufacturer-SKU', + 'shipping', + 'image-URL', + 'stock status', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'title', + 'id', + 'product_type', + 'price', + 'link', + '', + 'sku', + '', + 'image', + 'condition', + ), + 'default' => array( '', '', '', '', '', self::$brand, '', '', 'mens, womens', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '' ), + ), + 'yandex_csv' => array( + 'mattributes' => array( + 'id', + 'available', + 'price', + 'currencyId', + 'category', + 'picture', + 'name', + 'description', + ), + 'prefix' => array( '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'id', + 'availability', + 'price', + '', + 'product_type', + 'image', + 'title', + 'description', + ), + 'default' => array( '', '', '', 'RUR', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '11' ), + 'limit' => array( '', '', '', '', '', '', '', '' ), + ), + 'fyndiq.se' => array( + 'mattributes' => array( + 'product-id', + 'product-title', + 'product-description', + 'product-market', + 'product-currency', + 'product-price', + 'product-oldprice', + 'product-var-percent', + 'product-image-1-url', + 'product-image-1-identifier', + 'article-sku', + 'article-quantity', + 'article-name', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'id', + 'title', + 'description', + '', + '', + 'price', + '', + '', + 'image', + '', + 'sku', + 'quantity', + '', + ), + 'default' => array( + '', + '', + '', + '', + ' ' . self::$currency, + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'miinto.de' => array( + 'mattributes' => array( + 'title', + 'description', + 'gtin', + 'item_group_id', + 'image_link', + 'product_type', + 'availability', + 'color', + 'season_tag', + 'brand', + 'material', + 'washing', + 'style_id', + 'retail_price_PLN', + 'retail_price_DKK', + 'retail_price_EUR' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'title', + 'description', + 'id', + 'item_group_id', + 'image', + 'product_type', + 'availability', + 'wf_attr_pa_color', + '', + '', + '', + '', + '', + 'price', + 'price', + 'price' + ), + 'default' => array( '', '', '', '', '', '', '', '', '', self::$brand, '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', ' USD', ' USD', ' USD' ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '6', + '6', + '6' + ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'miinto.nl' => array( + 'mattributes' => array( + 'gtin', + 'item_group_id', + 'brand', + 'title', + 'product_type', + 'gender', + 'color', + 'size', + 'image_link', + 'stock_level', + 'season_tag', + 'description', + 'material', + 'washing', + 'retail_price_currencyCode', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + ), + 'attributes' => array( + '', + 'item_group_id', + '', + 'title', + 'product_type', + '', + '', + '', + 'image', + 'quantity', + '', + 'description', + '', + '', + '', + ), + 'default' => array( + '', + '', + self::$brand, + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'skroutz' => array( + 'mattributes' => array( + 'id', + 'name', + 'description', + 'link', + 'image', + 'category', + 'price_with_vat', + 'mpn', + 'manufacturer', + 'availability', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'id', + 'title', + 'short_description', + 'link', + 'image', + 'product_type', + 'current_price_with_tax', + 'sku', + '', + '', + ), + 'default' => array( '', '', '', '', '', '', '', '', self::$brand, 'Delivery 1 to 3 days' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '8, 11', '1', '1', '1', '6', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '' ), + ), + 'bestprice' => array( + 'mattributes' => array( + 'productId', + 'name', + 'description', + 'link', + 'image', + 'categoryPath', + 'categoryID', + 'price', + 'mpn', + 'manufacturer', + 'availability', + 'instock', + 'item_group_id' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'link', + 'image', + 'product_type', + '', + 'price', + 'sku', + '', + '', + 'availability', + 'item_group_id' + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + self::$brand, + 'Delivery up to 30 days', + '', + 'Item' + ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '8, 11', '1', '1', '1', '1', '6', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'googlereview' => array( + 'mattributes' => array( + 'product_name', + 'product_url', + 'review_temp_gtin', + 'review_temp_mpn', + 'review_temp_sku', + 'review_temp_brand' + ), + 'prefix' => array( '', '', '', '', '', '' ), + 'type' => array( 'attribute', 'attribute', 'pattern', 'pattern', 'attribute', 'pattern' ), + 'attributes' => array( 'title', 'link', '', '', 'sku', '' ), + 'default' => array( '', '', '', '', '', self::$brand ), + 'suffix' => array( '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '' ), + ), + 'google_shopping_action' => array( + 'mattributes' => array( + 'id', + 'title', + 'description', + 'item_group_id', + 'link', + 'product_type', + 'current_category', + 'image', + 'condition', + 'availability', + 'price', + 'sku', + 'brand', + 'sell_on_google_quantity', + 'min_handling_time', + 'max_handling_time', + 'return_address_label', + 'return_policy_label', + 'google_funded_promotion_eligibility', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'item_group_id', + 'link', + 'product_type', + '', + 'image', + 'condition', + 'availability', + 'price', + 'sku', + '', + 'quantity', + '', + '', + '', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + self::$brand, + '', + '', + '', + '', + '', + 'all', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ' ' . self::$currency, + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '6', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_automotive' => array( + 'mattributes' => array( + 'sku', + 'title', + 'description', + 'link', + 'price', + 'brand', + 'category', + 'category_path', + 'color_primary', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'image_link_1', + 'condition', + 'price_shipping', + 'image_link_2', + 'brake_system', + 'brand_logo', + 'delivery_description', + 'fuel_type', + 'gear_system', + 'gender_target', + 'has_airco', + 'keywords', + 'model', + 'priority', + 'rental_location_city', + 'rental_location_country', + 'rental_location_region', + 'size', + 'size_description', + 'tire_size', + 'year_built', + 'terms_conditions' + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern' + ), + 'attributes' => array( + 'sku', + 'title', + 'description', + 'link', + 'price', + '', + 'primary_category', + 'product_type', + 'wf_attr_pa_color', + '', + '', + '', + 'availability', + 'quantity', + 'price', + 'image', + 'condition', + '', + 'image_2', + '', + '', + '', + '', + '', + '', + '', + 'tags', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'default' => array( + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1' + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + ), + 'daisycon_books' => array( + 'mattributes' => array( + 'description', + 'link', + 'price', + 'sku', + 'title', + 'author', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'isbn', + 'price_old', + 'image_link_1', + 'book_publisher', + 'book_type', + 'price_shipping', + 'image_link_2', + 'condition', + 'gender_target', + 'number_of_pages', + 'release_date', + 'book_edition', + 'delivery_description', + 'file_size', + 'file_type', + 'keywords', + 'language', + 'priority', + 'size', + 'size_description', + 'size_length', + 'size_width', + 'weight', + 'terms_conditions' + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'description', + 'link', + 'current_price', + 'sku', + 'title', + '', + 'primary_category', + 'product_type', + '', + '', + '', + 'availability', + 'quantity', + '', + 'price', + 'image', + '', + '', + '', + 'image_1', + 'condition', + '', + '', + '', + '', + '', + '', + '', + 'tags', + '', + '', + '', + '', + 'length', + 'width', + 'weight', + '' + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1' + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + ), + 'daisycon_cosmetics' => array( + 'mattributes' => array( + 'description', + 'link', + 'price', + 'sku', + 'title', + 'allergic_info', + 'amount_content', + 'amount_description', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'image_link_1', + 'description_ingredients', + 'gender_target', + 'price_shipping', + 'skin_type', + 'image_link_2', + 'color_primary', + 'brand_logo', + 'condition', + 'delivery_description', + 'keywords', + 'made_in_country', + 'priority', + 'size', + 'size_description', + 'terms_conditions' + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern' + ), + 'attributes' => array( + 'description', + 'link', + 'current_price', + 'sku', + 'title', + '', + 'weight', + '', + 'primary_category', + 'product_type', + '', + '', + '', + 'availability', + 'quantity', + 'price', + 'image', + '', + '', + '', + '', + 'image_2', + 'wf_attr_pa_color', + '', + 'condition', + '', + 'tags', + '', + '', + '', + '', + '' + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1' + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + ), + 'daisycon_daily_offers' => array( + 'mattributes' => array( + 'description', + 'link', + 'price', + 'sku', + 'title', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'image_link_1', + 'google_category_id', + 'price_shipping', + 'image_link_2', + 'brand_logo', + 'color_primary', + 'condition', + 'delivery_description', + 'discount_amount', + 'discount_percentage', + 'gender_target', + 'keywords', + 'model', + 'offer_datetime_end', + 'offer_datetime_start', + 'size', + 'size_description', + 'terms_conditions' + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern' + ), + 'attributes' => array( + 'description', + 'link', + 'current_price', + 'sku', + 'title', + '', + 'primary_category', + 'product_type', + '', + '', + 'availability', + 'quantity', + 'price', + 'image', + '', + '', + 'image_2', + '', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'tags', + '', + '', + '', + '', + '', + '' + ), + 'default' => array( + '', + '', + '', + '', + '', + self::$brand, + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1' + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + ), + 'daisycon_electronics' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_fashion' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_food_drinks' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_holidays' + . '_accommodations_and' + . '_transport' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_holidays' + . '_accommodations' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_holidays' + . '_trips' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_home_garden' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_housing' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_magazines' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_studies' + . '_trainings' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_telecom' + . '_accessories' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_telecom' + . '_all_in_one' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_telecom' + . '_gsm_subscription' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_telecom_gsm' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_telecom_sim' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'daisycon_work_jobs' => array( + 'mattributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image_link_1', + 'brand', + 'category', + 'category_path', + 'delivery_time', + 'ean', + 'google_category_id', + 'in_stock', + 'in_stock_amount', + 'price_old', + 'color_primary', + 'condition', + 'gender_target', + 'price_shipping', + 'brand_logo', + 'delivery_description', + 'image_link_2', + 'keywords', + 'size', + 'size_description', + 'terms_conditions', + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + ), + 'attributes' => array( + 'sku', + 'description', + 'link', + 'price', + 'title', + 'image', + '', + 'primary_category', + 'product_type', + '', + 'sku', + '', + 'availability', + 'wf_cattr__stock', + 'price', + 'wf_attr_pa_color', + 'condition', + '', + '', + '', + '', + 'image_2', + 'tags', + 'wf_attr_pa_size', + '', + '', + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + 'Pxwp', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + 'output_type' => array( + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ), + ), + 'shopee' => array( + 'mattributes' => array( + 'Category', + 'Product Name', + 'Product Description', + 'Price', + 'Stock', + 'SKU', + 'Cover image', + 'Weight' + ), + 'prefix' => array( '', '', '', '', '', '', '', '' ), + 'type' => array( + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + '', + 'title', + 'description', + 'current_price', + 'quantity', + 'sku', + 'image', + 'weight' + ), + 'default' => array( '', '', '', '', '', '', '', 'Localhost' ), + 'suffix' => array( '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '' ), + ), + 'zalando' => array( + 'mattributes' => array( + 'store', + 'ean', + 'price', + 'retail_price', + 'quantity', + 'article_number', + 'product_number', + 'product_name', + 'store_article_location' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern' + ), + 'attributes' => array( '', '', 'price', 'sale_price', 'quantity', 'sku', 'id', 'title', '' ), + 'default' => array( '', '', '', '', '', '', '', 'Localhost', 'type address here' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '6', '6', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'etsy' => array( + 'mattributes' => array( + 'SKU', + 'TITLE', + 'DESCRIPTION', + 'PRICE', + 'CURRENCY_CODE', + 'QUANTITY', + 'TAGS', + 'MATERIALS', + 'IMAGE1', + 'IMAGE2', + 'IMAGE3', + 'IMAGE4' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'sku', + 'title', + 'description', + 'price', + '', + 'quantity', + 'tags', + '', + 'image', + 'image_1', + 'image_2', + 'image_3' + ), + 'default' => array( '', '', '', '', 'USD', '', '', '', 'Localhost', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'tweaker_csv' => array( + 'mattributes' => array( + 'EAN code', + 'SKU Code', + 'Naam', + 'Deeplink', + 'Prijs', + 'Verzendkosten', + 'Levertijd', + 'Promotiezin' + ), + 'prefix' => array( '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern' + ), + 'attributes' => array( '', 'sku', 'title', 'link', 'price', '', '', '' ), + 'default' => array( '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '6', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '' ), + ), + 'tweaker_xml' => array( + 'mattributes' => array( + 'Product_in_stock', + 'Product_Brand', + 'SKU_Code', + 'Product_Name', + 'Product_Price', + 'Delivery_Period', + 'Product_Ean', + 'Deeplink', + 'Delivery_Costs', + 'Promotiezin' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'pattern' + ), + 'attributes' => array( 'quantity', '', 'sku', 'title', 'price', '', '', 'link', '', '' ), + 'default' => array( '', '', '', '', '', '3 dagen', '', 'Localhost', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '6', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', 'test' ), + ), + 'profit_share' => array( + 'mattributes' => array( + 'Cod categorie', + 'Categorie', + 'Categorie parinte', + 'Producator', + 'Cod producator', + 'Model', + 'Cod produs', + 'Nume ', + 'Descriere', + 'Link produs', + 'Imagine produs', + 'Pret fara TVA', + 'Pret cu TVA', + 'Pret cu discount fara TVA', + 'Moneda', + 'Disponibilitate', + 'Livrare gratuita', + 'Cadou inclus', + 'Status', + 'ID categorie parinte' + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'attribute' + ), + 'attributes' => array( + 'child_category', + 'child_category_id', + 'primary_category', + '', + '', + 'sku', + 'id', + 'title', + 'description', + 'link', + 'image', + 'current_price', + 'current_price_with_tax', + 'sale_price', + 'store_currency', + 'availability', + '', + '', + '', + 'primary_category_id' + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + 'Develop-pro', + '', + '', + '', + '', + '', + '', + '', + '', + '1', + '0', + '1', + '' + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '6', + '6', + '6', + '1', + '1', + '1', + '1', + '1', + '1' + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + ), + 'trendyol' => array( + 'mattributes' => array( + 'Barkod', + 'Model Kodu', + 'Marka', + 'Kategori', + 'Para Birimi', + 'Ürün Adı', + 'Ürün Açıklaması', + 'Piyasa Satış Fiyatı (KDV Dahil)', + 'Trendyol\'da Satılacak Fiyat (KDV Dahil)', + 'Ürün Stok Adedi', + 'Stok Kodu', + 'KDV Oranı', + 'Desi', + 'Görsel Linki', + 'Sevkiyat Süresi', + 'Beden', + 'Kol Tipi', + 'Desen', + 'Boy / Ölçü', + 'Materyal', + 'Yaş Grubu', + 'Cinsiyet', + 'Yaka', + 'Renk' + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'type' => array( + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'id', + 'sku', + '', + 'product_type', + 'store_currency', + 'title', + 'description', + 'current_price_with_tax', + 'current_price_with_tax', + 'quantity', + '', + '', + '', + 'link', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + 'Localhost', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1' + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + 'test', + 'test', + 'test', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + ), + 'gittigidiyor' => array( + 'mattributes' => array( + 'Kategori No', + 'Dükkan No', + 'Stok No', + 'Başlık', + 'Alt Başlık', + 'Açıklama', + '1. Fotoğraf', + '2. Fotoğraf', + '3. Fotoğraf', + '4. Fotoğraf', + '5. Fotoğraf', + '6. Fotoğraf', + '7. Fotoğraf', + '8. Fotoğraf', + 'Sayfa Düzeni No', + 'Katalog No', + 'Katalog Detay', + 'Ürün Formatı', + 'Hemen Al Fiyatı', + 'Süre (Gün)', + 'Ürün Adeti', + 'Şehir No', + 'Kargo Ölçüleri', + 'Kargo Desi', + 'Kargo Şirketleri', + 'Kargo Ücreti', + 'Gönderi Yapılacak Alanlar', + 'Gönderi Yapacağınız Zaman', + 'İş Ortaklığı', + 'Kalın Yazı', + 'Katalog', + 'Vitrin', + 'Ürün Seçeneği', + 'Ürün Özelliği', + 'Üretici Parça Numarası (MPN)', + 'Global Ticari Öğe Numarası (GTIN)', + 'Yeni Katalog No' + ), + 'prefix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'type' => array( + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern' + ), + 'attributes' => array( + 'primary_category_id', + '', + '', + 'title', + 'short_description', + 'description', + 'image_1', + 'image_2', + 'image_3', + 'image_4', + 'image_5', + 'image_6', + 'image_7', + 'image_8', + 'id', + 'id', + 'id', + 'id', + 'current_price', + '', + 'quantity', + '', + 'id', + 'id', + 'id', + 'id', + 'id', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'default' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '3', + '', + '', + '', + '', + '', + '', + '', + '2-3days', + 'false', + 'false', + 'false', + 'false', + '', + '', + '', + '', + '' + ), + 'suffix' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + 'output_type' => array( + '1', + '1', + '1', + '1', + '1', + '11', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1', + '1' + ), + 'limit' => array( + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ), + ), + 'heureka.sk' => array( + 'mattributes' => array( + 'ITEM_ID', + 'PRODUCTNAME', + 'PRODUCT', + 'DESCRIPTION', + 'URL', + 'IMGURL', + 'PRICE_VAT', + 'CATEGORYTEXT', + 'EAN' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'id', + 'title', + 'title', + 'description', + 'link', + 'image', + 'current_price_with_tax', + 'product_type', + 'woo_feed_ean' + ), + 'default' => array( '', '', '', '', '', '', '', '', 'Develop-pro' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '11', '1', '1', '6', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'moebel.de' => array( + 'mattributes' => array( + 'art_nr', + 'art_name', + 'art_beschreibung', + 'art_url', + 'art_img_url', + 'art_price', + 'art_kategorie', + 'art_verfuegbarkeit' + ), + 'prefix' => array( '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'link', + 'image', + 'price', + 'product_type', + 'availability' + ), + 'default' => array( '', '', '', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '' ), + ), + 'zbozi.cz' => array( + 'mattributes' => array( + 'ITEM_ID', + 'PRODUCTNAME', + 'DESCRIPTION', + 'URL', + 'IMGURL', + 'CATEGORYTEXT', + 'VISIBILITY', + 'PRICE_VAT', + 'DELIVERY_DATE' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern' + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'link', + 'image', + 'product_type', + 'visibility', + 'current_price_with_tax', + '' + ), + 'default' => array( '', '', '', '', '', '', 'Develop-free', '', '0' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '6', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'catch.com.au' => array( + 'mattributes' => array( 'product-id', 'title', 'product-description', 'image-1', 'price', 'state' ), + 'prefix' => array( '', '', '', '', '', '' ), + 'type' => array( 'attribute', 'attribute', 'attribute', 'attribute', 'attribute', 'pattern' ), + 'attributes' => array( 'id', 'title', 'description', 'image', 'price', '' ), + 'default' => array( '', '', '', '', '', 'new' ), + 'suffix' => array( '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '6', '1' ), + 'limit' => array( '', '', '', '', '', '' ), + ), + 'fashionchick' => array( + 'mattributes' => array( + 'Product ID', + 'Titel', + 'Omschrijving', + 'Url', + 'Image', + 'Prijs', + 'Category', + 'Geslacht', + 'Merk' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern' + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'link', + 'image', + 'price', + 'product_type', + '', + '' + ), + 'default' => array( '', '', '', '', '', '', '', 'male', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '2, 11', '1', '1', '6', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '' ), + ), + 'wine_searcher' => array( + 'mattributes' => array( + 'name', + 'description', + 'vintage', + 'unit-size', + 'price', + 'url', + 'min-order', + 'tax', + 'offer-type', + 'delivery-time', + 'stock-level' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'pattern', + 'attribute' + ), + 'attributes' => array( 'title', 'description', '', '', 'price', 'link', '', '', '', '', 'quantity' ), + 'default' => array( '', '', '', '', '', 'Develop-free', '', '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '11', '1', '1', '6', '1', '1', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'modalova' => array( + 'mattributes' => array( + 'id', + 'title', + 'description', + 'link', + 'sku', + 'main_image', + 'images', + 'price', + 'sale_price', + 'availability', + 'category', + 'condition', + 'child_category' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute' + ), + 'attributes' => array( + 'id', + 'title', + 'description', + 'link', + 'sku', + 'image', + 'images', + 'price', + 'current_price', + 'availability', + 'primary_category', + 'condition', + 'child_category' + ), + 'default' => array( '', '', '', '', '', '', '', '', self::$brand, '', '', '', '' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '11', '1', '1', '1', '1', '6', '6', '1', '1', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'ecommerceit' => array( + 'mattributes' => array( + 'sku', + 'qty', + 'name', + 'brand', + 'category', + 'picture_url', + 'price', + 'product_url', + 'mpn', + 'shipping_cost', + 'max_delivery_days', + 'delivery_label' + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'pattern', + 'pattern' + ), + 'attributes' => array( + 'sku', + 'quantity', + 'title', + '', + 'primary_category', + 'image', + 'price', + 'link', + '', + 'shipping_cost', + '', + '' + ), + 'default' => array( '', '', '', self::$brand, '', '', '', '', '', '', '3', '1-5 days' ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '6', '1', '1', '6', '1', '1' ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ), + ), + 'tiktok' => array( + 'mattributes' => array( + 'sku_id', + 'title', + 'description', + 'availability', + 'link', + 'image_link', + 'price', + 'brand', + 'condition', + 'google_product_category', + 'item_group_id', + 'product_type', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'pattern', + 'pattern', + 'attribute', + 'attribute', + ), + 'attributes' => array( + 'sku_id', + 'title', + 'description', + 'availability', + 'link', + 'image', + 'price', + '', + '', + '', + 'item_group_id', + 'product_type', + ), + 'default' => array( '', '', '', '', '', '', '', self::$brand, 'new', '', '', '', ), + 'suffix' => array( '', '', '', '', '', '', self::$currency, '', '', '', '', '', ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '6', '1', '1', '1', '1', '1', ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', ), + ), + 'shopflix' => array( + 'mattributes' => array( + 'sku', + 'name', + 'description', + 'ean', + 'manufacturer', + 'weight', + 'color', + 'price', + 'quantity', + 'shipping_lead_time', + ), + 'prefix' => array( '', '', '', '', '', '', '', '', '', '', ), + 'type' => array( + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + 'attribute', + 'attribute', + 'attribute', + 'attribute', + 'pattern', + ), + 'attributes' => array( 'sku', 'title', 'description', '', '', '', '', 'price', 'quantity', '', ), + 'default' => array( '', '', '', '', self::$brand, '', '', '', '', '1', ), + 'suffix' => array( '', '', '', '', '', '', '', '', '', '', ), + 'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '6', '1', '1', ), + 'limit' => array( '', '', '', '', '', '', '', '', '', '', ), + ), + ); + + $config = array_merge( + $config, + array( + 'custom2' => array( + 'feed_config_custom2' => file_get_contents( WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/custom2/custom2.txt' ), + ), + 'admarkt' => array( + 'feed_config_custom2' => file_get_contents( WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/custom2/admarkt.txt' ), + ), + 'glami' => array( + 'feed_config_custom2' => file_get_contents( WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/custom2/glami.txt' ), + ), + 'yandex_xml' => array( + 'feed_config_custom2' => file_get_contents( WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/custom2/yandex_xml.txt' ), + ), + ) + ); + + + if ( array_key_exists( $merchant, $config ) ) { + return $config[ $merchant ]; + } + + + $merchant_name = 'default'; + switch ( $merchant ) { + case 'pinterest': + $merchant_name = 'google'; + break; + case 'adroll': + $merchant_name = 'google'; + break; + case 'smartly.io': + $merchant_name = 'google'; + break; + case 'connexity': + $merchant_name = 'become'; + break; + case 'shopzilla': + $merchant_name = 'become'; + break; + case 'fruugo.au': + $merchant_name = 'fruugo'; + break; + case 'shopalike.fr': + $merchant_name = 'kijiji.ca'; + break; + default: + $merchant_name = 'default'; + break; + } + + + return isset( $config[ $merchant_name ] ) ? $config[ $merchant_name ] : $config['default']; + + } + + /** + * @param $merchants + * + * @return array + */ + public static function getMultiple( $merchants = [] ) { + if ( empty( $merchants ) ) { + return []; + } + + $merchants_data = []; + foreach ( $merchants as $merchant ) { + $merchants_data[ $merchant ] = self::get( $merchant ); + } + + return $merchants_data; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/TemplateInfo.php b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/TemplateInfo.php new file mode 100644 index 000000000..11dd84e04 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/TemplateInfo.php @@ -0,0 +1,554 @@ + array( + 'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'XLS', 'TXT' ), + ), + 'custom' => array( + 'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'XLS', 'TXT', 'JSON' ), + ), + 'custom2' => array( + 'feed_file_type' => array( 'XML'), + 'doc' => array( + esc_html__( 'Know about custom Template 2 (XML)?', 'woo-feed' ) => 'https://webappick.com/docs/ctx-feed/configuration/custom-template-2-php-pattern/', + esc_html__( 'All you need to know about CTX Feed Pro?', 'woo-feed' ) => 'https://webappick.com/docs/ctx-feed/configuration/ctx-feed-pro-include-variations/', + ), + ), + 'google' => array( + 'link' => 'https://support.google.com/merchants/answer/7052112?hl=en', + 'video' => 'https://www.youtube.com/playlist?list=PLapCcXJAoEem-eLJTSrCKEiN-Y1QifThH', + 'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'TXT' ), + 'doc' => array( + esc_html__( 'How to make google merchant feed?', 'woo-feed' ) => 'https://webappick.com/docs/ctx-feed/basic/make-woocommerce-product-feed/', + esc_html__( 'How to configure shipping info?', 'woo-feed' ) => 'https://webappick.com/docs/woo-feed/merchants/how-to-configure-google-merchant-shipping-attribute/', + esc_html__( 'How to set price with tax?', 'woo-feed' ) => 'https://webappick.com/docs/ctx-feed/configuration/configure-product-price/', + esc_html__( 'How to configure google product categories?', 'woo-feed' ) => 'https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/', + ), + ), // Google. + 'google_local' => array( + 'link' => 'https://support.google.com/merchants/answer/3061198?hl=en', + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + ), + 'google_local_inventory' => array( + 'link' => 'https://support.google.com/merchants/answer/3061342?hl=en', + 'video' => 'https://youtube.com/playlist?list=PLapCcXJAoEem-eLJTSrCKEiN-Y1QifThH', + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + 'doc' => array( esc_attr__('How to Generate Google Local Inventory Feed', 'woo-feed' ) => 'https://webappick.com/generate-google-local-inventory-feed/#what-are-google%E2%80%99s-free-local-inventory-product-listings?') + ), + 'googlereview' => array( + 'link' => 'https://developers.google.com/product-review-feeds/sample', + 'feed_file_type' => array( 'XML' ), + ), + 'google_dynamic_ads' => array( + 'link' => '', + 'feed_file_type' => array( 'CSV' ), + ), + 'adwords' => array( + 'link' => 'https://support.google.com/google-ads/answer/6053288?hl=en', + 'feed_file_type' => array( 'CSV' ), + ), + 'adwords_local_product' => array( + 'link' => 'https://support.google.com/google-ads/answer/9580085?hl=en', + 'feed_file_type' => array( 'CSV' ), + ), + 'facebook' => array( + 'link' => 'https://www.facebook.com/business/help/120325381656392?id=725943027795860', + 'video' => 'https://www.youtube.com/watch?v=TH1lcA1uiM8', + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + 'doc' => array( + esc_html__( 'How to Generate Facebook XML Product Feed?', 'woo-feed' ) => 'https://webappick.com/generate-facebook-xml-product-feed-woocommerce/#how-to-create-a-facebook-xml-product-feed-for-woocommerce?', + esc_html__( 'How to Setup Facebook Catalog for WooCommerce?', 'woo-feed' ) => 'https://webappick.com/facebook-catalog-for-woocommerce/#how-to-add-woocommerce-products-to-the-facebook-catalog', + esc_html__( 'Include Variations: All you need to know about CTX Feed Pro', 'woo-feed' ) => 'https://webappick.com/docs/ctx-feed/configuration/ctx-feed-pro-include-variations/', + ), + ), // Facebook. + 'pinterest' => array( + 'link' => 'https://help.pinterest.com/en/business/article/before-you-get-started-with-catalogs', + 'video' => 'https://www.youtube.com/watch?v=kv1PMdCYy_g&ab_channel=WebAppick', + 'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'TXT' ), + 'doc' => array( + esc_html__( 'How to configure google product categories?', 'woo-feed' ) => 'https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/', + ), + ), // Pinterest. + 'pinterest_rss' => array( + 'link' => 'https://help.pinterest.com/en/business/article/before-you-get-started-with-catalogs', + 'feed_file_type' => array( 'XML' ), + ), // Pinterest. + 'bing' => array( + 'link' => 'https://help.ads.microsoft.com/apex/index/3/en/51084', + 'feed_file_type' => array( 'CSV', 'TSV', 'XLS', 'TXT' ), + 'doc' => array( + esc_attr__('Guide to Bing Smart Shopping', 'woo-feed' ) => 'https://webappick.com/bing-smart-shopping/', + esc_attr__('How to set up a Bing Shopping Campaign?', 'woo-feed' ) => 'https://webappick.com/set-bing-shopping-campaign/', + ) + ), // Bing. + 'pricespy' => array( + 'link' => 'https://pricespy.co.nz/info/register-and-feature-your-shop--i10', + 'feed_file_type' => array( 'TXT' ), + ), // PriceSpy. + 'prisjakt' => array( + 'link' => 'https://www.prisjakt.nu/info/registrera-och-profilera-din-butik--i10', + 'feed_file_type' => array( 'TXT' ), + ), // Prisjakt. + 'idealo' => array( + 'link' => 'https://connect.idealo.de/import/en/csv/#_attributes_documentation', + 'video' => 'https://www.youtube.com/watch?v=3r0cTMyUXQo', + 'feed_file_type' => array( 'CSV', 'TXT' ), + 'doc' => array( + esc_html__( 'How to Generate Idealo Product Feed?', 'woo-feed' ) => 'https://webappick.com/generate-product-feed-for-idealo-with-the-right-plugin/', + ), + ), // Idealo. + 'yandex_csv' => array( + 'link' => 'https://yandex.com/support/partnermarket/export/recommendation.html#csv', + 'feed_file_type' => array( 'CSV', 'TXT' ), + ), // Yandex (CSV). + 'yandex_xml' => array( + 'link' => 'https://yandex.com/support/partnermarket/export/yml.html', + 'feed_file_type' => array( 'XML' ), + ), + 'adroll' => array( + 'link' => 'https://help.adroll.com/hc/en-us/articles/216673657-Set-Up-Your-Product-Feed', + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // adroll + 'adform' => array( + 'link' => 'https://www.adformhelp.com/s/topic/0TO3W0000008PC5WAM/good-to-know', + 'feed_file_type' => array( 'XML', 'CSV', 'JSON' ), + ), // adform + 'kelkoo' => array( + 'link' => 'https://developers.kelkoogroup.com/app/documentation/navigate/_merchant/merchantProductData/_/_/ProductDataSpecs', + 'feed_file_type' => array( 'XML', 'CSV' ), + 'doc' => array( + esc_html__( 'How to Generate a Kelkoo Product Feed?', 'woo-feed' ) => 'https://webappick.com/kelkoo-product-feed/', + ), + ), // Kelkoo. + 'shopmania' => array( + 'link' => 'https://partner.shopmania.com/cp.help/datafeed-specifications', + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Shop Mania. + 'connexity' => array( + 'link' => 'https://www.operationroi.com/wp-content/downloads/Connexity-Feed-Specs-09-2015.pdf', + 'feed_file_type' => array( 'TXT' ), + ), // Connexity. + 'twenga' => array( + 'link' => 'https://support.twenga-solutions.com/hc/en-gb/articles/115014901088-Create-a-feed-to-import-your-catalog', + 'feed_file_type' => array( 'XML', 'TXT' ), + ), // Twenga. + 'fruugo' => array( + 'link' => 'https://fruugo.atlassian.net/wiki/spaces/RR/pages/67608002/Fruugo+Feed', + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Fruugo. + 'fruugo.au' => array( + 'link' => 'https://fruugo.atlassian.net/wiki/spaces/RR/pages/67608211/Field+Specification', + 'feed_file_type' => array( 'XML', 'CSV' ), + 'doc' => array( + esc_html__( 'How Generate Fruugo Product Feed?', 'woo-feed' ) => 'https://webappick.com/fruugo-product-feed/', + ), + ), // Fruugo Australia. + 'goedgeplaatst' => array( + 'feed_file_type' => array( 'CSV' ), + ), // GoedGeplaatst.nl. + 'pricerunner' => array( + 'link' => 'https://www.pricerunner.com/info/getting-started', + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + ), // Price Runner. + 'bonanza' => array( + 'link' => 'https://support.bonanza.com/hc/en-us/articles/360000656491', + 'feed_file_type' => array( 'CSV' ), + ), // Bonanza + 'bol' => array( + 'link' => 'https://partnerblog.bol.com/app/files/2018/02/Kolomnamen_productfeeds-2.2.pdf', + 'feed_file_type' => array( 'XML', 'CSV', 'XLSX' ), + 'doc' => array( + esc_html__( 'How to Generate a Bol.com Product Feed?', 'woo-feed' ) => 'https://webappick.com/bol-com-product-feed/', + ), + ), // Bol. + 'wish' => array( + 'link' => 'https://merchanthelp.wish.com/s/article/mu1260805100070?language=en_US', + 'feed_file_type' => array( 'CSV' ), + 'doc' =>array( + esc_html__('How to Generate a Wish.com Product Feed?', 'woo-feed' ) => 'https://webappick.com/wish-product-feed/' + ) + ), // Wish.com. + 'myshopping.com.au' => array( + 'link' => 'https://merchant.myshopping.com.au/doc/Product_Feed_Specification.pdf', + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + ), // Myshopping.com.au. + 'skinflint.co.uk' => array( + 'feed_file_type' => array( 'CSV' ), + ), // SkinFlint.co.uk. + 'yahoo_nfa' => array( + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + ), // Yahoo NFA. + 'comparer.be' => array( + 'link' => 'https://sc.vergelijk.nl/data/fr_FR/ignore/folders/annexe_3-directives_fichier.pdf', + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Comparer.be. + 'rakuten.de' => array( + 'link' => 'https://rakutenadvertising.com/product-feed-specification/', + 'feed_file_type' => array( 'CSV', 'TXT' ), + 'doc' => array( + esc_html__( 'How To Generate an Optimized Rakuten Product Feed', 'woo-feed' ) => 'https://webappick.com/influence-your-online-customers-with-rakuten-marketing/', + ), + ), // rakuten. + 'avantlink' => array( + 'link' => 'https://support.avantlink.com/hc/en-us/articles/203883345-All-About-Datafeeds', + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + ), // Avantlink + 'shareasale' => array( + 'link' => 'https://blog.shareasale.com/2013/07/18/how-to-create-a-product-datafeed/', + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + ), // ShareASale. + 'trovaprezzi' => array( + 'link' => 'https://www.trovaprezzi.it/manuali/bonsaii_3s30.pdf', + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + 'doc' => array( + esc_html__( 'How To Generate Trovaprezzi Product Feed', 'woo-feed' ) => 'https://webappick.com/trovaprezzi-product-feed-generator/#what-is-price-comparison?', + ), + ), // trovaprezzi.it. + 'skroutz' => array( + 'link' => 'https://developer.skroutz.gr/feedspec/', + 'video' => 'https://www.youtube.com/watch?v=YC4E9zXF4SE&ab_channel=WebAppick', + 'doc' => array( + esc_html__( 'Validator', 'woo-feed' ) => 'https://webappick.com/how-to-generate-woocommerce-product-feed-for-skroutz//', + ), + 'feed_file_type' => array( 'XML' ), + ), + 'bestprice' => array( + 'link' => 'https://merchants.bestprice.gr/assets/bestprice-xml-specification.pdf', + 'feed_file_type' => array( 'XML' ), + ), + 'google_shopping_action' => array( + 'link' => 'https://support.google.com/merchants/answer/9111285', + 'video' => '', + 'doc' => array( + esc_html__( 'Set up return policies for Shopping Actions', 'woo-feed' ) => 'https://support.google.com/merchants/answer/7660817', + esc_html__( 'Set up a return address for Shopping Actions', 'woo-feed' ) => 'https://support.google.com/merchants/answer/9035057', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Google Shopping Action + 'daisycon' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001431109-Productfeed-standard-General', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: General + 'daisycon_automotive' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001440805-Productfeed-standard-Automotive', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Automotive + 'daisycon_books' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001436885-Productfeed-standard-Books', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Books + 'daisycon_cosmetics' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001435825-Productfeed-standard-Cosmetics', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Cosmetics + 'daisycon_daily_offers' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001422549-Productfeed-standard-Daily-offers', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Daily Offers + 'daisycon_electronics' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001401605-Productfeed-standard-Electronics', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Electronics + 'daisycon_food_drinks' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001392409-Productfeed-standard-Food-Drinks', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Food & Drinks + 'daisycon_home_garden' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001406165-Productfeed-standard-House-and-Garden', + ), + 'feed_file_type' => array( 'XML' ), + ), // Daisycon Advertiser: Home & Garden + 'daisycon_housing' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001397509-Productfeed-standard-Housing', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Housing + 'daisycon_fashion' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001410905-Productfeed-standard-Fashion', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Fashion + 'daisycon_studies_trainings' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001376185-Productfeed-standard-Studies-Courses', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Studies & Trainings + 'daisycon_telecom_accessories' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001359405-Productfeed-standard-Telecom-Accessoires', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Telecom: Accessories + 'daisycon_telecom_all_in_one' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000740505-Productfeed-standard-Telecom-All-in-one', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Telecom: All-in-one + 'daisycon_telecom_gsm_subscription' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000711709-Productfeed-standard-Telecom-GSM-Subscription', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Telecom: GSM + Subscription + 'daisycon_telecom_gsm' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001359365-Productfeed-standard-GSM-devices', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Telecom: GSM only + 'daisycon_telecom_sim' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001359545-Productfeed-standard-Telecom-Simonly', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Telecom: Sim only + 'daisycon_magazines' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001357309-Productfeed-standard-Magazines', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Magazines + 'daisycon_holidays_accommodations' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001346949-Productfeed-standard-Vacation-Accommodations', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Holidays: Accommodations + 'daisycon_holidays_accommodations_and_transport' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001347069-Productfeed-standard-Vacation-Accommodations-Transport', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Holidays: Accommodations and transport + 'daisycon_holidays_trips' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001360205-Productfeed-standard-Vacation-Trips', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Holidays: Trips + 'daisycon_work_jobs' => array( + 'link' => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000721785--As-an-advertiser-how-do-I-submit-a-product-feed-', + 'video' => '', + 'doc' => array( + esc_html__( 'Feed Field Data Types', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115000727049-Legend-productfeed-field-types', + esc_html__( 'Product Feed Standard', 'woo-feed' ) => 'https://faq-advertiser.daisycon.com/hc/en-us/articles/115001360329-Productfeed-standard-Work-Jobs', + ), + 'feed_file_type' => array( 'XML', 'CSV' ), + ), // Daisycon Advertiser: Work & Jobs + 'spartoo.fi' => array( + 'feed_file_type' => array( 'CSV' ), + ), + 'shopee' => array( + 'feed_file_type' => array( 'CSV' ), + ), + 'zalando' => array( + 'link' => 'https://docs.partner-solutions.zalan.do/de/fci/getting-started.html#format', + 'feed_file_type' => array( 'CSV' ), + ), + 'etsy' => array( + 'feed_file_type' => array( 'CSV' ), + ), + 'tweaker_xml' => array( + 'link' => 'https://webappick.com/wp-content/uploads/2020/08/Specificaties-productfeed-Tweakers-Pricewatch.pdf', + 'feed_file_type' => array( 'XML' ), + ), + 'tweaker_csv' => array( + 'link' => 'https://webappick.com/wp-content/uploads/2020/08/Specificaties-productfeed-Tweakers-Pricewatch.pdf', + 'feed_file_type' => array( 'CSV' ), + ), + 'profit_share' => array( + 'link' => 'https://support.profitshare.ro/hc/ro/articles/211436229-Importul-produselor-prin-CSV', + 'feed_file_type' => array( 'CSV' ), + ), + 'heureka.sk' => array( + 'link' => 'https://sluzby.heureka.sk/napoveda/xml-feed/', + 'feed_file_type' => array( 'XML' ), + 'doc' => array( + esc_html__('How to Generate Heureka Product Feed', 'woo-feed' ) => 'https://webappick.com/heureka-product-feed/' + ) + ), + 'moebel.de' => array( + 'link' => 'https://feedonomics.com/supported-channels/moebel-de-feed-specifications/', + 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), + ), + 'zbozi.cz' => array( + 'link' => 'https://napoveda.sklik.cz/wp-content/uploads/offer_feed_en.pdf', + 'feed_file_type' => array( 'XML' ), + ), + 'catchdotcom' => array( + 'feed_file_type' => array( 'XML' ), + ), + 'fashionchick' => array( + 'feed_file_type' => array( 'CSV', 'TXT' ), + ), + 'wine_searcher' => array( + 'feed_file_type' => array( 'XML', 'TXT' ), + ), + 'modalova' => array( + 'feed_file_type' => array( 'XML' ), + ), + 'ecommerceit' => array( + 'link' => 'https://media.ecommerce.eu/merchant/templates/catalog.csv', + 'feed_file_type' => array( 'CSV' ), + ), + 'tiktok' => array( + 'link' => 'https://ads.tiktok.com/help/article/catalog-product-parameters?redirected=2', + 'feed_file_type' => array( 'XML', 'CSV' ), + 'doc' => array( + esc_html__( 'How to make tiktok product feed?', 'woo-feed' ) => 'https://webappick.com/create-and-customize-a-tiktok-product-feed/', + ), + ), + 'shopflix' => array( + 'feed_file_type' => array( 'XML' ), + ), + 'admarkt' => array( + 'link' => 'https://ecg-icas.github.io/icas/doc/prod/feeds.html#file-format', + 'feed_file_type' => array( 'XML' ), + 'doc' => array( + esc_html__( 'Marktplaats – The Ultimate Ecommerce Advertising Destination', 'woo-feed' ) => 'https://webappick.com/marktplaats-ultimate-ecommerce-advertising/', + ), + ), + 'glami' => array( + 'link' => 'https://www.glami.eco/info/feed/', + 'feed_file_type' => array( 'XML' ), + 'doc' => array( + esc_html__( 'How to Generate Glami Product Feed?', 'woo-feed' ) => 'https://webappick.com/glami-product-feed/', + ), + ), + 'snapchat' => array( + 'link' => 'https://businesshelp.snapchat.com/s/article/product-catalog-specs?language=en_US', + 'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'XLS', 'TXT', 'JSON' ), + 'doc' => array( + esc_html__( 'How to make snapchat feed?', 'woo-feed' ) => 'https://webappick.com/snapchat-product-feed/', + ), + ), + 'walmart' => array( + 'link' => 'https://developer.walmart.com/documentation/item-object-v4-0-2/', + 'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'XLS', 'XLSX', 'TXT', 'JSON' ), + 'doc' => array( + esc_html__( 'How to Generate a Walmart Product Feed?', 'woo-feed' ) => 'https://webappick.com/walmart-product-feed/', + ), + ), + 'nextag' => array( + 'link' => 'https://searchmarketingtools.com/files/Nextag_Feed_Specifications.pdf', + 'feed_file_type' => array( 'XML', 'CSV' ), + 'doc' => array( + esc_html__( 'How to Generate Nextag Product Feed?', 'woo-feed' ) => 'https://webappick.com/nextag-search-find-best-value-desired-products-online/', + ), + ), + 'pricegrabber' => array( + 'link' => 'https://www.operationroi.com/wp-content/downloads/DataFeedRequirements-PriceGrabber.pdf', + 'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'XLS', 'TXT', 'JSON' ), + 'doc' => array( + esc_html__( 'How To Generate PriceGrabber Product Feed?', 'woo-feed' ) => 'https://webappick.com/pricegrabber-product-feed/', + ), + ), + ); + + if ( array_key_exists( $template, $info ) ) { + return $info[ $template ]; + } + + return $info['custom']; + } + + /** + * @param $templates + * + * @return array + */ + public static function getMultiple( $templates = [] ) { + if ( empty( $templates ) ) { + return []; + } + + $templates_data = []; + foreach ( $templates as $template ) { + $templates_data[ $template ] = self::get( $template ); + } + + return $templates_data; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/Templates.php b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/Templates.php new file mode 100644 index 000000000..12a27ee1e --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Merchant/Templates.php @@ -0,0 +1,5 @@ + + * @author Pressmodo + * @copyright 2019 WPTRT + * @copyright 2020 Sematico LTD + * @license https://www.gnu.org/licenses/gpl-3.0.html GPL-3.0-or-later + * @link https://github.com/pressmodo/wp-admin-notices + */ + +namespace CTXFeed\V5\Notice; + +/** + * The Dismiss class, responsible for dismissing and checking the status of admin notices. + * + * @since 1.0.0 + */ +class Dismiss { + + /** + * The notice-ID. + * + * @access private + * @since 1.0 + * @var string + */ + private $id; + + /** + * The prefix we'll be using for the option/user-meta. + * + * @access private + * @since 1.0 + * @var string + */ + private $prefix; + + /** + * The notice's scope. Can be "user" or "global". + * + * @access private + * @since 1.0 + * @var string + */ + private $scope; + + /** + * Constructor. + * + * @access public + * @param string $id A unique ID for this notice. Can contain lowercase characters and underscores. + * @param string $prefix The prefix that will be used for the option/user-meta. + * @param string $scope Whether the notification is a global or user type. + * @since 1.0 + */ + public function __construct( $id, $prefix, $scope = 'global' ) { + + // Set the object properties. + $this->id = sanitize_key( $id ); + $this->prefix = sanitize_key( $prefix ); + $this->scope = ( in_array( $scope, array( 'global', 'user' ), true ) ) ? $scope : 'global'; + + // Handle AJAX requests to dismiss the notice. + add_action( 'wp_ajax_pressmodo_dismiss_notice', array( $this, 'ajax_maybe_dismiss_notice' ) ); + } + + /** + * Print the script for dismissing the notice. + * + * @access private + * @since 1.0 + * @return void + */ + public function print_script() { + + // Create a nonce. + $nonce = wp_create_nonce( 'pressmodo_dismiss_notice_' . $this->id ); + ?> + + scope ) { + return ( get_user_meta( get_current_user_id(), "{$this->prefix}_{$this->id}", true ) ); + } + + return ( get_option( "{$this->prefix}_{$this->id}" ) ); + } + + /** + * Run check to see if we need to dismiss the notice. + * If all tests are successful then call the dismiss_notice() method. + * + * @access public + * @since 1.0 + * @return void + */ + public function ajax_maybe_dismiss_notice() { + + // Sanity check: Early exit if we're not on a pressmodo_dismiss_notice action. + if ( ! isset( $_POST['action'] ) || 'pressmodo_dismiss_notice' !== $_POST['action'] ) { + return; + } + + // Sanity check: Early exit if the ID of the notice is not the one from this object. + if ( ! isset( $_POST['id'] ) || $this->id !== $_POST['id'] ) { + return; + } + + // Security check: Make sure nonce is OK. + check_ajax_referer( 'pressmodo_dismiss_notice_' . $this->id, 'nonce', true ); + + // If we got this far, we need to dismiss the notice. + $this->dismiss_notice(); + } + + /** + * Actually dismisses the notice. + * + * @access private + * @since 1.0 + * @return void + */ + private function dismiss_notice() { + if ( 'user' === $this->scope ) { + update_user_meta( get_current_user_id(), "{$this->prefix}_{$this->id}", true ); + return; + } + update_option( "{$this->prefix}_{$this->id}", true, false ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Notice/Notice.php b/plugins/webappick-product-feed-for-woocommerce/V5/Notice/Notice.php new file mode 100644 index 000000000..127e0c819 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Notice/Notice.php @@ -0,0 +1,276 @@ + + * @author Pressmodo + * @copyright 2019 WPTRT + * @copyright 2020 Sematico LTD + * @license https://www.gnu.org/licenses/gpl-3.0.html GPL-3.0-or-later + * @link https://github.com/pressmodo/wp-admin-notices + */ + +namespace CTXFeed\V5\Notice; + +/** + * The Admin_Notice class, responsible for creating admin notices. + * + * Each notice is a new instance of the object. + * + * @since 1.0.0 + */ +class Notice { + + /** + * The notice-ID. + * + * @access private + * @since 1.0 + * @var string + */ + private $id; + + /** + * The notice message. + * + * @access private + * @since 1.0 + * @var string + */ + private $message; + + /** + * An instance of the \Pressmodo\AdminNotices\Dismiss object. + * + * @access public + * @since 1.0 + * @var Dismiss + */ + public $dismiss; + + /** + * The notice arguments. + * + * @access private + * @since 1.0 + * @var array + */ + private $options = array( + 'scope' => 'global', + 'type' => 'info', + 'alt_style' => false, + 'capability' => 'edit_theme_options', + 'option_prefix' => 'pressmodo_notice_dismissed', + 'screens' => array(), + 'dismissible' => true, + ); + + /** + * An array of allowed types. + * + * @access private + * @since 1.0 + * @var array + */ + private $allowed_types = array( + 'info', + 'success', + 'error', + 'warning', + ); + + /** + * The title for our notice. + * + * @var string + */ + private $title; + + /** + * Constructor. + * + * @access public + * @since 1.0 + * @param string $id A unique ID for this notice. Can contain lowercase characters and underscores. + * @param string $title The title for our notice. + * @param string $message The message for our notice. + * @param array $options An array of additional options to change the defaults for this notice. + * [ + * 'screens' => (array) An array of screens where the notice will be displayed. + * Leave empty to always show. + * Defaults to an empty array. + * 'scope' => (string) Can be "global" or "user". + * Determines if the dismissed status will be saved as an option or user-meta. + * Defaults to "global". + * 'type' => (string) Can be one of "info", "success", "warning", "error". + * Defaults to "info". + * 'alt_style' => (bool) Whether we want to use alt styles or not. + * Defaults to false. + * 'capability' => (string) The user capability required to see the notice. + * Defaults to "edit_theme_options". + * 'option_prefix' => (string) The prefix that will be used to build the option (or post-meta) name. + * Can contain lowercase latin letters and underscores. + * 'dismissible' => (bool) Whether or not the notice can be dismissed. Defaults to true. + * ]. + */ + public function __construct( $id, $title, $message, $options = array() ) { + + // Set the object properties. + $this->id = $id; + $this->title = $title; + $this->message = $message; + $this->options = wp_parse_args( $options, $this->options ); + + // Sanity check: Early exit if ID or message are empty. + if ( ! $this->id || ! $this->message ) { + return; + } + + // Instantiate the Dismiss object. + $this->dismiss = new Dismiss( $this->id, $this->options['option_prefix'], $this->options['scope'] ); + } + + /** + * Prints the notice. + * + * @access public + * @since 1.0 + * @return void + */ + public function the_notice() { + + // Early exit if we don't want to show this notice. + if ( ! $this->show() ) { + return; + } + + $html = $this->get_title(); + $html .= $this->get_message(); + + // Print the notice. + printf( + '
%3$s
', + 'pressmodo-notice-' . esc_attr($this->id) , // The ID. + esc_attr($this->get_classes()) , // The classes. + wp_kses_post($html) // The HTML. + ); + } + + /** + * Determine if the notice should be shown or not. + * + * @access public + * @since 1.0 + * @return bool + */ + public function show() { + + // Don't show if the user doesn't have the required capability. + if ( ! current_user_can( $this->options['capability'] ) ) { + return false; + } + + // Don't show if we're not on the right screen. + if ( ! $this->is_screen() ) { + return false; + } + + // Don't show if notice has been dismissed. + if ( $this->dismiss->is_dismissed() ) { + return false; + } + + return true; + } + + /** + * Get the notice classes. + * + * @access public + * @since 1.0 + * @return string + */ + public function get_classes() { + $classes = array( + 'notice', + 'is-dismissible', + ); + + // Make sure the defined type is allowed. + $this->options['type'] = in_array( $this->options['type'], $this->allowed_types, true ) ? $this->options['type'] : 'info'; + + // Add the class for notice-type. + $classes[] = 'notice-' . $this->options['type']; + + // Do we want alt styles? + if ( $this->options['alt_style'] ) { + $classes[] = 'notice-alt'; + } + + if ( ! $this->options['dismissible'] ) { + if ( ( $key = array_search( 'is-dismissible', $classes, true ) ) !== false ) { + unset( $classes[ $key ] ); + } + } + + // Combine classes to a string. + return implode( ' ', $classes ); + } + + /** + * Returns the title. + * + * @access public + * @since 1.0 + * @return string + */ + public function get_title() { + + // Sanity check: Early exit if no title is defined. + if ( ! $this->title ) { + return ''; + } + + return sprintf( + '

%s

', + wp_strip_all_tags( $this->title ) + ); + } + + /** + * Returns the message. + * + * @access public + * @since 1.0 + * @return string + */ + public function get_message() { + return wpautop( wp_kses_post( $this->message ) ); + } + + /** + * Evaluate if we're on the right place depending on the "screens" argument. + * + * @access private + * @since 1.0 + * @return bool + */ + private function is_screen() { + + // If screen is empty we want this shown on all screens. + if ( ! $this->options['screens'] || empty( $this->options['screens'] ) ) { + return true; + } + + // Make sure the get_current_screen function exists. + if ( ! function_exists( 'get_current_screen' ) ) { + require_once ABSPATH . 'wp-admin/includes/screen.php'; + } + + // Check if we're on one of the defined screens. + return ( in_array( get_current_screen()->id, $this->options['screens'], true ) ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Notice/Notices.php b/plugins/webappick-product-feed-for-woocommerce/V5/Notice/Notices.php new file mode 100644 index 000000000..faaa238cc --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Notice/Notices.php @@ -0,0 +1,138 @@ + + * @author Pressmodo + * @copyright 2019 WPTRT + * @copyright 2020 Sematico LTD + * @license https://www.gnu.org/licenses/gpl-3.0.html GPL-3.0-or-later + * @link https://github.com/pressmodo/wp-admin-notices + */ + +namespace CTXFeed\V5\Notice; + +/** + * The Admin_Notice class, responsible for creating admin notices. + * + * Each notice is a new instance of the object. + * + * @since 1.0.0 + */ +class Notices { + + /** + * An array of notices. + * + * @access private + * @since 1.0 + * @var array + */ + private $notices = array(); + + /** + * Adds actions for the notices. + * + * @access public + * @since 1.0 + * @return void + */ + public function boot() { + + // Add the notice. + add_action( 'admin_notices', array( $this, 'the_notices' ) ); + + // Print the script to the footer. + add_action( 'admin_footer', array( $this, 'print_scripts' ) ); + } + + /** + * Add a notice. + * + * @access public + * @since 1.0 + * @param string $id A unique ID for this notice. Can contain lowercase characters and underscores. + * @param string $title The title for our notice. + * @param string $message The message for our notice. + * @param array $options An array of additional options to change the defaults for this notice. + * See Notice::__constructor() for details. + * @return void + */ + public function add( $id, $title, $message, $options = array() ) { + $this->notices[ $id ] = new Notice( $id, $title, $message, $options ); + } + + /** + * Remove a notice. + * + * @access public + * @since 1.0 + * @param string $id The unique ID of the notice we want to remove. + * @return void + */ + public function remove( $id ) { + unset( $this->notices[ $id ] ); + } + + /** + * Get a single notice. + * + * @access public + * @since 1.0 + * @param string $id The unique ID of the notice we want to retrieve. + * @return Notice|null + */ + public function get( $id ) { + if ( isset( $this->notices[ $id ] ) ) { + return $this->notices[ $id ]; + } + + return null; + } + + /** + * Get all notices. + * + * @access public + * @since 1.0 + * @return array + */ + public function get_all() { + return $this->notices; + } + + /** + * Prints the notice. + * + * @access public + * @since 1.0 + * @return void + */ + public function the_notices() { + $notices = $this->get_all(); + + foreach ( $notices as $notice ) { + $notice->the_notice(); + } + } + + /** + * Prints scripts for the notices. + * + * @access public + * @since 1.0 + * @return void + */ + public function print_scripts() { + $notices = $this->get_all(); + + foreach ( $notices as $notice ) { + if ( $notice->show() ) { + $notice->dismiss->print_script(); + } + } + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Output/AttributeMapping.php b/plugins/webappick-product-feed-for-woocommerce/V5/Output/AttributeMapping.php new file mode 100644 index 000000000..1ec8e3f87 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Output/AttributeMapping.php @@ -0,0 +1,275 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category Output + */ +class AttributeMapping { + + /** + * Get Attribute Mapping Value. + * + * @param $attribute + * @param $merchant_attribute + * @param WC_Product $product + * @param Config $config + * + * @return string + */ + public static function getMappingValue( $attribute, $merchant_attribute, $product, $config, $parent_product ) { + + $attributes = get_option( $attribute ); + $glue = ! empty( $attributes['glue'] ) ? $attributes['glue'] : ' '; + $output = ''; + + if ( isset( $attributes['mapping'] ) ) { + foreach ( $attributes['mapping'] as $map ) { + $get_attribute_value_by_type = new AttributeValueByType( $attribute, $product, $config, $merchant_attribute, $parent_product ); + $get_value = $get_attribute_value_by_type->get_value( $map ); + if ( ! empty( $get_value ) ) { + $output .= $glue . $get_value; + } + } + } + + //trim extra glue + $output = trim( $output, $glue ); + + // remove extra whitespace + $output = preg_replace( '!\s\s+!', ' ', $output ); + + return apply_filters( 'woo_feed_filter_attribute_mapping', $output, $attribute, $product, $config ); + } + + /** + * Get Attribute Mapping. + * + * @param $attribute + * + * @return false|mixed|null + */ + public function getMapping( $attribute ) { + if ( strpos( $attribute, AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX ) === false ) { + $attribute = AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX . $attribute; + } + + return get_option( $attribute ); + } + + + public function getMappings() { + $mappings = CommonHelper::get_options( AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX ); + $data = array(); + if ( ! empty( $mappings ) ) { + foreach ( $mappings as $mapping ) { + $data[ $mapping->option_name ] = get_option( $mapping->option_name ); + } + return $data; + } + + return false; + } + + /** + * Save Attribute mapping. + * + * @param array $mappingConfig + * + * @return bool + */ + public function saveMapping( $mappingConfig ) { + + $data = array(); + + $data['name'] = ''; + if ( isset( $mappingConfig['mapping_name'] ) ) { + $data['name'] = sanitize_text_field( $mappingConfig['mapping_name'] ); + } + + // Set Multiple Attributes or texts. + if ( isset( $mappingConfig['value'] ) ) { + foreach ( $mappingConfig['value'] as $item ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized + if ( ' ' === $item ) { + $data['mapping'][] = $item; + } elseif ( '' !== $item ) { + $data['mapping'][] = sanitize_text_field( $item ); + } + } + $data['mapping'] = array_filter( $data['mapping'] ); + } + + // Set Glue. + if ( isset( $mappingConfig['mapping_glue'] ) ) { + $data['glue'] = $mappingConfig['mapping_glue']; + } else { + $data['glue'] = ''; + } + + // Set Option Name. + if ( isset( $mappingConfig['option_name'] ) && + ! empty( $mappingConfig['option_name'] ) && + false !== strpos( $mappingConfig['option_name'], AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX ) // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized + ) { + $option = sanitize_text_field( $mappingConfig['option_name'] ); + } else { + // generate unique one. + $option = CommonHelper::unique_option_name( $data['name'] ); + } + $option = Helper::extract_option_name( $option, AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX ); + $option = AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX . $option; + + + return update_option( $option, $data ); + } + + /** + * Save Attribute mapping. + * + * @param array $mappingConfig + * + * @return bool + */ + public function updateMapping( $mappingConfig ) { + + $data = array(); + + $data['name'] = ''; + if ( isset( $mappingConfig['mapping_name'] ) ) { + $data['name'] = sanitize_text_field( $mappingConfig['mapping_name'] ); + } + + // Set Multiple Attributes or texts. + if ( isset( $mappingConfig['value'] ) ) { + foreach ( $mappingConfig['value'] as $item ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized + if ( ' ' === $item ) { + $data['mapping'][] = $item; + } elseif ( '' !== $item ) { + $data['mapping'][] = sanitize_text_field( $item ); + } + } + $data['mapping'] = array_filter( $data['mapping'] ); + } + + // Set Glue. + if ( isset( $mappingConfig['mapping_glue'] ) ) { + $data['glue'] = $mappingConfig['mapping_glue']; + } else { + $data['glue'] = ''; + } + + // Set Option Name. + if ( isset( $mappingConfig['option_name'] ) && + ! empty( $mappingConfig['option_name'] ) && + false !== strpos( $mappingConfig['option_name'], AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX ) // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized + ) { + $option = sanitize_text_field( $mappingConfig['option_name'] ); + } else { + // generate unique one. + $option = CommonHelper::unique_option_name( AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX . $data['name'] ); + } + + return update_option( $option, $data ); + } + + /** + * Delete Attribute Mapping. + * + * @param $attribute + * + * @return bool + */ + public function deleteMapping( $attribute ) { + if ( strpos( $attribute, AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX ) === false ) { + $attribute = AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX . $attribute; + } + + return delete_option( $attribute ); + } + + + /** + * Get a random product data for view attribute mapping data + * + * @param $attribute_mappings + * + * @return array + */ + public static function get_attributes_preview_data( $attribute_mappings ) { + + $preview_data = []; + if ( count( $attribute_mappings ) ) { + $config = new Config([]); + foreach ($attribute_mappings as $attribute_mapping_key => $attribute_mapping) { + $saperator = $attribute_mapping['glue'] ? $attribute_mapping['glue'] . ' ' : ' '; + $preview_data[ $attribute_mapping_key ] = trim( 'No preview' . $saperator); + } + } + + return $preview_data; // TODO [Attributes Mapping page Loading issue, in future needed to remove this code and fix the issue] + $products = wc_get_products( [ + 'limit' => 1, + 'orderby' => 'rand', + ] ); + $product = $products[0]; + + $preview_data = []; + if ( count( $attribute_mappings ) ) { + $config = new Config( [] ); + foreach ( $attribute_mappings as $attribute_mapping_key => $attribute_mapping ) { + $saperator = $attribute_mapping['glue'] ? $attribute_mapping['glue'] . ' ' : ' '; + if ( $attribute_mapping && isset( $attribute_mapping['mapping'] ) && count( $attribute_mapping['mapping'] ) ) { + $current_preview_data = ''; + foreach ( $attribute_mapping['mapping'] as $attribute ) { + //dynamic attribute value + if ( strpos( $attribute, 'wf_dattribute_' ) !== false ) { + $dynamic_attribute = new DynamicAttributes(); + $dynamic_attribute_value = $dynamic_attribute->getDynamicAttributeValue( $attribute, '', $product, $config ); + $value = $dynamic_attribute_value ? $dynamic_attribute_value : 'No data'; + $current_preview_data .= $value . $saperator; + continue; + } + if(!self::exclude_attributes_preview_data($attribute )) { + $attribute_value = new AttributeValueByType( $attribute, $product, $config ); + $value = $attribute_value->get_value() ? $attribute_value->get_value() : 'No data'; + $current_preview_data .= $value . $saperator; + }else{ + $current_preview_data .= 'No data' . $saperator; + } + } + + $preview_data[ $attribute_mapping_key ] = trim( $current_preview_data, $saperator ); + } + } + } + + + return $preview_data; + } + + /** + * Exclude preview data + * + * @param $attribute + * + * @return boolean + */ + public static function exclude_attributes_preview_data( $attribute ) { + $attribute_array = array( 'shipping', 'tax' ); + return in_array( $attribute, $attribute_array ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Output/CategoryMapping.php b/plugins/webappick-product-feed-for-woocommerce/V5/Output/CategoryMapping.php new file mode 100644 index 000000000..34b69e7d7 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Output/CategoryMapping.php @@ -0,0 +1,159 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class CategoryMapping { + + + /** + * Return Category Mapping Values by Product Id [Parent Product for variation] + * @param $categoryMappingName Category Mapping Name + * @param $product_id Product ID / Parent Product ID for variation product + * + * @return string + */ + public static function getCategoryMappingValue( $categoryMappingName, $product_id ) { + + $getValue = maybe_unserialize( get_option( $categoryMappingName ) ); + $cat_map_value = ''; + $suggestive_category_list_merchants = array( + 'google', + 'facebook', + 'pinterest', + 'bing', + 'bing_local_inventory', + 'snapchat', + ); + + if ( ! isset( $getValue['cmapping'] ) && ! isset( $getValue['gcl-cmapping'] ) ) { + return ''; + } + + //get product terms + $categories = get_the_terms( $product_id, 'product_cat' ); + + + //get cmapping value + if ( isset( $getValue['gcl-cmapping'] ) && in_array( $getValue['mappingprovider'], $suggestive_category_list_merchants, true ) ) { + $cmapping = is_array( $getValue['gcl-cmapping'] ) ? array_reverse( $getValue['gcl-cmapping'], true ) : $getValue['gcl-cmapping']; + } else { + $cmapping = is_array( $getValue['cmapping'] ) ? array_reverse( $getValue['cmapping'], true ) : $getValue['cmapping']; + } + + $term_ids = []; + // Fixes empty mapped category issue + if ( ! empty( $categories ) && is_array( $categories ) && count( $categories ) ) { + $categories = array_reverse( $categories ); + foreach ( $categories as $category ) { + $term_ids[] = $category->term_id; + /*if ( isset( $cmapping[ $category->term_id ] ) && ! empty( $cmapping[ $category->term_id ] ) ) { + $cat_map_value = $cmapping[ $category->term_id ]; + break; + }*/ + } + if( is_array( $term_ids ) && count( $term_ids ) > 0 ){ + $child_term = max( $term_ids ); + if ( isset( $cmapping[ $child_term ] ) && ! empty( $cmapping[ $child_term ] ) ) { + $cat_map_value = $cmapping[ $child_term ]; + } + } + } + + return $cat_map_value; + } + + + /** + * Get Category Mapping. + * + * @param $category + * + * @return false|mixed|null + */ + + public function getCategoryMapping( $category ) { + if ( strpos( $category, ProductHelper::PRODUCT_CATEGORY_MAPPING_PREFIX ) === false ) { + $category = ProductHelper::PRODUCT_CATEGORY_MAPPING_PREFIX . $category; + } + + return get_option( $category ); + } + + public function getCategoryMappings() { + + $category_mappings = CommonHelper::get_options( ProductHelper::PRODUCT_CATEGORY_MAPPING_PREFIX ); + $data = array(); + if ( ! empty( $category_mappings ) ) { + foreach ( $category_mappings as $mapping ) { + $data[ $mapping->option_name ] = get_option( $mapping->option_name ); + } + + return $data; + } + + return false; + } + + /** + * Save Category Mapping. + * + * @param array $categoryMappingConfig + * + * @return bool + */ + public function saveCategoryMapping( $categoryMappingConfig ) { + + $data = array(); + + $data['name'] = ''; + if ( isset( $categoryMappingConfig['mappingname'] ) ) { + $data['name'] = sanitize_text_field( $categoryMappingConfig['mappingname'] ); + } + + // Set Option Name. + if ( isset( $categoryMappingConfig['option'] ) && + ! empty( $categoryMappingConfig['option'] ) && + false !== strpos( $categoryMappingConfig['option'], ProductHelper::PRODUCT_CATEGORY_MAPPING_PREFIX ) // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized + ) { + $option = sanitize_text_field( $categoryMappingConfig['option'] ); + } else { + // generate unique one. + $option = CommonHelper::unique_option_name( ProductHelper::PRODUCT_CATEGORY_MAPPING_PREFIX . $data['name'] ); + } + + if ( is_array( $categoryMappingConfig ) ) { + $data = serialize( woo_feed_array_sanitize( $categoryMappingConfig ) ); + } + + return update_option( $option, $data ); + + } + + /** + * Delete Category Mapping. + * + * @param $category + * + * @return bool + */ + public function deleteCategoryMapping( $category ) { + if ( strpos( $category, ProductHelper::PRODUCT_CATEGORY_MAPPING_PREFIX ) === false ) { + $category = ProductHelper::PRODUCT_CATEGORY_MAPPING_PREFIX . $category; + } + + return delete_option( $category ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Output/DynamicAttributes.php b/plugins/webappick-product-feed-for-woocommerce/V5/Output/DynamicAttributes.php new file mode 100644 index 000000000..4747e2b9f --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Output/DynamicAttributes.php @@ -0,0 +1,369 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class DynamicAttributes { + + + /** + * Get the value of a dynamic attribute + * + * @param $attribute + * @param $merchant_attribute + * @param WC_Product $product + * @param Config $config + * + * @return string + */ + public static function getDynamicAttributeValue( $attribute, $merchant_attribute, $product, $config, $parent_product=null ) { + + //$get_attribute_value_by_type = new AttributeValueByType( $attribute, $merchant_attribute, $product, $config ); + $getValue = maybe_unserialize( get_option( $attribute ) ); + $wfDAttributeCode = isset( $getValue['wfDAttributeCode'] ) ? $getValue['wfDAttributeCode'] : ''; + $attribute = isset( $getValue['attribute'] ) ? (array) $getValue['attribute'] : array(); + $condition = isset( $getValue['condition'] ) ? (array) $getValue['condition'] : array(); + $compare = isset( $getValue['compare'] ) ? (array) $getValue['compare'] : array(); + $type = isset( $getValue['type'] ) ? (array) $getValue['type'] : array(); + + $logical_condition = isset( $getValue['logical_condition'] ) ? (array) $getValue['logical_condition'] : array(); + + $prefix = isset( $getValue['prefix'] ) ? (array) $getValue['prefix'] : array(); + $suffix = isset( $getValue['suffix'] ) ? (array) $getValue['suffix'] : array(); + + $value_attribute = isset( $getValue['value_attribute'] ) ? (array) $getValue['value_attribute'] : array(); + $value_pattern = isset( $getValue['value_pattern'] ) ? (array) $getValue['value_pattern'] : array(); + + $default_type = isset( $getValue['default_type'] ) ? $getValue['default_type'] : 'attribute'; + $default_value_attribute = isset( $getValue['default_value_attribute'] ) ? $getValue['default_value_attribute'] : ''; + $default_value_pattern = isset( $getValue['default_value_pattern'] ) ? $getValue['default_value_pattern'] : ''; + + $result = ''; + $result_array = array(); + + // Check If Attribute Code exist + if ( $wfDAttributeCode && count( $attribute ) ) { + foreach ( $attribute as $key => $name ) { + if ( ! empty( $name ) ) { + + if ( ! empty( $logical_condition ) || in_array( '&&', $logical_condition ) ) { + $result = ''; + } + + $conditionName = ( new AttributeValueByType( $attribute, $product, $config, $merchant_attribute, $parent_product ) )->get_value( $name ); + + if ( 'weight' === $name ) { + $unit = ' ' . get_option( 'woocommerce_weight_unit' ); + if ( ! empty( $unit ) ) { + $conditionName = (float) str_replace( $unit, '', $conditionName ); + } + } + + $conditionCompare = $compare[ $key ]; + $conditionOperator = $condition[ $key ]; + + if ( ! empty( $conditionCompare ) ) { + $conditionCompare = trim( $conditionCompare ); + } + $conditionValue = ''; + if ( 'pattern' === $type[ $key ] ) { + $conditionValue = $value_pattern[ $key ]; + } elseif ( 'attribute' === $type[ $key ] ) { + $conditionValue = ( new AttributeValueByType( $attribute, $product, $config, $merchant_attribute, $parent_product ) )->get_value( $value_attribute[ $key ] ); + } elseif ( 'remove' === $type[ $key ] ) { + $conditionValue = ''; + } + + switch ( $conditionOperator ) { + case '==': + if ( ProductHelper::validate_date( $conditionName ) && ProductHelper::validate_date( $conditionCompare ) ) { + $conditionName = strtotime( $conditionName ); + $conditionCompare = strtotime( $conditionCompare ); + } + if ( $conditionName == $conditionCompare ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + break; + case '!=': + if ( ProductHelper::validate_date( $conditionName ) && ProductHelper::validate_date( $conditionCompare ) ) { + $conditionName = strtotime( $conditionName ); + $conditionCompare = strtotime( $conditionCompare ); + } + if ( $conditionName != $conditionCompare ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + break; + case '>=': + if ( ProductHelper::validate_date( $conditionName ) && ProductHelper::validate_date( $conditionCompare ) ) { + $conditionName = strtotime( $conditionName ); + $conditionCompare = strtotime( $conditionCompare ); + } + if ( $conditionName >= $conditionCompare ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + + break; + case '<=': + if ( ProductHelper::validate_date( $conditionName ) && ProductHelper::validate_date( $conditionCompare ) ) { + $conditionName = strtotime( $conditionName ); + $conditionCompare = strtotime( $conditionCompare ); + } + if ( $conditionName <= $conditionCompare ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + break; + case '>': + if ( ProductHelper::validate_date( $conditionName ) && ProductHelper::validate_date( $conditionCompare ) ) { + $conditionName = strtotime( $conditionName ); + $conditionCompare = strtotime( $conditionCompare ); + } + if ( $conditionName > $conditionCompare ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + break; + case '<': + if ( ProductHelper::validate_date( $conditionName ) && ProductHelper::validate_date( $conditionCompare ) ) { + $conditionName = strtotime( $conditionName ); + $conditionCompare = strtotime( $conditionCompare ); + } + if ( $conditionName < $conditionCompare ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + break; + case 'contains': + if ( false !== stripos( $conditionName, $conditionCompare ) ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + break; + case 'nContains': + if ( stripos( $conditionName, $conditionCompare ) === false ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + break; + case 'between': + $compare_items = explode( ',', $conditionCompare ); + + if ( isset( $compare_items[1] ) && is_numeric( $compare_items[0] ) && is_numeric( $compare_items[1] ) ) { + if ( $conditionName >= $compare_items[0] && $conditionName <= $compare_items[1] ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' !== $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + } elseif ( isset( $compare_items[1] ) && ProductHelper::validate_date( $compare_items[0] ) && ProductHelper::validate_date( $compare_items[1] ) ) { + if ( $conditionName >= $compare_items[0] && $conditionName <= $compare_items[1] ) { + $result = ProductHelper::price_format( $name, $conditionName, $conditionValue ); + if ( '' != $result ) { + $result = $prefix[ $key ] . $result . $suffix[ $key ]; + } + } + } else { + $result = ''; + } + break; + default: + break; + } + } + $result_array[ $key ] = array( + 'conditionName' => $conditionName, + 'result' => $result, + 'condition' => (isset($logical_condition[ $key ])) ? $logical_condition[ $key ] : '', + 'name' => $name, + 'conditionOperator' => $conditionOperator, + 'conditionCompare' => $conditionCompare, + ); + + } + } + + if ( empty( $logical_condition ) || ! in_array( '&&', $logical_condition ) ) { + $result = $result; + + } else { + $new_logical_condition = $logical_condition; + array_shift( $new_logical_condition ); + if ( ! in_array( '||', $new_logical_condition ) ) { + foreach ( $result_array as $key => $value ) { + if ( $value['result'] === '' ) { + $result = ''; + break; + } else { + $result = $value['result']; + } + } + } else { + foreach ( $result_array as $key => $value ) { + if ( $key == 0 ) { + continue; + } elseif ( $value['condition'] == '&&' ) { + if ( $value['result'] !== '' && $result_array[ $key - 1 ]['result'] !== '' ) { + $result = $value['result']; + } else { + $result = ''; + } + } elseif ( $value['condition'] == '||' ) { + if ( $value['result'] !== '' ) { + $result = $value['result']; + } + } + } + } + } + + + + if ( '' === $result ) { + if ( 'pattern' === $default_type ) { + $result = $default_value_pattern; + } elseif ( 'attribute' === $default_type ) { + if ( ! empty( $default_value_attribute ) ) { + $result = ( new AttributeValueByType( $attribute, $product, $config, $merchant_attribute, $parent_product ) )->get_value( $default_value_attribute ); + } + } elseif ( 'remove' === $default_type ) { + $result = ''; + } + } + //return $result; + return apply_filters( 'woo_feed_after_dynamic_attribute_value', $result, $product, $attribute, $merchant_attribute, $config ); + + } + + + /** + * Save Dynamic Attribute. + * + * @param array $dynamicAttributes + * + * @return bool + */ + public function saveDynamicAttribute( $dynamicAttributes ) { + + $condition = ''; + $_data = array(); + $wf_attribute_opt_name = ''; + + if ( count( $dynamicAttributes ) && isset( $dynamicAttributes['wfDAttributeCode'] ) ) { + $condition = sanitize_text_field( $dynamicAttributes['wfDAttributeCode'] ); + $_data = woo_feed_sanitize_form_fields( $dynamicAttributes ); + $wf_attribute_opt_name = AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX . $condition; + } + + if ( false !== get_option( $wf_attribute_opt_name, false ) ) { + $option = CommonHelper::unique_option_name( $wf_attribute_opt_name ); + } else { + $option = $wf_attribute_opt_name; + } + + + return update_option( $option, $_data ); + } + + /** + * Update Dynamic Attribute. + * + * @param array $dynamicAttributes + * + * @return bool + */ + public function updateDynamicAttribute( $dynamicAttributes ) { + + $_data = array(); + $option = ''; + + if ( count( $dynamicAttributes ) && isset( $dynamicAttributes['wfDAttributeCode'] ) ) { + $condition = sanitize_text_field( $dynamicAttributes['wfDAttributeCode'] ); + $_data = woo_feed_sanitize_form_fields( $dynamicAttributes ); + $wf_attribute_opt_name = AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX . $condition; + $option = $wf_attribute_opt_name; + } + + return update_option( $option, $_data ); + + } + + /** + * Get Dynamic Attribute. + * + * @param $attribute + * + * @return false|mixed|null + */ + public function getDynamicAttribute( $attribute ) { + if ( strpos( $attribute, AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX ) === false ) { + $attribute = AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX . $attribute; + } + + return get_option( $attribute ); + } + + public function getDynamicAttributes() { + + $dynamic_attributes = CommonHelper::get_options( AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX ); + $data = array(); + if ( ! empty( $dynamic_attributes ) ) { + foreach ( $dynamic_attributes as $attributes ) { + $data[ $attributes->option_name ] = get_option( $attributes->option_name ); + } + + return $data; + } + + return false; + } + + /** + * Delete Dynamic Attribute. + * + * @param $attribute + * + * @return bool + */ + public function deleteDynamicAttribute( $attribute ) { + if ( strpos( $attribute, AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX ) === false ) { + $attribute = AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX . $attribute; + } + + return delete_option( $attribute ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Output/FormatOutput.php b/plugins/webappick-product-feed-for-woocommerce/V5/Output/FormatOutput.php new file mode 100644 index 000000000..fc0bf392f --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Output/FormatOutput.php @@ -0,0 +1,265 @@ +product = $product; + $this->config = $config; + $this->attribute = $attribute; + } + + /** + * Get Output + * + * @param $output + * @param $outputTypes + * + * @return array|false|int|mixed|string|string[]|null + */ + + public function get_output( $output, $outputTypes ) { + + if ( ! empty( $outputTypes ) && is_array( $outputTypes ) ) { + // Format Output According to output type + if ( in_array( 2, $outputTypes ) ) { // Strip Tags + //return $outputTypes; + $output = CommonHelper::strip_all_tags( html_entity_decode( $output ) ); + } + + if ( in_array( 4, $outputTypes ) ) { // htmlentities + $output = htmlentities( $output, ENT_QUOTES, 'UTF-8' ); + } + + if ( in_array( 5, $outputTypes ) ) { // Integer + $output = (int) $output; + } + + if ( in_array( 6, $outputTypes ) ) { // Format Price + $output = $this->get_price_format( $output ); + } + + if ( ! empty( $output ) && $output > 0 && in_array( 7, $outputTypes ) ) { // Rounded Price + $output= is_float( $output ) ? round( $output ) : $output; + $output = $this->get_price_format( $output ); + } + + if ( in_array( 8, $outputTypes ) ) { // Delete Space + $output = $this->delete_space( $output ); + } + + if ( in_array( 10, $outputTypes ) ) { // Remove Invalid Character + $output = CommonHelper::strip_invalid_xml( $output ); + } + + if ( in_array( 11, $outputTypes ) ) { // Remove ShortCodes + $output = CommonHelper::remove_shortcodes( $output ); + } + + if ( in_array( 12, $outputTypes ) ) { + $output = ucwords( mb_strtolower( $output ) ); + } + + if ( in_array( 13, $outputTypes ) ) { + $output = ucfirst( mb_strtolower( $output ) ); + } + + if ( in_array( 14, $outputTypes ) ) { + $output = mb_strtoupper( mb_strtolower( $output ) ); + } + + if ( in_array( 15, $outputTypes ) ) { + $output = mb_strtolower( $output ); + } + + if ( in_array( 16, $outputTypes ) && strpos( $output, 'http' ) === 0 ) { + $output = str_replace( 'http://', 'https://', $output ); + } + + if ( in_array( 17, $outputTypes ) && strpos( $output, 'http' ) === 0 ) { + $output = str_replace( 'https://', 'http://', $output ); + } + + if ( in_array( 18, $outputTypes ) ) { // only parent + $output = $this->get_only_parent( $output ); + } + + if ( in_array( 19, $outputTypes ) ) { // child if parent empty + $output = $this->get_parent( $output ); + } + + if ( in_array( 20, $outputTypes ) ) { // parent if child empty + $output = $this->get_parent_if_empty( $output ); + } + + if ( in_array( 21, $outputTypes ) ) { + $output = \htmlspecialchars( $output, ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + } + + if ( in_array( 22, $outputTypes ) ) { + $output = \htmlspecialchars_decode( $output, ENT_XML1 | ENT_QUOTES ); + } + + if ( 'xml' === $this->config->get_feed_file_type() && in_array( 9, $outputTypes ) ) { // Add CDATA + $output = ''; + } + + if ( in_array( 23, $outputTypes ) || in_array( 24, $outputTypes ) ) { // parent lang if child empty + $output = $this->get_parent_lang_child_is_empty( $output, $outputTypes ); + } + } + + return $output; + } + + /** + * Set price formate + * + * @param $output + * + * @return string + */ + private function get_price_format( $output ) { + if ( ! empty( $output ) && $output > 0 ) { + $numberFormats = $this->config->get_number_format(); + $decimals = $numberFormats['decimals']; + $decimal_separator = wp_specialchars_decode( wp_unslash( $numberFormats['decimal_separator'] ) ); + $thousand_separator = wp_specialchars_decode( wp_unslash( $numberFormats['thousand_separator'] ) ); + $output = (float) $output; + + $output = number_format( $output, $decimals, $decimal_separator, $thousand_separator ); + } + + return $output; + } + + /** + * Delete Space + * + * @param $output + * + * @return array|string|string[]|null + */ + private function delete_space( $output ) { + $output = htmlentities( $output, null, 'utf-8' ); + $output = str_replace( ' ', ' ', $output ); + $output = html_entity_decode( $output ); + + return preg_replace( '/\\s+/', ' ', $output ); + } + + /** + * Get Variable Product Value. + * + * @param string $output + * + * @return string + */ + protected function get_only_parent( $output ) { + if ( $this->product->is_type( 'variation' ) ) { + $id = $this->product->get_parent_id(); + $parent = wc_get_product( $id ); + $output = ProductHelper::get_attribute_value_by_type( $this->attribute, $parent, $this->config ); + } + + return $output; + } + + /** + * Get variation value if Variable Product Value empty. + * + * @param string $output + * + * @return string + */ + protected function get_parent( $output ) { + if ( $this->product->is_type( 'variation' ) ) { + $id = $this->product->get_parent_id(); + $parentProduct = wc_get_product( $id ); + $output = ProductHelper::get_attribute_value_by_type( $this->attribute, $parentProduct, $this->config ); + if ( empty( $output ) ) { + $output = ProductHelper::get_attribute_value_by_type( $this->attribute, $this->product, $this->config ); + } + } + + return $output; + } + + /** + * Get Variable Product Value if variation value empty. + * + * @param string $output + * + * @return string + */ + protected function get_parent_if_empty( $output ) { + if ( $this->product->is_type( 'variation' ) ) { + $output = ProductHelper::get_attribute_value_by_type( $this->attribute, $this->product, $this->config ); + if ( empty( $output ) ) { + $id = $this->product->get_parent_id(); + $parent = wc_get_product( $id ); + $output = ProductHelper::get_attribute_value_by_type( $this->attribute, $parent, $this->config ); + } + } + + return $output; + } + + /** + * Get the parent value on current empty value + * + * @param $output + * @param $outputTypes + * + * @return mixed + */ + private function get_parent_lang_child_is_empty( $output, $outputTypes ) { + $id = $this->product->get_id(); + //check if the format type is `parent` or `parent_lang_if_empty` + if ( in_array( 23, $outputTypes ) ) { + $force_parent = true; + } elseif ( in_array( 24, $outputTypes ) ) { + $force_parent = empty( $output ); + } + /** + * when format type is `parent` then force getting parent value + * when format type is `parent_lang_if_empty` then get the parent value on current empty value + */ + if ( isset( $force_parent ) ) { + //when wpml plugin is activated, get parent language post id + if ( class_exists( 'SitePress', false ) ) { + $parent_id = apply_filters( 'woo_feed_original_post_id', $id ); + //remove wpml term filter + global $sitepress; + remove_filter( 'get_term', array( $sitepress, 'get_term_adjust_id' ), 1 ); + remove_filter( 'get_terms_args', array( $sitepress, 'get_terms_args_filter' ), 1 ); + } + + // when polylang plugin is activated, get parent language post id + if ( defined( 'POLYLANG_BASENAME' ) || function_exists( 'PLL' ) ) { +// $parent_id = woo_feed_pll_get_original_post_id( $id ); + $parent_id = CommonHelper::woo_feed_pll_get_original_post_id( $id ); + } + //get attribute value of parent language post id + if ( ! empty( $parent_id ) ) { + $parentProduct = wc_get_product( $parent_id ); + $output = ProductHelper::get_attribute_value_by_type( $this->attribute, $parentProduct, $this->config ); + } + } + + return $output; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Output/OutputCommands.php b/plugins/webappick-product-feed-for-woocommerce/V5/Output/OutputCommands.php new file mode 100644 index 000000000..038607eb3 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Output/OutputCommands.php @@ -0,0 +1,263 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class OutputCommands extends FormatOutput { + + private $product; + /** + * @var Config $config + */ + private $config; + private $attribute; + + private $commands; + + + public function __construct( $product, $config, $attribute ) { + parent::__construct( $product, $config, $attribute ); + $this->product = $product; + $this->config = $config; + $this->attribute = $attribute; + } + + /** + * Remove shortcodes from string. + * + * @param string $output + * @param string $command + * + * @return string + */ + private function replace_string( $output, $command, $type = 'str_replace' ) { + + if ( strpos( $command, $type ) && strpos( $this->commands, $type ) ) { + $command = $this->commands; + } + + $args = explode( '=>', $command, 3 ); + if ( array_key_exists( 1, $args ) && array_key_exists( 2, $args ) ) { + + list( $argument1, $argument2 ) = array_map( 'trim', array( $args[1], $args[2] ) ); + + if ( false !== strpos( $args[1], 'comma' ) ) { + $argument1 = str_replace( 'comma', ',', $args[1] ); + } + + if ( false !== strpos( $args[2], 'comma' ) ) { + $argument2 = str_replace( 'comma', ',', $args[2] ); + } + if ( 'str_replace' === $type ) { + $output = str_replace( (string) $argument1, (string) $argument2, $output ); + } else { + $output = preg_replace( wp_unslash( $argument1 ), wp_unslash( $argument2 ), $output ); + } + } + + return $output; + } + + /** + * Number Format Output. + * + * @param string $output + * @param string $command + * + * @return string + */ + public function format_number( $output, $command ) { + if ( ! empty( $output ) ) { + $args = explode( ' ', $command, 4 ); + $arguments = array( 0 => '' ); + + if ( isset( $args[1] ) ) { + $arguments[1] = $args[1]; + } + + if ( isset( $args[2] ) && 'point' === $args[2] ) { + $arguments[2] = '.'; + } elseif ( isset( $args[2] ) && 'comma' === $args[2] ) { + $arguments[2] = ','; + } elseif ( isset( $args[2] ) && 'space' === $args[2] ) { + $arguments[2] = ' '; + } + + if ( isset( $args[3] ) && 'point' === $args[3] ) { + $arguments[3] = '.'; + } elseif ( isset( $args[3] ) && 'comma' === $args[3] ) { + $arguments[3] = ','; + } elseif ( isset( $args[3] ) && 'space' === $args[3] ) { + $arguments[3] = ' '; + } else { + $arguments[3] = ''; + } + + if ( isset( $arguments[1], $arguments[2], $arguments[3] ) ) { + $output = number_format( $output, $arguments[1], $arguments[2], $arguments[3] ); + } elseif ( isset( $arguments[1], $arguments[2] ) ) { + $output = number_format( $output, $arguments[1], $arguments[2], $arguments[3] ); + } elseif ( isset( $arguments[1] ) ) { + $output = number_format( $output, $arguments[1] ); + } else { + $output = number_format( $output ); + } + } + + return $output; + } + + /** + * Remove shortcodes from string. + * + * @param string $string String to remove shortcodes from. + * + * @return array + */ + + public function get_functions( $string ) { + $functions = explode( ',', $string ); + $funArray = array(); + if ( count( $functions ) ) { + foreach ( $functions as $value ) { + if ( ! empty( $value ) ) { + $funArray['formatter'][] = FeedHelper::get_string_between( $value, '[', ']' ); + } + } + } + + return $funArray; + } + + + /** + * php function from string. + * + * @param string $string String to remove shortcodes from. + * + * @return string + */ + public function get_function( $string ) { + $function = explode( ' ', $string ); + + return $function[0]; + } + + /** + * @param $string + * + * Get function command for str_replace + * + * @return mixed|string + */ + public function get_function_command( $string ) { + if ( strpos( $string, '=>' ) !== false ) { + $this->commands = $string; + $function = explode( '=>', $string ); + + return $function[0]; + } + + return $string; + } + + /** + * Process commands. + * + * @param $output + * @param $commands + * + * @return array|false|mixed|string|string[]|null + */ + public function process_command( $output, $commands ) { + // Custom Template 2 return commands as array + if ( ! is_array( $commands ) ) { + $commands = $this->get_functions( $commands ); + } + + foreach ( $commands['formatter'] as $command ) { + if ( ! empty( $command ) ) { + + $function = $this->get_function( $command ); + $function = $this->get_function_command( $function ); + + switch ( $function ) { + case 'substr': + $args = preg_split( '/\s+/', $command ); + $output = CommonHelper::strip_all_tags( $output ); + $output = substr( $output, $args[1], $args[2] ); + break; + case 'strip_tags': + $output = CommonHelper::strip_all_tags( $output ); + break; + case 'htmlentities': + $output = htmlentities( $output ); + break; + case 'clear': + $output = CommonHelper::strip_invalid_xml( $output ); + break; + case 'ucwords': + $output = ucwords( mb_strtolower( $output ) ); + break; + case 'ucfirst': + $output = ucfirst( mb_strtolower( $output ) ); + break; + case 'strtoupper': + $output = mb_strtoupper( $output ); + break; + case 'strtolower': + $output = mb_strtolower( $output ); + break; + case 'strip_shortcodes': + $output = CommonHelper::remove_shortcodes( $output ); + break; + case 'number_format': + $output = $this->format_number( $output, $command ); + break; + case 'urltounsecure': + if ( strpos( $output, 'http' ) === 0 ) { + $output = str_replace( 'https://', 'http://', $output ); + } + break; + case 'urltosecure': + if ( strpos( $output, 'http' ) === 0 ) { + $output = str_replace( 'http://', 'https://', $output ); + } + break; + case 'str_replace': + $output = $this->replace_string( $output, $command ); + break; + case 'preg_replace': + $output = $this->replace_string( $output, $command, 'preg_replace' ); + break; + case 'only_parent'; + $output = $this->get_only_parent( $output ); + break; + case 'parent_if_empty'; + $output = $this->get_parent_if_empty( $output ); + break; + case 'parent'; + $output = $this->get_parent( $output ); + break; + default: + break; + } + } + } + + return $output; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Output/WPOptions.php b/plugins/webappick-product-feed-for-woocommerce/V5/Output/WPOptions.php new file mode 100644 index 000000000..8c7360867 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Output/WPOptions.php @@ -0,0 +1,114 @@ + + * @link https://azizulhasan.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class WPOptions { + + public static $option_lists = []; + + /** + * Save WP Option. + * + * @param array $WPOptions + * + * @return array + */ + public static function saveWPOption( $WPOptions ) { + self::set_option(); + $option_name = ''; + if ( count( $WPOptions ) ) { + // Save option name. + foreach ( $WPOptions as $index => $name ) { + $option_name = AttributeValueByType::WP_OPTION_PREFIX . $name; + $_data = get_option( $name ); + self::$option_lists[ $name ] = [ + 'option_id' => $name, + 'option_name' => $option_name, + 'option_value' => $_data, + ]; + update_option( $option_name, self::$option_lists[ $name ] ); + } + } + + self::update_option( self::$option_lists ); + + Woo_Feed_Notices :: woo_feed_newly_added_wp_options_notice_data(); + + return self::$option_lists; + } + + + public static function getWPOptions() { + self::$option_lists = get_option( AttributeValueByType::WP_OPTION_NAME, [] ); + foreach ( self::$option_lists as $option_name => $option_value ) { + if ( ! isset( self::$option_lists[ $option_name ]['option_value'] ) ) { + self::$option_lists[ $option_name ]['option_value'] = get_option( $option_name ); + } + } + + return self::$option_lists; + } + + /** + * Delete WP Option. + * + * @param $options + * + * @return bool + */ + public static function deleteWPOption( $options ) { + $option_name = ''; + self::$option_lists = self::getWPOptions(); + foreach ( $options as $option ) { + if ( isset( self::$option_lists[ $option ] ) ) { + unset( self::$option_lists[ $option ] ); + } + $option_name = AttributeValueByType::WP_OPTION_PREFIX . $option; + delete_option( $option_name ); + } + WPOptionBase::update_option( self::$option_lists ); + + return self::$option_lists; + } + + + /** + * @return void + */ + public static function set_option() { + self::$option_lists = get_option( AttributeValueByType::WP_OPTION_NAME, [] ); + foreach ( self::$option_lists as $key => $option ) { + if ( ! array_key_exists( 'option_value', self::$option_lists[ $key ] ) ) { + self::$option_lists[ $key ]['option_value'] = get_option( $option['option_id'] ); + } + } + } + + + /** + * @param $option_lists + * + * @return void + */ + public static function update_option( $option_lists = [] ) { + update_option( AttributeValueByType::WP_OPTION_NAME, $option_lists ); + self::set_option(); + } + + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Override/AdmarktTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Override/AdmarktTemplate.php new file mode 100644 index 000000000..ff9e8f455 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Override/AdmarktTemplate.php @@ -0,0 +1,45 @@ +get_feed_file_type() == 'xml' ) { + $title = str_replace( '&', '&', $title ); + } + + return $title; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Override/Advance.php b/plugins/webappick-product-feed-for-woocommerce/V5/Override/Advance.php new file mode 100644 index 000000000..1d94ed511 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Override/Advance.php @@ -0,0 +1,65 @@ +remove_outofstock_product(); + } else { + $outOfStockEnabled = $config['is_outOfStock']; + } + + if ( ! $product instanceof \WC_Product ) { + return $value; + } + + if ( $outOfStockEnabled && $product->is_type( 'variable' ) && $product->has_child() ) { + $attr = "pa_" . $attr; + $child_ids = $product->get_children(); + $variationAttributes = array_keys( $product->get_variation_attributes() ); + + if ( ! in_array( $attr, $variationAttributes ) ) { + return $value; + } + + $newValue = []; //reset the value to concat by child values + foreach ( $child_ids as $id ) { + $child_product = wc_get_product( $id ); + $attr_value = $child_product->get_attribute( $attr ); + + if ( ! empty( $attr_value ) && ( $child_product->is_in_stock() || ( $child_product->managing_stock() && 0 < $child_product->get_stock_quantity() ) ) ) { + $newValue [] = $attr_value; + } + } + $value = ! empty( $newValue ) ? implode( ', ', $newValue ) : $value; + } + + return $value; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Override/BestpriceTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Override/BestpriceTemplate.php new file mode 100644 index 000000000..9d0ef3b59 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Override/BestpriceTemplate.php @@ -0,0 +1,14 @@ + []]; + } + + $item['option_value']['feedrules'] = $parsed_rules; + + return $item; + } + + public function woo_feed_insert_feed_data_callback( $feed_rules, $old_feed, $feed_option_name ) { + + $parsed_rules = FeedHelper::parse_feed_rules( $feed_rules ); + + return $parsed_rules; + } + + /** + * Function to remove single and double quotes from product description if the feed type is CSV. + * + * @param string $description The original product description. + * @param object $product The product object (not used in the function). + * @param object $config The configuration object containing feed information. + * @param object $parent_product The parent product object (not used in the function). + * @return string The sanitized product description without single and double quotes. + */ + function remove_enclosure_from_description( $description, $product, $config, $parent_product ){ + if( $config->feed_info['option_value']['feedrules']['feedType'] === 'csv' ){ + + if( $config->feed_info['option_value']['feedrules']['enclosure'] === 'single' ){ + $description = str_replace(["'"], '"', $description); + }elseif ( $config->feed_info['option_value']['feedrules']['enclosure'] === 'double' ){ + $description = str_replace(['"'], "'", $description); + } + + } + + return $description; + } + + /** + * Function to remove single and double quotes from product title if the feed type is CSV. + * + * @param string $title The original product title. + * @param object $product The product object (not used in the function). + * @param object $config The configuration object containing feed information. + * @return string The sanitized product title without single and double quotes. + */ + function remove_enclosure_from_title( $title, $product, $config ){ + if( $config->feed_info['option_value']['feedrules']['feedType'] === 'csv' ){ + $title = str_replace(["'", '"'], '', $title); + } + + return $title; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Override/DaisyconTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Override/DaisyconTemplate.php new file mode 100644 index 000000000..10fe34165 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Override/DaisyconTemplate.php @@ -0,0 +1,14 @@ +is_type( 'variation' ) && $parent->is_type( 'variable' ) ) { + $attributes = array(); + + foreach ( $parent->get_attributes() as $slug => $value ) {// phpcs:ignore + $attribute = $product->get_attribute( $slug ); + + if ( empty( $attribute ) ) { + continue; + } + + $attributes[ $slug ] = $attribute; + } + + // set variation attributes with separator. + $separator = ','; + $variation_attributes = implode( $separator, $attributes ); + + $description .= ' ' . $variation_attributes; + } + + return $description; + } + + /** + * Modify product availability date. + * + * @param string $availability_date availability date. + * @return string + */ + public function woo_feed_filter_product_availability_date_callback( $availability_date ) { + return gmdate( 'c', strtotime( $availability_date ) ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Override/GoogleTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Override/GoogleTemplate.php new file mode 100644 index 000000000..970784f8f --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Override/GoogleTemplate.php @@ -0,0 +1,220 @@ +attributes ) { + $attributes = $config->attributes; + } + + if ( ! $attributes ) { + return $output; + } + + $key = array_search( $product_attribute, $attributes, true ); + + // ! empty( $key ) this condition is removed because it is not working for 0 index. + if ( isset( $config->suffix ) && array_key_exists( $key, $config->suffix ) ) { + $unit = $config->suffix[ $key ]; + + if ( ! empty( $unit ) && ! empty( $output ) ) { + $output .= ' ' . $unit; + } elseif ( ! empty( $wc_unit ) && ! empty( $output ) ) { + $output .= $wc_unit; + } + } + + return $output; + } + + /** + * Google Shopping Product Description Character limit: max 5000. + * + * @param string $description product description. + * @return string + * @link https://webappick.atlassian.net/browse/CBT-150 + */ + public function woo_feed_filter_product_description_callback( $description ) { + return is_null( $description ) ? '' : substr($description, 0, 5000); + } + + /** + * Modify product title for google merchant. + * + * @param string $title product title. + * @return string + */ + public function woo_feed_filter_product_title_callback( $title ) { + + // Google Shopping Product Title Character limit: max 150. + $title = mb_substr($title, 0, 150, 'UTF-8'); + + return $title; + } + + /** + * Set (-) as separator for this merchant. + * + * @param $separator string attribute separator. + * + * @return string + */ + public function woo_feed_attribute_separator_callback( $separator ) { + return ' - '; + } + + /** + * Set (_) as separator for google merchant. + * + * @param string $status product start. + * @return string + */ + public function woo_feed_filter_product_availability_callback( $status ) { + $status = explode( ' ', $status ); + $status = implode( '_', $status ); + + return $status; + } + + /** + * Modify product availability date. + * + * @param string $availability_date availability date. + * @return string + */ + public function woo_feed_filter_product_availability_date_callback( $availability_date ) { + return gmdate( 'c', strtotime( $availability_date ) ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Override/Heureka_skTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Override/Heureka_skTemplate.php new file mode 100644 index 000000000..ba1292095 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Override/Heureka_skTemplate.php @@ -0,0 +1,15 @@ + '2', + 'decimal_separator' => '.', + 'thousand_separator' => '', + ); + } + + /** + * Modify product images as per idealo feed. + * + * @param string $images product images. + * @return string + */ + public function woo_feed_filter_product_images_callback( $images ) { + return str_replace( ',', ';', $images ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Override/OverrideFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Override/OverrideFactory.php new file mode 100644 index 000000000..35a59a1f4 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Override/OverrideFactory.php @@ -0,0 +1,53 @@ +get_feed_template() ) . 'Template'; + + if ( class_exists( $class ) ) { + return new $class; + } + + return false; + } + + /** + * Exclude Feed URL from Caching. + * + * @return CTXFeed\Compatibility\ExcludeCaching + */ + public static function excludeCache() {//phpcs:ignore + return new ExcludeCaching; + } + + /** + * Exclude Feed URL from Caching. + * + * @return \CTXFeed\V5\Override\Advance + */ + public static function Advance() {//phpcs:ignore + return new Advance; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Override/PinterestTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Override/PinterestTemplate.php new file mode 100644 index 000000000..22e07a938 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Override/PinterestTemplate.php @@ -0,0 +1,101 @@ +attributes ) { + $attributes = $config->attributes; + } + + if ( ! $attributes ) { + return $output; + } + + $key = array_search( $product_attribute, $attributes, true ); + + // ! empty( $key ) this condition is removed because it is not working for 0 index. + if ( isset( $config->suffix ) && array_key_exists( $key, $config->suffix ) ) { + $unit = $config->suffix[ $key ]; + + if ( ! empty( $unit ) && ! empty( $output ) ) { + $output .= ' ' . $unit; + } elseif ( ! empty( $wc_unit ) && ! empty( $output ) ) { + $output .= $wc_unit; + } + } + + return $output; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Override/TrovaprezziTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Override/TrovaprezziTemplate.php new file mode 100644 index 000000000..3b75f2ba6 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Override/TrovaprezziTemplate.php @@ -0,0 +1,14 @@ +product = $product; + $this->config = $config; + } + + /** + * Get Regular Price. + * + * @return int|string + */ + public function regular_price() { + return $this->get_group_product_price( 'regular_price' ); + } + + /** + * Get Price. + * + * @return int|string + */ + public function price() { + return $this->get_group_product_price( 'price' ); + } + + /** + * Get Sale Price. + * + * @return int|string + */ + public function sale_price() { + return $this->get_group_product_price( 'sale_price' ); + } + + /** + * Get Grouped Product Price. + * + * @param string $price_type price type (regular_price|price|sale_price). + * @return float + */ + protected function get_group_product_price( $price_type = 'price' ) {// phpcs:ignore + $group_product_ids = $this->product->get_children(); + $price = 0; + + if ( ! empty( $group_product_ids ) ) { + foreach ( $group_product_ids as $id ) { + $product = wc_get_product( $id ); + + if ( ! is_object( $product ) ) { + continue; // make sure that the product exists. + } + + switch ( $price_type ) { + case 'regular_price': + $get_price = $product->get_regular_price(); + + break; + + case 'sale_price': + $get_price = $product->get_sale_price(); + + break; + + default: + $get_price = $product->get_price(); + + break; + } + + if ( empty( $get_price ) ) { + continue; + } + + $get_price = (float) $get_price; + $price += $get_price; + } + } + + if ( $price === 0 ) { + $price = ''; + } + + return $price; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Price/IconicBundleProductPrice.php b/plugins/webappick-product-feed-for-woocommerce/V5/Price/IconicBundleProductPrice.php new file mode 100644 index 000000000..165580a17 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Price/IconicBundleProductPrice.php @@ -0,0 +1,147 @@ +product = $product; + $this->config = $config; + + if ( class_exists( 'WC_Product_Bundled' ) ) { + $this->bundle = new WC_Product_Bundled( $this->product->get_id() ); + } + } + + /** + * Get Bundle Product Price. + * + * @param bool $tax + * + * @return int|string + */ + public function bundle_price( $price_type = 'price', $tax = false ) { + + if ( ! class_exists( 'WC_Product_Bundled' ) ) { + return $this->product->get_price(); + } + + $price = $this->product->get_price(); + + $price_display = ( ! is_null( $this->bundle->options['price_display'] ) ) ? $this->bundle->options['price_display'] : ''; + $product_ids = $this->bundle->options['product_ids']; + + //Set discount + $discount = 0; + if ( ! empty( $this->bundle->options['fixed_discount'] ) ) { + $discount = $this->bundle->options['fixed_discount']; + } + + // Get price + if ( is_array( $product_ids ) ) { + $prices = []; + foreach ( $product_ids as $pid ) { + $product = wc_get_product( $pid ); + switch ( $price_type ) { + case 'regular_price': + $prices[] = $product->get_regular_price(); + break; + case 'sale_price': + $prices[] = $product->get_sale_price(); + break; + default: + $prices[] = $product->get_price(); + break; + } + } + + if ( 'range' === $price_display ) { + $price = min( $prices ); + } else { + $price = array_sum( $prices ); + } + } + + // Get sale price if discount enabled + if ( $discount && 'regular_price' !== $price_type ) { + $price -= $discount; + } + + $price = $this->convert_currency( $price, $price_type ); + $price = $this->add_tax( $price, false ); + + return $price > 0 ? $price : ''; + } + + /** + * Get Regular Price. + * + * @param bool $tax + * + * @return int|string + */ + public function regular_price( $tax = false ) { + return $this->bundle_price( 'regular_price', $tax ); + } + + /** + * Get Price. + * + * @param bool $tax + * + * @return int|string + */ + public function price( $tax = false ) { + return $this->bundle_price( 'price', $tax ); + } + + /** + * Get Sale Price. + * + * @param bool $tax + * + * @return int|string + */ + public function sale_price( $tax = false ) { + return $this->bundle_price( 'sale_price', $tax ); + } + + /** + * Convert Currency. + * + * @param $price + * @param string $price_type price type (regular_price|price|sale_price) + * + * @return mixed|void + */ + public function convert_currency( $price, $price_type ) { + + return apply_filters( 'woo_feed_wcml_price', + $price, $this->product->get_id(), $this->config->get_feed_currency(), '_' . $price_type + ); + } + + /** + * Get Price with Tax. + * + * @return int + */ + public function add_tax( $price, $tax = false ) { + if ( true === $tax ) { + return ProductHelper::get_price_with_tax( $price, $this->product ); + } + + return $price; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Price/PriceFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Price/PriceFactory.php new file mode 100644 index 000000000..bb6f3b6dd --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Price/PriceFactory.php @@ -0,0 +1,46 @@ +is_type( 'variable' ) ) { + /** + * Variable Product does not have its price. So it depends on variations. + */ + $class = new ProductPrice( new VariableProductPrice( $product, $config ), $product ); + } elseif ( $product->is_type( 'grouped' ) ) { + /** + * Grouped Product does not have its price. So it depends on a group of simple Products. + */ + $class = new ProductPrice( new GroupProductPrice( $product, $config ), $product ); + }elseif ( is_plugin_active( 'wpc-grouped-product/wpc-grouped-product.php' ) && $product->is_type( 'woosg' ) ) { + /** + * Grouped Product does not have its price. So its depends on a group of simple Products. + * Plugin Name: WPC Grouped Product for WooCommerce. + */ + $class = new ProductPrice( new SgGroupProductPrice( $product, $config ), $product ); + } else { + /** + * Simple Product, External Product, Product Variation, YITH Composite etc. + * Note*: YITH does not auto select components. So no need to calculate component price. + */ + $class = new ProductPrice( new SimpleProductPrice( $product, $config ), $product ); + } + + return $class; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Price/PriceInterface.php b/plugins/webappick-product-feed-for-woocommerce/V5/Price/PriceInterface.php new file mode 100644 index 000000000..b17a7edf6 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Price/PriceInterface.php @@ -0,0 +1,41 @@ +price = $price; + $this->product = $product; + } + + /** + * Get regular price. + * + * @param bool $tax Tax. + * @return float + */ + public function regular_price( $tax = false ) { + $regular_price = $this->price->regular_price(); + + if ( $regular_price <= 0 ) { + return ''; + } + + // Add tax to price. + if ( $tax ) { + return wc_get_price_including_tax( $this->product, array( 'price' => $regular_price ) ); + } + + return $regular_price; + } + + /** + * Get price. + * + * @param bool $tax Tax. + * @return float + */ + public function price( $tax = false ) { + $price = $this->price->price(); + + if ( $price <= 0 ) { + return ''; + } + + // Add tax to price. + if ( $tax ) { + return wc_get_price_including_tax( $this->product, array( 'price' => $price ) ); + } + + return $price; + } + + /** + * Get sale price. + * + * @param bool $tax Tax. + * @return float + */ + public function sale_price( $tax = false ) { + $sale_price = $this->price->sale_price(); + + if ( $sale_price <= 0 ) { + return ''; + } + + // Add tax to sale price. + if ( $tax ) { + return wc_get_price_including_tax( $this->product, array( 'price' => $sale_price ) ); + } + + return $sale_price; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Price/SgGroupProductPrice.php b/plugins/webappick-product-feed-for-woocommerce/V5/Price/SgGroupProductPrice.php new file mode 100644 index 000000000..73df47e1b --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Price/SgGroupProductPrice.php @@ -0,0 +1,124 @@ +product = $product; + $this->config = $config; + } + + /** + * Get Grouped Product Price. + * + * @param $price_type + * @param $tax + * + * @return int|string + */ + protected function get_sg_group_product_price( $price_type, $tax = false ) { + $groupProductIds = get_post_meta($this->product->get_id(), 'woosg_ids', true); + $price = 0; + if ( ! empty( $groupProductIds ) ) { + foreach ( $groupProductIds as $id ) { + $child_product = wc_get_product( $id['id'] ); + if ( ! is_object( $child_product ) ) { + continue; // make sure that the product exists. + } + switch ( $price_type ) { + case 'regular_price': + $get_price = $child_product->get_regular_price(); + break; + case 'sale_price': + $get_price = $child_product->get_sale_price(); + break; + default: + $get_price = $child_product->get_price(); + break; + } + + $get_price = (float)$get_price * (float)$id['qty']; + $get_price = $this->convert_currency( $get_price, $price_type ); + $get_price = $this->add_tax( $get_price, $tax ); + if ( ! empty( $get_price ) ) { + $price += $get_price; + } + } + } + + return $price > 0 ? $price : ''; + } + + /** + * Get Regular Price. + * + * @param bool $tax + * + * @return int|string + */ + public function regular_price( $tax = false ) { + return $this->get_sg_group_product_price( 'regular_price', $tax ); + } + + /** + * Get Price. + * + * @param bool $tax + * + * @return int|string + */ + public function price( $tax = false ) { + return $this->get_sg_group_product_price( 'price', $tax ); + } + + /** + * Get Sale Price. + * + * @param bool $tax + * + * @return int|string + */ + public function sale_price( $tax = false ) { + return $this->get_sg_group_product_price( 'sale_price', $tax ); + } + + /** + * Convert Currency. + * + * @param $price + * @param string $price_type price type (regular_price|price|sale_price) + * + * @return mixed|void + */ + public function convert_currency( $price, $price_type ) { + + return apply_filters( 'woo_feed_wcml_price', + $price, $this->product->get_id(), $this->config->get_feed_currency(), '_' . $price_type + ); + } + + /** + * Get Price with Tax. + * + * @return int + */ + public function add_tax( $price, $tax = false ) { + if ( true === $tax ) { + return ProductHelper::get_price_with_tax( $price, $this->product ); + } + + return $price; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Price/SimpleProductPrice.php b/plugins/webappick-product-feed-for-woocommerce/V5/Price/SimpleProductPrice.php new file mode 100644 index 000000000..5e8a8df93 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Price/SimpleProductPrice.php @@ -0,0 +1,63 @@ +product = $product; + $this->config = $config; + } + + /** + * Get Regular Price. + * + * @return string + */ + public function regular_price() { + return $this->product->get_regular_price(); + } + + /** + * Get Price. + * + * @return string + */ + public function price() { + return $this->product->get_price(); + } + + /** + * Get Sale Price. + * + * @return string + */ + public function sale_price() { + return $this->product->get_sale_price(); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Price/SubscriptionProductPrice.php b/plugins/webappick-product-feed-for-woocommerce/V5/Price/SubscriptionProductPrice.php new file mode 100644 index 000000000..7f9dcb33e --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Price/SubscriptionProductPrice.php @@ -0,0 +1,5 @@ +product = $product; + $this->config = $config; + } + + /** + * Get Regular Price. + * + * @return float|int + */ + public function regular_price() { + return $this->variation_price_by_type( 'regular_price' ); + } + + /** + * Get Price. + * + * @return float + */ + public function price() { + return $this->variation_price_by_type( 'price' ); + } + + /** + * Get Sale Price. + * + * @return float|int + */ + public function sale_price() { + $sale_price = $this->variation_price_by_type( 'sale_price' ); + return apply_filters( 'woo_feed_parent_product_sale_price', $sale_price, $this->product, $this->config, false, 'sale_price' ); + } + + /** + * Get First Variation Price. + * + * @param string $price_type Price Type (regular_price|price|sale_price). + * @return int + */ + private function variation_price_by_type( $price_type = 'price' ) { + $price = ''; + $min_max_first = $this->config->variable_price; + $prices = $this->product->get_variation_prices( true ); + + if ( $price_type === 'sale_price' && $prices['sale_price'] === $prices['regular_price'] ) { + return $price; + } + + if ( empty( $prices[ $price_type ] ) ) { + return $price; + } + + $prices_by_type = $prices[ $price_type ]; + $prices_by_type = array_values( $prices_by_type ); + + if ( $min_max_first === 'min' ) { + return min( $prices_by_type ); + } + + if ( $min_max_first === 'max' ) { + return max( $prices_by_type ); + } + + $prices_by_type = array_values( $prices_by_type ); + + return $prices_by_type[0]; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Price/WCCompositeProductPrice.php b/plugins/webappick-product-feed-for-woocommerce/V5/Price/WCCompositeProductPrice.php new file mode 100644 index 000000000..276a132a0 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Price/WCCompositeProductPrice.php @@ -0,0 +1,122 @@ +product = $product; + $this->config = $config; + } + + /** + * Get Composite Price. + * + * @param bool $tax + * + * @return float|int + */ + public function composite_price( $price_type = 'price', $tax = false ) { + + $method = 'get_'.$price_type; + // Parent Component Price + $price = ''; + if( $this->product instanceof WC_Product ) { + $price = $this->product->$method(); + } + + if ( ! class_exists( 'WC_Product_Composite' ) ) { + return $price; + } + if ( isset( $this->config->feed_info['option_value']['feedrules']['composite_price'] ) && 'all_product_price' === $this->config->feed_info['option_value']['feedrules']['composite_price'] ) { + $composite = new WC_Product_Composite( $this->product ); + if ( 'regular_price' === $price_type ) { + $price = $composite->get_regular_price(); + } else { + $price = $composite->get_price(); + } + + // Get WooCommerce Multi language Price by Currency. + $price = $this->convert_currency( $price, $price_type ); + + // Get Price with tax + $price = $this->add_tax( $price, $tax ); + } + + return $price > 0 ? $price : ''; + } + + /** + * Get Regular Price. + * + * @param bool $tax + * + * @return float|int|string + */ + public function regular_price( $tax = false ) { + return $this->composite_price( 'regular_price', $tax ); + } + + /** + * Get Price. + * + * @param bool $tax + * + * @return float|int|string + */ + public function price( $tax = false ) { + return $this->composite_price( 'price', $tax ); + } + + /** + * Get Sale Price. + * + * @param bool $tax + * + * @return float|int|string + */ + public function sale_price( $tax = false ) { + return $this->composite_price( 'sale_price', $tax ); + } + + /** + * Convert Currency. + * + * @param $price + * @param string $price_type price type (regular_price|price|sale_price) + * + * @return mixed|void + */ + public function convert_currency( $price, $price_type ) { + + return apply_filters( 'woo_feed_wcml_price', + $price, $this->product->get_id(), $this->config->get_feed_currency(), '_' . $price_type + ); + } + + /** + * Get Price with Tax. + * + * @return float|int + */ + public function add_tax( $price, $tax = false ) { + if ( true === $tax ) { + return ProductHelper::get_price_with_tax( $price, $this->product ); + } + + return $price; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Product/AttributeValueByType.php b/plugins/webappick-product-feed-for-woocommerce/V5/Product/AttributeValueByType.php new file mode 100644 index 000000000..570aec7e1 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Product/AttributeValueByType.php @@ -0,0 +1,484 @@ +attribute = $attribute; + $this->merchant_attribute = $merchant_attribute; + $this->product = $product; + $this->config = $config; + + $this->parent_product = $parent_product;// phpcs:ignore + $this->product_info = new ProductInfo( $this->product, $this->config, $this->parent_product ); + $this->format_output = new FormatOutput( $this->product, $this->config, $this->attribute, $this->parent_product ); + $this->format_command = new OutputCommands( $this->product, $this->config, $this->attribute, $this->parent_product ); + } + + /** + * Get product attribute value by attribute type. + * + * Determines the attribute value based on its type and the associated product. The method + * leverages different helper classes and methods to compute the value, including custom + * and dynamic attributes. + * + * @param string $attr Optional. The attribute to get the value of. + * + * @return mixed The value of the attribute, processed and filtered. + * @throws \Exception If the attribute type is not recognized. + */ + public function get_value( $attr = '' ) { + if ( ! empty( $attr ) ) { + $this->attribute = $attr; + } + + if ( $this->attribute === null ) { + $this->attribute = ''; + } + + if ( method_exists( $this->product_info, $this->attribute ) ) { + $output = $this->product_info->{$this->attribute}(); + } elseif ( strpos( $this->attribute, self::PRODUCT_EXTRA_ATTRIBUTE_PREFIX ) !== false ) { + $attribute = str_replace( self::PRODUCT_EXTRA_ATTRIBUTE_PREFIX, '', $this->attribute ); + + return apply_filters( "woo_feed_get_extra_{$attribute}_attribute", '', $this->product, $this->config ); + } elseif ( false !== strpos( $this->attribute, 'csv_tax_' ) ) { + $key = str_replace( 'csv_tax_', '', $this->attribute ); + $output = $this->product_info->tax( (string) $key ); + } elseif ( false !== strpos( $this->attribute, 'csv_shipping_' ) ) { + $key = str_replace( 'csv_shipping_', '', $this->attribute ); + $output = $this->product_info->shipping( (string) $key ); + } elseif ( false !== strpos( $this->attribute, self::PRODUCT_ACF_FIELDS ) ) { + $output = ProductHelper::get_acf_field( $this->product, $this->attribute ); + } elseif ( false !== strpos( $this->attribute, self::PRODUCT_ATTRIBUTE_MAPPING_PREFIX ) ) { + //$output = ProductHelper::get_attribute_mapping( $this->product, $this->attribute, $this->merchant_attribute, $this->config ); + $output = AttributeMapping::getMappingValue( $this->attribute, $this->merchant_attribute, $this->product, $this->config, $this->parent_product ); + //die($output); + } elseif ( false !== strpos( $this->attribute, self::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX ) ) { + //$output = ProductHelper::get_dynamic_attribute( $this->product, $this->attribute, $this->merchant_attribute, $this->config ); + $output = DynamicAttributes::getDynamicAttributeValue( $this->attribute, $this->merchant_attribute, $this->product, $this->config, $this->parent_product); + } elseif ( false !== strpos( $this->attribute, self::PRODUCT_CUSTOM_IDENTIFIER ) || woo_feed_strpos_array( array( + '_identifier_gtin', + '_identifier_ean', + '_identifier_mpn' + ), $this->attribute ) ) { + + $output = ProductHelper::get_custom_field( $this->attribute, $this->product, $this->config ); + + } elseif ( false !== strpos( $this->attribute, self::PRODUCT_ATTRIBUTE_PREFIX ) ) { + $this->attribute = str_replace( self::PRODUCT_ATTRIBUTE_PREFIX, '', $this->attribute ); + $output = ProductHelper::get_product_attribute( $this->attribute, $this->product, $this->config ); + } elseif ( false !== strpos( $this->attribute, self::POST_META_PREFIX ) ) { + $this->attribute = str_replace( self::POST_META_PREFIX, '', $this->attribute ); + $output = ProductHelper::get_product_meta( $this->attribute, $this->product, $this->config ); + $this->attribute = self::POST_META_PREFIX . $this->attribute; + } elseif ( false !== strpos( $this->attribute, self::PRODUCT_TAXONOMY_PREFIX ) ) { + $this->attribute = str_replace( self::PRODUCT_TAXONOMY_PREFIX, '', $this->attribute ); + $output = ProductHelper::get_product_taxonomy( $this->attribute, $this->product, $this->config ); + //[For getting exact attribute name need to added "PRODUCT_TAXONOMY_PREFIX" which is removed before cz in ProductHelper check '$productAttribute !== $str_replace['subject']', 'Jira tkt: CTX-656'] + $this->attribute = self::PRODUCT_TAXONOMY_PREFIX . $this->attribute; + } elseif ( false !== strpos( $this->attribute, self::PRODUCT_CATEGORY_MAPPING_PREFIX ) ) { + $id = $this->product->is_type( 'variation' ) ? $this->product->get_parent_id() : $this->product->get_id(); + //$output = ProductHelper::get_category_mapping( $this->attribute, $id ); + $output = CategoryMapping::getCategoryMappingValue( $this->attribute, $id ); + } elseif ( false !== strpos( $this->attribute, self::WP_OPTION_PREFIX ) ) { + $optionName = str_replace( self::WP_OPTION_PREFIX, '', $this->attribute ); + $output = get_option( $optionName ); + } elseif ( strpos( $this->attribute, 'image_' ) === 0 ) { + // For additional image method images() will be used with extra parameter - image number + $imageKey = explode( '_', $this->attribute ); + if ( empty( $imageKey[1] ) || ! is_numeric( $imageKey[1] ) ) { + $imageKey[1] = ''; + } + $output = $this->product_info->images( $imageKey[1] ); + } elseif ( $this->attribute == 'identifier_exists' ) { + $output = ProductHelper::overwrite_identifier_exists( $this->attribute, $this->product, $this->config ); + + } else { + $output = $this->get_attribute_value_by_type(); + } + + return $this->process_output( $output ); + } + + /** + * Process and format the output based on configuration settings. + * + * @param mixed $output The initial output to be processed. + * + * @return string Processed output. + */ + protected function process_output( $output ) { + if ( is_array( $output ) ) { + $output = wp_json_encode( $output ); + } + + if ( $this->config->get_string_replace() ) { + $output = ProductHelper::str_replace( $output, $this->attribute, $this->config ); + } + + $output_types = $this->config->get_attribute_output_types( $this->attribute, $this->merchant_attribute ); + + if ( ! empty( $output_types ) ) { + $output = $this->format_output->get_output( $output, $output_types ); + } + + $output_commands = $this->config->get_attribute_commands( $this->attribute, $this->merchant_attribute ); + + if ( ! empty( $output_commands ) ) { + $output = $this->format_command->process_command( $output, $output_commands ); + } + + $output = ProductHelper::add_prefix_suffix( $output, $this->attribute, $this->config, $this->merchant_attribute ); + + return $this->apply_filters_to_attribute_value( $output, $this->merchant_attribute ); + } + + /** + * Get the value of an attribute based on its type. + * + * This method handles various attribute types including custom fields, taxonomy, + * category mapping, and more. + * + * @return mixed The value of the attribute. + * @throws \Exception If the attribute type is not recognized. + */ + protected function get_attribute_value_by_type() {// phpcs:ignore + if ( strpos( $this->attribute, 'csv_tax_' ) !== false ) { + $key = str_replace( 'csv_tax_', '', $this->attribute ); + $output = $this->product_info->tax( (string) $key ); + } elseif ( strpos( $this->attribute, 'csv_shipping_' ) !== false ) { + $key = str_replace( 'csv_shipping_', '', $this->attribute ); + $output = $this->product_info->shipping( (string) $key ); + } elseif ( strpos( $this->attribute, self::PRODUCT_ACF_FIELDS ) !== false ) { + $output = ProductHelper::get_acf_field( $this->product, $this->attribute ); + } elseif ( strpos( $this->attribute, self::PRODUCT_ATTRIBUTE_MAPPING_PREFIX ) !== false ) { + $output = AttributeMapping::getMappingValue( $this->attribute, $this->merchant_attribute, $this->product, $this->config, $this->parent_product ); + } elseif ( strpos( $this->attribute, self::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX ) !== false ) { + $output = DynamicAttributes::getDynamicAttributeValue( $this->attribute, $this->merchant_attribute, $this->product, $this->config, $this->parent_product ); + } elseif ( strpos( $this->attribute, self::PRODUCT_CUSTOM_IDENTIFIER ) !== false || woo_feed_strpos_array( + array( '_identifier_gtin', '_identifier_ean', '_identifier_mpn' ), + $this->attribute + ) ) { + $output = ProductHelper::get_custom_filed( $this->attribute, $this->product, $this->config ); + } elseif ( strpos( $this->attribute, self::PRODUCT_ATTRIBUTE_PREFIX ) !== false ) { + $this->attribute = str_replace( self::PRODUCT_ATTRIBUTE_PREFIX, '', $this->attribute ); + $output = ProductHelper::get_product_attribute( $this->attribute, $this->product, $this->config ); + } elseif ( strpos( $this->attribute, self::POST_META_PREFIX ) !== false ) { + $this->attribute = str_replace( self::POST_META_PREFIX, '', $this->attribute ); + $output = ProductHelper::get_product_meta( $this->attribute, $this->product, $this->config ); + } elseif ( strpos( $this->attribute, self::PRODUCT_TAXONOMY_PREFIX ) !== false ) { + $this->attribute = str_replace( self::PRODUCT_TAXONOMY_PREFIX, '', $this->attribute ); + $output = ProductHelper::get_product_taxonomy( $this->attribute, $this->product, $this->config ); + } elseif ( strpos( $this->attribute, self::PRODUCT_CATEGORY_MAPPING_PREFIX ) !== false ) { + $id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $id = $this->product->get_parent_id(); + } + + $output = CategoryMapping::getCategoryMappingValue( $this->attribute, $id ); + } elseif ( strpos( $this->attribute, self::WP_OPTION_PREFIX ) !== false ) { + $option_name = str_replace( self::WP_OPTION_PREFIX, '', $this->attribute ); + $output = get_option( $option_name ); + } elseif ( strpos( $this->attribute, 'image_' ) === 0 ) { + $image_key = explode( '_', $this->attribute ); + + if ( isset( $image_key[1] ) && is_numeric( $image_key[1] ) ) { + $image_key[1] = (int) $image_key[1]; + } else { + $image_key[1] = ''; + } + + $output = $this->product_info->images( $image_key[1] ); + } elseif ( $this->attribute === 'identifier_exists' ) { + $output = ProductHelper::overwrite_identifier_exists( $this->attribute, $this->product, $this->config ); + } else { + $output = $this->attribute; + } + + return $output; + } + + /** + * Apply Filter to Attribute value + * + * @param string $output The output. + * @param string $merchant_attribute Merchant attribute. + * + * @return mixed|void + */ + protected function apply_filters_to_attribute_value( $output, $merchant_attribute = '' ) { + + $product_attribute = $this->attribute; + /** + * Filter attribute value + * + * @param string $output the output + * @param \WC_Product $product Product Object. + * @param object $config feed config/rule + * + * @since 3.4.3 + */ + $output = apply_filters( 'woo_feed_get_attribute', $output, $this->product, $this->config, $product_attribute, $merchant_attribute ); + + /** + * Filter attribute value before return based on product attribute name + * + * @param string $output the output + * @param \WC_Product $product Product Object. + * @param array $config feed config/rule + * + * @since 3.3.5 + */ + + $output = apply_filters( "woo_feed_get_{$product_attribute}_attribute", $output, $this->product, $this->config, $product_attribute, $merchant_attribute ); + + /** + * Filter attribute value before return based on merchant name + * + * @param string $output the output + * @param \WC_Product $product Product Object. + * @param array $config feed config/rule + * + * @since 3.3.5 + */ + + $output = apply_filters( "woo_feed_get_{$this->config->provider}_attribute", $output, $this->product, $this->config, $product_attribute, $merchant_attribute ); + + /** + * Filter attribute value before return based on merchant and merchant attribute name + * + * @param string $output the output + * @param \WC_Product $product Product Object. + * @param array $config feed config/rule + * + * @since 3.3.7 + */ + + $merchant_attribute = ( $merchant_attribute === null ? '' : $merchant_attribute ); + $merchant_attribute = str_replace( [ ' ', 'g:' ], '', $merchant_attribute ); + // TODO:: Google Certification Attribute. + if ( + $this->config->feed_info['option_value']['feedrules']['provider'] === 'google' + && $merchant_attribute === 'certification' + ) { + if ( $this->config->feed_info['option_value']['feedrules']['feedType'] === 'xml' ) { + + $output = array( + 'g:certification_authority' => 'EC', + 'g:certification_name' => 'EPREL', + 'g:certification_code' => $output, + ); + } else { + $output = "EC:EPREL:$output"; + } + } + + $template = $this->config->get_feed_template(); + + return apply_filters( "woo_feed_get_{$template}_{$merchant_attribute}_attribute", $output, $this->product, $this->config, $product_attribute, $merchant_attribute ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductAttributeFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductAttributeFactory.php new file mode 100644 index 000000000..6733d242c --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductAttributeFactory.php @@ -0,0 +1,778 @@ + + */ +class ProductAttributeFactory { + /** + * Hold Product Attributes. + * + * @var $attributes + */ + public $attributes; + + /** + * Get Product Attributes + * + * @return string|array + */ + public static function getAttributes() { + return self::setAttributes(); + } + + /** + * @return mixed|array + */ + private static function setAttributes() { + $attributes = []; + $primaryAttributes = [ + 'optionGroup' => esc_html__( 'Primary Attributes', 'woo-feed' ), + 'options' => [ + 'id' => esc_html__( 'Product Id', 'woo-feed' ), + 'title' => esc_html__( 'Product Title', 'woo-feed' ), + 'parent_title' => esc_html__( 'Parent Title', 'woo-feed' ), + 'description' => esc_html__( 'Product Description', 'woo-feed' ), + 'description_with_html' => esc_html__( 'Product Description (with HTML)', 'woo-feed' ), + 'short_description' => esc_html__( 'Product Short Description', 'woo-feed' ), + 'primary_category' => esc_html__( 'Parent Category', 'woo-feed' ), + 'primary_category_id' => esc_html__( 'Parent Category ID', 'woo-feed' ), + 'child_category' => esc_html__( 'Child Category', 'woo-feed' ), + 'child_category_id' => esc_html__( 'Child Category ID', 'woo-feed' ), + 'product_type' => esc_html__( 'Product Category [Category Path]', 'woo-feed' ), + 'product_full_cat' => esc_html__( 'Product Full Category [Category Full Path]', 'woo-feed' ), + 'link' => esc_html__( 'Product URL', 'woo-feed' ), + 'parent_link' => esc_html__( 'Parent URL', 'woo-feed' ), + 'canonical_link' => esc_html__( 'Canonical URL', 'woo-feed' ), + 'ex_link' => esc_html__( 'External Product URL', 'woo-feed' ), + 'add_to_cart_link' => esc_html__( 'Add to Cart URL', 'woo-feed' ), + 'item_group_id' => esc_html__( 'Parent Id [Group Id]', 'woo-feed' ), + 'sku' => esc_html__( 'SKU', 'woo-feed' ), + 'sku_id' => esc_html__( 'SKU_ID', 'woo-feed' ), + 'parent_sku' => esc_html__( 'Parent SKU', 'woo-feed' ), + 'availability' => esc_html__( 'Availability', 'woo-feed' ), + 'availability_date' => esc_html__( 'Availability Date', 'woo-feed' ), + 'quantity' => esc_html__( 'Quantity', 'woo-feed' ), + 'reviewer_name' => esc_html__( 'Reviewer Name', 'woo-feed' ), + 'weight' => esc_html__( 'Weight', 'woo-feed' ), + 'weight_unit' => esc_html__( 'Weight Unit', 'woo-feed' ), + 'width' => esc_html__( 'Width', 'woo-feed' ), + 'height' => esc_html__( 'Height', 'woo-feed' ), + 'length' => esc_html__( 'Length', 'woo-feed' ), + 'type' => esc_html__( 'Product Type', 'woo-feed' ), + 'visibility' => esc_html__( 'Visibility', 'woo-feed' ), + 'rating_total' => esc_html__( 'Total Rating', 'woo-feed' ), + 'rating_average' => esc_html__( 'Average Rating', 'woo-feed' ), + 'tags' => esc_html__( 'Tags', 'woo-feed' ), + 'is_bundle' => esc_html__( 'Is Bundle', 'woo-feed' ), + 'author_name' => esc_html__( 'Author Name', 'woo-feed' ), + 'author_email' => esc_html__( 'Author Email', 'woo-feed' ), + 'date_created' => esc_html__( 'Date Created', 'woo-feed' ), + 'date_updated' => esc_html__( 'Date Updated', 'woo-feed' ), + 'product_status' => esc_html__( 'Product Status', 'woo-feed' ), + 'featured_status' => esc_html__( 'Featured Status', 'woo-feed' ), + 'checkout_link_template' => esc_html__( 'Checkout Link Template', 'woo-feed' ), + 'gtin_upc_ean_isbn' => esc_html__( 'GTIN,UPC,EAN, or ISBN', 'woo-feed' ), + ] + ]; + + $attributes [] = $primaryAttributes; + + + $imageAttributes = [ + 'optionGroup' => esc_html__( 'Images', 'woo-feed' ), + 'options' => [ + 'image' => esc_html__( 'Main Image', 'woo-feed' ), + 'feature_image' => esc_html__( 'Featured Image', 'woo-feed' ), + 'images' => esc_html__( 'Images [Comma Separated]', 'woo-feed' ), + 'image_1' => esc_html__( 'Additional Image 1', 'woo-feed' ), + 'image_2' => esc_html__( 'Additional Image 2', 'woo-feed' ), + 'image_3' => esc_html__( 'Additional Image 3', 'woo-feed' ), + 'image_4' => esc_html__( 'Additional Image 4', 'woo-feed' ), + 'image_5' => esc_html__( 'Additional Image 5', 'woo-feed' ), + 'image_6' => esc_html__( 'Additional Image 6', 'woo-feed' ), + 'image_7' => esc_html__( 'Additional Image 7', 'woo-feed' ), + 'image_8' => esc_html__( 'Additional Image 8', 'woo-feed' ), + 'image_9' => esc_html__( 'Additional Image 9', 'woo-feed' ), + 'image_10' => esc_html__( 'Additional Image 10', 'woo-feed' ), + ], + ]; + + $attributes [] = $imageAttributes; + + $priceAttributes = [ + 'optionGroup' => esc_html__( 'Price', 'woo-feed' ), + 'options' => [ + 'currency' => esc_html__( 'Currency', 'woo-feed' ), + 'price' => esc_html__( 'Regular Price', 'woo-feed' ), + 'current_price' => esc_html__( 'Price', 'woo-feed' ), + 'sale_price' => esc_html__( 'Sale Price', 'woo-feed' ), + 'price_with_tax' => esc_html__( 'Regular Price With Tax', 'woo-feed' ), + 'current_price_with_tax' => esc_html__( 'Price With Tax', 'woo-feed' ), + 'sale_price_with_tax' => esc_html__( 'Sale Price With Tax', 'woo-feed' ), + 'sale_price_sdate' => esc_html__( 'Sale Start Date', 'woo-feed' ), + 'sale_price_edate' => esc_html__( 'Sale End Date', 'woo-feed' ), + 'sale_price_effective_date' => esc_html__( 'Sale Price Effective Date', 'woo-feed' ), + ], + ]; + + $attributes [] = $priceAttributes; + + $shippingAttributes = [ + 'optionGroup' => esc_html__( 'Shipping', 'woo-feed' ), + 'options' => [ + 'shipping' => esc_html__( 'Shipping (Google Format)', 'woo-feed' ), + 'shipping_class' => esc_html__( 'Shipping Class', 'woo-feed' ), +// 'shipping_zone_name' => esc_html__( 'Shipping Zone Name', 'woo-feed' ), +// 'shipping_country' => esc_html__( 'Shipping Country', 'woo-feed' ), +// 'shipping_region' => esc_html__( 'Shipping Regions', 'woo-feed' ), +// 'shipping_postcode' => esc_html__( 'Shipping Postcodes', 'woo-feed' ), +// 'shipping_service' => esc_html__( 'Shipping Method Name', 'woo-feed' ), +// 'shipping_price' => esc_html__( 'Shipping Cost', 'woo-feed' ), + ], + ]; + + $attributes [] = $shippingAttributes; + + $taxAttributes = [ + 'optionGroup' => esc_html__( 'Tax', 'woo-feed' ), + 'options' => [ + 'tax' => esc_html__( 'Tax (Google Format)', 'woo-feed' ), + 'tax_class' => esc_html__( 'Tax Class', 'woo-feed' ), +// 'tax_status' => esc_html__( 'Tax Status', 'woo-feed' ), +// 'tax_country' => esc_html__( 'Tax Country', 'woo-feed' ), +// 'tax_state' => esc_html__( 'Tax State', 'woo-feed' ), +// 'tax_postcode' => esc_html__( 'Tax Postcodes', 'woo-feed' ), +// 'tax_city' => esc_html__( 'Tax City', 'woo-feed' ), +// 'tax_rate' => esc_html__( 'Tax Rate', 'woo-feed' ), +// 'tax_label' => esc_html__( 'Tax Name', 'woo-feed' ), + ], + ]; + + $attributes [] = $taxAttributes; + + $subscriptionAttributes = [ + 'optionGroup' => esc_html__( 'Subscription & Installment', 'woo-feed' ), + 'options' => [ + 'subscription_period' => esc_html__( 'Subscription Period', 'woo-feed' ), + 'subscription_period_interval' => esc_html__( 'Subscription Period Length', 'woo-feed' ), + 'subscription_amount' => esc_html__( 'Subscription Amount', 'woo-feed' ), + 'installment_months' => esc_html__( 'Installment Months', 'woo-feed' ), + 'installment_amount' => esc_html__( 'Installment Amount', 'woo-feed' ), + ], + ]; + + $customXMLAttributes = [ + 'optionGroup' => esc_html__( 'Custom Template 2 (XML)', 'woo-feed' ), + 'options' => [ + 'custom_xml_variations' => esc_html__( 'Product Variations', 'woo-feed' ), + 'custom_xml_images' => esc_html__( 'Product Gallery Images', 'woo-feed' ), + 'custom_xml_categories' => esc_html__( 'Product Categories', 'woo-feed' ), + ] + ]; + + /** + * Add subscription attributes if WooCommerce Subscription plugin installed. + * + * @link https://woocommerce.com/products/woocommerce-subscriptions/ + */ + if ( class_exists( 'WC_Subscriptions' ) ) { + $attributes[] = $subscriptionAttributes; + } + + $attributes[] = self::getPluginsCustomFields(); + $attributes[] = self::getUnitPriceAttributes(); + $attributes[] = self::getSeoPluginAttributes(); + $attributes[] = self::getGlobalAttributes(); + $attributes[] = self::getCustomAttributes(); + $attributes[] = self::getAllTaxonomy(); + $attributes[] = self::getAllOptions(); + // Category Mapping + $attributes[] = self::getCategoryMappedAttributes(); + // ACF Plugin custom fields getACFAttributes + $attributes[] = self::getACFAttributes(); + // Custom Fields & Post Metas + $attributes[] = self::getProductMetaKeyAttributes(); + + if ( defined( 'WOO_FEED_PRO_VERSION' ) ) { // class_exists( 'Woo_Feed_Products_v3_Pro' ) + $attributes [] = self::getMultiLanguageAttributes(); + $attributes [] = self::getMultiVendorAttributes(); + // Dynamic Attributes + $attributes[] = self::getDynamicAttributes(); + // Attribute Mappings + $attributes[] = self::getCustomMappedAttributes(); + // Custom Template 2 Attributes + $attributes [] = $customXMLAttributes; + } + + return apply_filters( 'woo_feed_product_attribute_dropdown', $attributes ); + } + + /** + * Get CTX Feed plugins Custom Fields. + * + * @return array + */ + private static function getPluginsCustomFields() { + + $custom_fields = woo_feed_product_custom_fields(); + $custom_identifier_filter = new Woo_Feed_Custom_Identifier_Filter( $custom_fields ); + $custom_identifier = iterator_to_array( $custom_identifier_filter ); + $activeAttributes = [ 'optionGroup' => esc_html__( 'Custom Fields by CTX Feed', 'woo-feed' ), ]; + if ( ! empty( $custom_identifier ) ) { + foreach ( $custom_identifier as $key => $value ) { + $activeAttributes['options'][ 'woo_feed_identifier_' . sanitize_text_field( wp_unslash( $key ) ) ] = sanitize_text_field( $value[0] ); + } + } + + return ! empty( $activeAttributes['options'] ) ? $activeAttributes : []; + } + + /** + * Get Unit Price Attributes. + * + * @return array + */ + private static function getUnitPriceAttributes() { + + $unitPriceAttributes = [ +// 'optionGroup' => esc_html__( 'Unit Price (CTX Feed)', 'woo-feed' ), +// 'options' => [ +// 'unit_price_unit' => esc_html__( 'Unit', 'woo-feed' ), +// 'unit_price_measure' => esc_html__( 'Unit Price Measure', 'woo-feed' ), +// 'unit_price_base_measure' => esc_html__( 'Unit Price Base Measure', 'woo-feed' ), +// ], + ]; + + /** + * Get Germanized for WooCommerce plugins unit attributes. + * + * @link https://wordpress.org/plugins/woocommerce-germanized/ + */ + if ( class_exists( 'WooCommerce_Germanized' ) ) { + $wcUnitPriceAttributes = [ + 'optionGroup' => esc_html__( 'Unit Price (WooCommerce Germanized)', 'woo-feed' ), + 'options' => [ + 'wc_germanized_unit_price_measure' => esc_html__( 'Unit Price Measure', 'woo-feed' ), + 'wc_germanized_unit_price_base_measure' => esc_html__( 'Unit Price Base Measure', 'woo-feed' ), + 'wc_germanized_gtin' => esc_html__( 'GTIN', 'woo-feed' ), + 'wc_germanized_mpn' => esc_html__( 'MPN', 'woo-feed' ), + ], + ]; + $unitPriceAttributes += $wcUnitPriceAttributes; + } + + return $unitPriceAttributes; + } + + /** + * Get installed SEO plugin attributes. + * + * @return array + */ + private static function getSeoPluginAttributes() { + + $seoAttributes = []; + /** + * Get Yoast SEO Plugin Attributes. + * + * @link https://wordpress.org/plugins/wordpress-seo/ + */ + if ( class_exists( 'WPSEO_Frontend' ) || class_exists( 'WPSEO_Premium' ) ) { + + $seoAttributes = [ + 'optionGroup' => esc_html__( 'Yoast SEO', 'woo-feed' ), + 'options' => [ + 'yoast_wpseo_title' => esc_html__( 'Title [Yoast SEO]', 'woo-feed' ), + 'yoast_wpseo_metadesc' => esc_html__( 'Description [Yoast SEO]', 'woo-feed' ), + 'yoast_canonical_url' => esc_html__( 'Canonical URL [Yoast SEO]', 'woo-feed' ), + 'yoast_primary_category' => esc_html__( 'Primary Category [Yoast SEO]', 'woo-feed' ), + ], + ]; + + /** + * Get Yoast WooCommerce SEO plugins Identifier Attributes. + * + * @link https://yoast.com/wordpress/plugins/yoast-woocommerce-seo/ + */ + if ( class_exists( 'Yoast_WooCommerce_SEO' ) ) { + $seoAttributes['options'] += [ + 'yoast_gtin8' => esc_html__( 'GTIN8 [Yoast SEO]', 'woo-feed' ), + 'yoast_gtin12' => esc_html__( 'GTIN12 / UPC [Yoast SEO]', 'woo-feed' ), + 'yoast_gtin13' => esc_html__( 'GTIN13 / EAN [Yoast SEO]', 'woo-feed' ), + 'yoast_gtin14' => esc_html__( 'GTIN14 / ITF-14 [Yoast SEO]', 'woo-feed' ), + 'yoast_isbn' => esc_html__( 'ISBN [Yoast SEO]', 'woo-feed' ), + 'yoast_mpn' => esc_html__( 'MPN [Yoast SEO]', 'woo-feed' ), + ]; + } + } + + if ( class_exists( 'RankMath' ) || class_exists( 'RankMathPro' ) ) { + $seoAttributes = [ + 'optionGroup' => esc_html__( 'RANK MATH SEO', 'woo-feed' ), + 'options' => [ + 'rank_math_title' => esc_html__( 'Title [RankMath SEO]', 'woo-feed' ), + 'rank_math_description' => esc_html__( 'Description [RankMath SEO]', 'woo-feed' ), + 'rank_math_canonical_url' => esc_html__( 'Canonical URL [RankMath SEO]', 'woo-feed' ) + ], + ]; + + if ( class_exists( 'RankMathPro' ) ) { + $seoAttributes['options'] += [ 'rank_math_gtin' => esc_html__( 'GTIN [RankMath Pro SEO]', 'woo-feed' ) ]; + } + } + + if ( class_exists( 'AIOSEO\Plugin\AIOSEO' ) ) { + $seoAttributes = [ + 'optionGroup' => esc_html__( 'ALL IN ONE SEO', 'woo-feed' ), + 'options' => [ + '_aioseop_title' => esc_html__( 'Title [All in One SEO]', 'woo-feed' ), + '_aioseop_description' => esc_html__( 'Description [All in One SEO]', 'woo-feed' ), + '_aioseop_canonical_url' => esc_html__( 'Canonical URL [All in One SEO]', 'woo-feed' ), + ], + ]; + } + + return $seoAttributes; + } + + /** + * Get Product Global Attributes. + * + * @retun array + */ + private static function getGlobalAttributes() { + $taxonomies = Cache::get( 'getAttributeTaxonomies' ); + if ( false === $taxonomies ) { + // Load the main attributes + $globalAttributes = wc_get_attribute_taxonomy_labels(); + if ( count( $globalAttributes ) ) { + foreach ( $globalAttributes as $key => $value ) { + $taxonomies[ AttributeValueByType::PRODUCT_ATTRIBUTE_PREFIX . 'pa_' . $key ] = $value; + } + } + Cache::set( 'getAttributeTaxonomies', $taxonomies ); + } + + return [ + 'optionGroup' => esc_html__( 'Product Attributes', 'woo-feed' ), + 'options' => $taxonomies, + ]; + } + + /** + * Get Product Custom Attributes. + * + * @retun array + */ + private static function getCustomAttributes() { + $attributes = Cache::get( 'woo_feed_dropdown_product_custom_attributes' ); + if ( false === $attributes ) { + // Get Variation Attributes + $attributes = self::queryVariationsAttributes(); + // Get Product Custom Attributes + $attributes += self::queryCustomAttributes(); + + Cache::set( 'woo_feed_dropdown_product_custom_attributes', $attributes ); + } + + return [ + 'optionGroup' => esc_html__( 'Product Custom Attributes', 'woo-feed' ), + 'options' => $attributes, + ]; + } + + /** + * Get Variation Attributes + * Local attributes will be found on variation product meta only with attribute_ suffix + */ + private static function queryVariationsAttributes() { + // Get Variation Attributes + global $wpdb; + $attributes = array(); + $sql = "SELECT DISTINCT( meta_key ) FROM $wpdb->postmeta + WHERE post_id IN ( + SELECT ID FROM $wpdb->posts WHERE post_type = 'product_variation' -- local attributes will be found on variation product meta only with attribute_ suffix + ) AND ( + meta_key LIKE 'attribute_%' -- include only product attributes from meta list + AND meta_key NOT LIKE 'attribute_pa_%' + )"; + // sanitization ok + $localAttributes = $wpdb->get_col( $sql ); // phpcs:ignore + + foreach ( $localAttributes as $localAttribute ) { + $localAttribute = str_replace( 'attribute_', '', $localAttribute ); + $attributes[ AttributeValueByType::PRODUCT_ATTRIBUTE_PREFIX . $localAttribute ] = ucwords( str_replace( '-', ' ', $localAttribute ) ); + } + + return $attributes; + } + + /** + * Get Product Custom Attributes + */ + private static function queryCustomAttributes() { + global $wpdb; + $attributes = array(); + $sql = 'SELECT meta.meta_id, meta.meta_key as name, meta.meta_value as type FROM ' . $wpdb->postmeta . ' AS meta, ' . $wpdb->posts . " AS posts WHERE meta.post_id = posts.id AND posts.post_type LIKE '%product%' AND meta.meta_key='_product_attributes';"; + $customAttributes = $wpdb->get_results( $sql ); // phpcs:ignore + if ( ! empty( $customAttributes ) ) { + foreach ( $customAttributes as $value ) { + $product_attr = maybe_unserialize( $value->type ); + if ( is_array( $product_attr ) ) { + foreach ( $product_attr as $key => $arr_value ) { + if ( strpos( $key, 'pa_' ) === false && isset( $arr_value['name'] ) ) { + $attributes[ AttributeValueByType::PRODUCT_ATTRIBUTE_PREFIX . $key ] = ucwords( str_replace( '-', ' ', $arr_value['name'] ) ); + } + } + } + } + } + + return $attributes; + } + + /** + * Get All Taxonomy + * + * @return array + */ + private static function getAllTaxonomy() { + $info = Cache::get( 'woo_feed_dropdown_product_taxonomy' ); + if ( false === $info ) { + $info = array(); + global $wp_taxonomies; + $default_excludes = array( + 'product_type', + 'product_visibility', + 'product_cat', + 'product_tag', + 'product_shipping_class', + 'translation_priority', + ); + + /** + * Exclude Taxonomy from dropdown + * + * @param array $user_excludes + * @param array $default_excludes + */ + + $user_excludes = apply_filters( 'woo_feed_dropdown_exclude_taxonomy', null, $default_excludes ); + $default_excludes = ! empty( $user_excludes ) ? array_merge( $default_excludes, $user_excludes ) : $default_excludes; + + foreach ( get_object_taxonomies( 'product' ) as $value ) { + $value = ! empty( $value ) ? trim( $value ) : $value; + if ( in_array( $value, $default_excludes, true ) || strpos( $value, 'pa_' ) !== false ) { + continue; + } + $label = isset( $wp_taxonomies[ $value ] ) ? $wp_taxonomies[ $value ]->label . " [$value]" : $value; + $info[ AttributeValueByType::PRODUCT_TAXONOMY_PREFIX . $value ] = $label; + } + + Cache::set( 'woo_feed_dropdown_product_taxonomy', $info ); + } + + return [ + 'optionGroup' => esc_html__( 'Product Taxonomies', 'woo-feed' ), + 'options' => $info, + ]; + } + + /** + * Get All Options + * + * @return array + */ + private static function getAllOptions() { + $_wp_options = wp_list_pluck( get_option( 'wpfp_option', array() ), 'option_name' ); + $_wp_options_val = str_replace( 'wf_option_', '', $_wp_options ); + $_wp_options = array_combine( $_wp_options, $_wp_options_val ); + + return [ + 'optionGroup' => esc_html__( 'Options', 'woo-feed' ), + 'options' => $_wp_options, + ]; + } + + /** + * Get Category Mappings + * + * @return array + */ + private static function getCategoryMappedAttributes() { + global $wpdb; + // Load Custom Category Mapped Attributes + $info = array(); + // query cached and escaped + $data = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name LIKE %s;", AttributeValueByType::PRODUCT_CATEGORY_MAPPING_PREFIX . '%' ) ); // phpcs:ignore + if ( count( $data ) ) { + foreach ( $data as $value ) { + $opts = maybe_unserialize( $value->option_value ); + $opts = maybe_unserialize( $opts ); + $info[ $value->option_name ] = is_array( $opts ) && isset( $opts['mappingname'] ) ? $opts['mappingname'] : str_replace( + 'wf_cmapping_', + '', + $value->option_name + ); + } + } + + return [ + 'optionGroup' => esc_html__( 'Category Mapping', 'woo-feed' ), + 'options' => $info, + ]; + } + + /** + * Get Advance Custom Field (ACF) field list + * + * @return array + */ + private static function getACFAttributes() { + $options = []; + if ( class_exists( 'ACF' ) ) { + $acf_fields = Cache::get( 'acf_field_list' ); + if ( false === $acf_fields && function_exists( 'acf_get_field_groups' ) ) { + $field_groups = acf_get_field_groups(); + foreach ( $field_groups as $group ) { + // DO NOT USE here: $fields = acf_get_fields($group['key']); + // because it causes repeater field bugs and returns "trashed" fields + $fields = get_posts( + array( + 'posts_per_page' => - 1, + 'post_type' => 'acf-field', + 'orderby' => 'menu_order', + 'order' => 'ASC', + 'suppress_filters' => true, // DO NOT allow WPML to modify the query + 'post_parent' => $group['ID'], + 'post_status' => 'any', + 'update_post_meta_cache' => false, + ) + ); + foreach ( $fields as $field ) { + $options[ 'acf_fields_' . $field->post_name ] = $field->post_title; + } + } + + Cache::set( 'acf_field_list', $options ); + } + } + + return [ + 'optionGroup' => esc_html__( 'Advance Custom Fields (ACF)', 'woo-feed' ), + 'options' => $options, + ]; + } + + /** + * Get All Custom Attributes + * + * @return array + */ + private static function getProductMetaKeyAttributes() { + $info = Cache::get( 'woo_feed_dropdown_meta_keys' ); + if ( false === $info ) { + global $wpdb; + $info = []; + // Load the main attributes. + + $default_exclude_keys = [ + // WP internals. + '_edit_lock', + '_wp_old_slug', + '_edit_last', + '_wp_old_date', + // WC internals. + '_downloadable_files', + '_sku', + '_weight', + '_width', + '_height', + '_length', + '_file_path', + '_file_paths', + '_default_attributes', + '_product_attributes', + '_children', + '_variation_description', + // ignore variation description, engine will get child product description from WC CRUD WC_Product::get_description(). + // Plugin Data. + '_wpcom_is_markdown', + // JetPack Meta. + '_yith_wcpb_bundle_data', + // Yith product bundle data. + '_et_builder_version', + // Divi builder data. + '_vc_post_settings', + // Visual Composer (WP Bakery) data. + '_enable_sidebar', + 'frs_woo_product_tabs', + // WooCommerce Custom Product Tabs http://www.skyverge.com/. + ]; + + /** + * Exclude meta keys from dropdown + * + * @param array $exclude meta keys to exclude. + * @param array $default_exclude_keys Exclude keys by default. + */ + $user_exclude = apply_filters( 'woo_feed_dropdown_exclude_meta_keys', null, $default_exclude_keys ); + + if ( is_array( $user_exclude ) && ! empty( $user_exclude ) ) { + $user_exclude = esc_sql( $user_exclude ); + $default_exclude_keys = array_merge( $default_exclude_keys, $user_exclude ); + } + + $default_exclude_keys = array_map( 'esc_sql', $default_exclude_keys ); + $exclude_keys = '\'' . implode( '\', \'', $default_exclude_keys ) . '\''; + + $default_exclude_key_patterns = [ + '%_et_pb_%', // Divi builder data + 'attribute_%', // Exclude product attributes from meta list + '_yoast_wpseo_%', // Yoast SEO Data + '_acf-%', // ACF duplicate fields + '_aioseop_%', // All In One SEO Pack Data + '_oembed%', // exclude oEmbed cache meta + '_wpml_%', // wpml metas + '_oh_add_script_%', // SOGO Add Script to Individual Pages Header Footer. + ]; + + /** + * Exclude meta key patterns from dropdown + * + * @param array $exclude meta keys to exclude. + * @param array $default_exclude_key_patterns Exclude keys by default. + */ + $user_exclude_patterns = apply_filters( 'woo_feed_dropdown_exclude_meta_keys_pattern', null, $default_exclude_key_patterns ); + if ( is_array( $user_exclude_patterns ) && ! empty( $user_exclude_patterns ) ) { + $default_exclude_key_patterns = array_merge( $default_exclude_key_patterns, $user_exclude_patterns ); + } + $exclude_key_patterns = ''; + foreach ( $default_exclude_key_patterns as $pattern ) { + $exclude_key_patterns .= $wpdb->prepare( ' AND meta_key NOT LIKE %s', $pattern ); + } + + $sql = sprintf( /** @lang text */ "SELECT DISTINCT( meta_key ) FROM %s WHERE 1=1 AND post_id IN ( SELECT ID FROM %s WHERE post_type = 'product' OR post_type = 'product_variation' ) AND ( meta_key NOT IN ( %s ) %s )", $wpdb->postmeta, $wpdb->posts, $exclude_keys, $exclude_key_patterns ); + + // sql escaped, cached + $data = $wpdb->get_results( $sql ); // phpcs:ignore + + if ( count( $data ) ) { + foreach ( $data as $value ) { + //TODO Remove ACF Fields + $info[ AttributeValueByType::POST_META_PREFIX . $value->meta_key ] = $value->meta_key; + } + } + Cache::set( 'woo_feed_dropdown_meta_keys', $info ); + } + + return [ + 'optionGroup' => esc_html__( 'Custom Fields & Post Metas', 'woo-feed' ), + 'options' => $info, + ]; + } + + /** + * Get Dynamic Attribute List + * + * @return array + */ + private static function getDynamicAttributes() { + global $wpdb; + + // Load Custom Category Mapped Attributes + $info = array(); + // query escaped and cached + $data = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name LIKE %s;", AttributeValueByType::PRODUCT_DYNAMIC_ATTRIBUTE_PREFIX . '%' ) ); // phpcs:ignore + if ( count( $data ) ) { + foreach ( $data as $value ) { + $opts = maybe_unserialize( $value->option_value ); + $opts = maybe_unserialize( $opts ); + $info[ $value->option_name ] = is_array( $opts ) && isset( $opts['wfDAttributeName'] ) ? $opts['wfDAttributeName'] : str_replace( + 'wf_dattribute_', + '', + $value->option_name + ); + } + } + + return [ + 'optionGroup' => esc_html__( 'Dynamic Attributes', 'woo-feed' ), + 'options' => $info, + ]; + } + + /** + * Get Attribute Mappings + * + * @return array + */ + private static function getCustomMappedAttributes() { + global $wpdb; + // Load Custom Category Mapped Attributes + $info = []; + // query cached and escaped + $data = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name LIKE %s;", AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX . '%' ) ); // phpcs:ignore + if ( count( $data ) ) { + foreach ( $data as $value ) { + $opts = maybe_unserialize( $value->option_value ); + $info[ $value->option_name ] = is_array( $opts ) && isset( $opts['name'] ) ? $opts['name'] : str_replace( AttributeValueByType::PRODUCT_ATTRIBUTE_MAPPING_PREFIX, '', $value->option_name ); + } + } + + return [ + 'optionGroup' => esc_html__( 'Attribute Mappings', 'woo-feed' ), + 'options' => $info, + ]; + } + + /** + * @return array + */ + private static function getMultiLanguageAttributes() { + $attributes = []; + if ( class_exists( 'SitePress' ) ) { + $attributes = [ + 'optionGroup' => esc_html__( 'WPML Attributes', 'woo-feed' ), + 'options' => [ + 'parent_id' => esc_html__( 'Parent Product ID', 'woo-feed' ) + ] + ]; + } + + return $attributes; + } + + /** + * @return array + */ + private static function getMultiVendorAttributes() { + $attributes = []; + if ( function_exists( 'woo_feed_is_multi_vendor' ) && woo_feed_is_multi_vendor() ) { + $attributes = [ + 'optionGroup' => esc_html__( 'Multi Vendor Attributes', 'woo-feed' ), + 'options' => [ + 'vendor_store_name' => esc_html__( 'Vendor Store Name', 'woo-feed' ) + ] + ]; + } + + return $attributes; + } +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductFactory.php new file mode 100644 index 000000000..14f0a5459 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductFactory.php @@ -0,0 +1,177 @@ +get_feed_file_name(), 'Getting Products Information.' ); + Logs::write_log( $config->get_feed_file_name(), 'Validating Product' ); + + /** + * Load Merchant Template Override File. + * + * Based current feed config all filters in the "ProductInfo" class will be added to respective class + * Example: If template is "google" then "Override\GoogleTemplate" class will be initialized + * and all filter from "ProductInfo" class will be applied for Google merchant specific requirement. + */ + OverrideFactory::TemplateOverride( $config ); + + if ( $config->get_feed_template() !== 'googlereview' ) { + foreach ( $ids as $id ) { + $product = ProductHelper::get_product_object( $id, $config ); + + // If product is a variation, then get the parent product. + $parent_product = null; + if($product instanceof WC_Product) { + if ( $product && $product->is_type( 'variation' ) ) { + $parent_product = wc_get_product( $product->get_parent_id() ); + } + + // Validate Product and add for feed. + if ( ! ValidateProduct::is_valid( $product, $config, $id ) ) { + continue; + } + $product_info[] = self::get_product_info( $product, $structure, $config, array(), $parent_product ); + }else if( count( $product ) ) { + foreach ( $product as $variation ) { + + if($variation instanceof WC_Product) { + if ( $variation && $variation->is_type( 'variation' ) ) { + $parent_product = wc_get_product( $variation->get_parent_id() ); + } + + // Validate Product and add for feed. + if ( ! ValidateProduct::is_valid( $variation, $config, $id ) ) { + continue; + } + $product_info[] = self::get_product_info( $variation, $structure, $config, array(), $parent_product ); + } + } + + } + + } + } else { + $product_info[] = $structure; + } + + return FileFactory::get_file_data( $product_info, $config ); + } + + /** + * Get product information. + * + * Processes and returns information for a given product based on the specified structure and configuration. + * + * @param \WC_Product $product The product object. + * @param array $structure The structure defining the attributes to retrieve. + * @param \CTXFeed\V5\Utility\Config $config Configuration object. + * @param array $info Additional information (if any). + * @param null $parent_product The parent product object (if any). + * @return array The processed product information. + */ + + public static function get_product_info( $product, $structure, $config, $info, $parent_product = null ) { + $product_info = array(); + + foreach ( $structure as $merchant_attribute => $attribute ) { + if ( is_array( $attribute ) ) { + $product_info[ $merchant_attribute ] = self::get_product_info( $product, $attribute, $config, $info, $parent_product ); + } elseif ( $config->get_feed_file_type() === 'xml' ) { + $product_info[ $merchant_attribute ] = ProductHelper::get_attribute_value_by_type( $attribute, $product, $config, $merchant_attribute, $parent_product ); + } else { + $product_info[ $merchant_attribute ] = self::get_csv_attribute_value( $attribute, $product, $config, $merchant_attribute, $parent_product ); + } + } + + return $product_info; + } + + /** + * Get CSV attribute value. + * + * Retrieves the value of a CSV-formatted attribute for a product. + * + * @param string $attribute The attribute to be processed. + * @param mixed $product The product object. + * @param \CTXFeed\V5\Utility\Config $config Configuration object. + * @param mixed $merchant_attribute Merchant-specific attribute information. + * @param null $parent_product The parent product object (if any). + * @return mixed The value of the attribute or void if not found. + */ + public static function get_csv_attribute_value( + $attribute, + $product, + $config, + $merchant_attribute, + $parent_product = null + ) { + if ( ! $attribute ) { + $attribute = ''; + } + + $values = array(); + + // Check if attribute contains a comma and process accordingly + if ( strpos( $attribute, ',' ) !== false ) { + $separator = ','; + $attributes = explode( ',', $attribute ); + + foreach ( $attributes as $attr ) { + if ( strpos( $attr, ':' ) !== false ) { + $values[] = self::get_csv_attribute_value( $attr, $product, $config, $merchant_attribute ); + } else { + $values[] = ProductHelper::get_attribute_value_by_type( $attr, $product, $config, $merchant_attribute, $parent_product ); + } + } + + return implode( $separator, array_filter( $values ) ); + } + + // Check if attribute contains a colon and process accordingly + if ( strpos( $attribute, ':' ) !== false ) { + $separator = ':'; + $attributes = explode( ':', $attribute ); + + foreach ( $attributes as $attr ) { + $values[] = ProductHelper::get_attribute_value_by_type( $attr, $product, $config, $merchant_attribute, $parent_product ); + } + + return implode( $separator, array_filter( $values ) ); + } + + // Return the attribute value directly + return ProductHelper::get_attribute_value_by_type( $attribute, $product, $config, $merchant_attribute, $parent_product ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductInfo.php b/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductInfo.php new file mode 100644 index 000000000..6914b8e5c --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductInfo.php @@ -0,0 +1,1965 @@ +product = $product; + $this->parent_product = $parent_product; + $this->config = $config; + } + + /** + * Get product id. + * + * @return int|null + * @since 8.0.0 + */ + public function id() { + return apply_filters( 'woo_feed_filter_product_id', $this->product->get_id(), $this->product, $this->config ); + } + + /** + * Get original product id for translated products, when WPML is active. + * If WPML is not installed, then return the same id. + * If WPML is installed, then return the original product id. + * + * This attribute is only applicable for WPML. + * + * @return int|null + * @since 8.0.0 + */ + public function parent_id() { + return apply_filters( 'woo_feed_original_post_id', $this->product->get_id(), $this->product, $this->config ); + } + + /** + * Get product title. + * + * @return string + * @since 8.0.0 + */ + public function title() { + $title = CommonHelper::clean_content( $this->product->get_name() ); + + // Add all available variation attributes to variation title. + if ( $this->product->is_type( 'variation' ) && ! empty( $this->product->get_attributes() ) && $this->parent_product ) { + $title = $this->parent_product->get_title(); + /** + * Translate press plugin support. + */ + $attributes = []; + foreach ( $this->product->get_attributes() as $slug => $value ) { + $attribute = $this->product->get_attribute( $slug ); + if ( ! empty( $attribute ) ) { + $attributes[ $slug ] = $attribute; + } + } + // set variation attributes with separator. + $separator = apply_filters( 'woo_feed_attribute_separator', ' , ', $this->config, $this->product ); + $variation_attributes = implode( $separator, $attributes ); + + // get product title with variation attributes merger. + $product_title_and_attribute_merger = apply_filters( "woo_feed_product_title_and_attributes_merger", " - ", $this->product, $this->config ); + + /** + * Translate press plugin support. + * + * @since 8.0.0 + * @package CTXFeed + * @subpackage CTXFeed/V5/Product + * @see https://webappick.atlassian.net/browse/CBT-324 + * @see https://webappick.atlassian.net/browse/CBT-304 + */ + if ( class_exists( 'TRP_Translate_Press' ) ) { + $title = apply_filters( 'woo_feed_filter_product_title', $title, $this->product, $this->config ); + // Merge product title with variation attributes. + if ( ! empty( $variation_attributes ) ) { + $variation_attributes = explode('-', $variation_attributes); + if(!empty($variation_attributes)){ + foreach($variation_attributes as $key => $value){ + $variation_attribute = apply_filters( 'woo_feed_filter_product_title', $value, $this->product, $this->config ); + $title .= $product_title_and_attribute_merger . $variation_attribute; + } + } + } + return $title; + } else { + // Merge product title with variation attributes. + if ( ! empty( $variation_attributes ) ) { + $title .= $product_title_and_attribute_merger . $variation_attributes; + } + } + } + + return apply_filters( 'woo_feed_filter_product_title', $title, $this->product, $this->config ); + + } + + /** + * Get product parent title. + * + * @return string + * @since 8.0.0 + */ + public function parent_title() { + if ( $this->product->is_type( 'variation' ) && $this->parent_product ) { + $name = CommonHelper::clean_content( $this->parent_product->get_name() ); + } else { + $name = $this->title(); + } + + return apply_filters( 'woo_feed_filter_product_parent_title', $name, $this->product, $this->config ); + } + + /** + * Get product description. + * + * @return string + * @since 8.0.0 + */ + public function description() { + + /** + * Translate press plugin support. + * + * @since 8.0.0 + * @package CTXFeed + * @subpackage CTXFeed/V5/Product + * @see https://webappick.atlassian.net/browse/CBT-304 + */ + if ( class_exists( 'TRP_Translate_Press' ) ) { + $description = $this->product->get_description(); + // For variation product. + if ( ! is_null( $this->parent_product ) && $this->product->is_type( 'variation' ) && empty( $description ) ) { + $description = $this->parent_product->get_description(); + } + } else { + $description = CommonHelper::clean_content( $this->product->get_description() ); + // For variation product. + if ( ! is_null( $this->parent_product ) && $this->product->is_type( 'variation' ) && empty( $description ) ) { + $description = CommonHelper::clean_content( $this->parent_product->get_description() ); + } + } + + return apply_filters( 'woo_feed_filter_product_description', $description, $this->product, $this->config, $this->parent_product ); + } + + /** + * Get product description with HTML. + * + * @return string + * @since 8.0.0 + */ + public function description_with_html() { + $description = $this->product->get_description(); + + if ( empty( $description ) ) { + $description = $this->product->get_short_description(); + } + + // For variation product. + if ( ! is_null( $this->parent_product ) && $this->product->is_type( 'variation' ) ) { + $description = $this->parent_product->get_description(); + + if ( empty( $description ) ) { + $description = $this->parent_product->get_short_description(); + } + } + + // Remove spacial characters. + $description = wp_check_invalid_utf8( wp_specialchars_decode( $description ), true ); + + return apply_filters( 'woo_feed_filter_product_description_with_html', $description, $this->product, $this->config ); + } + + /** + * Get product short description. + * + * @return string + * @since 8.0.0 + */ + public function short_description() { + $description = CommonHelper::clean_content( $this->product->get_short_description() ); + + + // For variation product. + if ( empty( $description ) && ! is_null( $this->parent_product ) && $this->product->is_type( 'variation' ) ) { + $description = CommonHelper::clean_content( $this->parent_product->get_short_description() ); + } + + return apply_filters( 'woo_feed_filter_product_short_description', $description, $this->product, $this->config, $this->parent_product ); + } + + /** + * Get product primary category name. + * If the category is "Clothing > Shirt > T-shirt", then it will return "Clothing". + * + * @return string + * @since 8.0.0 + */ + public function primary_category() { + $primary_category = ''; + if ( $this->product->is_type( 'variation' ) && $this->parent_product ) { + $categories = $this->parent_product->get_category_ids(); + } else { + $categories = $this->product->get_category_ids(); + } + + if ( is_array( $categories ) && ! empty( $categories ) ) { +// $categories = array_reverse( $categories ); + sort( $categories ); + $primary_category = get_term_by( 'id', $categories[0], 'product_cat' ); + $primary_category = ( $primary_category ) ? $primary_category->name : $primary_category; + //$primary_category = $primary_category->name; + + } else { + // Get the default WooCommerce category + $default_category = get_term_by( 'name', 'Uncategorized', 'product_cat' ); + $primary_category = ( $default_category ) ? $default_category->name : $primary_category; + //$primary_category = $default_category->name; + } + + return apply_filters( 'woo_feed_filter_product_primary_category', $primary_category, $this->product, $this->config ); + } + + /** + * Get product categories. + * + * @return array + * @since 1.0.0 + * @deprecated 8.0.0 + */ + public function product_type() { + // Notify that this function is deprecated + // This message is generating huge amount of error log, so we are commenting it out. + // _deprecated_function( __FUNCTION__, '8.0.0', 'categories' ); + + // Optionally, you can still call the new function from the old one + return $this->categories(); + } + + /** + * Get product categories. + * + * @return array + * @since 8.0.0 + */ + public function categories() { + + $id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $id = $this->product->get_parent_id(); + } + + // Get child categories of the current parent ID + //$categories = wp_strip_all_tags( wc_get_product_category_list( $id, ' > ' ) ); + + $categories = ''; + $term_list = get_the_terms( $id, 'product_cat' ); + + $separator = apply_filters( 'woo_feed_product_type_separator', ' > ', $this->config, $this->product ); + + if ( is_array( $term_list ) ) { + $col = array_column( $term_list, "parent" ); + array_multisort( $col, SORT_ASC, $term_list ); + $term_list = array_column( $term_list, "name" ); + $categories = implode( $separator, $term_list ); + + } + + return apply_filters( 'woo_feed_filter_product_categories', $categories, $this->product, $this->config ); + } + + /** + * Format term ids to names. + * + * @param array $term_ids Term IDs to format. + * @param string $taxonomy Taxonomy name. + * + * @return string + * @since 3.1.0 + */ + public function format_term_ids( $term_ids, $taxonomy, $separator ) { + $term_ids = wp_parse_id_list( $term_ids ); + + + if ( ! count( $term_ids ) ) { + return ''; + } + + $formatted_terms = array(); + + if ( is_taxonomy_hierarchical( $taxonomy ) ) { + foreach ( $term_ids as $term_id ) { + $formatted_term = array(); + $ancestor_ids = array_reverse( get_ancestors( $term_id, $taxonomy ) ); + foreach ( $ancestor_ids as $ancestor_id ) { + $term = get_term( $ancestor_id, $taxonomy ); + if ( $term && ! is_wp_error( $term ) ) { + $formatted_term[] = $term->name; + } + } + + $term = get_term( $term_id, $taxonomy ); + + if ( $term && ! is_wp_error( $term ) ) { + $formatted_term[] = $term->name; + } + + $formatted_terms[] = implode( $separator, $formatted_term ); + } + } else { + foreach ( $term_ids as $term_id ) { + $term = get_term( $term_id, $taxonomy ); + + if ( $term && ! is_wp_error( $term ) ) { + $formatted_terms[] = $term->name; + } + } + } + + $formatted_value = ''; + + if ( count( $formatted_terms ) == 1 ) { + $formatted_value = $formatted_terms[0]; + } else { + foreach ( $formatted_terms as $terms ) { + // Ensure that the item is a string + if ( is_string( $terms ) && strlen( $terms ) > strlen( $formatted_value ) ) { + $formatted_value = $terms; + } + } + } + + return $formatted_value; + + } + + /** + * Get product primary category id. + * If the category is "Clothing > Shirt > T-shirt", then it will return term_id of "Clothing". + * + * @return string + * @since 8.0.0 + */ + public function primary_category_id() { + $primary_category = ''; + + $categories = $this->product->get_category_ids(); + + if ( ! empty( $categories ) ) { + $primary_category = get_term_by( 'id', $categories[0], 'product_cat' ); + $primary_category = $primary_category->term_id; + } else { + // Get the default WooCommerce category + $default_category = get_term_by( 'name', 'Uncategorized', 'product_cat' ); + $primary_category = $default_category->term_id; + } + + return apply_filters( 'woo_feed_filter_product_primary_category_id', $primary_category, $this->product, $this->config ); + } + + /** + * Get product child category name. + * If the category is "Clothing > Shirt > T-shirt", then it will return "T-shirt". + * + * @return string + * @since 8.0.0 + */ + public function child_category() { + $child_category = ''; + + if ( $this->product->is_type( 'variation' ) && $this->parent_product ) { + $categories = $this->parent_product->get_category_ids(); + } else { + $categories = $this->product->get_category_ids(); + } + + + if ( ! empty( $categories ) ) { + sort( $categories ); + $categories = array_reverse( $categories ); + $child_category = get_term_by( 'id', $categories[0], 'product_cat' ); + $child_category = ( $child_category ) ? $child_category->name : $child_category; + //$child_category = $child_category->name; + } else { + // Get the default WooCommerce category + $default_category = get_term_by( 'name', 'Uncategorized', 'product_cat' ); + $child_category = ( $default_category ) ? $default_category->name : $child_category; + //$child_category = $default_category->name; + } + + return apply_filters( 'woo_feed_filter_product_child_category', $child_category, $this->product, $this->config ); + } + + /** + * Get product child category id. + * If the category is "Clothing > Shirt > T-shirt", then it will return term_id of "T-shirt". + * + * @return string + * @since 8.0.0 + */ + public function child_category_id() { + $child_category = ''; + + $categories = $this->product->get_category_ids(); + + if ( ! empty( $categories ) ) { + $categories = array_reverse( $categories ); + $child_category = get_term_by( 'id', $categories[0], 'product_cat' ); + $child_category = $child_category->term_id; + } else { + // Get the default WooCommerce category + $default_category = get_term_by( 'name', 'Uncategorized', 'product_cat' ); + $child_category = $default_category->term_id; + } + + return apply_filters( 'woo_feed_filter_product_child_category_id', $child_category, $this->product, $this->config ); + } + + /** + * Get product status. + * + * @return array + * @since 8.0.0 + */ + public function product_status() { + $product_status = $this->product->get_status(); + + return apply_filters( 'woo_feed_filter_product_status', $product_status, $this->product, $this->config ); + } + + /** + * Get product featured status. + * + * @return array + * @since 8.0.0 + */ + public function featured_status() { + $featured_status = 'no'; + + if ( $this->product->is_featured() ) { + $featured_status = 'yes'; + } + + return apply_filters( 'woo_feed_filter_featured_status', $featured_status, $this->product, $this->config ); + } + + /** + * Get product full category. + * + * @return mixed|void + */ + public function product_full_cat() { + +// $id = $this->product->get_id(); +// if ( $this->product->is_type( 'variation' ) ) { +// $id = $this->product->get_parent_id(); +// } +// +// $separator = apply_filters( 'woo_feed_product_type_separator', ' > ', $this->config, $this->product ); +// +// $product_type = wp_strip_all_tags( wc_get_product_category_list( $id, $separator ) ); + + $term_ids = $this->product->get_category_ids(); + + if ( $this->product->is_type( 'variation' ) && $this->parent_product ) { + $term_ids = $this->parent_product->get_category_ids(); + } + + $separator = apply_filters( 'woo_feed_product_type_separator', ' > ', $this->config, $this->product ); + + $product_type = $this->format_term_ids( $term_ids, 'product_cat', $separator ); + + return apply_filters( 'woo_feed_filter_product_local_category', htmlspecialchars_decode( $product_type ), $this->product, $this->config ); + } + + /** + * Get product canonical permalink. + * + * @return string + * @since 8.0.0 + */ + public function canonical_link() { + $permalink = $this->parent_link(); + + return apply_filters( 'woo_feed_filter_product_canonical_link', $permalink, $this->product, $this->config ); + } + + /** + * Get product parent permalink. + * + * @return string + * @since 8.0.0 + */ + public function parent_link() { + $permalink = $this->product->get_permalink(); + + if ( $this->product->is_type( 'variation' ) && $this->parent_product ) { + $permalink = $this->parent_product->get_permalink(); + } + + // Add UTM parameter. + if ( $this->config->get_campaign_parameters() ) { + $permalink = CommonHelper::add_utm_parameter( $this->config->get_campaign_parameters(), $permalink ); + } + + return apply_filters( 'woo_feed_filter_product_parent_link', $permalink, $this->product, $this->config ); + } + + /** + * Get external product URL. + * + * @return string + * @since 8.0.0 + */ + public function ex_link() { + $external_product_url = ''; + + if ( $this->product->is_type( 'external' ) ) { + $external_product_url = $this->product->get_product_url(); + } + + return apply_filters( 'woo_feed_filter_product_ex_link', $external_product_url, $this->product, $this->config ); + } + + /** + * Get product main image url. + * + * @return string + * @since 8.0.0 + */ + /*public function image() { + $image_link = wp_get_attachment_url( $this->product->get_image_id() ); + $image_link = CTX_Helper::woo_feed_get_formatted_url( $image_link ); + + error_log( print_r( ['$image_link'=>$image_link], true ) ); + return apply_filters( 'woo_feed_filter_product_image', $image_link, $this->product, $this->config ); + }*/ + public function image() { + $image = ''; + if ( $this->product->is_type( 'variation' ) ) { + // Variation product type + if ( has_post_thumbnail( $this->product->get_id() ) ) { + $getImage = wp_get_attachment_image_src( get_post_thumbnail_id( $this->product->get_id() ), 'single-post-thumbnail' ); + $image = CTX_Helper::woo_feed_get_formatted_url( $getImage[0] ); + } elseif ( has_post_thumbnail( $this->product->get_parent_id() ) ) { + $getImage = wp_get_attachment_image_src( get_post_thumbnail_id( $this->product->get_parent_id() ), 'single-post-thumbnail' ); + $image = CTX_Helper::woo_feed_get_formatted_url( $getImage[0] ); + } + } elseif ( has_post_thumbnail( $this->product->get_id() ) ) { // All product type except variation + $getImage = wp_get_attachment_image_src( get_post_thumbnail_id( $this->product->get_id() ), 'single-post-thumbnail' ); + $image = isset( $getImage[0] ) ? CTX_Helper::woo_feed_get_formatted_url( $getImage[0] ) : ''; + } + + return apply_filters( 'woo_feed_filter_product_image', $image, $this->product, $this->config ); + } + + /** + * Get product featured image url. + * + * @return string + * @since 8.0.0 + */ + /*public function feature_image() { + if ( $this->product->is_type( 'variation' ) && $this->parent_product ) { + $image_link = wp_get_attachment_url( $this->parent_product->get_image_id() ); + if ( empty( $image_link ) ) { + $image_link = wp_get_attachment_url( $this->product->get_image_id() ); + } + } else { + $image_link = wp_get_attachment_url( $this->product->get_image_id() ); + } + + return apply_filters( 'woo_feed_filter_product_feature_image', $image_link, $this->product, $this->config ); + }*/ + public function feature_image() { + $id = $this->product->get_id(); + if ( $this->product->is_type( 'variation' ) && $this->parent_product ) { + $id = $this->product->get_parent_id(); + } + + $getImage = wp_get_attachment_image_src( get_post_thumbnail_id( $id ), 'single-post-thumbnail' ); + $image = isset( $getImage[0] ) ? CTX_Helper::woo_feed_get_formatted_url( $getImage[0] ) : ''; + + return apply_filters( 'woo_feed_filter_product_feature_image', $image, $this->product, $this->config ); + } + + /** + * Get product condition. + * + * @return string + * @since 8.0.0 + */ + public function condition() { + return apply_filters( 'woo_feed_product_condition', 'new', $this->product, $this->config ); + } + + /** + * Get a product type. + * + * @return string + * @since 8.0.0 + */ + public function type() { + return apply_filters( 'woo_feed_filter_product_type', $this->product->get_type(), $this->product, $this->config ); + } + + /** + * Get product is a bundle. + * + * @return string + * @since 8.0.0 + */ + public function is_bundle() { + $is_bundle = 'no'; + $type = $this->product->get_type(); + + if ( in_array( $type, array( 'bundle', 'bundled', 'yith_bundle', 'woosb' ), true ) ) { + $is_bundle = 'yes'; + } + + return apply_filters( 'woo_feed_filter_product_is_bundle', $is_bundle, $this->product, $this->config ); + } + + /** + * Get product is a multipack. + * + * @return string + * @since 8.0.0 + */ + public function multipack() { + $is_multipack = ''; + + if ( $this->product->is_type( 'grouped' ) && ! empty( $this->product->get_children() ) ) { + $is_multipack = count( $this->product->get_children() ); + } + + return apply_filters( 'woo_feed_filter_product_is_multipack', $is_multipack, $this->product, $this->config ); + } + + /** + * Get product visibility. + * + * @return string + * @since 8.0.0 + */ + public function visibility() { + return apply_filters( 'woo_feed_filter_product_visibility', $this->product->get_catalog_visibility(), $this->product, $this->config ); + } + + /** + * Get product rating total. + * + * @return string + * @since 8.0.0 + */ + public function rating_total() { + return apply_filters( 'woo_feed_filter_product_rating_total', $this->product->get_rating_count(), $this->product, $this->config ); + } + + /** + * Get product rating average. + * + * @return string + * @since 8.0.0 + */ + public function rating_average() { + return apply_filters( 'woo_feed_filter_product_rating_average', $this->product->get_average_rating(), $this->product, $this->config ); + } + + /** + * Get product total sold. + * + * @return string + * @since 8.0.0 + */ + public function total_sold() { + return apply_filters( 'woo_feed_filter_product_total_sold', $this->product->get_total_sales(), $this->product, $this->config ); + } + + /** + * Get comma separated product tags. + * + * @return string + * @since 8.0.0 + */ + public function tags() { + $tags = ''; + + if ( $this->product->is_type( 'variation' ) ) { + $tags = wp_strip_all_tags( wc_get_product_tag_list( $this->product->get_parent_id(), ',', '', '' ) ); + } else { + $tags = wp_strip_all_tags( wc_get_product_tag_list( $this->product->get_id(), ',', '', '' ) ); + } + + return apply_filters( 'woo_feed_filter_product_tags', $tags, $this->product, $this->config ); + } + + /** + * Get product group id. + * + * @return int + * @since 8.0.0 + */ + public function item_group_id() { + $id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $id = $this->product->get_parent_id(); + } + + return apply_filters( 'woo_feed_filter_product_item_group_id', $id, $this->product, $this->config ); + } + + /** + * Get product SKU. + * + * @return string + * @since 8.0.0 + */ + public function sku() { + return apply_filters( 'woo_feed_filter_product_sku', $this->product->get_sku(), $this->product, $this->config ); + } + + /** + * Get product SKU_ID. + * + * @return string + * @since 8.0.0 + */ + public function sku_id() { + $sku = $this->product->get_sku(); + $id = $this->product->get_id(); + $sku_id = $id; + + if ( ! empty( $sku ) ) { + $sku_id = $sku . '_' . $id; + } + + return apply_filters( 'woo_feed_filter_product_sku_id', $sku_id, $this->product, $this->config ); + } + + /** + * Get product parent SKU. + * + * @return string + * @since 8.0.0 + */ + public function parent_sku() { + $parent_sku = $this->product->get_sku(); + + if ( $this->product->is_type( 'variation' ) && $this->parent_product ) { + $parent_sku = $this->parent_product->get_sku(); + } + + return apply_filters( 'woo_feed_filter_product_parent_sku', $parent_sku, $this->product, $this->config ); + } + + /** + * Get product availability status. + * + * @return string + * @since 8.0.0 + */ + public function availability() { + $status = $this->product->get_stock_status(); + + if ( 'instock' === $status ) { + $status = 'in stock'; + } elseif ( 'outofstock' === $status ) { + $status = 'out of stock'; + } elseif ( 'onbackorder' === $status ) { + $status = 'backorder'; + } + + return apply_filters( 'woo_feed_filter_product_availability', $status, $this->product, $this->config ); + } + + /** + * Get product availability date. + * + * @return string + * @since 8.0.0 + */ + public function availability_date() { + $availability_date_settings = Settings::get( 'woo_feed_identifier' ); + $availability_date_status = $availability_date_settings['availability_date']; + + if ( $availability_date_status === 'disable' || $this->product->get_stock_status() !== 'onbackorder' ) { + return ''; + } + + $meta_field_name = 'woo_feed_availability_date'; + + if ( $this->product->is_type( 'variation' ) ) { + $meta_field_name .= '_var'; + } + + $availability_date = get_post_meta( $this->product->get_id(), $meta_field_name, true ); + + $availability_date = gmdate( 'c', strtotime( $availability_date ) ); + + return apply_filters( 'woo_feed_filter_product_availability_date', $availability_date, $this->product, $this->config ); + } + + /** + * Get product availability date. + * + * @return string + * @since 8.0.0 + */ + public function add_to_cart_link() { + $cart_parameters = array( 'add-to-cart' => $this->product->get_id() ); + $add_to_cart_link = $this->product->add_to_cart_url(); + $add_to_cart_link = add_query_arg( $cart_parameters, $add_to_cart_link ); + $utm_parameters = $this->config->get_campaign_parameters(); + $add_to_cart_link = CommonHelper::add_utm_parameter( $utm_parameters, $add_to_cart_link ); + + return apply_filters( 'woo_feed_filter_product_add_to_cart_link', $add_to_cart_link, $this->product, $this->config ); + } + + /** + * Get a permalink with UTM parameter. + * + * @return array + * @since 8.0.0 + */ + public function link() { + $permalink = $this->product->get_permalink(); + + // Add UTM parameter. + if ( $this->config->get_campaign_parameters() ) { + $permalink = CommonHelper::add_utm_parameter( $this->config->get_campaign_parameters(), $permalink ); + } + + return apply_filters( 'woo_feed_filter_product_link', $permalink, $this->product, $this->config ); + } + + /** + * Get product quantity. + * + * @return int + * @since 8.0.0 + */ + public function quantity() {// phpcs:ignore + $quantity = $this->product->get_stock_quantity(); + $status = $this->product->get_stock_status(); + + if ( 'instock' === $status && $quantity === null) { + $quantity = 1; + } + + if ( 'outofstock' === $status && $quantity === null ) { + $quantity = 0; + } + + if ( $this->product->is_type( 'variable' ) ) { + + $variable_qty_type = $this->config->variable_quantity; + + // Get the IDs of the product variations + $variation_ids = $this->product->get_visible_children(); + + // Use array_map to get the quantities of each variation + + $variations_quantities = array_map( + static function ( $variation_id ) { + $stock = get_post_meta( $variation_id, '_stock', true ); + + if ( $stock === '' ) { + $stock = 0; + } + + return $stock; + }, + $variation_ids + ); + + if ( empty( $variations_quantities ) ) { + $quantity = 0; + } elseif ( $variable_qty_type === 'min' ) { + $quantity = min( $variations_quantities ); + } elseif ( $variable_qty_type === 'max' ) { + $quantity = max( $variations_quantities ); + } elseif ( $variable_qty_type === 'first' ) { + + $quantity = $variations_quantities[0]; + } else { + $quantity = array_sum( $variations_quantities ); + } + } + + return apply_filters( 'woo_feed_filter_product_quantity', $quantity, $this->product, $this->config ); + } + + /** + * Get Store Currency. + * + * @return string + */ + public function currency() { + $store_currency = get_option( 'woocommerce_currency' ); + + return apply_filters( 'woo_feed_filter_product_currency', $store_currency, $this->product, $this->config ); + } + + /** + * Get Product Price. + * + * @return mixed + */ + public function current_price() { + $price = PriceFactory::get( $this->product, $this->config )->price(); + + return apply_filters( 'woo_feed_filter_product_price', $price, $this->product, $this->config, false, 'price' ); + } + + /** + * Get Product Regular Price. + * + * @return mixed + */ + public function price() { + $regular_price = PriceFactory::get( $this->product, $this->config )->regular_price(); + + return apply_filters( 'woo_feed_filter_product_regular_price', $regular_price, $this->product, $this->config, false, 'regular_price' ); + + } + + /** + * Get Product Regular Price with Tax. + * + * @return mixed + */ + public function price_with_tax() { + $regular_price = PriceFactory::get( $this->product, $this->config )->regular_price( true ); + + return apply_filters( 'woo_feed_filter_product_regular_price_with_tax', $regular_price, $this->product, $this->config, true, 'regular_price' ); + } + + /** + * Get Product Price with Tax. + * + * @return mixed + */ + public function current_price_with_tax() { + $price = PriceFactory::get( $this->product, $this->config )->price( true ); + + return apply_filters( 'woo_feed_filter_product_price_with_tax', $price, $this->product, $this->config, true, 'price' ); + } + + /** + * Get Product Sale Price with Tax. + * + * @return mixed + */ + public function sale_price_with_tax() { + $sale_price = PriceFactory::get( $this->product, $this->config )->sale_price( true ); + + return apply_filters( 'woo_feed_filter_product_sale_price_with_tax', $sale_price, $this->product, $this->config, true, 'sale_price' ); + } + + /** + * Get Product Sale Price. + * + * @return mixed + */ + public function sale_price() { + $sale_price = PriceFactory::get( $this->product, $this->config )->sale_price(); + + return apply_filters( 'woo_feed_filter_product_sale_price', $sale_price, $this->product, $this->config, false, 'sale_price' ); + } + + /** + * Get Product Weight. + * + * @return string + */ + public function weight() { + $weight = ''; + $weight_unit = get_option( 'woocommerce_weight_unit' ); + + if ( $this->product->get_weight() ) { + $weight = $this->product->get_weight() . ' ' . $weight_unit; + } + + return apply_filters( 'woo_feed_filter_product_weight', $weight, $this->product, $this->config ); + } + + /** + * Get Weight Unit. + * + * @return string + */ + public function weight_unit() { + return apply_filters( 'woo_feed_filter_product_weight_unit', get_option( 'woocommerce_weight_unit' ), $this->product, $this->config ); + } + + /** + * Get Product Width. + * + * @return string + */ + public function width() { + $width = ''; + $dimension_unit = get_option( 'woocommerce_dimension_unit' ); + + if ( $this->product->get_width() ) { + $width = $this->product->get_width() . " $dimension_unit"; + } + + return apply_filters( 'woo_feed_filter_product_width', $width, $this->product, $this->config ); + } + + /** + * Get Product Height. + * + * @return string + */ + public function height() { + $height = ''; + + if ( $this->product->get_height() ) { + $dimension_unit = get_option( 'woocommerce_dimension_unit' ); + $height = $this->product->get_height() . " $dimension_unit"; + } + + return apply_filters( 'woo_feed_filter_product_height', $height, $this->product, $this->config ); + } + + /** + * Get Product Length. + * + * @return string + */ + public function length() { + $length = ''; + $dimension_unit = get_option( 'woocommerce_dimension_unit' ); + + if ( $this->product->get_length() ) { + $length = $this->product->get_length() . " $dimension_unit"; + } + + return apply_filters( 'woo_feed_filter_product_length', $length, $this->product, $this->config ); + } + + /** + * Get Product checkout template URL. + * + * @return mixed|void + */ + public function checkout_link_template() { + if ( $this->config->get_feed_file_type() === 'xml' ) { + $checkout_link_url = wc_get_checkout_url() . $this->product->get_id(); + } else { + $checkout_link_url = wc_get_page_permalink( 'cart' ) . "?productId=" . $this->product->get_id(); + } + + return apply_filters( 'woo_feed_filter_product_checkout_link_url', $checkout_link_url, $this->product, $this->config ); + } + + /** Google Formatted Shipping info + * + * @return string + * @throws \Exception + */ + public function shipping( $key = '' ) { + try { + return ( ShippingFactory::get( $this->product, $this->config ) )->get_shipping( $key ); +// return apply_filters( 'woo_feed_filter_product_shipping', $shipping, $this->product, $this->config ); + } catch ( Exception $e ) { + + } + } + + /** + * Get Shipping Cost. + * + * @throws \Exception + */ + public function shipping_cost() { + // Get config to which shipping price to return (first, highest or lowest) + $shipping = ( ShippingFactory::get( $this->product, $this->config ) )->get_shipping_info(); + + $price = "0"; + if ( ! empty( $shipping ) ) { + if ( isset( $this->config->shipping_price ) ) { + if ( 'highest' === $this->config->shipping_price ) { + $price = max( wp_list_pluck( $shipping, 'price' ) ); + } elseif ( 'lowest' === $this->config->shipping_price ) { + $price = min( wp_list_pluck( $shipping, 'price' ) ); + } else { + $shipping_prices = wp_list_pluck( $shipping, 'price' ); + $price = reset( $shipping_prices ); + } + } else { + $shipping_prices = wp_list_pluck( $shipping, 'price' ); + $price = reset( $shipping_prices ); + } + } + + return apply_filters( 'woo_feed_filter_product_shipping_cost', $price, $this->product, $this->config ); + } + + /** + * Get Product Shipping Class + * + * @return mixed + * @since 3.2.0 + */ + public function shipping_class() { + return apply_filters( 'woo_feed_filter_product_shipping_class', $this->product->get_shipping_class(), $this->product, $this->config ); + } + + /** + * Get author name. + * + * @return string + */ + public function author_name() { + $post = get_post( $this->product->get_id() ); + + return get_the_author_meta( 'user_login', $post->post_author ); + } + + /** + * Get Author Email. + * + * @return string + */ + public function author_email() { + $post = get_post( $this->product->get_id() ); + + return get_the_author_meta( 'user_email', $post->post_author ); + } + + /** + * Get Date Created. + * + * @return mixed|void + */ + public function date_created() { + $date_created = gmdate( 'Y-m-d', strtotime( $this->product->get_date_created() ) ); + + return apply_filters( 'woo_feed_filter_product_date_created', $date_created, $this->product, $this->config ); + } + + /** + * Get Date updated. + * + * @return mixed|void + */ + public function date_updated() { + $date_updated = gmdate( 'Y-m-d', strtotime( $this->product->get_date_modified() ) ); + + return apply_filters( 'woo_feed_filter_product_date_updated', $date_updated, $this->product, $this->config ); + } + + /** Get Google Sale Price effective date. + * + * @return string + */ + public function sale_price_effective_date() { + $effective_date = ''; + $from = $this->sale_price_sdate(); + $to = $this->sale_price_edate(); + + if ( ! empty( $from ) && ! empty( $to ) ) { + $from = gmdate( 'c', strtotime( $from ) ); + $to = gmdate( 'c', strtotime( $to ) ); + + $effective_date = $from . '/' . $to; + } + + return apply_filters( 'woo_feed_filter_product_sale_price_effective_date', $effective_date, $this->product, $this->config ); + } + + /** + * Get Product Sale Price start date. + * + * @return string|null + */ + public function sale_price_sdate() { + $sale_price_sdate = ''; + $start_date = $this->product->get_date_on_sale_from(); + + if ( $start_date instanceof \WC_DateTime ) { + $sale_price_sdate = $start_date->date_i18n(); + } + + return apply_filters( 'woo_feed_filter_product_sale_price_sdate', $sale_price_sdate, $this->product, $this->config ); + } + + /** + * Get Product Sale Price End Date. + * + * @return mixed|void + */ + public function sale_price_edate() { + $sale_price_edate = ''; + $end_date = $this->product->get_date_on_sale_to(); + + if ( $end_date instanceof \WC_DateTime ) { + $sale_price_edate = $end_date->date_i18n(); + } + + return apply_filters( 'woo_feed_filter_product_sale_price_edate', $sale_price_edate, $this->product, $this->config ); + } + + /** + * Get product subscription period. + * + * @return string + * @since 8.0.0 + */ + public function subscription_period() { + if ( class_exists( 'WC_Subscriptions' ) ) { + return ProductHelper::get_product_meta( '_subscription_period', $this->product, $this->config ); + } + + return ''; + } + + /** + * Get product subscription period interval. + * + * @return string + * @since 8.0.0 + */ + public function subscription_period_interval() { + if ( class_exists( 'WC_Subscriptions' ) ) { + return ProductHelper::get_product_meta( '_subscription_period_interval', $this->product, $this->config ); + } + + return ''; + } + + /** + * Get product subscription amount. + * + * @return string + * @since 8.0.0 + */ + public function subscription_amount() { + return $this->product->get_price(); + } + + /** + * Get product installment amount. + * + * @return string + * @since 8.0.0 + */ + public function installment_amount() { + return $this->product->get_price(); + } + + /** + * Get product installment period. + * + * @return string + * @since 8.0.0 + */ + public function installment_months() { + if ( class_exists( 'WC_Subscriptions' ) ) { + return ProductHelper::get_product_meta( '_subscription_length', $this->product, $this->config ); + } + + return ''; + } + + /** + * Get product unit price measure. + * + * @return string + * @since 8.0.0 + */ + public function unit_price_measure() { + $unit_price_measure = ''; + $identifiers = Settings::get( 'woo_feed_identifier' ); + + if ( 'enable' === $identifiers['unit_pricing_base_measure'] + && 'enable' === $identifiers['unit_pricing_measure'] + && 'enable' === $identifiers['unit'] + ) { + $unit = ProductHelper::get_custom_field( 'woo_feed_unit', $this->product, $this->config ); + $unit_price_measure = ProductHelper::get_custom_field( 'woo_feed_unit_pricing_measure', $this->product, $this->config ); + + if ( ! empty( $unit_price_measure ) ) { + $unit_price_measure .= ' ' . $unit; + } + } + + // For WooCommerce Germanized Plugin + // TODO:: Move to compatibility class + if ( empty( $unit_price_measure ) && class_exists( 'WooCommerce_Germanized' ) ) { + $unit = ProductHelper::get_product_meta( '_unit', $this->product, $this->config ); + $unit_price_measure = ProductHelper::get_product_meta( '_unit_product', $this->product, $this->config ); + + $unit_price_measure .= ' ' . $unit; + } + + return apply_filters( 'woo_feed_filter_unit_price_measure', $unit_price_measure, $this->product, $this->config ); + } + + /** + * Get product unit price base measure. + * + * @return string + * @since 8.0.0 + */ + public function unit_price_base_measure() { + $unit_price_base_measure = ''; + $identifiers = Settings::get( 'woo_feed_identifier' ); + + if ( 'enable' === $identifiers['unit_pricing_base_measure'] + && 'enable' === $identifiers['unit_pricing_measure'] + && 'enable' === $identifiers['unit'] + ) { + + $unit = ProductHelper::get_custom_filed( 'woo_feed_unit', $this->product, $this->config ); + $unit_price_base_measure = ProductHelper::get_custom_filed( 'woo_feed_unit_pricing_base_measure', $this->product, $this->config ); + $unit_price_base_measure .= ' ' . $unit; + } + + // For WooCommerce Germanized Plugin + // TODO:: Move to compatibility class + if ( empty( $unit_price_base_measure ) && class_exists( 'WooCommerce_Germanized' ) ) { + $unit = ProductHelper::get_product_meta( '_unit', $this->product, $this->config ); + $unit_price_base_measure = ProductHelper::get_product_meta( '_unit_base', $this->product, $this->config ); + $unit_price_base_measure .= ' ' . $unit; + } + + return apply_filters( 'woo_feed_filter_unit_price_base_measure', $unit_price_base_measure, $this->product, $this->config ); + } + + /** + * Get product GTIN for WooCommerce_Germanized plugin. + * + * @return string + * @since 8.0.0 + */ + public function wc_germanized_gtin() { + $wc_germanized_gtin = ''; + $wc_germanized_gtin = ProductHelper::get_product_meta( '_ts_gtin', $this->product, $this->config ); + + return apply_filters( 'woo_feed_filter_wc_germanized_gtin', $wc_germanized_gtin, $this->product, $this->config ); + } + + /** + * Get product unit price measure for WooCommerce_Germanized plugin. + * + * @return string + * @since 8.0.0 + */ + public function wc_germanized_unit_price_measure() { + $wc_germanized_unit_price_measure = ''; + $wc_germanized_unit_price_measure = ProductHelper::get_product_meta( '_unit_product', $this->product, $this->config ); + + return apply_filters( 'woo_feed_filter_wc_germanized_unit_price_measure', $wc_germanized_unit_price_measure, $this->product, $this->config ); + } + + /** + * Get product unit price base measure for WooCommerce_Germanized plugin. + * + * @return string + * @since 8.0.0 + */ + public function wc_germanized_unit_price_base_measure() { + $wc_germanized_unit_price_base_measure = ''; + $wc_germanized_unit_price_base_measure = ProductHelper::get_product_meta( '_unit_base', $this->product, $this->config ); + + return apply_filters( 'woo_feed_filter_wc_germanized_unit_price_base_measure', $wc_germanized_unit_price_base_measure, $this->product, $this->config ); + } + + /** + * Get product MPN for WooCommerce_Germanized plugin. + * + * @return string + * @since 8.0.0 + */ + public function wc_germanized_mpn() { + $wc_germanized_mpn = ''; + $wc_germanized_mpn = ProductHelper::get_product_meta( '_ts_mpn', $this->product, $this->config ); + + return apply_filters( 'woo_feed_filter_wc_germanized_mpn', $wc_germanized_mpn, $this->product, $this->config ); + } + + public function yoast_primary_category() { + $primary_category = ''; + $product_id = CommonHelper::parent_product_id( $this->product ); + if ( class_exists( 'WPSEO_Frontend' ) ) { + $primary_term_id = yoast_get_primary_term_id( 'product_cat', $product_id ); + $term = get_term( $primary_term_id ); + if ( ! is_wp_error( $term ) && ! empty( $term ) ) { + $primary_category = $term->name; + } + } + + return apply_filters( 'woo_feed_filter_product_yoast_primary_category', $primary_category, $this->product, $this->config ); + } + + # SEO Plugins + + /** + * Get product Yoast WP SEO title. + * + * @return string + * @since 8.0.0 + */ + public function yoast_wpseo_title() { + + $product_id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $product_id = $this->product->get_parent_id(); + } + + $yoast_title = $this->title(); + + if ( class_exists( 'WPSEO_Frontend' ) ) { + $yoast_title = get_post_meta( $product_id, '_yoast_wpseo_title', true ); + + // Get an instance of WPSEO_Replace_Vars + $replace_vars = new \WPSEO_Replace_Vars; + + // Replace variables in the title + $yoast_title = $replace_vars->replace( $yoast_title, get_post( $product_id ) ); + } + + return apply_filters( 'woo_feed_filter_product_yoast_wpseo_title', $yoast_title, $this->product, $this->config ); + } + + /** + * Get product Yoast WP SEO description. + * + * @return string + * @since 8.0.0 + */ + public function yoast_wpseo_metadesc() { + + $product_id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $product_id = $this->product->get_parent_id(); + } + + $meta_description = $this->description(); + + if ( class_exists( 'WPSEO_Frontend' ) ) { + $meta_description = get_post_meta( $product_id, '_yoast_wpseo_metadesc', true ); + + // Get an instance of WPSEO_Replace_Vars + $replace_vars = new \WPSEO_Replace_Vars; + + // Replace variables in the title + $meta_description = $replace_vars->replace( $meta_description, get_post( $product_id ) ); + } + + return apply_filters( 'woo_feed_filter_product_yoast_wpseo_metadesc', $meta_description, $this->product, $this->config ); + } + + # SEO Plugins + + /** + * Get product Yoast WP SEO canonical URL. + * + * @return string + * @since 8.0.0 + */ + public function yoast_canonical_url() { + + $product_id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $product_id = $this->product->get_parent_id(); + } + + $yoast_canonical_url = ''; + if ( class_exists( 'WPSEO_Frontend' ) ) { + $yoast_canonical_url = get_post_meta( $product_id, '_yoast_wpseo_canonical', true ); + } + + return apply_filters( 'woo_feed_filter_product_yoast_canonical_url', $yoast_canonical_url, $this->product, $this->config ); + } + + /** + * Get product Yoast WP SEO GTIN8. + * + * @return string + * @since 8.0.0 + */ + public function yoast_gtin8() { + + $yoast_gtin8_value = ''; + if ( class_exists( 'WPSEO_Frontend' ) ) { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'gtin8', $this->product ); + } + + return apply_filters( 'yoast_gtin8_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO GTIN12. + * + * @return string + * @since 8.0.0 + */ + public function yoast_gtin12() { + $yoast_gtin8_value = ''; + if ( class_exists( 'WPSEO_Frontend' ) ) { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'gtin12', $this->product ); + } + + return apply_filters( 'yoast_gtin12_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO GTIN13. + * + * @return string + * @since 8.0.0 + */ + public function yoast_gtin13() { + $yoast_gtin8_value = ''; + if ( class_exists( 'WPSEO_Frontend' ) ) { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'gtin13', $this->product ); + } + + return apply_filters( 'yoast_gtin13_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO GTIN14. + * + * @return string + * @since 8.0.0 + */ + public function yoast_gtin14() { + $yoast_gtin8_value = ''; + if ( class_exists( 'WPSEO_Frontend' ) ) { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'gtin14', $this->product ); + } + + return apply_filters( 'yoast_gtin14_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO ISBN. + * + * @return string + * @since 8.0.0 + */ + public function yoast_isbn() { + $yoast_gtin8_value = ''; + if ( class_exists( 'WPSEO_Frontend' ) ) { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'isbn', $this->product ); + } + + return apply_filters( 'yoast_isbn_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO MPN. + * + * @return string + * @since 8.0.0 + */ + public function yoast_mpn() { + $yoast_gtin8_value = ''; + if ( class_exists( 'WPSEO_Frontend' ) ) { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'mpn', $this->product ); + } + + return apply_filters( 'yoast_mpn_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Rank Math Title. + * + * @return string + * @since 8.0.0 + */ + public function rank_math_title() { + $rank_title = ''; + if ( class_exists( 'RankMath' ) ) { + $title = get_post_meta( $this->product->get_id(), 'rank_math_title', true ); + if ( empty( $title ) ) { + $title_format = Helper::get_settings( "titles.pt_product_title" ); + $title_format = $title_format ? $title_format : '%title%'; + $sep = Helper::get_settings( 'titles.title_separator' ); + + $rank_title = str_replace( '%title%', $this->product->get_title(), $title_format ); + $rank_title = str_replace( '%sep%', $sep, $rank_title ); + $rank_title = str_replace( '%page%', '', $rank_title ); + $rank_title = str_replace( '%sitename%', get_bloginfo( 'name' ), $rank_title ); + } else { + $rank_title = $title; + } + } + + return apply_filters( 'woo_feed_filter_product_rank_math_title', $rank_title, $this->product, $this->config ); + } + + /** + * Get product Rank Math Description. + * + * @return string + * @since 8.0.0 + */ + public function rank_math_description() { + $description = ''; + if ( class_exists( 'RankMath' ) ) { + $description = get_post_meta( $this->product->get_id(), 'rank_math_description' ); + $desc_format = Helper::get_settings( "titles.pt_post_description" ); + + if ( empty( $description ) ) { + if ( ! empty( $desc_format ) && strpos( (string) $desc_format, 'excerpt' ) !== false ) { + $description = str_replace( '%excerpt%', get_the_excerpt( $this->product->get_id() ), $desc_format ); + } + + // Get Variation Description + if ( empty( $description ) && $this->product->is_type( 'variation' ) && $this->parent_product ) { + $description = $this->parent_product->get_description(); + } + } + + if ( is_array( $description ) ) { + $description = reset( $description ); + } + + $description = CommonHelper::remove_shortcodes( $description ); + + //strip tags and spacial characters + $strip_description = CommonHelper::strip_all_tags( wp_specialchars_decode( $description ) ); + + $description = ! empty( strlen( $strip_description ) ) && 0 < strlen( $strip_description ) ? $strip_description : $description; + } + + return apply_filters( 'woo_feed_filter_product_rank_math_description', $description, $this->product, $this->config ); + } + + /** + * Get product Rank Math Canonical URL. + * + * @return string + * @since 8.0.0 + */ + public function rank_math_canonical_url() { + $canonical_url = ''; + + if ( class_exists( 'RankMath' ) ) { + $post_canonical_url = get_post_meta( $this->product->get_id(), 'rank_math_canonical_url' ); + + if ( empty( $post_canonical_url ) ) { + $canonical_url = get_the_permalink( $this->product->get_id() ); + } else { + $canonical_url = $post_canonical_url; + } + + if ( is_array( $canonical_url ) ) { + $canonical_url = reset( $canonical_url ); + } + } + + return apply_filters( 'woo_feed_filter_product_rank_math_canonical_url', $canonical_url, $this->product, $this->config ); + } + + /** + * Get product Rank Math GTIN. + * + * @return string + * @since 8.0.0 + */ + public function rank_math_gtin() { + $product_id = CommonHelper::parent_product_id( $this->product ); + $rankmath_gtin_value = get_post_meta( $product_id, '_rank_math_gtin_code' ); + $rankmath_gtin_value = ! empty( $rankmath_gtin_value ) && is_array( $rankmath_gtin_value ) ? $rankmath_gtin_value[0] : ''; + + return apply_filters( 'rankmath_gtin_attribute_value', $rankmath_gtin_value, $this->product, $this->config ); + } + + public function _aioseop_title() { + $title = ''; + if ( is_plugin_active( 'all-in-one-seo-pack/all_in_one_seo_pack.php' ) && class_exists( 'AIOSEO\Plugin\Common\Models\Post' ) ) { + + $post = \AIOSEO\Plugin\Common\Models\Post::getPost( $this->product->get_id() ); + $title = ! empty( $post->title ) ? $post->title : aioseo()->meta->title->getPostTypeTitle( 'product' ); + } + + $title = ! empty( $title ) ? $title : $this->title(); + + return apply_filters( 'woo_feed_filter_product_aioseop_title', $title, $this->product, $this->config ); + } + + public function _aioseop_description() { + $description = ''; + + if ( is_plugin_active( 'all-in-one-seo-pack/all_in_one_seo_pack.php' ) && class_exists( 'AIOSEO\Plugin\Common\Models\Post' ) ) { + + $post = \AIOSEO\Plugin\Common\Models\Post::getPost( $this->product->get_id() ); + $description = ! empty( $post->description ) ? $post->description : aioseo()->meta->description->getPostTypeDescription( 'product' ); + } + + if ( empty( $description ) ) { + $description = $this->description(); + } + + return apply_filters( 'woo_feed_filter_product_aioseop_description', $description, $this->product, $this->config ); + } + + public function _aioseop_canonical_url() { + $aioseop_canonical_url = ''; + if ( is_plugin_active( 'all-in-one-seo-pack/all_in_one_seo_pack.php' ) && class_exists( 'AIOSEO\Plugin\Common\Models\Post' ) ) { + $post = \AIOSEO\Plugin\Common\Models\Post::getPost( $this->product->get_id() ); + $aioseop_canonical_url = $post->canonical_url; + } + + return apply_filters( 'woo_feed_filter_product_aioseop_canonical_url', $aioseop_canonical_url, $this->product, $this->config ); + } + + public function tax( $key = '' ) { + + + $taxes = TaxFactory::get( $this->product, $this->config )->get_taxes(); + $tax = TaxFactory::get( $this->product, $this->config )->merchant_formatted_tax( $key ); + + // GoogleTax and CustomTax class is available. + // For others merchant use filter hook to modify value. + return apply_filters( 'woo_feed_filter_product_tax', $tax, $this->product, $this->config, $taxes ); + } + + ############# TAX ############# + + public function tax_class() { + return apply_filters( 'woo_feed_filter_product_tax_class', $this->product->get_tax_class(), $this->product, $this->config ); + } + + public function tax_status() { + return apply_filters( 'woo_feed_filter_product_tax_status', $this->product->get_tax_status(), $this->product, $this->config ); + } + + public function tax_country() { + $taxes = TaxFactory::get( $this->product, $this->config )->get_taxes(); + $taxClass = empty( $this->product->get_tax_class() ) ? 'standard-rate' : $this->product->get_tax_class(); + $country = ""; + if ( isset( $taxes[ $taxClass ] ) && ! empty( $taxes[ $taxClass ] ) ) { + $rates = array_values( $taxes[ $taxClass ] ); + $country = $rates[0]['country']; + } + + return apply_filters( 'woo_feed_filter_product_tax_country', $country, $this->product, $this->config, $taxes ); + } + + public function tax_state() { + $taxes = TaxFactory::get( $this->product, $this->config )->get_taxes(); + $taxClass = empty( $this->product->get_tax_class() ) ? 'standard-rate' : $this->product->get_tax_class(); + $state = ""; + if ( isset( $taxes[ $taxClass ] ) && ! empty( $taxes[ $taxClass ] ) ) { + $rates = array_values( $taxes[ $taxClass ] ); + $state = $rates[0]['state']; + } + + return apply_filters( 'woo_feed_filter_product_tax_state', $state, $this->product, $this->config, $taxes ); + } + + public function tax_postcode() { + $taxes = TaxFactory::get( $this->product, $this->config )->get_taxes(); + $taxClass = empty( $this->product->get_tax_class() ) ? 'standard-rate' : $this->product->get_tax_class(); + $postcode = ""; + if ( isset( $taxes[ $taxClass ] ) && ! empty( $taxes[ $taxClass ] ) ) { + $rates = array_values( $taxes[ $taxClass ] ); + $postcode = $rates[0]['postcode']; + } + + return apply_filters( 'woo_feed_filter_product_tax_postcode', $postcode, $this->product, $this->config, $taxes ); + } + + public function tax_city() { + $taxes = TaxFactory::get( $this->product, $this->config )->get_taxes(); + $taxClass = empty( $this->product->get_tax_class() ) ? 'standard-rate' : $this->product->get_tax_class(); + $city = ""; + if ( isset( $taxes[ $taxClass ] ) && ! empty( $taxes[ $taxClass ] ) ) { + $rates = array_values( $taxes[ $taxClass ] ); + $city = $rates[0]['city']; + } + + return apply_filters( 'woo_feed_filter_product_tax_city', $city, $this->product, $this->config, $taxes ); + } + + public function tax_rate() { + $taxes = TaxFactory::get( $this->product, $this->config )->get_taxes(); + $taxClass = empty( $this->product->get_tax_class() ) ? 'standard-rate' : $this->product->get_tax_class(); + $rate = ""; + if ( isset( $taxes[ $taxClass ] ) && ! empty( $taxes[ $taxClass ] ) ) { + $rates = array_values( $taxes[ $taxClass ] ); + $rate = $rates[0]['rate']; + } + + return apply_filters( 'woo_feed_filter_product_tax_rate', $rate, $this->product, $this->config, $taxes ); + } + + public function tax_label() { + $taxes = TaxFactory::get( $this->product, $this->config )->get_taxes(); + $taxClass = empty( $this->product->get_tax_class() ) ? 'standard-rate' : $this->product->get_tax_class(); + $label = ""; + if ( isset( $taxes[ $taxClass ] ) && ! empty( $taxes[ $taxClass ] ) ) { + $rates = array_values( $taxes[ $taxClass ] ); + $label = $rates[0]['label']; + } + + return apply_filters( 'woo_feed_filter_product_tax_label', $label, $this->product, $this->config, $taxes ); + } + + /** + * Custom Template 2 images loop + * + * @return array + */ + public function custom_xml_images() { + $separator = apply_filters( 'woo_feed_filter_category_separator', ' > ', $this->product, $this->config ); + $images = $this->images( '', $separator ); + + return $images; + } + + # Custom XML Template + + /** + * Get product gallery image urls. + * + * @return string Comma separated image urls. + * @since 8.0.0 + */ + + public function images( $additional_image = '', $separator = ',' ) { + $img_urls = ProductHelper::get_product_gallery( $this->product ); + $separator = apply_filters( 'woo_feed_filter_category_separator', $separator, $this->product, $this->config ); + + // Return Specific Additional Image URL + if ( '' !== $additional_image ) { + if ( array_key_exists( $additional_image, $img_urls ) ) { + $images = $img_urls[ $additional_image ]; + } else { + $images = ''; + } + } else { + if ( "idealo" === $this->config->get_feed_template() ) { + $separator = ';'; + } + + $images = implode( $separator, array_filter( $img_urls ) ); + } + + return apply_filters( 'woo_feed_filter_product_images', $images, $this->product, $this->config ); + } + + /** + * Custom Template 2 attributes loop + * + * @return array + */ + public function custom_xml_attributes() { + $getAttributes = $this->product->get_attributes(); + $attributes = []; + if ( ! empty( $getAttributes ) ) { + foreach ( $getAttributes as $key => $attribute ) { + $attributes[ $key ]['name'] = wc_attribute_label( $key ); + $attributes[ $key ]['value'] = $this->product->get_attribute( wc_attribute_label( $key ) ); + } + } + + return $attributes; + } + + public function custom_xml_shipping() { + } + + public function custom_xml_tax() { + } + + public function custom_xml_categories() { + $output = []; // Initialising + $taxonomy = 'product_cat'; // Taxonomy for product category + + // Get the product categories terms ids in the product: + $terms_ids = wp_get_post_terms( $this->product->get_id(), $taxonomy, array( 'fields' => 'ids' ) ); + + // Loop though terms ids (product categories) + foreach ( $terms_ids as $term_id ) { + $term_names = []; // Initialising category array + + // Loop through product category ancestors + foreach ( get_ancestors( $term_id, $taxonomy ) as $ancestor_id ) { + // Add the ancestor's term names to the category array + $term_names[] = get_term( $ancestor_id, $taxonomy )->name; + } + // Add the product category term name to the category array + $term_names[] = get_term( $term_id, $taxonomy )->name; + + // Get category separator + $separator = apply_filters( 'woo_feed_filter_category_separator', ' > ', $this->product, $this->config ); + + // Add the formatted ancestors with the product category to main array + $output[] = implode( $separator, $term_names ); + } + + return $output; + } + + /** + * Get product is a bundle. + * + * @return string + * @since 8.0.0 + */ + public function gtin_upc_ean_isbn() { + + $gtin_upc_ean_isbn = get_post_meta( $this->product->get_id(), '_global_unique_id', true ); + + return apply_filters( 'woo_feed_filter_product_gtin_upc_ean_isbn', $gtin_upc_ean_isbn, $this->product, $this->config ); + } + + + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductInfos.php b/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductInfos.php new file mode 100644 index 000000000..0e1ee6f08 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Product/ProductInfos.php @@ -0,0 +1,1467 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class ProductInfos {//phpcs:ignore + + /** + * @var \WC_Product|\WC_Product_Variation|\WC_Product_Simple|\WC_Product_Grouped|\WC_Product_External|\WC_Product_Variable + */ + private $product; + + /** + * @var \WC_Product_Variable + */ + private $parent_product; + + /** + * @var \CTXFeed\V5\Utility\Config + */ + private $config; + + /** + * ProductInfos constructor. + * + * @param \WC_Product $product Product object. + * @param \CTXFeed\V5\Utility\Config $config Config object. + * @param \WC_Product_Variable $parent_product Parent product object. + * @param array $children Optional. Array of product variations. + */ + public function __construct( $product, $config, $parent_product = null, $children = array() ) { + $this->product = $product; + $this->parent_product = $parent_product; + $this->config = $config; + } + + /** + * Get product id. + * + * @return int|null + * @since 8.0.0 + */ + public function id() { + return apply_filters( 'woo_feed_filter_product_id', $this->product->get_id(), $this->product, $this->config ); + } + + /** + * Get product parent id for translated products. + * + * @return int|null + * @since 8.0.0 + */ + public function parent_id() { + return apply_filters( 'woo_feed_original_post_id', $this->product->get_parent_id(), $this->product, $this->config ); + } + + /** + * Get product title. + * + * @return string + * @since 8.0.0 + */ + public function title() { + $name = CommonHelper::clean_content( $this->product->get_name() ); + + return apply_filters( 'woo_feed_filter_product_title', $name, $this->product, $this->config ); + } + + /** + * Get product parent title. + * + * @return string + * @since 8.0.0 + */ + public function parent_title() { + $name = CommonHelper::clean_content( $this->product->get_title() ); + + if ( $this->product->is_type( 'variation' ) ) { + $name = CommonHelper::clean_content( $this->parent_product->get_title() ); + } + + return apply_filters( 'woo_feed_filter_product_parent_title', $name, $this->product, $this->config ); + } + + /** + * Get product description. + * + * @return string + * @since 8.0.0 + */ + public function description() { + $description = CommonHelper::clean_content( $this->product->get_description() ); + + // For variation product. + if ( ! is_null( $this->parent_product ) && $this->product->is_type( 'variation' ) ) { + $description = CommonHelper::clean_content( $this->parent_product->get_description() ); + } + + return apply_filters( 'woo_feed_filter_product_description', $description, $this->product, $this->config, $this->parent_product ); + } + + /** + * Get product short description. + * + * @return string + * @since 8.0.0 + */ + public function short_description() { + $description = CommonHelper::clean_content( $this->product->get_short_description() ); + + // For variation product. + if ( empty( $description ) && ! is_null( $this->parent_product ) && $this->product->is_type( 'variation' ) ) { + $description = CommonHelper::clean_content( $this->parent_product->get_short_description() ); + } + + return apply_filters( 'woo_feed_filter_product_short_description', $description, $this->product, $this->config ); + } + + /** + * Get product description with HTML. + * + * @return string + * @since 8.0.0 + */ + public function description_with_html() { + $description = $this->product->get_description(); + + if ( empty( $description ) ) { + $description = $this->product->get_short_description(); + } + + // For variation product. + if ( ! is_null( $this->parent_product ) && $this->product->is_type( 'variation' ) ) { + $description = $this->parent_product->get_description(); + + if ( empty( $description ) ) { + $description = $this->parent_product->get_short_description(); + } + } + + // Remove spacial characters. + $description = wp_check_invalid_utf8( wp_specialchars_decode( $description ), true ); + + return apply_filters( 'woo_feed_filter_product_description_with_html', $description, $this->product, $this->config ); + } + + /** + * Get product primary category name. + * If the category is "Clothing > Shirt > T-shirt", then it will return "Clothing". + * + * @return string + * @since 8.0.0 + */ + public function primary_category() { + $primary_category = ''; + + $categories = $this->product->get_category_ids(); + + if ( ! empty( $categories ) ) { + $primary_category = get_term_by( 'id', $categories[0], 'product_cat' ); + $primary_category = $primary_category->name; + } else { + // Get the default WooCommerce category + $default_category = get_term_by( 'name', 'Uncategorized', 'product_cat' ); + $primary_category = $default_category->name; + } + + return apply_filters( 'woo_feed_filter_product_primary_category', $primary_category, $this->product, $this->config ); + } + + /** + * Get product primary category id. + * If the category is "Clothing > Shirt > T-shirt", then it will return term_id of "Clothing". + * + * @return string + * @since 8.0.0 + */ + public function primary_category_id() { + $primary_category = ''; + + $categories = $this->product->get_category_ids(); + + if ( ! empty( $categories ) ) { + $primary_category = get_term_by( 'id', $categories[0], 'product_cat' ); + $primary_category = $primary_category->term_id; + } else { + // Get the default WooCommerce category + $default_category = get_term_by( 'name', 'Uncategorized', 'product_cat' ); + $primary_category = $default_category->term_id; + } + + return apply_filters( 'woo_feed_filter_product_primary_category_id', $primary_category, $this->product, $this->config ); + } + + /** + * Get product child category name. + * If the category is "Clothing > Shirt > T-shirt", then it will return "T-shirt". + * + * @return string + * @since 8.0.0 + */ + public function child_category() { + $child_category = ''; + + $categories = $this->product->get_category_ids(); + + if ( ! empty( $categories ) ) { + $categories = array_reverse( $categories ); + $child_category = get_term_by( 'id', $categories[0], 'product_cat' ); + $child_category = $child_category->name; + } else { + // Get the default WooCommerce category + $default_category = get_term_by( 'name', 'Uncategorized', 'product_cat' ); + $child_category = $default_category->name; + } + + return apply_filters( 'woo_feed_filter_product_child_category', $child_category, $this->product, $this->config ); + } + + /** + * Get product child category id. + * If the category is "Clothing > Shirt > T-shirt", then it will return term_id of "T-shirt". + * + * @return string + * @since 8.0.0 + */ + public function child_category_id() { + $child_category = ''; + + $categories = $this->product->get_category_ids(); + + if ( ! empty( $categories ) ) { + $categories = array_reverse( $categories ); + $child_category = get_term_by( 'id', $categories[0], 'product_cat' ); + $child_category = $child_category->term_id; + } else { + // Get the default WooCommerce category + $default_category = get_term_by( 'name', 'Uncategorized', 'product_cat' ); + $child_category = $default_category->term_id; + } + + return apply_filters( 'woo_feed_filter_product_child_category_id', $child_category, $this->product, $this->config ); + } + + /** + * Get product categories. + * + * @return array + * @since 8.0.0 + */ + public function categories() { + $id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $id = $this->product->get_parent_id(); + } + + // Get child categories of the current parent ID + $categories = wp_strip_all_tags( wc_get_product_category_list( $id, ' > ' ) ); + + return apply_filters( 'woo_feed_filter_product_categories', $categories, $this->product, $this->config ); + } + + /** + * Get product categories. + * + * @return array + * @since 1.0.0 + * @deprecated 8.0.0 + */ + public function product_type() { + // Notify that this function is deprecated + _deprecated_function( __FUNCTION__, '8.0.0', 'categories' ); + + // Optionally, you can still call the new function from the old one + return $this->categories(); + } + + /** + * Get product full category path. + * + * @return array + * @since 8.0.0 + */ + public function full_category_path() { + $full_category_path = ''; + + $categories = $this->product->get_category_ids(); + + if ( ! empty( $categories ) ) { + foreach ( $categories as $category ) { + $full_category_path .= get_term_by( 'id', $category, 'product_cat' )->name . ' > '; + } + + $full_category_path = rtrim( $full_category_path, ' > ' ); + } + + return apply_filters( 'woo_feed_filter_product_full_category_path', $full_category_path, $this->product, $this->config ); + } + + /** + * Get product status. + * + * @return array + * @since 8.0.0 + */ + public function product_status() { + $product_status = $this->product->get_status(); + + return apply_filters( 'woo_feed_filter_product_status', $product_status, $this->product, $this->config ); + } + + /** + * Get product featured status. + * + * @return array + * @since 8.0.0 + */ + public function featured_status() { + $featured_status = 'no'; + + if ( $this->product->is_featured() ) { + $featured_status = 'yes'; + } + + return apply_filters( 'woo_feed_filter_featured_status', $featured_status, $this->product, $this->config ); + } + + /** + * Get a permalink with UTM parameter. + * + * @return array + * @since 8.0.0 + */ + public function link() { + $permalink = $this->product->get_permalink(); + + // Add UTM parameter. + if ( $this->config->get_campaign_parameters() ) { + $permalink = CommonHelper::add_utm_parameter( $this->config->get_campaign_parameters(), $permalink ); + } + + return apply_filters( 'woo_feed_filter_product_link', $permalink, $this->product, $this->config ); + } + + /** + * Get product parent permalink. + * + * @return string + * @since 8.0.0 + */ + public function parent_link() { + $permalink = $this->product->get_permalink(); + + if ( $this->product->is_type( 'variation' ) ) { + $permalink = $this->parent_product->get_permalink(); + } + + // Add UTM parameter. + if ( $this->config->get_campaign_parameters() ) { + $permalink = CommonHelper::add_utm_parameter( $this->config->get_campaign_parameters(), $permalink ); + } + + return apply_filters( 'woo_feed_filter_product_parent_link', $permalink, $this->product, $this->config ); + } + + /** + * Get product canonical permalink. + * + * @return string + * @since 8.0.0 + */ + public function canonical_link() { + $permalink = $this->parent_link(); + + return apply_filters( 'woo_feed_filter_product_canonical_link', $permalink, $this->product, $this->config ); + } + + /** + * Get external product URL. + * + * @return string + * @since 8.0.0 + */ + public function ex_link() { + $external_product_url = ''; + + if ( $this->product->is_type( 'external' ) ) { + $external_product_url = $this->product->get_product_url(); + } + + return apply_filters( 'woo_feed_filter_product_ex_link', $external_product_url, $this->product, $this->config ); + } + + /** + * Get product main image url. + * + * @return string + * @since 8.0.0 + */ + public function image() { + $image_link = wp_get_attachment_url( $this->product->get_image_id() ); + + return apply_filters( 'woo_feed_filter_product_image', $image_link, $this->product, $this->config ); + } + + /** + * Get product featured image url. + * + * @return string + * @since 8.0.0 + */ + public function feature_image() { + $image_link = wp_get_attachment_url( $this->product->get_image_id() ); + + if ( empty( $image_link ) && $this->product->is_type( 'variation' ) ) { + $image_link = wp_get_attachment_url( $this->parent_product->get_image_id() ); + } + + return apply_filters( 'woo_feed_filter_product_feature_image', $image_link, $this->product, $this->config ); + } + + /** + * Get product gallery image urls. + * + * @return string + * @since 8.0.0 + */ + public function images() { + $urls = ''; + $gallery_image_ids = $this->product->get_gallery_image_ids(); + + if ( $this->product->is_type( 'variation' ) ) { + $gallery_image_ids = $this->parent_product->get_gallery_image_ids(); + } + + // Get product additional images as comma separated string. + if ( ! empty( $gallery_image_ids ) ) { + $urls_array = array_map( 'wp_get_attachment_url', $gallery_image_ids ); + $additional_images = ProductHelper::get_product_gallery( $this->product ); + + if ( ! empty( $additional_images ) ) { + $urls_array = array_merge( $urls_array, $additional_images ); + } + + $urls = implode( ',', $urls_array ); + } + + return apply_filters( 'woo_feed_filter_product_images', $urls, $this->product, $this->config ); + } + + /** + * Get product condition. + * + * @return string + * @since 8.0.0 + */ + public function condition() { + return apply_filters( 'woo_feed_product_condition', 'new', $this->product, $this->config ); + } + + /** + * Get a product type. + * + * @return string + * @since 8.0.0 + */ + public function type() { + return apply_filters( 'woo_feed_filter_product_type', $this->product->get_type(), $this->product, $this->config ); + } + + /** + * Get product is a bundle. + * + * @return string + * @since 8.0.0 + */ + public function is_bundle() { + $is_bundle = 'no'; + $type = $this->product->get_type(); + + if ( in_array( $type, array( 'bundle', 'bundled', 'yith_bundle', 'woosb' ), true ) ) { + $is_bundle = 'yes'; + } + + return apply_filters( 'woo_feed_filter_product_is_bundle', $is_bundle, $this->product, $this->config ); + } + + /** + * Get product is a multipack. + * + * @return string + * @since 8.0.0 + */ + public function multipack() { + $is_multipack = ''; + + if ( $this->product->is_type( 'grouped' ) && ! empty( $this->product->get_children() ) ) { + $is_multipack = count( $this->product->get_children() ); + } + + return apply_filters( 'woo_feed_filter_product_is_multipack', $is_multipack, $this->product, $this->config ); + } + + /** + * Get product visibility. + * + * @return string + * @since 8.0.0 + */ + public function visibility() { + return apply_filters( 'woo_feed_filter_product_visibility', $this->product->get_catalog_visibility(), $this->product, $this->config ); + } + + /** + * Get product rating total. + * + * @return string + * @since 8.0.0 + */ + public function rating_total() { + return apply_filters( 'woo_feed_filter_product_rating_total', $this->product->get_rating_count(), $this->product, $this->config ); + } + + /** + * Get product rating average. + * + * @return string + * @since 8.0.0 + */ + public function rating_average() { + return apply_filters( 'woo_feed_filter_product_rating_average', $this->product->get_average_rating(), $this->product, $this->config ); + } + + /** + * Get product total sold. + * + * @return string + * @since 8.0.0 + */ + public function total_sold() { + return apply_filters( 'woo_feed_filter_product_total_sold', $this->product->get_total_sales(), $this->product, $this->config ); + } + + /** + * Get comma separated product tags. + * + * @return string + * @since 8.0.0 + */ + public function tags() { + $tags = ''; + + if ( $this->product->is_type( 'variation' ) ) { + $tags = wp_strip_all_tags( wc_get_product_tag_list( $this->product->get_parent_id(), ',', '', '' ) ); + } else { + $tags = wp_strip_all_tags( wc_get_product_tag_list( $this->product->get_id(), ',', '', '' ) ); + } + + return apply_filters( 'woo_feed_filter_product_tags', $tags, $this->product, $this->config ); + } + + /** + * Get product group id. + * + * @return int + * @since 8.0.0 + */ + public function item_group_id() { + $id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $id = $this->product->get_parent_id(); + } + + return apply_filters( 'woo_feed_filter_product_item_group_id', $id, $this->product, $this->config ); + } + + /** + * Get product SKU. + * + * @return string + * @since 8.0.0 + */ + public function sku() { + return apply_filters( 'woo_feed_filter_product_sku', $this->product->get_sku(), $this->product, $this->config ); + } + + /** + * Get product SKU_ID. + * + * @return string + * @since 8.0.0 + */ + public function sku_id() { + $sku = $this->product->get_sku(); + $id = $this->product->get_id(); + $sku_id = $id; + + if ( ! empty( $sku ) ) { + $sku_id = $sku . '_' . $id; + } + + return apply_filters( 'woo_feed_filter_product_sku_id', $sku_id, $this->product, $this->config ); + } + + /** + * Get product parent SKU. + * + * @return string + * @since 8.0.0 + */ + public function parent_sku() { + $parent_sku = $this->product->get_sku(); + + if ( $this->product->is_type( 'variation' ) ) { + $parent_sku = $this->parent_product->get_sku(); + } + + return apply_filters( 'woo_feed_filter_product_parent_sku', $parent_sku, $this->product, $this->config ); + } + + /** + * Get product availability status. + * + * @return string + * @since 8.0.0 + */ + public function availability() { + $status = $this->product->get_stock_status(); + + if ( 'instock' === $status ) { + $status = 'in stock'; + } elseif ( 'outofstock' === $status ) { + $status = 'out of stock'; + } elseif ( 'onbackorder' === $status ) { + $status = 'backorder'; + } + + return apply_filters( 'woo_feed_filter_product_availability', $status, $this->product, $this->config ); + } + + /** + * Get product availability date. + * + * @return string + * @since 8.0.0 + */ + public function availability_date() { + $availability_date_settings = Settings::get( 'woo_feed_identifier' ); + $availability_date_status = $availability_date_settings['availability_date']; + + if ( $availability_date_status === 'disable' || $this->product->get_stock_status() !== 'onbackorder' ) { + return ''; + } + + $meta_field_name = 'woo_feed_availability_date'; + + if ( $this->product->is_type( 'variation' ) ) { + $meta_field_name .= '_var'; + } + + $availability_date = get_post_meta( $this->product->get_id(), $meta_field_name, true ); + + $availability_date = gmdate( 'c', strtotime( $availability_date ) ); + + return apply_filters( 'woo_feed_filter_product_availability_date', $availability_date, $this->product, $this->config ); + } + + /** + * Get product availability date. + * + * @return string + * @since 8.0.0 + */ + public function add_to_cart_link() { + $cart_parameters = array( 'add-to-cart' => $this->product->get_id() ); + $add_to_cart_link = $this->product->add_to_cart_url(); + $add_to_cart_link = add_query_arg( $cart_parameters, $add_to_cart_link ); + $utm_parameters = $this->config->get_campaign_parameters(); + $add_to_cart_link = CommonHelper::add_utm_parameter( $utm_parameters, $add_to_cart_link ); + + return apply_filters( 'woo_feed_filter_product_add_to_cart_link', $add_to_cart_link, $this->product, $this->config ); + } + + /** + * Get product quantity. + * + * @return int + * @since 8.0.0 + */ + /** + * Get product quantity. + * + * @return int + * @since 8.0.0 + */ + public function quantity() {// phpcs:ignore + $quantity = $this->product->get_stock_quantity(); + + if ( $this->product->is_type( 'variation' ) ) { + $quantity = $this->parent_product->get_stock_quantity(); + } + + if ( $quantity === null ) { + $quantity = 0; + } + + if ( $this->product->is_type( 'variable' ) ) { + + $variable_qty_type = $this->config->variable_quantity; + + // Get the IDs of the product variations + $variation_ids = $this->product->get_visible_children(); + + // Use array_map to get the quantities of each variation + + $variations_quantities = array_map( + static function ( $variation_id ) { + $stock = get_post_meta( $variation_id, '_stock', true ); + + if ( $stock === '' ) { + $stock = 0; + } + + return $stock; + }, + $variation_ids + ); + + if ( empty( $variations_quantities ) ) { + $quantity = 0; + } elseif ( $variable_qty_type === 'min' ) { + $quantity = min( $variations_quantities ); + } elseif ( $variable_qty_type === 'max' ) { + $quantity = max( $variations_quantities ); + } elseif ( $variable_qty_type === 'first' ) { + + $quantity = $variations_quantities[0]; + } else { + $quantity = array_sum( $variations_quantities ); + } + } + + return apply_filters( 'woo_feed_filter_product_quantity', $quantity, $this->product, $this->config ); + } + + /** + * Get Store Currency. + * + * @return string + */ + public function currency() { + $store_currency = get_option( 'woocommerce_currency' ); + + return apply_filters( 'woo_feed_filter_product_currency', $store_currency, $this->product, $this->config ); + } + + /** + * Get Product Sale Price start date. + * + * @return string|null + */ + public function sale_price_sdate() { + $sale_price_sdate = ''; + $start_date = $this->product->get_date_on_sale_from(); + + if ( $start_date instanceof WC_DateTime ) { + $sale_price_sdate = $start_date->date_i18n(); + } + + return apply_filters( 'woo_feed_filter_product_sale_price_sdate', $sale_price_sdate, $this->product, $this->config ); + } + + /** + * Get Product Sale Price End Date. + * + * @return mixed|void + */ + public function sale_price_edate() { + $sale_price_edate = ''; + $end_date = $this->product->get_date_on_sale_to(); + + if ( $end_date instanceof WC_DateTime ) { + $sale_price_edate = $end_date->date_i18n(); + } + + return apply_filters( 'woo_feed_filter_product_sale_price_edate', $sale_price_edate, $this->product, $this->config ); + } + + /** + * Get Product Regular Price. + * + * @return mixed + */ + public function price() { + $regular_price = PriceFactory::get( $this->product, $this->config )->regular_price(); + + return apply_filters( 'woo_feed_filter_product_regular_price', $regular_price, $this->product, $this->config, false, 'regular_price' ); + } + + /** + * Get Product Price. + * + * @return mixed + */ + public function current_price() { + $price = PriceFactory::get( $this->product, $this->config )->price(); + + return apply_filters( 'woo_feed_filter_product_price', $price, $this->product, $this->config, false, 'price' ); + } + + /** + * Get Product Sale Price. + * + * @return mixed + */ + public function sale_price() { + $sale_price = PriceFactory::get( $this->product, $this->config )->sale_price(); + + return apply_filters( 'woo_feed_filter_product_sale_price', $sale_price, $this->product, $this->config, false, 'sale_price' ); + } + + /** + * Get Product Regular Price with Tax. + * + * @return mixed + */ + public function price_with_tax() { + $regular_price = PriceFactory::get( $this->product, $this->config )->regular_price( true ); + + return apply_filters( 'woo_feed_filter_product_regular_price_with_tax', $regular_price, $this->product, $this->config, true, 'regular_price' ); + } + + /** + * Get Product Price with Tax. + * + * @return mixed + */ + public function current_price_with_tax() { + $price = PriceFactory::get( $this->product, $this->config )->price( true ); + + return apply_filters( 'woo_feed_filter_product_price_with_tax', $price, $this->product, $this->config, true, 'price' ); + } + + /** + * Get Product Sale Price with Tax. + * + * @return mixed + */ + public function sale_price_with_tax() { + $sale_price = PriceFactory::get( $this->product, $this->config )->sale_price( true ); + + return apply_filters( 'woo_feed_filter_product_sale_price_with_tax', $sale_price, $this->product, $this->config, true, 'sale_price' ); + } + + /** + * Get Product Weight. + * + * @return string + */ + public function weight() { + $weight = ''; + $weight_unit = get_option( 'woocommerce_weight_unit' ); + + if ( $this->product->get_weight() ) { + $weight = $this->product->get_weight() . ' ' . $weight_unit; + } + + return apply_filters( 'woo_feed_filter_product_weight', $weight, $this->product, $this->config ); + } + + /** + * Get Weight Unit. + * + * @return string + */ + public function weight_unit() { + return apply_filters( 'woo_feed_filter_product_weight_unit', get_option( 'woocommerce_weight_unit' ), $this->product, $this->config ); + } + + /** + * Get Product Width. + * + * @return string + */ + public function width() { + $width = ''; + $dimension_unit = get_option( 'woocommerce_dimension_unit' ); + + if ( $this->product->get_width() ) { + $width = $this->product->get_width() . " $dimension_unit"; + } + + return apply_filters( 'woo_feed_filter_product_width', $width, $this->product, $this->config ); + } + + /** + * Get Product Height. + * + * @return string + */ + public function height() { + $height = ''; + + if ( $this->product->get_height() ) { + $dimension_unit = get_option( 'woocommerce_dimension_unit' ); + $height = $this->product->get_height() . " $dimension_unit"; + } + + return apply_filters( 'woo_feed_filter_product_height', $height, $this->product, $this->config ); + } + + /** + * Get Product Length. + * + * @return string + */ + public function length() { + $length = ''; + $dimension_unit = get_option( 'woocommerce_dimension_unit' ); + + if ( $this->product->get_length() ) { + $length = $this->product->get_length() . " $dimension_unit"; + } + + return apply_filters( 'woo_feed_filter_product_length', $length, $this->product, $this->config ); + } + + /** + * Get author name. + * + * @return string + */ + public function author_name() { + $post = get_post( $this->product->get_id() ); + + return get_the_author_meta( 'user_login', $post->post_author ); + } + + /** + * Get Author Email. + * + * @return string + */ + public function author_email() { + $post = get_post( $this->product->get_id() ); + + return get_the_author_meta( 'user_email', $post->post_author ); + } + + /** + * Get Date Created. + * + * @return mixed|void + */ + public function date_created() { + $date_created = gmdate( 'Y-m-d', strtotime( $this->product->get_date_created() ) ); + + return apply_filters( 'woo_feed_filter_product_date_created', $date_created, $this->product, $this->config ); + } + + /** + * Get Date updated. + * + * @return mixed|void + */ + public function date_updated() { + $date_updated = gmdate( 'Y-m-d', strtotime( $this->product->get_date_modified() ) ); + + return apply_filters( 'woo_feed_filter_product_date_updated', $date_updated, $this->product, $this->config ); + } + + /** Get Google Sale Price effective date. + * + * @return string + */ + public function sale_price_effective_date() { + $effective_date = ''; + $from = $this->sale_price_sdate(); + $to = $this->sale_price_edate(); + + if ( ! empty( $from ) && ! empty( $to ) ) { + $from = gmdate( 'c', strtotime( $from ) ); + $to = gmdate( 'c', strtotime( $to ) ); + + $effective_date = $from . '/' . $to; + } + + return apply_filters( 'woo_feed_filter_product_sale_price_effective_date', $effective_date, $this->product, $this->config ); + } + + /** + * Get Product Shipping Class + * + * @return mixed + * @since 3.2.0 + */ + public function shipping_class() { + return apply_filters( 'woo_feed_filter_product_shipping_class', $this->product->get_shipping_class(), $this->product, $this->config ); + } + + /** + * Get product subscription period. + * + * @return string + * @since 8.0.0 + */ + public function subscription_period() { + if ( class_exists( 'WC_Subscriptions' ) ) { + return ProductHelper::get_product_meta( '_subscription_period', $this->product, $this->config ); + } + + return ''; + } + + /** + * Get product subscription period interval. + * + * @return string + * @since 8.0.0 + */ + public function subscription_period_interval() { + if ( class_exists( 'WC_Subscriptions' ) ) { + return ProductHelper::get_product_meta( '_subscription_period_interval', $this->product, $this->config ); + } + + return ''; + } + + /** + * Get product subscription amount. + * + * @return string + * @since 8.0.0 + */ + public function subscription_amount() { + return $this->product->get_price(); + } + + /** + * Get product installment amount. + * + * @return string + * @since 8.0.0 + */ + public function installment_amount() { + return $this->product->get_price(); + } + + /** + * Get product installment period. + * + * @return string + * @since 8.0.0 + */ + public function installment_months() { + if ( class_exists( 'WC_Subscriptions' ) ) { + return ProductHelper::get_product_meta( '_subscription_length', $this->product, $this->config ); + } + + return ''; + } + + /** + * Get product unit price measure. + * + * @return string + * @since 8.0.0 + */ + public function unit_price_measure() { + $unit_price_measure = ''; + $identifiers = Settings::get( 'woo_feed_identifier' ); + + if ( 'enable' === $identifiers['unit_pricing_base_measure'] + && 'enable' === $identifiers['unit_pricing_measure'] + && 'enable' === $identifiers['unit'] + ) { + $unit = ProductHelper::get_custom_field( 'woo_feed_unit', $this->product, $this->config ); + $unit_price_measure = ProductHelper::get_custom_field( 'woo_feed_unit_pricing_measure', $this->product, $this->config ); + + if ( ! empty( $unit_price_measure ) ) { + $unit_price_measure .= ' ' . $unit; + } + } + + // For WooCommerce Germanized Plugin + if ( empty( $unit_price_measure ) && class_exists( 'WooCommerce_Germanized' ) ) { + $unit = ProductHelper::get_product_meta( '_unit', $this->product, $this->config ); + $unit_price_measure = ProductHelper::get_product_meta( '_unit_product', $this->product, $this->config ); + + $unit_price_measure .= ' ' . $unit; + } + + return apply_filters( 'woo_feed_filter_unit_price_measure', $unit_price_measure, $this->product, $this->config ); + } + + /** + * Get product unit price base measure. + * + * @return string + * @since 8.0.0 + */ + public function unit_price_base_measure() { + $unit_price_base_measure = ''; + $identifiers = Settings::get( 'woo_feed_identifier' ); + + if ( 'enable' === $identifiers['unit_pricing_base_measure'] + && 'enable' === $identifiers['unit_pricing_measure'] + && 'enable' === $identifiers['unit'] + ) { + $unit = ProductHelper::get_custom_field( 'woo_feed_unit', $this->product, $this->config ); + $unit_price_base_measure = ProductHelper::get_custom_field( 'woo_feed_unit_pricing_base_measure', $this->product, $this->config ); + $unit_price_base_measure .= ' ' . $unit; + } + + // For WooCommerce Germanized Plugin + if ( empty( $unit_price_base_measure ) && class_exists( 'WooCommerce_Germanized' ) ) { + $unit = ProductHelper::get_product_meta( '_unit', $this->product, $this->config ); + $unit_price_base_measure = ProductHelper::get_product_meta( '_unit_base', $this->product, $this->config ); + $unit_price_base_measure .= ' ' . $unit; + } + + return apply_filters( 'woo_feed_filter_unit_price_base_measure', $unit_price_base_measure, $this->product, $this->config ); + } + + /** + * Get product GTIN for WooCommerce_Germanized plugin. + * + * @return string + * @since 8.0.0 + */ + public function wc_germanized_gtin() { + $wc_germanized_gtin = ''; + + if ( class_exists( 'WooCommerce_Germanized' ) ) { // For WooCommerce Germanized Plugin + $wc_germanized_gtin = ProductHelper::get_product_meta( '_ts_gtin', $this->product, $this->config ); + } + + return apply_filters( 'woo_feed_filter_wc_germanized_gtin', $wc_germanized_gtin, $this->product, $this->config ); + } + + /** + * Get product MPN for WooCommerce_Germanized plugin. + * + * @return string + * @since 8.0.0 + */ + public function wc_germanized_mpn() { + $wc_germanized_mpn = ''; + + if ( class_exists( 'WooCommerce_Germanized' ) ) { // For WooCommerce Germanized Plugin + $wc_germanized_mpn = ProductHelper::get_product_meta( '_ts_mpn', $this->product, $this->config ); + } + + return apply_filters( 'woo_feed_filter_wc_germanized_mpn', $wc_germanized_mpn, $this->product, $this->config ); + } + // SEO Plugins ############ + + /** + * Get product Yoast WP SEO title. + * + * @return string + * @since 8.0.0 + */ + public function yoast_wpseo_title() { + $product_id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $product_id = $this->product->get_parent_id(); + } + + $yoast_title = $this->title(); + + if ( class_exists( 'WPSEO_Frontend' ) ) { + $yoast_title = get_post_meta( $product_id, '_yoast_wpseo_title', true ); + + // Get an instance of WPSEO_Replace_Vars + $replace_vars = new \WPSEO_Replace_Vars; + + // Replace variables in the title + $yoast_title = $replace_vars->replace( $yoast_title, get_post( $product_id ) ); + } + + return apply_filters( 'woo_feed_filter_product_yoast_wpseo_title', $yoast_title, $this->product, $this->config ); + } + + /** + * Get product Yoast WP SEO description. + * + * @return string + * @since 8.0.0 + */ + public function yoast_wpseo_metadesc() { + $product_id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $product_id = $this->product->get_parent_id(); + } + + $meta_description = $this->description(); + + if ( class_exists( 'WPSEO_Frontend' ) ) { + $meta_description = get_post_meta( $product_id, '_yoast_wpseo_metadesc', true ); + + // Get an instance of WPSEO_Replace_Vars + $replace_vars = new \WPSEO_Replace_Vars; + + // Replace variables in the title + $meta_description = $replace_vars->replace( $meta_description, get_post( $product_id ) ); + } + + return apply_filters( 'woo_feed_filter_product_yoast_wpseo_metadesc', $meta_description, $this->product, $this->config ); + } + + /** + * Get product Yoast WP SEO canonical URL. + * + * @return string + * @since 8.0.0 + */ + public function yoast_canonical_url() { + $product_id = $this->product->get_id(); + + if ( $this->product->is_type( 'variation' ) ) { + $product_id = $this->product->get_parent_id(); + } + + $yoast_canonical_url = get_post_meta( $product_id, '_yoast_wpseo_canonical', true ); + + return apply_filters( 'woo_feed_filter_product_yoast_canonical_url', $yoast_canonical_url, $this->product, $this->config ); + } + + /** + * Get product Yoast WP SEO GTIN8. + * + * @return string + * @since 8.0.0 + */ + public function yoast_gtin8() { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'gtin8', $this->product ); + + return apply_filters( 'yoast_gtin8_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO GTIN12. + * + * @return string + * @since 8.0.0 + */ + public function yoast_gtin12() { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'gtin12', $this->product ); + + return apply_filters( 'yoast_gtin12_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO GTIN13. + * + * @return string + * @since 8.0.0 + */ + public function yoast_gtin13() { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'gtin13', $this->product ); + + return apply_filters( 'yoast_gtin13_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO GTIN14. + * + * @return string + * @since 8.0.0 + */ + public function yoast_gtin14() { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'gtin14', $this->product ); + + return apply_filters( 'yoast_gtin14_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO ISBN. + * + * @return string + * @since 8.0.0 + */ + public function yoast_isbn() { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'isbn', $this->product ); + + return apply_filters( 'yoast_isbn_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Yoast WP SEO MPN. + * + * @return string + * @since 8.0.0 + */ + public function yoast_mpn() { + $yoast_gtin8_value = woo_feed_get_yoast_identifiers_value( 'mpn', $this->product ); + + return apply_filters( 'yoast_mpn_attribute_value', $yoast_gtin8_value, $this->product ); + } + + /** + * Get product Rank Math Title. + * + * @return string + * @since 8.0.0 + */ + public function rank_math_title() { + $rank_title = ''; + if ( class_exists( 'RankMath' ) ) { + $title = get_post_meta( $this->product->get_id(), 'rank_math_title', true ); + if ( empty( $title ) ) { + $title_format = Helper::get_settings( "titles.pt_product_title" ); + $title_format = $title_format ? $title_format : '%title%'; + $sep = Helper::get_settings( 'titles.title_separator' ); + + $rank_title = str_replace( '%title%', $this->product->get_title(), $title_format ); + $rank_title = str_replace( '%sep%', $sep, $rank_title ); + $rank_title = str_replace( '%page%', '', $rank_title ); + $rank_title = str_replace( '%sitename%', get_bloginfo( 'name' ), $rank_title ); + } else { + $rank_title = $title; + } + } + + return apply_filters( 'woo_feed_filter_product_rank_math_title', $rank_title, $this->product, $this->config ); + } + + /** + * Get product Rank Math Description. + * + * @return string + * @since 8.0.0 + */ + public function rank_math_description() { + $description = ''; + if ( class_exists( 'RankMath' ) ) { + $description = get_post_meta( $this->product->get_id(), 'rank_math_description' ); + $desc_format = Helper::get_settings( "titles.pt_post_description" ); + + if ( empty( $description ) ) { + if ( ! empty( $desc_format ) && strpos( (string) $desc_format, 'excerpt' ) !== false ) { + $description = str_replace( '%excerpt%', get_the_excerpt( $this->product->get_id() ), $desc_format ); + } + + // Get Variation Description + if ( empty( $description ) && $this->product->is_type( 'variation' ) ) { + $description = $this->parent_product->get_description(); + } + } + + if ( is_array( $description ) ) { + $description = reset( $description ); + } + + $description = CommonHelper::remove_shortcodes( $description ); + + //strip tags and spacial characters + $strip_description = CommonHelper::strip_all_tags( wp_specialchars_decode( $description ) ); + + $description = ! empty( strlen( $strip_description ) ) && 0 < strlen( $strip_description ) ? $strip_description : $description; + } + + return apply_filters( 'woo_feed_filter_product_rank_math_description', $description, $this->product, $this->config ); + } + + /** + * Get product Rank Math Canonical URL. + * + * @return string + * @since 8.0.0 + */ + public function rank_math_canonical_url() { + $canonical_url = ''; + + if ( class_exists( 'RankMath' ) ) { + $post_canonical_url = get_post_meta( $this->product->get_id(), 'rank_math_canonical_url' ); + + if ( empty( $post_canonical_url ) ) { + $canonical_url = get_the_permalink( $this->product->get_id() ); + } else { + $canonical_url = $post_canonical_url; + } + + if ( is_array( $canonical_url ) ) { + $canonical_url = reset( $canonical_url ); + } + } + + return apply_filters( 'woo_feed_filter_product_rank_math_canonical_url', $canonical_url, $this->product, $this->config ); + } + + /** + * Get product Rank Math GTIN. + * + * @return string + * @since 8.0.0 + */ + public function rank_math_gtin() { + $product_id = CommonHelper::parent_product_id( $this->product ); + $rankmath_gtin_value = get_post_meta( $product_id, '_rank_math_gtin_code' ); + $rankmath_gtin_value = ! empty( $rankmath_gtin_value ) && is_array( $rankmath_gtin_value ) ? $rankmath_gtin_value[0] : ''; + + return apply_filters( 'rankmath_gtin_attribute_value', $rankmath_gtin_value, $this->product, $this->config ); + } + + public function _aioseop_title() { + $title = ''; + if ( is_plugin_active( 'all-in-one-seo-pack/all_in_one_seo_pack.php' ) && class_exists( 'AIOSEO\Plugin\Common\Models\Post' ) ) { + + $post = \AIOSEO\Plugin\Common\Models\Post::getPost( $this->product->get_id() ); + $title = ! empty( $post->title ) ? $post->title : aioseo()->meta->title->getPostTypeTitle( 'product' ); + } + + $title = ! empty( $title ) ? $title : $this->title(); + + return apply_filters( 'woo_feed_filter_product_aioseop_title', $title, $this->product, $this->config ); + } + + public function _aioseop_description() { + $description = ''; + + if ( is_plugin_active( 'all-in-one-seo-pack/all_in_one_seo_pack.php' ) && class_exists( 'AIOSEO\Plugin\Common\Models\Post' ) ) { + + $post = \AIOSEO\Plugin\Common\Models\Post::getPost( $this->product->get_id() ); + $description = ! empty( $post->description ) ? $post->description : aioseo()->meta->description->getPostTypeDescription( 'product' ); + } + + if ( empty( $description ) ) { + $description = $this->description(); + } + + return apply_filters( 'woo_feed_filter_product_aioseop_description', $description, $this->product, $this->config ); + } + + public function _aioseop_canonical_url() { + $aioseop_canonical_url = ''; + if ( is_plugin_active( 'all-in-one-seo-pack/all_in_one_seo_pack.php' ) && class_exists( 'AIOSEO\Plugin\Common\Models\Post' ) ) { + $post = \AIOSEO\Plugin\Common\Models\Post::getPost( $this->product->get_id() ); + $aioseop_canonical_url = $post->canonical_url; + } + + return apply_filters( 'woo_feed_filter_product_aioseop_canonical_url', $aioseop_canonical_url, $this->product, $this->config ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Query/BOTHQuery.php b/plugins/webappick-product-feed-for-woocommerce/V5/Query/BOTHQuery.php new file mode 100644 index 000000000..42aaaa31f --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Query/BOTHQuery.php @@ -0,0 +1,31 @@ +config = $config; + $this->arguments = empty($args) ? $this->get_query_arguments() : wp_parse_args( $args, $this->get_query_arguments()); + } + + public function get_product_types() { + return false; + } + + public function get_query_arguments() { + return []; + } + + public function get_product_status() { + return false; + } + + public function product_ids() { + $wp = ( new WPQuery( $this->config, $this->arguments ) )->product_ids(); + $wc = ( new WCQuery( $this->config, $this->arguments ) )->product_ids(); + + return array_unique( array_merge( $wc, $wp ) ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Query/ProductQuery.php b/plugins/webappick-product-feed-for-woocommerce/V5/Query/ProductQuery.php new file mode 100644 index 000000000..2d8e67593 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Query/ProductQuery.php @@ -0,0 +1,303 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class ProductQuery implements QueryInterface { + + /** + * @var \CTXFeed\V5\Utility\Config $config Feed Config. + */ + private $config; + + /** + * @var array|null $arguments Query Arguments. + */ + private $arguments; + + /** + * WPWCQuery constructor. + * + * @param \CTXFeed\V5\Utility\Config $config Feed Config. + * @param array $args Query Arguments. + */ + public function __construct( $config, $args = array() ) { + $this->config = $config; + $this->arguments = wp_parse_args( $args, $this->get_query_arguments() ); + } + + /** + * Get product types. + * + * @return array + */ + public function get_product_types() { + return array( 'product' ); + } + + /** + * Get supported woocommerce product types. + * + * @return array + */ + public function get_wc_product_types() { + $product_types = array( + 'simple', + 'variable', + 'grouped', + 'external', + 'composite', + 'bundle', + 'bundled', + 'yith_bundle', + 'yith-composite', + 'subscription', + 'variable-subscription', + 'woosb', + 'woosg', + 'auction', + 'course', + ); + + return apply_filters( 'ctx_feed_filter_product_types_for_product_query', $product_types ); + } + + /** + * Set query arguments. + * + * @return array + */ + public function get_query_arguments() { + $arguments = array( + 'posts_per_page' => '-1', + 'post_type' => $this->get_product_types(), + 'post_status' => $this->get_product_status(), + 'order' => 'DESC', + 'fields' => 'ids', + 'cache_results' => false, + 'update_post_meta_cache' => false, + 'update_post_term_cache' => false, + 'suppress_filters' => false, + ); + // Include Product Ids. + $include = $this->config->get_products_to_include(); + + if ( $include ) { + $arguments['post__in'] = $include; + } + + // Exclude Product Ids + $exclude = $this->config->get_products_to_exclude(); + + if ( $exclude ) { + $arguments['post__not_in'] = $exclude; + } + + // Include Author + $author = $this->config->get_vendors_to_include(); + + if ( $author ) { + $arguments['author__in'] = $author; + } + + // Add taxonomy query conditions. + $arguments['tax_query'] = $this->taxonomy_conditions();// phpcs:ignore + // Add meta query conditions. + $arguments['meta_query'] = $this->meta_conditions();// phpcs:ignore + + return $arguments; + } + + /** + * Get taxonomy conditions. + * + * @return array + */ + public function taxonomy_conditions() { + $tax_conditions = array( + 'relation' => 'AND', + ); + + $product_type = array( + 'taxonomy' => 'product_type', + 'field' => 'slug', + 'terms' => $this->get_wc_product_types(), + 'operator' => 'IN', + ); + + $tax_conditions[] = $product_type; + + + // Include Categories + $categories_to_include = $this->config->get_categories_to_include(); + + if ( $categories_to_include ) { + $product_categories = array( + array( + 'taxonomy' => 'product_cat', + 'field' => 'slug', + 'terms' => $categories_to_include, + 'operator' => 'IN', // Possible values are 'IN', 'NOT IN', 'AND'. + ), + ); + $tax_conditions[] = $product_categories; + } + + // Exclude Categories + $categories_to_exclude = $this->config->get_categories_to_exclude(); + + if ( $categories_to_exclude ) { + $product_categories = array( + array( + 'taxonomy' => 'product_cat', + 'field' => 'slug', + 'terms' => $categories_to_exclude, + 'operator' => 'NOT IN', + ), + ); + $tax_conditions[] = $product_categories; + } + + return $tax_conditions; + } + + /** + * Get meta conditions. + * + * @return array + */ + public function meta_conditions() { + $meta_conditions = array( + 'relation' => 'AND', + ); + // Remove out of stock products. + $remove_out_of_stock = $this->config->remove_outofstock_product(); + + if ( $remove_out_of_stock ) { + $out_of_stock = array( + 'key' => '_stock_status', + 'value' => 'outofstock', + 'compare' => '!=', + ); + $meta_conditions[] = $out_of_stock; + } + + // Remove back order products. + $remove_back_order = $this->config->remove_backorder_product(); + + if ( $remove_back_order ) { + $back_order = array( + 'key' => '_stock_status', + 'value' => 'onbackorder', + 'compare' => '!=', + ); + $meta_conditions[] = $back_order; + } + + // Remove hidden products. + $remove_hidden = $this->config->remove_hidden_products(); + + if ( $remove_hidden ) { + $hidden = array( + 'key' => '_visibility', + 'value' => 'hidden', + 'compare' => '!=', + ); + $meta_conditions[] = $hidden; + } + + // Remove empty price products. + $remove_empty_price = $this->config->remove_empty_price(); + + if ( $remove_empty_price ) { + $empty_price = array( + 'key' => '_regular_price', + 'value' => '', + 'compare' => '!=', + ); + $meta_conditions[] = $empty_price; + } + + // Remove empty image products. + $remove_empty_image = $this->config->remove_empty_image(); + + if ( $remove_empty_image ) { + $empty_image = array( + 'key' => '_thumbnail_id', + 'value' => '', + 'compare' => '!=', + ); + $meta_conditions[] = $empty_image; + } + + return $meta_conditions; + } + + /** + * Get product status. + * + * @return string + */ + public function get_product_status() { + $status = $this->config->get_post_status_to_include(); + + if ( $status ) { + return $status; + } + + return 'publish'; + } + + /** + * Query Product Ids. + * + * @return array Array of product ids. + */ + public function product_ids() { + // Add custom join and where clause. + add_filter( 'posts_where', array( $this, 'custom_where_query' ) ); + // Execute the query. + $query = new WP_Query( $this->arguments ); + + // Remove filters after the query is executed. + remove_filter( 'posts_where', '__return_false' ); + + return $query->get_posts(); + } + + /** + * Custom where query. + * + * @param string $where Where query. + * @return string + */ + public function custom_where_query( $where ) { + global $wpdb; + + $remove_empty_title = $this->config->remove_empty_title(); + + if ( $remove_empty_title ) { + $where .= " AND $wpdb->posts.post_title != ''"; + } + + $remove_empty_description = $this->config->remove_empty_description(); + + if ( $remove_empty_description ) { + $where .= " AND $wpdb->posts.post_content != ''"; + } + + return $where; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Query/Query.php b/plugins/webappick-product-feed-for-woocommerce/V5/Query/Query.php new file mode 100644 index 000000000..1da68cb48 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Query/Query.php @@ -0,0 +1,18 @@ +query = $query; + } + + public function get_ids() { + return $this->query->product_ids(); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Query/QueryFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Query/QueryFactory.php new file mode 100644 index 000000000..f33c9a63a --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Query/QueryFactory.php @@ -0,0 +1,53 @@ +get_feed_template(); + $queryType = Settings::get( 'product_query_type' ); + + $class = "\CTXFeed\V5\Query\\" . strtoupper( $queryType ) . "Query"; + if ( strpos( $template, 'review' ) ) { + $class = WCReviewQuery::class; + } + + $feedRules = $config->get_config(); + + /** + * Fires before looping through request product for getting product data + * + * @param int[] $productIds + * @param array $feedConfig + * + * @since 3.2.10 + */ + do_action( 'woo_feed_before_product_loop', [], $feedRules, $config ); + + /** + * @var WPQuery|WCQuery|WCReviewQuery $class Query Class + */ + $productIds = ( new Query( new $class( $config, $args ) ) )->get_ids(); + + + /** + * Fires after looping through request product for getting product data + * + * @param int[] $productIds + * @param Config $config + * + * @since 3.2.10 + */ + do_action( 'woo_feed_after_product_loop', $productIds, $feedRules, $config ); + + return $productIds; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Query/QueryInterface.php b/plugins/webappick-product-feed-for-woocommerce/V5/Query/QueryInterface.php new file mode 100644 index 000000000..d671cd056 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Query/QueryInterface.php @@ -0,0 +1,14 @@ + + * @link https://webappick.com + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + * @category MyCategory + */ +class VariationQuery implements QueryInterface { + + /** + * @var \CTXFeed\V5\Utility\Config $config Feed Config. + */ + private $config; + + /** + * @var array|null $arguments Query Arguments. + */ + private $arguments; + + /** + * WPWCQuery constructor. + * + * @param \CTXFeed\V5\Utility\Config $config Feed Config. + * @param array $args Query Arguments. + */ + public function __construct( $config, $args = array() ) { + $this->config = $config; + $this->arguments = wp_parse_args( $args, $this->get_query_arguments() ); + } + + /** + * Get product types. + * + * @return array + */ + public function get_product_types() { + return array( 'product_variation' ); + } + + /** + * Set query arguments. + * + * @return array + */ + public function get_query_arguments() { + $arguments = array( + 'posts_per_page' => '-1', + 'post_type' => $this->get_product_types(), + 'post_status' => $this->get_product_status(), + 'order' => 'DESC', + 'fields' => 'ids', + 'cache_results' => false, + 'update_post_meta_cache' => false, + 'update_post_term_cache' => false, + 'suppress_filters' => false, + ); + + // Include Product Ids. + $include = $this->config->get_products_to_include(); + + if ( $include ) { + $arguments['post__in'] = $include; + } + + // Exclude Product Ids + $exclude = $this->config->get_products_to_exclude(); + + if ( $exclude ) { + $arguments['post__not_in'] = $exclude; + } + + // Include Author + $author = $this->config->get_vendors_to_include(); + + if ( $author ) { + $arguments['author__in'] = $author; + } + + $arguments['meta_query'] = $this->meta_conditions();// phpcs:ignore + + return $arguments; + } + + /** + * Get meta conditions. + * + * @return array + */ + public function meta_conditions() { + $meta_conditions = array( + 'relation' => 'AND', + ); + // Remove out of stock products. + $remove_out_of_stock = $this->config->remove_outofstock_product(); + + if ( $remove_out_of_stock ) { + $out_of_stock = array( + 'key' => '_stock_status', + 'value' => 'outofstock', + 'compare' => '!=', + ); + $meta_conditions[] = $out_of_stock; + } + + // Remove back order products. + $remove_back_order = $this->config->remove_backorder_product(); + + if ( $remove_back_order ) { + $back_order = array( + 'key' => '_stock_status', + 'value' => 'onbackorder', + 'compare' => '!=', + ); + $meta_conditions[] = $back_order; + } + + // Remove hidden products. +// $remove_hidden = $this->config->remove_hidden_products(); +// +// if ( $remove_hidden ) { +// $hidden = array( +// 'key' => '_visibility', +// 'value' => 'hidden', +// 'compare' => '!=', +// ); +// $meta_conditions[] = $hidden; +// } + + // Remove empty price products. + $remove_empty_price = $this->config->remove_empty_price(); + + if ( $remove_empty_price ) { + $empty_price = array( + 'key' => '_regular_price', + 'value' => '', + 'compare' => '!=', + ); + $meta_conditions[] = $empty_price; + } + + return $meta_conditions; + } + + /** + * Get product status. + * + * @return string + */ + public function get_product_status() { + $status = $this->config->get_post_status_to_include(); + + if ( $status ) { + return $status; + } + + return 'publish'; + } + + /** + * Query Product Ids. + * + * @return array Array of product ids. + */ + public function product_ids() { + // Add custom join and where clause + add_filter( 'posts_join', array( $this, 'custom_join_query' ) ); + add_filter( 'posts_where', array( $this, 'custom_where_query' ) ); + add_filter( 'posts_groupby', array( $this, 'custom_groupby_query' ) ); + + // Execute the query + $query = new WP_Query( $this->arguments ); + + // Remove filters after the query is executed + remove_filter( 'posts_join', '__return_false' ); + remove_filter( 'posts_where', '__return_false' ); + remove_filter( 'posts_groupby', '__return_false' ); + + return $query->get_posts(); + } + + /** + * Custom Join to get data from parent product and its meta + * + * @param string $join Query Join. + * @return string + */ + public function custom_join_query( $join ) { + global $wpdb; + $join .= " LEFT JOIN {$wpdb->posts} AS parent ON parent.ID = {$wpdb->posts}.post_parent"; + $join .= " LEFT JOIN {$wpdb->term_relationships} AS rel ON rel.object_id = parent.ID"; + $join .= " LEFT JOIN {$wpdb->term_taxonomy} AS tax ON tax.term_taxonomy_id = rel.term_taxonomy_id"; + $join .= " LEFT JOIN {$wpdb->terms} AS term ON term.term_id = tax.term_id"; + $join .= " LEFT JOIN {$wpdb->postmeta} AS parent_meta ON parent_meta.post_id = parent.ID"; + + return $join; + } + + /** + * Custom Group By to ensure unique rows + * + * @param string $groupby Group By clause. + * @return string + */ + public function custom_groupby_query( $groupby ) {// phpcs:ignore + global $wpdb; + + return "{$wpdb->posts}.ID"; + } + + /** + * Custom Where to get data from parent product and its meta + * + * @param string $where Query Where. + * @return string + */ + public function custom_where_query( $where ) { + global $wpdb; + // Exclude products with specific category + $exclude_categories = $this->config->get_categories_to_exclude(); + + // Include products with specific category + $include_categories = $this->config->get_categories_to_include(); + + // Handle category exclusion + if ( ! empty( $exclude_categories ) ) { + $exclude_cats = "'" . implode( "','", $exclude_categories ) . "'"; + $where .= " AND NOT EXISTS ( + SELECT 1 FROM {$wpdb->term_relationships} AS ex_rel + JOIN {$wpdb->term_taxonomy} AS ex_tax ON ex_tax.term_taxonomy_id = ex_rel.term_taxonomy_id + JOIN {$wpdb->terms} AS ex_term ON ex_term.term_id = ex_tax.term_id + WHERE ex_rel.object_id = parent.ID AND ex_term.slug IN ({$exclude_cats}) + )"; + } + + // Handle category inclusion + if ( ! empty( $include_categories ) ) { + $include_cats = "'" . implode( "','", $include_categories ) . "'"; + $where .= " AND EXISTS ( + SELECT 1 FROM {$wpdb->term_relationships} AS in_rel + JOIN {$wpdb->term_taxonomy} AS in_tax ON in_tax.term_taxonomy_id = in_rel.term_taxonomy_id + JOIN {$wpdb->terms} AS in_term ON in_term.term_id = in_tax.term_id + WHERE in_rel.object_id = parent.ID AND in_term.slug IN ({$include_cats}) + )"; + } + + // Remove hidden products + $remove_hidden_products = $this->config->remove_hidden_products(); + + if ( $remove_hidden_products ) { + $where .= " AND NOT EXISTS ( + SELECT 1 FROM {$wpdb->term_relationships} as tr + INNER JOIN {$wpdb->term_taxonomy} as tt ON tr.term_taxonomy_id = tt.term_taxonomy_id + INNER JOIN {$wpdb->terms} as t ON tt.term_id = t.term_id + WHERE tt.taxonomy = 'product_visibility' + AND t.slug = 'exclude-from-catalog' + AND tr.object_id = parent.ID + )"; + } + + return $where; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Query/WCQuery.php b/plugins/webappick-product-feed-for-woocommerce/V5/Query/WCQuery.php new file mode 100644 index 000000000..ef35dcbd7 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Query/WCQuery.php @@ -0,0 +1,115 @@ +config = $config; + $this->arguments = empty( $args ) ? $this->get_query_arguments() : wp_parse_args( $args, $this->get_query_arguments() ); + } + + public function get_product_types() { + $productTypes = CommonHelper::supported_product_types(); + + // Include Product Variations with db query if configured. +// if ('variable' !== Settings::get('variation_query_type')) { +// $productTypes[100] = 'variation'; +// } + + // Exclude Product Variations with db query if configured + if ( in_array( 'variation', $productTypes ) && ! $this->config->get_variations_to_include() ) { + $key = array_search( 'variation', $productTypes ); + unset( $productTypes[ $key ] ); + } + + return apply_filters( 'ctx_filter_product_types_for_product_query', $productTypes ); + } + + public function get_query_arguments() { + $arguments = [ + 'limit' => - 1, // phpcs:ignore + 'status' => $this->get_product_status(), + 'type' => $this->get_product_types(), + 'orderby' => 'date', + 'order' => 'DESC', + 'return' => 'ids', + 'suppress_filters' => false, + ]; + + + // Include Product Ids. + $include = $this->config->get_products_to_include(); + if ( $include ) { + $arguments['include'] = $include; + } + + // Exclude Product Ids + $exclude = $this->config->get_products_to_exclude(); + if ( $exclude ) { + $arguments['exclude'] = $exclude; + } + + + // Stock Status + $stockStatus = [ 'instock', 'onbackorder', 'outofstock' ]; + // Remove Out of Stock Products. + if ( $this->config->remove_outofstock_product() ) { + $key = array_search( 'outofstock', $stockStatus ); + unset( $stockStatus[ $key ] ); + } + // Remove On Backorder Products. + if ( $this->config->remove_backorder_product() ) { + $key = array_search( 'onbackorder', $stockStatus ); + unset( $stockStatus[ $key ] ); + } + $arguments['stock_status'] = $stockStatus; + + // Include Categories + $categoriesToInclude = $this->config->get_categories_to_include(); + if ( $categoriesToInclude ) { + $arguments['category'] = $categoriesToInclude; + } + + // Exclude Categories + $categoriesToExclude = $this->config->get_categories_to_exclude(); + if ( $categoriesToExclude ) { + $arguments['tax_query'][] = array( + 'taxonomy' => 'product_cat', + 'field' => 'slug', + 'terms' => $categoriesToExclude, + 'operator' => 'NOT IN', + ); + } + + // Include Author + $author = $this->config->get_vendors_to_include(); + if ( $author ) { + $arguments['author'] = $author; + } + + return apply_filters( 'ctx_filter_arguments_for_product_query', $arguments, 'wc' ); + + } + + public function get_product_status() { + $status = $this->config->get_post_status_to_include(); + + return ( $status ) ?: "publish"; + } + + public function product_ids() { + + return ( new WC_Product_Query( $this->arguments ) )->get_products(); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Query/WCReviewQuery.php b/plugins/webappick-product-feed-for-woocommerce/V5/Query/WCReviewQuery.php new file mode 100644 index 000000000..cfc8d7115 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Query/WCReviewQuery.php @@ -0,0 +1,268 @@ +config = $config; + $this->wc_arguments = empty($args) ? $this->get_wc_query_arguments() : wp_parse_args( $args, $this->get_wc_query_arguments()); + $this->wp_arguments = empty($args) ? $this->get_wp_query_arguments() : wp_parse_args( $args, $this->get_wp_query_arguments()); + } + + public function get_query_arguments() { + return []; + } + + /** + * @return string + */ + public function get_product_types(){ + return 'product'; + } + + public function get_wc_product_types() + { + $productTypes = [ + 'simple', + 'variable', + 'variation', + 'grouped', + 'external', + 'composite', + 'bundle', + 'bundled', + 'yith_bundle', + 'yith-composite', + 'subscription', + 'variable-subscription', + 'woosb', + 'woosg', + 'auction', + 'course' + ]; + + // Include Product Variations with db query if configured. +// if ('variable' !== Settings::get('variation_query_type')) { +// $productTypes[100] = 'variation'; +// } + + // Exclude Product Variations with db query if configured + if (in_array('variation', $productTypes) && !$this->config->get_variations_to_include()) { + $key = array_search('variation', $productTypes); + unset($productTypes[$key]); + } + + return apply_filters('ctx_filter_product_types_for_product_query', $productTypes); + } + + public function get_wp_product_types() + { + + $post_type = ['product', 'product_variation']; + // Include Product Variations with db query if configured +// if ('variable' !== woo_feed_get_options('variation_query_type')) { +// $post_type = ['product', 'product_variation']; +// } + + // Exclude Product Variations with db query if configured + if (in_array('product_variation', $post_type) && !$this->config->get_variations_to_include()) { + $key = array_search('product_variation', $post_type); + unset($post_type[$key]); + } + + return apply_filters('ctx_filter_product_types_for_product_query', $post_type); + } + + public function get_wp_query_arguments() { + $arguments = [ + 'posts_per_page' => -1, + 'post_type' => $this->get_wp_product_types(), + 'post_status' => $this->get_product_status(), + 'order' => 'DESC', + 'fields' => 'ids', + 'cache_results' => false, + 'update_post_meta_cache' => false, + 'update_post_term_cache' => false, + 'suppress_filters' => false, + ]; + + // Include Product Ids. + $include = $this->config->get_products_to_include(); + if ($include) { + $arguments['post__in'] = $include; + } + + // Exclude Product Ids + $exclude = $this->config->get_products_to_exclude(); + if ($exclude) { + $arguments['post__not_in'] = $exclude; + } + + // Ignore below database filter if variation to include. + if (!$this->config->get_variations_to_include()) { + // Remove Out of Stock Products. + if ($this->config->remove_outofstock_product()) { + $arguments['meta_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query + array( + 'key' => '_stock_status', + 'value' => 'outofstock', + 'compare' => '!=', + ), + ); + } + // Remove On Backorder Products. + if ($this->config->remove_backorder_product()) { + $arguments['meta_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query + array( + 'key' => '_stock_status', + 'value' => 'onbackorder', + 'compare' => '!=', + ), + ); + } + + // Remove both outofstock and onbackorder products. + if ($this->config->remove_outofstock_product() && $this->config->remove_backorder_product()) { + $arguments['meta_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query + 'relation' => 'AND', + array( + 'key' => '_stock_status', + 'value' => 'onbackorder', + 'compare' => '!=', + ), + array( + 'key' => '_stock_status', + 'value' => 'outofstock', + 'compare' => '!=', + ) + ); + } + + // Include Categories + $categoriesToInclude = $this->config->get_categories_to_include(); + if ($categoriesToInclude) { + $arguments['tax_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_tax_query + array( + 'taxonomy' => 'product_cat', + 'field' => 'slug', + // This is optional, as it defaults to 'term_id' + 'terms' => $categoriesToInclude, + 'operator' => 'IN', // Possible values are 'IN', 'NOT IN', 'AND'. + ), + ); + } + + // Exclude Categories + $categoriesToExclude = $this->config->get_categories_to_exclude(); + if ($categoriesToExclude) { + $arguments['tax_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_tax_query + array( + 'taxonomy' => 'product_cat', + 'field' => 'slug', + // This is optional, as it defaults to 'term_id' + 'terms' => $categoriesToExclude, + 'operator' => 'NOT IN', // Possible values are 'IN', 'NOT IN', 'AND'. + ), + ); + } + + // Include Author + $author = $this->config->get_vendors_to_include(); + if ($author) { + $arguments['author__in'] = $author; + } + + } + + + return apply_filters( 'ctx_filter_arguments_for_product_with_review_query', $arguments, 'review' ); + } + + public function get_wc_query_arguments() { + $arguments = [ + 'limit' => -1, // phpcs:ignore + 'status' => $this->get_product_status(), + 'type' => $this->get_wc_product_types(), + 'orderby' => 'date', + 'order' => 'DESC', + 'return' => 'ids', + 'suppress_filters' => false, + ]; + + + // Include Product Ids. + $include = $this->config->get_products_to_include(); + if ($include) { + $arguments['include'] = $include; + } + + // Exclude Product Ids + $exclude = $this->config->get_products_to_exclude(); + if ($exclude) { + $arguments['exclude'] = $exclude; + } + + // Ignore below database filter if variation to include. + if (!$this->config->get_variations_to_include()) { + // Stock Status + $stockStatus = ['instock', 'onbackorder', 'outofstock']; + // Remove Out of Stock Products. + if ($this->config->remove_outofstock_product()) { + $key = array_search('outofstock', $stockStatus); + unset($stockStatus[$key]); + } + // Remove On Backorder Products. + if ($this->config->remove_backorder_product()) { + $key = array_search('onbackorder', $stockStatus); + unset($stockStatus[$key]); + } + $arguments['stock_status'] = $stockStatus; + + + // Include Categories + $categoriesToInclude = $this->config->get_categories_to_include(); + if ($categoriesToInclude) { + $arguments['category'] = $categoriesToInclude; + } + + // Exclude Categories + $categoriesToExclude = $this->config->get_categories_to_exclude(); + if ($categoriesToExclude) { + $arguments['tax_query'][] = array( + 'taxonomy' => 'product_cat', + 'field' => 'slug', + 'terms' => $categoriesToExclude, + 'operator' => 'NOT IN', + ); + } + + // Include Author + $author = $this->config->get_vendors_to_include(); + if ($author) { + $arguments['author'] = $author; + } + } + + + return apply_filters( 'ctx_filter_arguments_for_product_with_review_query', $arguments, 'review' ); + } + + public function get_product_status() { + $status = $this->config->get_post_status_to_include(); + + return ( $status ) ?: "publish"; + } + + public function product_ids() { + + $wp = (new WP_Query($this->wp_arguments))->get_posts(); + $wc = (new WC_Product_Query($this->wc_arguments))->get_products(); + + return array_unique( array_merge( $wc, $wp ) ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Query/WPQuery.php b/plugins/webappick-product-feed-for-woocommerce/V5/Query/WPQuery.php new file mode 100644 index 000000000..d10250298 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Query/WPQuery.php @@ -0,0 +1,143 @@ +config = $config; + $this->arguments = empty( $args ) ? $this->get_query_arguments() : wp_parse_args( $args, $this->get_query_arguments() ); + } + + public function get_product_types() { + + $post_type = [ 'product', 'product_variation' ]; + // Include Product Variations with db query if configured +// if ('variable' !== woo_feed_get_options('variation_query_type')) { +// $post_type = ['product', 'product_variation']; +// } + + // Exclude Product Variations with db query if configured + if ( in_array( 'product_variation', $post_type ) && ! $this->config->get_variations_to_include() ) { + $key = array_search( 'product_variation', $post_type ); + unset( $post_type[ $key ] ); + } + + return apply_filters( 'ctx_filter_product_types_for_product_query', $post_type ); + } + + public function get_query_arguments() { + $arguments = [ + 'posts_per_page' => - 1, + 'post_type' => $this->get_product_types(), + 'post_status' => $this->get_product_status(), + 'order' => 'DESC', + 'fields' => 'ids', + 'cache_results' => false, + 'update_post_meta_cache' => false, + 'update_post_term_cache' => false, + 'suppress_filters' => false, + ]; + + // Include Product Ids. + $include = $this->config->get_products_to_include(); + if ( $include ) { + $arguments['post__in'] = $include; + } + + // Exclude Product Ids + $exclude = $this->config->get_products_to_exclude(); + if ( $exclude ) { + $arguments['post__not_in'] = $exclude; + } + + // Remove Out of Stock Products. + if ( $this->config->remove_outofstock_product() ) { + $arguments['meta_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query + array( + 'key' => '_stock_status', + 'value' => 'outofstock', + 'compare' => '!=', + ), + ); + } + // Remove On Backorder Products. + if ( $this->config->remove_backorder_product() ) { + $arguments['meta_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query + array( + 'key' => '_stock_status', + 'value' => 'onbackorder', + 'compare' => '!=', + ), + ); + } + + // Remove both outofstock and onbackorder products. + if ( $this->config->remove_outofstock_product() && $this->config->remove_backorder_product() ) { + $arguments['meta_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query + 'relation' => 'AND', + array( + 'key' => '_stock_status', + 'value' => 'onbackorder', + 'compare' => '!=', + ), + array( + 'key' => '_stock_status', + 'value' => 'outofstock', + 'compare' => '!=', + ) + ); + } + // Include Categories + $categoriesToInclude = $this->config->get_categories_to_include(); + if ( $categoriesToInclude ) { + $arguments['tax_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_tax_query + array( + 'taxonomy' => 'product_cat', + 'field' => 'slug', + // This is optional, as it defaults to 'term_id' + 'terms' => $categoriesToInclude, + 'operator' => 'IN', // Possible values are 'IN', 'NOT IN', 'AND'. + ), + ); + } + + // Exclude Categories + $categoriesToExclude = $this->config->get_categories_to_exclude(); + if ( $categoriesToExclude ) { + $arguments['tax_query'] = array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_tax_query + array( + 'taxonomy' => 'product_cat', + 'field' => 'slug', + // This is optional, as it defaults to 'term_id' + 'terms' => $categoriesToExclude, + 'operator' => 'NOT IN', // Possible values are 'IN', 'NOT IN', 'AND'. + ), + ); + } + + // Include Author + $author = $this->config->get_vendors_to_include(); + if ( $author ) { + $arguments['author__in'] = $author; + } + + + return apply_filters( 'ctx_filter_arguments_for_product_query', $arguments, 'wp' ); + } + + public function get_product_status() { + $status = $this->config->get_post_status_to_include(); + + return ( $status ) ?: "publish"; + } + + public function product_ids() { + + return ( new WP_Query( $this->arguments ) )->get_posts(); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Query/query.txt b/plugins/webappick-product-feed-for-woocommerce/V5/Query/query.txt new file mode 100644 index 000000000..cf3697407 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Query/query.txt @@ -0,0 +1,38 @@ +// Custom WP Query with filters +$args = array( + 'post_type' => 'product_variation', + 'posts_per_page' => 500, +); +$query = new WP_Query($args); + +// Add custom join and where clause +add_filter('posts_join', 'custom_join_query'); +add_filter('posts_where', 'custom_where_query'); + +// Fetch posts +$products = $query->get_posts(); + +// Remove filters after the query is executed +remove_filter('posts_join', 'custom_join_query'); +remove_filter('posts_where', 'custom_where_query'); + +// Custom Join to get data from parent product and its meta +function custom_join_query($join) { + global $wpdb; + $join .= " LEFT JOIN {$wpdb->posts} AS parent ON parent.ID = {$wpdb->posts}.post_parent"; + $join .= " LEFT JOIN {$wpdb->term_relationships} AS rel ON rel.object_id = parent.ID"; + $join .= " LEFT JOIN {$wpdb->term_taxonomy} AS tax ON tax.term_taxonomy_id = rel.term_taxonomy_id"; + $join .= " LEFT JOIN {$wpdb->terms} AS term ON term.term_id = tax.term_id"; + $join .= " LEFT JOIN {$wpdb->postmeta} AS parent_meta ON parent_meta.post_id = parent.ID"; + return $join; +} + +// Custom Where Clause to exclude certain categories, meta values, and stock status +function custom_where_query($where) { + global $wpdb; + $where .= " AND (term.slug NOT IN ('exclude-category-1', 'exclude-category-2'))"; // Exclude certain categories + $where .= " AND (parent_meta.meta_key = '_stock_status' AND parent_meta.meta_value != 'onbackorder')"; // Exclude products on backorder + return $where; +} + +// Use $products as needed diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/BingShipping.php b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/BingShipping.php new file mode 100644 index 000000000..e7ecf7ab7 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/BingShipping.php @@ -0,0 +1,102 @@ +config = $config; + } + + /** + * @throws \Exception + */ + public function get_shipping_info() { + $this->get_shipping_zones( $this->config->get_feed_file_type() ); + + return $this->shipping; + } + + /** + * Get Shipping Information + * @return string + * @throws \Exception + */ + public function get_shipping( $key = '' ) { + + $this->get_shipping_zones( $this->config->get_feed_file_type() ); + + return $this->get_csv( $key ); + } + + /** + * @param $key + * + * @return string + */ + private function get_csv( $key ) { + + $allow_all_shipping = Settings::get( 'allow_all_shipping' ); + $local_pickup_shipping = Settings::get( 'only_local_pickup_shipping' ); + $country = $this->config->get_shipping_country(); + $feed_country = $this->config->get_feed_country(); + $currency = $this->config->get_feed_currency(); + + + $methods = $this->shipping; + + foreach ( $methods as $k=>$shipping ) { + if ( 'local_pickup' == $shipping['method_id'] && $local_pickup_shipping == 'yes' ) { + unset( $methods[ $k ] ); + } + + if ( $country != "" ) { + if ( $country == 'feed' ) { + $allow_all_shipping = 'no'; + } + if ( $country == 'all' ) { + $allow_all_shipping = 'yes'; + } + } + + if ( $feed_country !== $shipping['country'] && $allow_all_shipping == 'no' ) { + unset( $methods[ $k ] ); + } + } + $shipping_info = array(); + foreach ( $methods as $k=>$shipping ) { + $shipping_info = [ + isset( $methods[ $key ]['country'] ) ? $methods[ $key ]['country'] : "", + isset( $methods[ $key ]['state'] ) ? $methods[ $key ]['state'] : "", + isset( $methods[ $key ]['service'] ) ? $methods[ $key ]['service'] : "", + isset( $methods[ $key ]['price'] ) ? $methods[ $key ]['price'] . " " . $currency : "", + + ]; + } + return \implode( ":", $shipping_info ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/CustomShipping.php b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/CustomShipping.php new file mode 100644 index 000000000..37812eb2c --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/CustomShipping.php @@ -0,0 +1,99 @@ +config = $config; + } + + /** + * @throws \Exception + */ + public function get_shipping_info() { + $this->get_shipping_zones( $this->config->get_feed_file_type() ); + + return $this->shipping; + } + + /** + * + * @return string + * @throws \Exception + */ + public function get_shipping( $key = '' ) { + $this->get_shipping_zones( $this->config->get_feed_file_type() ); + $str = ""; + + + $allow_all_shipping = Settings::get( 'allow_all_shipping' ); + $local_pickup_shipping = Settings::get( 'only_local_pickup_shipping' ); + $country = $this->config->get_shipping_country(); + $feed_country = $this->config->get_feed_country(); + + + $methods=$this->shipping; + + foreach ( $methods as $k=>$shipping ) { + if ( 'local_pickup' == $shipping['method_id'] && $local_pickup_shipping=='yes' ) { + unset( $methods[$k] ); + } + + if($country!=""){ + if($country=='feed'){ + $allow_all_shipping='no'; + } + if($country=='all'){ + $allow_all_shipping='yes'; + } + } + + if ($feed_country !== $shipping['country'] && $allow_all_shipping=='no') { + unset($methods[$k]); + } + } + + $i = 1; + if( \is_array( $methods ) ) { + foreach ( $methods as $shipping ) { + + $currency = $this->config->get_feed_currency(); + $str .= ( $i > 1 ) ? "" . PHP_EOL : PHP_EOL; + $str .= "" . $shipping['country'] . "" . PHP_EOL; + $str .= ( empty( $shipping['state'] ) ) ? "" : "" . $shipping['state'] . "" . PHP_EOL; + $str .= ( empty( $shipping['service'] ) ) ? "" : "" . $shipping['service'] . "" . PHP_EOL; + $str .= "" . $shipping['price'] . " " . $currency . "" . PHP_EOL; + $str .= ( $i !== count( $methods ) ) ? "" . PHP_EOL : PHP_EOL; + + $i ++; + } + } + + return $str; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/GoogleShipping.php b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/GoogleShipping.php new file mode 100644 index 000000000..15ce2a033 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/GoogleShipping.php @@ -0,0 +1,192 @@ +config = $config; + } + + /** + * @throws \Exception + */ + public function get_shipping_info() { + $this->get_shipping_zones( $this->config->get_feed_file_type() ); + return $this->shipping; + } + + /** + * + * @return string + * @throws \Exception + */ + public function get_shipping( $key = '' ) { + + $this->get_shipping_zones( $this->config->get_feed_file_type() ); + + if ( 'xml' === $this->config->get_feed_file_type() ) { + return $this->get_xml(); + } + + return $this->get_csv( $key ); + } + + /** + * @return string + */ + private function get_xml() { + $str = ""; + + $allow_all_shipping = Settings::get( 'allow_all_shipping' ); + $local_pickup_shipping = Settings::get( 'only_local_pickup_shipping' ); + $country = $this->config->get_shipping_country(); + $feed_country = $this->config->get_feed_country(); + $currency = $this->config->get_feed_currency(); + + $methods = $this->shipping; + + if( \is_array( $methods ) || \is_object( $methods ) ){ + foreach ( $methods as $key=>$shipping ) { + if ( 'local_pickup' == $shipping['method_id'] && $local_pickup_shipping=='yes' ) { + unset( $methods[$key] ); + } + + if( $country!="" ){ + if($country=='feed'){ + $allow_all_shipping='no'; + } + if( $country=='all' ){ + $allow_all_shipping='yes'; + } + } + + if ( $feed_country !== $shipping['country'] && $allow_all_shipping=='no' ) { + unset( $methods[$key] ); + } + } + } + + $i = 1; + if( \is_array( $methods ) ){ + foreach ( $methods as $shipping ) { + $str .= ( $i > 1 ) ? "" . PHP_EOL : PHP_EOL; + $str .= "" . $shipping['country'] . "" . PHP_EOL; + $str .= ( empty( $shipping['state'] ) ) ? "" : "" . $shipping['state'] . "" . PHP_EOL; + $str .= ( empty( $shipping['service'] ) ) ? "" : "" . $shipping['service'] . "" . PHP_EOL; + $str .= "" . $shipping['price'] . " " . $currency . "" . PHP_EOL; + + foreach ( self::$shipping_attrs as $shipping_attr ) { + $key = \array_search( $shipping_attr, $this->config->mattributes, true ); + if ( $key ) { + $attributeValue = ( $this->config->type[ $key ] === 'pattern' ) ? $this->config->default[ $key ] : $this->config->attributes[ $key ]; + $value = ProductHelper::get_attribute_value_by_type( $attributeValue, $this->product, $this->config, $shipping_attr ); + $str .= "$value" . PHP_EOL; + } + } + + $str .= ( $i !== \count( $methods ) ) ? "" . PHP_EOL : PHP_EOL; + $i ++; + } + } + + return $str; + } + + /** + * @param $key + * + * @return string + */ + private function get_csv( $key ) { + $allow_all_shipping = Settings::get( 'allow_all_shipping' ); + $local_pickup_shipping = Settings::get( 'only_local_pickup_shipping' ); + $country = $this->config->get_shipping_country(); + $feed_country = $this->config->get_feed_country(); + $currency = $this->config->get_feed_currency(); + + $methods = $this->shipping; + + foreach ( $methods as $k=>$shipping ) { + if ( 'local_pickup' == $shipping['method_id'] && $local_pickup_shipping == 'yes' ) { + unset( $methods[ $k ] ); + } + + if ( $country != "" ) { + if ( $country == 'feed' ) { + $allow_all_shipping = 'no'; + } + if ( $country == 'all' ) { + $allow_all_shipping = 'yes'; + } + } + + if ( $feed_country !== $shipping['country'] && $allow_all_shipping == 'no' ) { + unset( $methods[ $k ] ); + } + } + $shipping_info = array(); + foreach ( $methods as $k=>$shipping ) { + $shipping_info = [ + isset( $methods[ $key ]['country'] ) ? $methods[ $key ]['country'] : "", + isset( $methods[ $key ]['state'] ) ? $methods[ $key ]['state'] : "", + isset( $methods[ $key ]['service'] ) ? $methods[ $key ]['service'] : "", + isset( $methods[ $key ]['price'] ) ? $methods[ $key ]['price'] . " " . $currency : "", + ]; + } + return \implode( ":", $shipping_info ); + } + + /** + * @param $shipping_attr + * + * @return mixed|string|null + */ + public function get_value( $shipping_attr ) { + $m_key = \array_search( $shipping_attr, $this->config->mattributes, true ); + if ( $m_key ) { + $attribute_value = ( $this->config->type[ $m_key ] === 'pattern' ) ? $this->config->default[ $m_key ] : $this->config->attributes[ $m_key ]; + + return ProductHelper::get_attribute_value_by_type( $attribute_value, $this->product, $this->config, $shipping_attr ); + } + + return ""; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/PinterestShipping.php b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/PinterestShipping.php new file mode 100644 index 000000000..937877c92 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/PinterestShipping.php @@ -0,0 +1,179 @@ +config = $config; + } + + /** + * @throws \Exception + */ + public function get_shipping_info() { + $this->get_shipping_zones($this->config->get_feed_file_type()); + return $this->shipping; + } + + /** + * + * @return string + * @throws \Exception + */ + public function get_shipping( $key = '' ) { + + $this->get_shipping_zones($this->config->get_feed_file_type()); + + if ( 'xml' === $this->config->get_feed_file_type() ) { + return $this->get_xml(); + } + + return $this->get_csv( $key ); + } + + private function get_xml() { + $str = ""; + + $allow_all_shipping = Settings::get( 'allow_all_shipping' ); + $local_pickup_shipping = Settings::get('only_local_pickup_shipping'); + $country = $this->config->get_shipping_country(); + $feed_country = $this->config->get_feed_country(); + $currency = $this->config->get_feed_currency(); + + $methods = $this->shipping; + + if( is_array( $methods ) || is_object( $methods ) ){ + foreach ( $methods as $key=>$shipping ) { + if ('local_pickup' == $shipping['method_id'] && $local_pickup_shipping=='yes') { + unset($methods[$key]); + } + + if($country!=""){ + if($country=='feed'){ + $allow_all_shipping='no'; + } + if($country=='all'){ + $allow_all_shipping='yes'; + } + } + + if ($feed_country !== $shipping['country'] && $allow_all_shipping=='no') { + unset($methods[$key]); + } + } + } + + $i = 1; + if(is_array($methods)){ + foreach ( $methods as $shipping ) { + $str .= ( $i > 1 ) ? "" . PHP_EOL : PHP_EOL; + $str .= "" . $shipping['country'] . "" . PHP_EOL; + $str .= ( empty( $shipping['state'] ) ) ? "" : "" . $shipping['state'] . "" . PHP_EOL; + $str .= ( empty( $shipping['service'] ) ) ? "" : "" . $shipping['service'] . "" . PHP_EOL; + $str .= "" . $shipping['price'] . " " . $currency . "" . PHP_EOL; + + foreach ( self::$shipping_attrs as $shipping_attr ) { + $key = array_search( $shipping_attr, $this->config->mattributes, true ); + if ( $key ) { + $attributeValue = ( $this->config->type[ $key ] === 'pattern' ) ? $this->config->default[ $key ] : $this->config->attributes[ $key ]; + $value = ProductHelper::get_attribute_value_by_type( $attributeValue, $this->product, $this->config, $shipping_attr ); + $str .= "$value" . PHP_EOL; + } + } + + $str .= ( $i !== count( $methods ) ) ? "" . PHP_EOL : PHP_EOL; + $i ++; + } + } + + return $str; + } + + private function get_csv( $key ) { + + $allow_all_shipping = Settings::get( 'allow_all_shipping' ); + $local_pickup_shipping = Settings::get('only_local_pickup_shipping'); + $country = $this->config->get_shipping_country(); + $feed_country = $this->config->get_feed_country(); + $currency = $this->config->get_feed_currency(); + + + $methods = $this->shipping; + + foreach ( $methods as $k=>$shipping ) { + if ('local_pickup' == $shipping['method_id'] && $local_pickup_shipping=='yes') { + unset($methods[$k]); + } + + if($country!=""){ + if($country=='feed'){ + $allow_all_shipping='no'; + } + if($country=='all'){ + $allow_all_shipping='yes'; + } + } + + if ($feed_country !== $shipping['country'] && $allow_all_shipping=='no') { + unset($methods[$k]); + } + + $shipping = [ + isset( $methods[ $key ]['country'] ) ? $methods[ $key ]['country'] : "", + isset( $methods[ $key ]['state'] ) ? $methods[ $key ]['state'] : "", + isset( $methods[ $key ]['service'] ) ? $methods[ $key ]['service'] : "", + isset( $methods[ $key ]['price'] ) ? $methods[ $key ]['price'] . " " . $currency : "", + ]; + } + + return implode( ":", $shipping ); + } + + public function get_value( $shipping_attr ) { + $mKey = array_search( $shipping_attr, $this->config->mattributes, true ); + if ( $mKey ) { + $attributeValue = ( $this->config->type[ $mKey ] === 'pattern' ) ? $this->config->default[ $mKey ] : $this->config->attributes[ $mKey ]; + + return ProductHelper::get_attribute_value_by_type( $attributeValue, $this->product, $this->config, $shipping_attr ); + } + + return ""; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/Shipping.php b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/Shipping.php new file mode 100644 index 000000000..81db3bede --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/Shipping.php @@ -0,0 +1,295 @@ +product = $product; + $this->config = $config; + } + + /** + * Set Shipping Zones. + * + * @throws \Exception + */ + protected function get_shipping_zones( $type ) { + $shippingInfo = Cache::get( 'ctx_feed_shipping_info' ); + if( !empty ($shippingInfo) ) { + foreach ($shippingInfo as $key => $info) { + $shippingInfo[$key]['price'] = $this->get_shipping_price($info); + } + } + if ( ! $shippingInfo ) { + $zones = WC_Shipping_Zones::get_zones('json'); + if ( ! empty( $zones ) ) { + foreach ( $zones as $zone ) { + $this->zoneId = $zone['zone_id']; + $this->zoneName = $zone['zone_name']; + $this->methods = $zone['shipping_methods']; + $this->get_locations( $zone['zone_locations'] ); + } + } + Cache::set( 'ctx_feed_shipping_info', $this->shipping ); + $shippingInfo = Cache::get( 'ctx_feed_shipping_info' ); + } + + $this->shipping = $shippingInfo; + } + + /** + * Set shipping locations. + * + * @param $locations + * + * @return void + */ + private function get_locations( $locations ) { + if ( ! empty( $locations ) ) { + foreach ( $locations as $location ) { + + if ( 'country' === $location->type ) { + $this->country = $location->code; + $this->get_methods(); + } elseif ( 'state' === $location->type ) { + + $countryState = explode( ':', $location->code ); + $this->country = $countryState[0]; + $this->state = $countryState[1]; + + $this->get_methods(); + + } elseif ( 'postcode' === $location->type ) { + $this->postcode = str_replace( "...", "-", $location->code ); + } + } + $this->country = ""; + $this->state = ""; + $this->postcode = ""; + $this->zoneId = ""; + $this->zoneName = ""; + } + } + + /** + * Set Shipping Methods. + * + * @return void + */ + private function get_methods() { + if ( ! empty( $this->methods ) ) { + foreach ( $this->methods as $method ) { + if ( 'yes' === $method->enabled) { + + if ( empty( $this->country ) ) { + $service = $this->zoneName . " " . $method->title; + } else { + $service = $this->zoneName . " " . $method->title . " " . $this->country; + } + + $this->shipping[ $this->l ]['zone_id'] = $this->zoneId; + $this->shipping[ $this->l ]['zone_name'] = $this->zoneName; + $this->shipping[ $this->l ]['country'] = $this->country; + $this->shipping[ $this->l ]['state'] = $this->state; + $this->shipping[ $this->l ]['service'] = $service; + $this->shipping[ $this->l ]['postcode'] = $this->postcode; + $this->shipping[ $this->l ]['method_id'] = $method->id; + $this->shipping[ $this->l ]['method_instance_id'] = $method->instance_id; + + if ( 'table_rate' === $method->id ) { + $this->shipping[ $this->l ]['table_rate_id'] = $method->table_rate_id; + } + + $this->shipping[ $this->l ]['method_title'] = $method->title; + $this->shipping[ $this->l ]['method_min_amount'] = isset( $method->min_amount ) ? $method->min_amount : ""; + $this->shipping[ $this->l ]['price'] = $this->get_shipping_price( $this->shipping[ $this->l ] ); + $this->l ++; + } + } + } + } + + /** + * Get shipping cost. + * + * @param $shipping array shipping information + * + * @return mixed $shipping_cost shipping cost + * @since 5.2.0 + */ + private function get_shipping_price_new( $shipping ) { + + if ( ! is_object( $this->product ) ) { + return ""; + } + + // Initialize shipping cost and tax + $shipping_cost = 0; + $tax = 0; + defined( 'WC_ABSPATH' ) || exit; + + // Load required WooCommerce classes + if ( ! class_exists( 'WC_Shipping_Zones' ) ) { + include_once WC_ABSPATH . 'includes/class-wc-shipping-zones.php'; + } + if ( ! class_exists( 'WC_Shipping_Rate' ) ) { + include_once WC_ABSPATH . 'includes/class-wc-shipping-rate.php'; + } + + // Set Shipping Country and State. + WC()->customer->set_shipping_country( $shipping['country'] ?? '' ); + WC()->customer->set_shipping_state( $shipping['state'] ?? '' ); + + $chosen_ship_method_id = $shipping['method_id'] . ':' . $shipping['method_instance_id']; + // If table rate plugin installed + if ( isset( $shipping['table_rate_id'] ) && 'table_rate' === $shipping['method_id'] && is_plugin_active( 'woocommerce-table-rate-shipping/woocommerce-table-rate-shipping.php' ) ) { + $chosen_ship_method_id = $shipping['method_id'] . ':' . $shipping['method_instance_id'] . ':' . $shipping['table_rate_id']; + } + WC()->session->set( 'chosen_shipping_methods', array( $chosen_ship_method_id ) ); + + // Calculate shipping cost and taxes + $shipping_rate = new WC_Shipping_Rate( $shipping['method'] . ':' . $shipping['instance_id'], $shipping['title'], $shipping['price'], array(), $shipping['id'] ); + if ( $shipping_rate ) { + $shipping_cost = $shipping_rate->get_cost(); + $taxes = WC_Tax::calc_shipping_tax( $shipping_cost, WC_Tax::get_shipping_tax_rates() ); + + foreach ( $taxes as $tax_value ) { + $tax += $tax_value; + } + + $shipping_cost += $tax; + } + return $shipping_cost; + } + + /** + * Get shipping cost. + * + * @param $shipping array shipping information + * + * @return mixed $shipping_cost shipping cost + * @since 5.2.0 + */ + private function get_shipping_price( $shipping ) { + + if ( ! is_object( $this->product ) ) { + return ""; + } + + // TODO : This filter is removed the price of shipping method. We have to check it more. +// if ( ( "free_shipping" === $shipping['method_id'] ) && $this->product->get_price() >= $shipping['method_min_amount'] ) { +// return apply_filters( 'woo_feed_filter_shipping_attribute_price', 0, $shipping, $this->config ); +// } + + // Set shipping cost + $shipping_cost = 0; + $tax = 0; + defined( 'WC_ABSPATH' ) || exit; + + // Load cart functions which are loaded only on the front-end. + include_once WC_ABSPATH . 'includes/wc-cart-functions.php'; + include_once WC_ABSPATH . 'includes/class-wc-cart.php'; + + wc_load_cart(); + global $woocommerce; + + // Make sure to empty the cart again + $woocommerce->cart->empty_cart(); + + // Set Shipping Country. + if ( isset( $shipping['country'] ) && ! empty( $shipping['country'] ) ) { + $woocommerce->customer->set_shipping_country( $shipping['country'] ); + } + // Set Shipping Region. + if ( isset( $shipping['state'] ) && ! empty( $shipping['state'] ) ) { + $woocommerce->customer->set_shipping_state( $shipping['state'] ); + } else { + $woocommerce->customer->set_shipping_state( "" ); + } + + // set shipping method in the cart + $chosen_ship_method_id = $shipping['method_id'] . ':' . $shipping['method_instance_id']; + // If table rate plugin installed + if ( isset( $shipping['table_rate_id'] ) && 'table_rate' === $shipping['method_id'] && is_plugin_active( 'woocommerce-table-rate-shipping/woocommerce-table-rate-shipping.php' ) ) { + $chosen_ship_method_id = $shipping['method_id'] . ':' . $shipping['method_instance_id'] . ':' . $shipping['table_rate_id']; + } + WC()->session->set( 'chosen_shipping_methods', array( $chosen_ship_method_id ) ); + + // get product id + if ( "variation" === $this->product->get_type() ) { + $id = $this->product->get_parent_id(); + } elseif ( "grouped" === $this->product->get_type() ) { + $id = $this->product->get_children(); + $id = reset( $id ); + } else { + $id = $this->product->get_id(); + } + + // add product to cart + if ( is_plugin_active( 'woocommerce-multi-currency/woocommerce-multi-currency.php' ) ) { + do_action('woo_feed_action_shipping_currency',$this->config); + } + + $woocommerce->cart->add_to_cart( $id, 1 ); + + // Read cart and get shipping costs + $shipping_cost = $woocommerce->cart->get_shipping_total(); + $tax = $woocommerce->cart->get_shipping_tax(); + + // TODO: this is not resetting the value of array. Id and instance id not available in method. so it's commented. + // reset chosen shipping methods in the cart +// if ( isset( $method['id'] ) && $method['instance_id'] ) { + WC()->session->set( 'chosen_shipping_methods', array( '' ) ); +// } + + $shipping_cost += $tax; + + // Make sure to empty the cart again + $woocommerce->cart->empty_cart(); + + return $shipping_cost; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/ShippingFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/ShippingFactory.php new file mode 100644 index 000000000..c63a630c1 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Shipping/ShippingFactory.php @@ -0,0 +1,32 @@ +get_feed_template(); + $class = "\CTXFeed\V5\Shipping\\" . ucfirst( $template ) . "Shipping"; + if ( class_exists( $class ) ) { + return new $class( $product, $config ); + } + + return new CustomShipping( $product, $config ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/BingStructure.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/BingStructure.php new file mode 100644 index 000000000..a45c46826 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/BingStructure.php @@ -0,0 +1,204 @@ +config = $config; + } + + /** + * Retrieves grouped attributes for tax and shipping. + * + * @return array Array of grouped attributes categorized by type. + */ + public function get_grouped_attributes() { + $group['tax'] = [ + 'tax_country', + 'tax_region', + 'tax_rate', + 'tax_ship' + ]; + $group['shipping'] = [ + 'shipping_country', + 'shipping_region', + 'shipping_service', + 'shipping_price', + ]; + + return $group; + } + + /** + * Retrieves the XML structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to XML format. + */ + public function get_xml_structure() { + return $this->get_csv_structure(); + } + + /** + * Constructs a CSV structure based on the configuration settings and grouped attributes. + * + * @return array The constructed CSV data structure. + */ + public function get_csv_structure() { + + $group = $this->get_grouped_attributes(); + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + $data = []; + + $shipping = false; + + if ( !\in_array( "identifier_exists", $attributes ) ){ + \array_push( $attributes,'identifier_exists' ); + \array_push( $mattributes,'identifier_exists' ); + \array_push( $type,'attribute' ); + } + + foreach ( $mattributes as $key => $attribute ) { + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + + if ( \in_array( $attribute, $group['shipping'], true ) ) { + $shipping = true; + } elseif ( $attribute === 'shipping' ) { + $shipping = true; + } + else { + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[][ $replaced_attribute ] = $attribute_value; + } + + } + + if ( \array_key_exists( 'shipping', $data ) && ! empty( $data['shipping'] ) ) { + $attr = 'shipping(' . \implode( ':', \array_keys( $data['shipping'] ) ) . ')'; + $data[][ $attr ] = \implode( ':', \array_values( $data['shipping'] ) ); + unset( $data['shipping'] ); + } + + if ( $shipping ) { + $data = $this->get_shipping( $data ); + } + + return $data; + } + + /** + * Retrieves shipping data based on specified criteria and settings. + * + * @param array $data The data to which shipping details will be appended. + * @return array Modified data array with shipping details. + */ + private function get_shipping( $data ){ + $methods = ( ShippingFactory::get( [], $this->config ) )->get_shipping_info(); + $allow_all_shipping = Settings::get( 'allow_all_shipping' ); + $local_pickup_shipping = Settings::get('only_local_pickup_shipping'); + $country = $this->config->get_shipping_country(); + $feed_country = $this->config->get_feed_country(); + + + if ( ! empty( $methods ) ) { + + foreach ( $methods as $k=>$shipping ) { + if ('local_pickup' == $shipping['method_id'] && $local_pickup_shipping=='yes') { + unset($methods[$k]); + } + + if($country!=""){ + if($country=='feed'){ + $allow_all_shipping='no'; + } + if($country=='all'){ + $allow_all_shipping='yes'; + } + } + + if ($feed_country !== $shipping['country'] && $allow_all_shipping=='no') { + unset($methods[$k]); + } + } + + $i_max = \count( $methods ); + $group['shipping'] = array( "country", "region", "service", "price"); + for ( $i = 0; $i < $i_max; $i ++ ) { + $data[][ 'shipping(' . \implode( ':', $group['shipping'] ) . ')' ] = "csv_shipping_" . $i ; + } + } + + return $data; + } + + /** + * Retrieves the TSV structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TSV format. + */ + public function get_tsv_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the TXT structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TXT format. + */ + public function get_txt_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the XLS structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to XLS format. + */ + public function get_xls_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the JSON structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to JSON format. + */ + public function get_json_structure() { + return $this->get_csv_structure(); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/Custom2Structure.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/Custom2Structure.php new file mode 100644 index 000000000..cb6ab652f --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/Custom2Structure.php @@ -0,0 +1,251 @@ +config = $config; + } + + /** + * Retrieves the XML structure. + * + * @return array The constructed XML data structure. + */ + public function get_xml_structure() { + $xml = \trim( \preg_replace( '/\+/', '', $this->config->feed_config_custom2 ) ); + + // Get XML nodes for each product + $get_feed_body = FeedHelper::get_string_between( $xml, '{{each product start}}', '{{each product end}}' ); + // Explode each element by new line + $get_elements = \explode( "\n", $get_feed_body ); + + $elements = array(); + $i = 1; + + $sub_loops_start = [ + 'ifVariationAvailable' => '{{if variation available}}', + 'variation' => '{{each variation start}}', + 'images' => '{{each image start}}', + 'shipping' => '{{each shipping start}}', + 'tax' => '{{each tax start}}', + 'categories' => '{{each category start}}', + 'crossSale' => '{{each crossSale start}}', + 'upSale' => '{{each upSale start}}', + 'relatedProducts' => '{{each relatedProducts start}}', + 'associatedProduct' => '{{each associatedProduct start}}' + ]; + + $sub_loops_end = [ + 'ifVariationAvailableEnd' => '{{endif variation}}', + 'variationEnd' => '{{each variation end}}', + 'imagesEnd' => '{{each image end}}', + 'shippingEnd' => '{{each shipping end}}', + 'taxEnd' => '{{each tax end}}', + 'categoryEnd' => '{{each category end}}', + 'crossSaleEnd' => '{{each crossSale end}}', + 'upSaleEnd' => '{{each upSale end}}', + 'relatedProductsEnd' => '{{each relatedProducts end}}', + 'associatedProductEnd' => '{{each associatedProduct end}}' + ]; + + if ( ! empty( $get_elements ) ) { + foreach ( $get_elements as $value ) { + if ( ! empty( $value ) ) { + + if ( \in_array( \trim( $value ), $sub_loops_start ) ) { + $this->for_sub_loop = \array_search( \trim( $value ), $sub_loops_start, false ); + if ( $this->for_sub_loop === 'variation' ) { + $this->variation_elements_start = $i; + } + continue; + } + + if ( \in_array( \trim( $value ), $sub_loops_end ) ) { + $loop_key = \array_search( \trim( $value ), $sub_loops_end, false ); + if ( $loop_key === 'ifVariationAvailableEnd' ) { + $elements[ $i - 1 ]['for'] = 'ifVariationAvailable'; + } + $this->for_sub_loop = ""; + continue; + } + + // Get Element info + $element = FeedHelper::get_string_between( $value, '<', '>' ); + + if ( empty( $element ) ) { + continue; + } + + // Set Element for + $elements[ $i ]['for'] = $this->for_sub_loop; + + + // Get starting element + $template = $this->config->get_feed_template(); + if( $template === 'yandex_xml' ){ + $elements[ $i ]['start'] = $element ; + }else{ + $elements[ $i ]['start'] = $this->remove_quotation( $element ); + } + + // Get ending element + $elements[ $i ]['end'] = FeedHelper::get_string_between( $value, '' ); + + // Set CDATA status and remove CDATA + $element_text_info = FeedHelper::get_string_between( $value, '>', 'remove_CDATA( $element_text_info ); + } + // Get Pattern of the xml node + $elements[ $i ]['elementTextInfo'] = $element_text_info; + + if ( ! empty( $elements[ $i ]['elementTextInfo'] ) ) { + // Get type of the attribute pattern + if ( \strpos( $element_text_info, '{' ) === false && \strpos( $element_text_info, '}' ) === false ) { + $elements[ $i ]['attr_type'] = 'text'; + $elements[ $i ]['attr_value'] = $element_text_info; + } elseif ( \strpos( $element_text_info, 'return' ) !== false ) { + $elements[ $i ]['attr_type'] = 'return'; + $return = FeedHelper::get_string_between( $element_text_info, '{(', ')}' ); + $elements[ $i ]['to_return'] = $return; + } elseif ( \strpos( $element_text_info, 'php ' ) !== false ) { + $elements[ $i ]['attr_type'] = 'php'; + $php = FeedHelper::get_string_between( $element_text_info, '{(', ')}' ); + $elements[ $i ]['to_return'] = \str_replace( 'php', '', $php ); + } else { + $elements[ $i ]['attr_type'] = 'attribute'; + $attribute = FeedHelper::get_string_between( $element_text_info, '{', '}' ); + $get_attr_base_format = \explode( ',', $attribute ); + + $attr_info = $get_attr_base_format[0]; + if ( \count( $get_attr_base_format ) > 1 ) { + $j = 0; + foreach ( $get_attr_base_format as $_value ) { + if ( $value !== "" ) { + $formatters = FeedHelper::get_string_between( $_value, '[', ']' ); + if ( ! empty( $formatters ) ) { + $elements[ $i ]['formatter'][ $j ] = $formatters; + $j ++; + } + } + } + } + + $get_attr_codes = \explode( '|', $attr_info ); + $elements[ $i ]['attr_code'] = $get_attr_codes[0]; + $elements[ $i ]['id_type'] = isset( $get_attr_codes[1] ) ? $get_attr_codes[1] : ''; + } + + // Get prefix of the attribute node value + $elements[ $i ]['prefix'] = ''; + if ( 'text' !== $elements[ $i ]['attr_type'] && \strpos( \trim( $element_text_info ), '{' ) !== 0 ) { + $get_prefix = \explode( '{', $element_text_info ); + $elements[ $i ]['prefix'] = ( \count( $get_prefix ) > 1 ) ? $get_prefix[0] : ''; + } + // Get suffix of the attribute node value + $elements[ $i ]['suffix'] = ''; + if ( 'text' != $elements[ $i ]['attr_type'] && \strpos( \trim( $element_text_info ), '}' ) !== 0 ) { + $get_suffix = \explode( '}', $element_text_info ); + $elements[ $i ]['suffix'] = ( \count( $get_suffix ) > 1 ) ? $get_suffix[1] : ''; + } + } + + \preg_match_all( '/{(.*?)}/', $element, $matches ); + $start_codes = ( isset( $matches[0] ) ? $matches[0] : '' ); + $elements[ $i ]['start_code'] = \array_filter( $start_codes ); + $i ++; + } + } + } + + return [ + 'variationElementsStart' => $this->variation_elements_start, + 'structure' => $elements + ]; + } + + /** Remove CDATA from String + * + * @param string $output + * + * @return string + */ + private function remove_CDATA( $output ) { + return \str_replace( [ "" ], "", $output ); + } + + /** + * If provided static attribute titler than no need to Remove Quotation mark else Remove Quotation mark from xml element. + * + * @return string + */ + private function remove_quotation( $string ) { + $string = stripslashes($string); + $static_attribute_title = '/="[a-zA-Z0-9 ]+"/';; + if ( preg_match( $static_attribute_title, $string ) ) { + return $string; + }else{ + return wp_unslash( str_replace( array( "'", "\"", """ ), "", $string ) ); + } + + } + + public function get_csv_structure() { + // TODO: Implement getCSVStructure() method. + } + + public function get_tsv_structure() { + // TODO: Implement getTSVStructure() method. + } + + public function get_txt_structure() { + // TODO: Implement getTXTStructure() method. + } + + public function get_xls_structure() { + // TODO: Implement getXLSStructure() method. + } + + public function get_json_structure() { + // TODO: Implement getJSONStructure() method. + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/CustomStructure.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/CustomStructure.php new file mode 100644 index 000000000..4881f6180 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/CustomStructure.php @@ -0,0 +1,136 @@ +config = $config; + } + + /** + * Retrieves the XML structure. + * + * @return array The constructed XML data structure. + */ + public function get_xml_structure() { + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + + $wrapper = \str_replace( " ", "_", $this->config->itemWrapper );; + $wrapper = apply_filters('woo_feed_product_item_wrapper', $wrapper, $this->config ); + + $data = []; + foreach ( $mattributes as $key => $attribute ) { + + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $replaced_attribute = \str_replace( " ", "_", $replaced_attribute ); + $data[ $wrapper ][][ $replaced_attribute ] = $attribute_value; + } + + return $data; + } + + public function get_csv_structure() { + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + $data = []; + foreach ( $mattributes as $key => $attribute ) { + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[][ $replaced_attribute ] = $attribute_value; + } + + return $data; + } + + /** + * Retrieves the TSV structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TSV format. + */ + public function get_tsv_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the TXT structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TXT format. + */ + public function get_txt_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the XLS structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to XLS format. + */ + public function get_xls_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the XLSX structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to XLSX format. + */ + public function get_xlsx_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the JSON structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to JSON format. + */ + public function get_json_structure() { + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + $data = []; + foreach ( $mattributes as $key => $attribute ) { + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[ $replaced_attribute ] = $attribute_value; + } + + return $data; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/FacebookStructure.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/FacebookStructure.php new file mode 100644 index 000000000..76ff579be --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/FacebookStructure.php @@ -0,0 +1,205 @@ +config = $config; + $this->config->itemWrapper = 'item'; + $this->config->itemsWrapper = 'items'; + } + + /** + * Retrieves grouped attributes for tax and shipping. + * + * @return array Array of grouped attributes categorized by type. + */ + public function get_grouped_attributes() { + $group['additional_variant'] = [ + 'additional_variant_label', + 'additional_variant_value' + ]; + + $group['tax'] = [ + 'tax_country', + 'tax_region', + 'tax_rate', + 'tax_ship' + ]; + $group['shipping'] = [ + 'location_id', + 'location_group_name', + 'min_handling_time', + 'max_handling_time', + 'min_transit_time', + 'max_transit_time' + ]; + + return $group; + } + + /** + * Retrieves the XML structure. + * + * @return array The constructed XML data structure. + */ + public function get_xml_structure() { + $additional_variant = []; + $group = $this->get_grouped_attributes(); + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + $wrapper = $this->config->itemWrapper; + $data = []; + + if ( !\in_array( "identifier_exists", $attributes ) ){ + \array_push( $attributes,'identifier_exists' ); + \array_push( $mattributes,'identifier_exists' ); + \array_push( $type,'attribute' ); + } + + foreach ( $mattributes as $key => $attribute ) { + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + $additional_variant_sub = \str_replace( "additional_variant_", "", $attribute ); + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + // Installment Attribute + if ( \in_array( $attribute, $group['additional_variant'], true ) && \count( $additional_variant ) < 1 ) { + $additional_variant[ $additional_variant_sub ] = $attribute_value; + }elseif ( \in_array( $attribute, $group['additional_variant'], true ) ) { + $additional_variant[ $additional_variant_sub ] = $attribute_value; + $data[ $wrapper ][]['additional_variant_attribute'] = $additional_variant; + $additional_variant = []; + }elseif ( \strpos( $attribute, 'images_' ) !== false ) { + $data[ $wrapper ][][ $replaced_attribute ] = $attribute_value; + }else { + $data[ $wrapper ][ $replaced_attribute ] = $attribute_value; + } + } + + return $data; + } + + /** + * Constructs a CSV structure based on the configuration settings and grouped attributes. + * + * @return array The constructed CSV data structure. + */ + public function get_csv_structure() { + $group = $this->get_grouped_attributes(); + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + $data = []; + + if ( !\in_array( "identifier_exists", $attributes ) ){ + \array_push( $attributes,'identifier_exists' ); + \array_push( $mattributes,'identifier_exists' ); + \array_push( $type,'attribute' ); + } + + foreach ( $mattributes as $key => $attribute ) { + $additional_variant_sub = \str_replace( "additional_variant_", "", $attribute ); + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + + if ( \in_array( $attribute, $group['additional_variant'], true ) && \count( $additional_variant ) < 1 ) { + $additional_variant[ $additional_variant_sub ] = $attribute_value; + }elseif ( \in_array( $attribute, $group['additional_variant'], true ) ) { + $additional_variant[ $additional_variant_sub ] = $attribute_value; + $data[ 'additional_variant_attribute' ][] = $additional_variant; + $additional_variant = []; + } elseif ( \strpos( $attribute, 'images_' ) !== false ) { + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( 'additional_image_link', $this->config ); + $data[][$replaced_attribute] = $attribute_value; + } else { + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[][ $replaced_attribute ] = $attribute_value; + } + } + + if ( \array_key_exists( 'shipping', $data ) && ! empty( $data['shipping'] ) ) { + $attr = 'shipping(' . \implode( ':', \array_keys( $data['shipping'] ) ) . ')'; + $data[][ $attr ] = \implode( ':', \array_values( $data['shipping'] ) ); + unset( $data['shipping'] ); + } + + if ( \array_key_exists( 'additional_variant_attribute', $data ) && ! empty( $data['additional_variant_attribute'] ) ) { + foreach ( $data['additional_variant_attribute'] as $detail ) { + $additional_variant[] = \implode( ':', \array_values( $detail ) ); + } + $data[]['additional_variant_attribute'] = \implode( ',', \array_values( $additional_variant ) ); + unset( $data['additional_variant_attribute'] ); + } + + + return $data; + } + + /** + * Retrieves the TSV structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TSV format. + */ + public function get_tsv_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the TXT structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TXT format. + */ + public function get_txt_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the XLS structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to XLS format. + */ + public function get_xls_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the JSON structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to JSON format. + */ + public function get_json_structure() { + return $this->get_csv_structure(); + } +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/GoogleStructure.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/GoogleStructure.php new file mode 100644 index 000000000..d75fc8470 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/GoogleStructure.php @@ -0,0 +1,442 @@ +config = $config; + $this->config->itemWrapper = 'item'; + $this->config->itemsWrapper = 'items'; + } + + /** + * Retrieves grouped attributes for tax and shipping. + * + * @return array Array of grouped attributes categorized by type. + */ + public function get_grouped_attributes() { + $group['installment'] = [ + 'installment_months', + 'installment_amount' + ]; + $group['subscription_cost'] = [ + 'subscription_period', + 'subscription_period_length', + 'subscription_amount' + ]; + $group['product_detail'] = [ + 'section_name', + 'attribute_name', + 'attribute_value' + ]; + $group[] = [ + 'product_highlight_1', + 'product_highlight_2', + 'product_highlight_3', + 'product_highlight_4', + 'product_highlight_5', + 'product_highlight_6', + 'product_highlight_7', + 'product_highlight_8', + 'product_highlight_9', + 'product_highlight_10' + ]; + $group['tax'] = [ + 'tax_country', + 'tax_region', + 'tax_rate', + 'tax_ship' + ]; + $group['shipping'] = [ + 'shipping_country', + 'shipping_region', + 'shipping_service', + 'shipping_price' + ]; + + return $group; + } + + /** + * Constructs a XML structure based on the configuration settings and grouped attributes. + * + * @return array The constructed XML data structure. + */ + public function get_xml_structure() { + $product_detail = []; + $subscription = []; + $installment = []; + $tax = []; + $group = $this->get_grouped_attributes(); + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + $wrapper = $this->config->itemWrapper; + $data = []; + + if($this->exclude_identifier_exists()){ + if ( !\in_array( "identifier_exists", $mattributes ) ){ + \array_push( $attributes,'identifier_exists' ); + \array_push( $mattributes,'identifier_exists' ); + \array_push( $type,'attribute' ); + } + } + + foreach ( GoogleShipping::$shipping_attrs as $shipping_attr ) { + $key = \array_search( $shipping_attr, $mattributes, true ); + if ( $key ) { + unset( $mattributes[ $key ] ); + unset( $attributes[ $key ] ); + unset( $type[ $key ] ); + } + } + + foreach ( $mattributes as $key => $attribute ) { + $installment_sub = \str_replace( "installment_", "", $attribute ); + $installment_sub = MerchantAttributeReplaceFactory::replace_attribute( $installment_sub, $this->config ); + + $subscription_sub = \str_replace( "subscription_", "", $attribute ); + $subscription_sub = MerchantAttributeReplaceFactory::replace_attribute( $subscription_sub, $this->config ); + + $tax_attrs = \substr_count( \implode( '|', $mattributes ), 'tax_' ); + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $product_detail_label = MerchantAttributeReplaceFactory::replace_attribute( 'product_detail', $this->config ); + $shipping_label = MerchantAttributeReplaceFactory::replace_attribute( 'shipping', $this->config ); + $tax_label = MerchantAttributeReplaceFactory::replace_attribute( 'tax', $this->config ); + $installment_label = MerchantAttributeReplaceFactory::replace_attribute( 'installment', $this->config ); + // Installment Attribute + if ( \in_array( $attribute, $group['installment'], true ) && \count( $installment ) < 1 ) { + $installment[ $installment_sub ] = $attribute_value; + } elseif ( \in_array( $attribute, $group['installment'], true ) ) { + $installment[ $installment_sub ] = $attribute_value; + $data[ $wrapper ][ $installment_label ] = $installment; + $installment = []; + } // Subscription Attributes + elseif ( \in_array( $attribute, $group['subscription_cost'], true ) && \count( $subscription ) < 2 ) { + $subscription[ $subscription_sub ] = $attribute_value; + } elseif ( \in_array( $attribute, $group['subscription_cost'], true ) ) { + $subscription_cost = MerchantAttributeReplaceFactory::replace_attribute( 'subscription_cost', $this->config ); + $subscription[ $subscription_sub ] = $attribute_value; + $data[ $wrapper ][ $subscription_cost ] = $subscription; + $subscription = []; + } elseif ( \strpos( $attribute, 'product_highlight' ) !== false ) { + $product_highlight = MerchantAttributeReplaceFactory::replace_attribute( 'product_highlight', $this->config ); + $data[ $wrapper ][][ $product_highlight ] = $attribute_value; + } elseif ( \strpos( $attribute, 'images_' ) !== false ) { + $attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[ $wrapper ][][ $attribute ] = $attribute_value; + } elseif ( \in_array( $attribute, $group['tax'], true ) ) { + $sub = \str_replace( [ 'tax_', 'ship' ], [ '', 'tax_ship' ], $attribute ); + $sub = MerchantAttributeReplaceFactory::replace_attribute( $sub, $this->config ); + if ( \count( $tax ) < $tax_attrs - 1 ) { + $tax[ $sub ] = $attribute_value; + + } else { + $tax[ $sub ] = $attribute_value; + $data[ $wrapper ][][ $tax_label ] = $tax; + $tax = []; + } + } elseif ( \in_array( $attribute, $group['product_detail'], true ) ) { + if ( $attribute === 'section_name' || $attribute === 'attribute_name' ) { + $product_detail[ $replaced_attribute ] = $attribute_value; + } elseif ( $attribute === 'attribute_value' ) { + $product_detail[ $replaced_attribute ] = $attribute_value; + $data[ $wrapper ][][ $product_detail_label ] = $product_detail; + $product_detail = []; + } + } elseif ( \in_array( $attribute, $group['shipping'], true ) ) { + $data[ $wrapper ][ $shipping_label ] = 'shipping'; + } else { + $data[ $wrapper ][ $replaced_attribute ] = $attribute_value; + } + + } + return $data; + } + + /** + * Constructs a CSV structure based on the configuration settings and grouped attributes. + * + * @return array The constructed CSV data structure. + */ + public function get_csv_structure() { + $product_detail = []; + $group = $this->get_grouped_attributes(); + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + $data = []; + $shipping = false; + $tax = false; + + if($this->exclude_identifier_exists()){ + if ( !\in_array( "identifier_exists", $mattributes ) ){ + \array_push( $attributes,'identifier_exists' ); + \array_push( $mattributes,'identifier_exists' ); + \array_push( $type,'attribute' ); + } + } + + foreach ( $mattributes as $key => $attribute ) { + if ( empty( $attribute ) ) { + continue; + } + + $installment_sub = \str_replace( "installment_", "", $attribute ); + $subscription_sub = \str_replace( "subscription_", "", $attribute ); + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + + + $product_detail_label = MerchantAttributeReplaceFactory::replace_attribute( 'product_detail', $this->config ); + $product_highlight_label = MerchantAttributeReplaceFactory::replace_attribute( 'product_highlight', $this->config ); + + + if ( \strpos( $attribute, 'images_' ) !== false ) { + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[][$replaced_attribute] = $attribute_value; + } elseif ( \strpos( $attribute, 'installment_' ) !== false ) { + $data['installment'][ $installment_sub ] = $attribute_value; + } elseif ( \strpos( $attribute, 'subscription_' ) !== false ) { + $data['subscription_cost'][ $subscription_sub ] = $attribute_value; + } elseif ( \strpos( $attribute, 'product_highlight_' ) !== false ) { + $data[][ $product_highlight_label ] = $attribute_value; + } elseif ( \in_array( $attribute, $group['product_detail'], true ) ) { + if ( $attribute === 'section_name' || $attribute === 'attribute_name' ) { + $product_detail[ $attribute ] = $attribute_value; + } elseif ( $attribute === 'attribute_value' ) { + $product_detail[ $attribute ] = $attribute_value; + $data[ $product_detail_label ][] = $product_detail; + $product_detail = []; + } + } elseif ( \in_array( $attribute, $group['shipping'], true ) ) { + $shipping = true; + } elseif ( $attribute === 'shipping' ) { + $shipping = true; + }elseif ( $attribute === 'tax' ) { + $tax = true; + } else { + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[][ $replaced_attribute ] = $attribute_value; + } + } + + if ( \array_key_exists( 'subscription_cost', $data ) && ! empty( $data['subscription_cost'] ) ) { + $data[]['subscription_cost'] = \implode( ':', \array_values( $data['subscription_cost'] ) ); + unset( $data['subscription_cost'] ); + } + + if ( \array_key_exists( 'installment', $data ) && ! empty( $data['installment'] ) ) { + $data[]['installment'] = \implode( ':', \array_values( $data['installment'] ) ); + unset( $data['installment'] ); + } + + if ( \array_key_exists( 'additional_image_link', $data ) && ! empty( $data['additional_image_link'] ) ) { + $imageLinks = $data['additional_image_link']; + unset( $data['additional_image_link'] ); + $data[]['additional_image_link'] = \implode( ',', \array_values( $imageLinks ) ); + } + + if ( \array_key_exists( 'product_detail', $data ) && ! empty( $data['product_detail'] ) ) { + foreach ( $data['product_detail'] as $detail ) { + $product_detail[] = \implode( ':', \array_values( $detail ) ); + } + $data[]['product_detail'] = \implode( ',', \array_values( $product_detail ) ); + unset( $data['product_detail'] ); + } + + if ( $shipping ) { + $data = $this->get_shipping( $data ); + } + + if ( $tax ) { + $data = $this->get_tax( $data ); + } + + + return $data; + } + + /** + * Retrieves shipping data based on specified criteria and settings. + * + * @param array $data The data to which shipping details will be appended. + * @return array Modified data array with shipping details. + */ + private function get_shipping( $data ){ + + $methods = ( ShippingFactory::get( [], $this->config ) )->get_shipping_info(); + $allow_all_shipping = Settings::get( 'allow_all_shipping' ); + $local_pickup_shipping = Settings::get('only_local_pickup_shipping'); + $country = $this->config->get_shipping_country(); + $feed_country = $this->config->get_feed_country(); + + + if ( ! empty( $methods ) ) { + + foreach ( $methods as $k=>$shipping ) { + if ('local_pickup' == $shipping['method_id'] && $local_pickup_shipping=='yes') { + unset($methods[$k]); + } + + if($country!=""){ + if($country=='feed'){ + $allow_all_shipping='no'; + } + if($country=='all'){ + $allow_all_shipping='yes'; + } + } + + if ($feed_country !== $shipping['country'] && $allow_all_shipping=='no') { + unset($methods[$k]); + } + } + + $i_max = \count( $methods ); + $group['shipping'] = array( "country", "region", "service", "price"); + for ( $i = 0; $i < $i_max; $i ++ ) { + $data[][ 'shipping(' . \implode( ':', $group['shipping'] ) . ')' ] = "csv_shipping_" . $i ; + } + } + + return $data; + } + + /** + * Retrieves tax data based on specified criteria and settings. + * + * @param array $data The data to which tax details will be appended. + * @return array Modified data array with tax details. + */ + private function get_tax( $data ){ + $taxes = ( TaxFactory::get( [], $this->config ) )->get_taxes(); + if ( ! empty( $taxes ) ) { + + $taxes= Tax::get_tax_setting($taxes,$this->config); + + $i_max = \count( $taxes ); + $group['tax'] = array( "country", "region", "service", "price"); + for ( $i = 0; $i < $i_max; $i ++ ) { + $data[][ 'tax(' . \implode( ':', $group['tax'] ) . ')' ] = "csv_tax_" . $i; + } + } + + return $data; + } + + /** + * Retrieves all tax data based on specified criteria and settings. + * + * @return mixed Modified data array with all tax details. + */ + public function get_taxes() { + + $all_tax_rates = []; + // Retrieve all tax classes. + $tax_classes = WC_Tax::get_tax_classes(); + + // Make sure "Standard rate" (empty class name) is present. + if ( ! \in_array( '', $tax_classes, true ) ) { + \array_unshift( $tax_classes, '' ); + } + + // For each tax class, get all rates. + if ( ! empty( $tax_classes ) ) { + foreach ( $tax_classes as $tax_class ) { + $tax_class_name = ( '' === $tax_class ) ? 'standard-rate' : $tax_class; + $all_tax_rates [ $tax_class_name ] = \count( WC_Tax::get_rates_for_tax_class( $tax_class ) ); + } + } + + return ! empty( $all_tax_rates ) ? $all_tax_rates : false; + } + + /** + * Retrieves the TSV structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TSV format. + */ + public function get_tsv_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the TXT structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TXT format. + */ + public function get_txt_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the XLS structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to XLS format. + */ + public function get_xls_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the JSON structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to JSON format. + */ + public function get_json_structure() { + return $this->get_csv_structure(); + } + + /** + * Exclude identifier exists + * @return bool + */ + public function exclude_identifier_exists(){ + $template = array('google_shopping_action','google_local','google_local_inventory'); + if( in_array( $this->config->get_feed_template(),$template ) ){ + return false; + } + return true; + } +} + diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/GooglereviewStructure.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/GooglereviewStructure.php new file mode 100644 index 000000000..c89dd5c95 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/GooglereviewStructure.php @@ -0,0 +1,281 @@ +config = $config; + $this->ids = $ids; + $this->config->itemWrapper = 'review'; + $this->config->itemsWrapper = 'reviews'; + $this->review_limit = $this->get_review_limit_per_product(); + } + + /** + * Retrieve the review limit. + * + * This function returns the review limit, which is filtered by 'get_review_limit'. + * If the filter is not applied, the default limit of 0 is returned. + * + * @return int The review limit. + */ + public function get_review_limit_per_product(){ + $limit = 0; + return apply_filters( 'woo_feed_get_review_limit_per_product', $limit ); + } + + /** + * Retrieves the XML structure. + * + * @return array The constructed XML data structure. + */ + public function get_xml_structure() { + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $wrapper = \str_replace( " ", "_", $this->config->itemWrapper );; + $data = []; + $ids = $this->ids; + foreach ( $ids as $id ) { + $review = array(); + $product = \wc_get_product( $id ); + if( !ValidateProduct::is_valid( $product, $this->config, $id ) ){ + continue; + } + + $args = array( + 'post_id' => $id, + 'status' => 'approve', + 'post_status' => 'publish', + 'post_type' => 'product', + 'parent' => 0 + ); + if( $this->review_limit > 0 ){ + $args['number'] = $this->review_limit; + $args['orderby'] = 'comment_date'; + $args['order'] = 'DESC'; + } + + $reviews = \get_comments( $args ); + $i = 0; + if ( $reviews && \is_array( $reviews ) ) { + foreach ( $reviews as $single_review ) { + + $review_content = $single_review->comment_content; + if (empty( $review_content ) ) { + continue; + } + + $rating = \get_comment_meta( $single_review->comment_ID, 'rating', true ); + if (empty($rating)) { + continue; + } + + $review_time = !empty($single_review->comment_date_gmt) ? \gmdate('c', \strtotime($single_review->comment_date_gmt)) : ""; + //Review Content + //strip tags and spacial characters + $strip_review_content = CommonHelper::strip_all_tags( wp_specialchars_decode($review_content ) ); + $review_content = !empty( \strlen($strip_review_content ) ) && 0 < \strlen( $strip_review_content ) ? $strip_review_content : $review_content; + + $review_product_url = !empty( $product->get_permalink() ) ? $product->get_permalink() : ""; + + $review_id = !empty($single_review->comment_ID) ? $single_review->comment_ID : ""; + $review_author = !empty($single_review->comment_author) ? $single_review->comment_author : ""; + $review_user_id = !empty($single_review->user_id) ? $single_review->user_id : ""; + + $review[ $wrapper ]['review_id'] = $review_id; + $review[$wrapper]['reviewer']['name'] = $review_author; + $review[$wrapper]['reviewer']['reviewer_id'] = $review_user_id; + $review[$wrapper]['content'] = $review_content; + $review[$wrapper]['review_timestamp'] = $review_time; + $review[$wrapper]['review_url'] = $review_product_url; + $review[$wrapper]['ratings']["overall"] = $rating; + $review[$wrapper]['products'] = array(); + $review[$wrapper]['products']['product'] = array(); + + $review[$wrapper]['products']['product']['product_name'] = !empty( $product->get_name() ) ? $product->get_name() : ""; + $review[$wrapper]['products']['product']['product_url'] = $review_product_url; + + foreach ( $attributes as $attr_key => $attribute ) { + $merchant_attribute = isset($mattributes[ $attr_key ] ) ? $mattributes[ $attr_key ] : ''; + + if ( "review_temp_gtin" === $merchant_attribute) { + $review[$wrapper]['products']['product']['product_ids']['gtins'] = $this->get_product_ids( $product, $this->config, $attr_key, $attribute, $merchant_attribute, 'gtin' ); + } elseif ( "review_temp_mpn" === $merchant_attribute) { + $review[$wrapper]['products']['product']['product_ids']['mpns'] = $this->get_product_ids( $product, $this->config, $attr_key, $attribute, $merchant_attribute, 'mpn' );; + } elseif ( "review_temp_sku" === $merchant_attribute ) { + $review[$wrapper]['products']['product']['product_ids']['skus']= $this->get_product_ids( $product, $this->config, $attr_key, $attribute, $merchant_attribute, 'sku' );; + } elseif ( "review_temp_brand" === $merchant_attribute) { + $review[$wrapper]['products']['product']['product_ids']['brands'] =$this->get_product_ids( $product, $this->config, $attr_key, $attribute, $merchant_attribute, 'brand' );; + } + } + + $data[] = $review; + } + } + } + + return $data; + } + + /** + * Get Product Ids associated with a review (Ex: variations) + * + * @param $product + * @param $config + * @param $attr_key + * @param $attribute + * @param $merchant_attribute + * @param $id_type + * + * @return array + */ + public function get_product_ids( $product, $config, $attr_key, $attribute, $merchant_attribute, $id_type ) { + $prefix = $this->config->prefix[ $attr_key ]; + $suffix = $this->config->suffix[ $attr_key ]; + if ( $product->is_type( 'variable' ) ) { + $variations = $product->get_children(); + if ( ! empty( $variations ) ) { + $variation_ids = []; + foreach ( $variations as $key => $variation ) { + $variation = \wc_get_product( $variation ); + if ( 'pattern' === $config->type[ $attr_key ] ) { + $attribute_value = $prefix." ".$config->default[ $attr_key ]." ".$suffix; + } else { + $attribute_value = $prefix." ".ProductHelper::get_attribute_value_by_type( $attribute, $variation, $this->config )." ".$suffix; + } + $variation_ids[ $key ][ $id_type ] = \trim( $attribute_value ); + } + + return $variation_ids; + } + } + + // For non variation products + $attribute_value = ""; + if ( 'pattern' === $config->type[ $attr_key ] ) { + $attribute_value = $config->default[ $attr_key ]; + } else { + $attribute_value = ProductHelper::get_attribute_value_by_type( $attribute, $product, $this->config ); + } + // Add Prefix and Suffix into Output + $attribute_value = \trim( $prefix )." ".\trim( $attribute_value )." ".\trim( $suffix ); + $attribute_value = ! empty( $attribute_value ) ? $attribute_value : ""; + + return [ $id_type => trim( $attribute_value ) ]; + } + + /** + * Retrieves the CSV structure. + * Currently, this method serves as a wrapper for the get_xml_structure method. + * + * @return mixed The XML structure converted to CSV format. + */ + public function get_csv_structure() { + return $this->get_xml_structure(); + } + + /** + * Retrieves the TSV structure. + * Currently, this method serves as a wrapper for the get_xml_structure method. + * + * @return mixed The XML structure converted to TSV format. + */ + public function get_tsv_structure() { + return $this->get_xml_structure(); + } + + /** + * Retrieves the TXT structure. + * Currently, this method serves as a wrapper for the get_xml_structure method. + * + * @return mixed The XML structure converted to TXT format. + */ + public function get_txt_structure() { + return $this->get_xml_structure(); + } + + /** + * Retrieves the XML structure. + * Currently, this method serves as a wrapper for the get_xml_structure method. + * + * @return mixed The XML structure converted to XLS format. + */ + public function get_xls_structure() { + return $this->get_xml_structure(); + } + + /** + * Retrieves the JSON structure. + * Currently, this method serves as a wrapper for the get_xml_structure method. + * + * @return mixed The XML structure converted to JSON format. + */ + public function get_json_structure() { + return $this->get_xml_structure(); + } + + /** + * Process Reviews Product Header + * @return mixed + */ + public static function make_google_review_header() { + $version = '2.3'; + $aggregator_name = 'review'; + $publisher_name = 'CTX Feed – WooCommerce Product Feed Generator by Webappick'; + $provider_onfo = "$version + + $aggregator_name + + + $publisher_name + "; + + $xml_header_link = ''; + return '' . PHP_EOL . $xml_header_link. PHP_EOL . $provider_onfo. "<" . \wp_unslash( 'reviews' ) . ">"; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/PinterestStructure.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/PinterestStructure.php new file mode 100644 index 000000000..a894ad75f --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/PinterestStructure.php @@ -0,0 +1,419 @@ +config = $config; + $this->config->itemWrapper = 'item'; + } + + /** + * Retrieves grouped attributes for tax and shipping. + * + * @return array Array of grouped attributes categorized by type. + */ + public function get_grouped_attributes() { + $group['installment'] = [ + 'installment_months', + 'installment_amount' + ]; + $group['subscription_cost'] = [ + 'subscription_period', + 'subscription_period_length', + 'subscription_amount' + ]; + $group['product_detail'] = [ + 'section_name', + 'attribute_name', + 'attribute_value' + ]; + $group[] = [ + 'product_highlight_1', + 'product_highlight_2', + 'product_highlight_3', + 'product_highlight_4', + 'product_highlight_5', + 'product_highlight_6', + 'product_highlight_7', + 'product_highlight_8', + 'product_highlight_9', + 'product_highlight_10' + ]; + $group['tax'] = [ + 'tax_country', + 'tax_region', + 'tax_rate', + 'tax_ship' + ]; + $group['shipping'] = [ + 'shipping_country', + 'shipping_region', + 'shipping_service', + 'shipping_price' + ]; + + return $group; + } + /** + * Constructs a XML structure based on the configuration settings and grouped attributes. + * + * @return array The constructed XML data structure. + */ + public function get_xml_structure() { + $product_detail = []; + $subscription = []; + $installment = []; + $tax = []; + $group = $this->get_grouped_attributes(); + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + $wrapper = $this->config->itemWrapper; + $data = []; + + if ( !\in_array("identifier_exists", $attributes ) ){ + \array_push( $attributes,'identifier_exists' ); + \array_push( $mattributes,'identifier_exists' ); + \array_push( $type,'attribute' ); + } + + foreach ( PinterestShipping::$shipping_attrs as $shipping_attr ) { + $key = \array_search( $shipping_attr, $mattributes, true ); + if ( $key ) { + unset( $mattributes[ $key ] ); + unset( $attributes[ $key ] ); + unset( $type[ $key ] ); + } + } + + foreach ( $mattributes as $key => $attribute ) { + $installment_sub = \str_replace( "installment_", "", $attribute ); + $installment_sub = MerchantAttributeReplaceFactory::replace_attribute( $installment_sub, $this->config ); + + $subscription_sub = \str_replace( "subscription_", "", $attribute ); + $subscription_sub = MerchantAttributeReplaceFactory::replace_attribute( $subscription_sub, $this->config ); + + $tax_attrs = \substr_count( \implode( '|', $mattributes ), 'tax_' ); + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $product_detail_label = MerchantAttributeReplaceFactory::replace_attribute( 'product_detail', $this->config ); + $shipping_label = MerchantAttributeReplaceFactory::replace_attribute( 'shipping', $this->config ); + $tax_label = MerchantAttributeReplaceFactory::replace_attribute( 'tax', $this->config ); + // Installment Attribute + if ( \in_array( $attribute, $group['installment'], true ) && \count( $installment ) < 1 ) { + $installment[ $installment_sub ] = $attribute_value; + } elseif ( \in_array( $attribute, $group['installment'], true ) ) { + $installment[ $installment_sub ] = $attribute_value; + $data[ $wrapper ]['installment'] = $installment; + $installment = []; + } // Subscription Attributes + elseif ( \in_array( $attribute, $group['subscription_cost'], true ) && \count( $subscription ) < 2 ) { + $subscription[ $subscription_sub ] = $attribute_value; + } elseif ( \in_array( $attribute, $group['subscription_cost'], true ) ) { + $subscription_cost = MerchantAttributeReplaceFactory::replace_attribute( 'subscription_cost', $this->config ); + $subscription[ $subscription_sub ] = $attribute_value; + $data[ $wrapper ][$subscription_cost] = $subscription; + $subscription = []; + } elseif ( \strpos( $attribute, 'product_highlight' ) !== false ) { + $product_highlight = MerchantAttributeReplaceFactory::replace_attribute( 'product_highlight', $this->config ); + $data[ $wrapper ][][$product_highlight] = $attribute_value; + } elseif ( \strpos( $attribute, 'images_' ) !== false ) { + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[ $wrapper ][][ $replaced_attribute ] = $attribute_value; + } elseif ( \in_array( $attribute, $group['tax'], true ) ) { + $sub = \str_replace( [ 'tax_', 'ship' ], [ '', 'tax_ship' ], $attribute ); + $sub = MerchantAttributeReplaceFactory::replace_attribute( $sub, $this->config ); + if ( \count( $tax ) < $tax_attrs - 1 ) { + $tax[ $sub ] = $attribute_value; + + } else { + $tax[ $sub ] = $attribute_value; + $data[ $wrapper ][][$tax_label] = $tax; + $tax = []; + } + } elseif ( \in_array( $attribute, $group['product_detail'], true ) ) { + if ( $attribute === 'section_name' || $attribute === 'attribute_name' ) { + $product_detail[ $replaced_attribute ] = $attribute_value; + } elseif ( $attribute === 'attribute_value' ) { + $product_detail[ $replaced_attribute ] = $attribute_value; + $data[ $wrapper ][][$product_detail_label] = $product_detail; + $product_detail = []; + } + } elseif ( \in_array( $attribute, $group['shipping'], true ) ) { + $shipping[ $replaced_attribute ] = $attribute_value; + $data[ $wrapper ][$shipping_label] = $shipping; + } else { + $data[ $wrapper ][ $replaced_attribute ] = $attribute_value; + } + } + + return $data; + } + + /** + * Constructs a CSV structure based on the configuration settings and grouped attributes. + * + * @return array The constructed CSV data structure. + */ + public function get_csv_structure() { + $product_detail = []; + $group = $this->get_grouped_attributes(); + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + $data = []; + + $shipping = false; + $tax = false; + + if ( !\in_array( "identifier_exists", $attributes ) ){ + \array_push( $attributes,'identifier_exists' ); + \array_push( $mattributes,'identifier_exists' ); + \array_push( $type,'attribute' ); + } + + foreach ( $mattributes as $key => $attribute ) { + $installment_sub = \str_replace( "installment_", "", $attribute ); + $subscription_sub = \str_replace( "subscription_", "", $attribute ); + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + + if ( \strpos( $attribute, 'images_' ) !== false ) { + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[][$replaced_attribute] = $attribute_value; + } elseif ( \strpos( $attribute, 'installment_' ) !== false ) { + $data['installment'][ $installment_sub ] = $attribute_value; + } elseif ( \strpos( $attribute, 'subscription_' ) !== false ) { + $data['subscription_cost'][ $subscription_sub ] = $attribute_value; + } elseif ( \strpos( $attribute, 'product_highlight_' ) !== false ) { + $data[]['product_highlight'] = $attribute_value; + } elseif ( \in_array( $attribute, $group['product_detail'], true ) ) { + if ( $attribute === 'section_name' || $attribute === 'attribute_name' ) { + $product_detail[ $attribute ] = $attribute_value; + } elseif ( $attribute === 'attribute_value' ) { + $product_detail[ $attribute ] = $attribute_value; + $data['product_detail'][] = $product_detail; + $product_detail = []; + } + } elseif ( \in_array( $attribute, $group['shipping'], true ) ) { + $shipping = true; + } elseif ( $attribute === 'shipping' ) { + $shipping = true; + } elseif ( $attribute === 'tax' ) { + $tax = true; + } else { + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $data[][ $replaced_attribute ] = $attribute_value; + } + } + + if ( \array_key_exists( 'shipping', $data ) && ! empty( $data['shipping'] ) ) { + $attr = 'shipping(' . \implode( ':', \array_keys( $data['shipping'] ) ) . ')'; + $data[][ $attr ] = \implode( ':', \array_values( $data['shipping'] ) ); + unset( $data['shipping'] ); + } + + if ( \array_key_exists( 'subscription_cost', $data ) && ! empty( $data['subscription_cost'] ) ) { + $data[]['subscription_cost'] = \implode( ':', \array_values( $data['subscription_cost'] ) ); + unset( $data['subscription_cost'] ); + } + + if ( \array_key_exists( 'installment', $data ) && ! empty( $data['installment'] ) ) { + $data[]['installment'] = \implode( ':', \array_values( $data['installment'] ) ); + } + + if ( \array_key_exists( 'additional_image_link', $data ) && ! empty( $data['additional_image_link'] ) ) { + $imageLinks = $data['additional_image_link']; + unset( $data['additional_image_link'] ); + $data[]['additional_image_link'] = \implode( ',', \array_values( $imageLinks ) ); + } + + if ( \array_key_exists( 'product_detail', $data ) && ! empty( $data['product_detail'] ) ) { + foreach ( $data['product_detail'] as $detail ) { + $product_detail[] = \implode( ':', \array_values( $detail ) ); + } + $data[]['product_detail'] = \implode( ',', \array_values( $product_detail ) ); + unset( $data['product_detail'] ); + } + + if ( $shipping ) { + $data = $this->get_shipping( $data ); + } + + if ( $tax ) { + $data = $this->get_tax( $data ); + } + + + return $data; + } + + /** + * Retrieves shipping data based on specified criteria and settings. + * + * @param array $data The data to which shipping details will be appended. + * @return array Modified data array with shipping details. + */ + private function get_shipping( $data ) { + $methods = ( ShippingFactory::get( [], $this->config ) )->get_shipping_info(); + $allow_all_shipping = Settings::get( 'allow_all_shipping' ); + $local_pickup_shipping = Settings::get('only_local_pickup_shipping'); + $country = $this->config->get_shipping_country(); + $feed_country = $this->config->get_feed_country(); + + if ( ! empty( $methods ) ) { + + foreach ( $methods as $k=>$shipping ) { + if ('local_pickup' == $shipping['method_id'] && $local_pickup_shipping=='yes') { + unset($methods[$k]); + } + + if($country!=""){ + if($country=='feed'){ + $allow_all_shipping='no'; + } + if($country=='all'){ + $allow_all_shipping='yes'; + } + } + + if ($feed_country !== $shipping['country'] && $allow_all_shipping=='no') { + unset($methods[$k]); + } + } + + $i_max = \count( $methods ); + $group['shipping'] = array( "country", "region", "service", "price"); + for ( $i = 0; $i < $i_max; $i ++ ) { + $data[][ 'shipping(' . \implode( ':', $group['shipping'] ) . ')' ] = "csv_shipping_" . $i ; + } + } + + return $data; + } + + /** + * Retrieves tax data based on specified criteria and settings. + * + * @param array $data The data to which tax details will be appended. + * @return array Modified data array with tax details. + */ + private function get_tax( $data ) { + $taxes = ( TaxFactory::get( [], $this->config ) )->get_taxes(); + if ( ! empty( $taxes ) ) { + + $taxes= Tax::get_tax_setting($taxes,$this->config); + + $i_max = \count( $taxes ); + $group['tax'] = array( "country", "region", "service", "price"); + for ( $i = 0; $i < $i_max; $i ++ ) { + $data[][ 'tax(' . \implode( ':', $group['tax'] ) . ')' ] = "csv_tax_" . $i; + } + } + + return $data; + + } + + /** + * Retrieves all tax data based on specified criteria and settings. + * + * @return mixed Modified data array with all tax details. + */ + public function get_taxes() { + + $all_tax_rates = []; + // Retrieve all tax classes. + $tax_classes = WC_Tax::get_tax_classes(); + + // Make sure "Standard rate" (empty class name) is present. + if ( ! \in_array( '', $tax_classes, true ) ) { + \array_unshift( $tax_classes, '' ); + } + + // For each tax class, get all rates. + if ( ! empty( $tax_classes ) ) { + foreach ( $tax_classes as $tax_class ) { + $tax_class_name = ( '' === $tax_class ) ? 'standard-rate' : $tax_class; + $all_tax_rates [ $tax_class_name ] = \count( WC_Tax::get_rates_for_tax_class( $tax_class ) ); + } + } + + return ! empty( $all_tax_rates ) ? $all_tax_rates : false; + } + + /** + * Retrieves the TSV structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TSV format. + */ + public function get_tsv_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the TXT structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to TXT format. + */ + public function get_txt_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the XLS structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to XLS format. + */ + public function get_xls_structure() { + return $this->get_csv_structure(); + } + + /** + * Retrieves the JSON structure. + * Currently, this method serves as a wrapper for the get_csv_structure method. + * + * @return mixed The CSV structure converted to JSON format. + */ + public function get_json_structure() { + return $this->get_csv_structure(); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/SkroutzStructure.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/SkroutzStructure.php new file mode 100644 index 000000000..0b417e9e3 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/SkroutzStructure.php @@ -0,0 +1,14 @@ +structure = $structure; + } + + /** + * Get XML Structure + * + * Delegates the XML structure generation to the underlying structure object. + * + * @return mixed The generated XML structure. + */ + public function get_xml_structure() { + return $this->structure->get_xml_structure(); + } + + /** + * Get CSV Structure + * + * Delegates the CSV structure generation to the underlying structure object. + * + * @return mixed The generated CSV structure. + */ + public function get_csv_structure() { + return $this->structure->get_csv_structure(); + } + + /** + * Get TSV Structure + * + * Delegates the TSV structure generation to the underlying structure object. + * + * @return mixed The generated TSV structure. + */ + public function get_tsv_structure() { + return $this->structure->get_csv_structure(); + } + + /** + * Get TXT Structure + * + * Delegates the TXT structure generation to the underlying structure object. + * + * @return mixed The generated TXT structure. + */ + public function get_txt_structure() { + return $this->structure->get_csv_structure(); + } + + /** + * Get XLS Structure + * + * Delegates the XLS structure generation to the underlying structure object. + * + * @return mixed The generated XLS structure. + */ + public function get_xls_structure() { + return $this->structure->get_csv_structure(); + } + + /** + * Get JSON Structure + * + * Delegates the JSON structure generation to the underlying structure object. + * + * @return mixed The generated JSON structure. + */ + public function get_json_structure() { + return $this->structure->get_csv_structure(); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/StructureFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/StructureFactory.php new file mode 100644 index 000000000..ae4d7207a --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/StructureFactory.php @@ -0,0 +1,38 @@ +get_feed_template(); + $class = "\CTXFeed\V5\Structure\\" . \ucfirst( $template ) . "Structure"; + + // Check if the class exists, if not, fallback to a default CustomStructure. + if ( \class_exists( $class ) ) { + return new Structure(new $class($config)); + } + + return new Structure(new CustomStructure($config)); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Structure/StructureInterface.php b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/StructureInterface.php new file mode 100644 index 000000000..8d0dcfc3f --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Structure/StructureInterface.php @@ -0,0 +1,78 @@ +config = $config; + $this->config->itemWrapper = 'item'; + $this->config->itemsWrapper = 'items'; + } + + /** + * Retrieves the XML structure. + * + * @return array The constructed XML data structure. + */ + public function get_xml_structure() { + $attributes = $this->config->attributes; + $mattributes = $this->config->mattributes; + $static = $this->config->default; + $type = $this->config->type; + + $wrapper = \str_replace( " ", "_", $this->config->itemWrapper );; + $wrapper = apply_filters('woo_feed_product_item_wrapper', $wrapper, $this->config ); + + $data = []; + foreach ( $mattributes as $key => $attribute ) { + + $attribute_value = ( $type[ $key ] === 'pattern' ) ? $static[ $key ] : $attributes[ $key ]; + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $attribute, $this->config ); + $replaced_attribute = \str_replace( " ", "_", $replaced_attribute ); + $data[ $wrapper ][][ $replaced_attribute ] = $attribute_value; + } + + return $data; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tax/CustomTax.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/CustomTax.php new file mode 100644 index 000000000..809a0b24a --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/CustomTax.php @@ -0,0 +1,123 @@ +product = $product; + $this->config = $config; + } + + public function get_tax() { + $taxes = $this->get_taxes(); + + return $taxes[0]; + } + + public function get_taxes() { + + $taxes = Cache::get( 'ctx_feed_tax_info' ); + if ( ! $taxes ) { + $all_tax_rates = []; + + // Retrieve all tax classes. + $tax_classes = WC_Tax::get_tax_classes(); + + // Make sure "Standard rate" (empty class name) is present. + if ( ! in_array( '', $tax_classes, true ) ) { + array_unshift( $tax_classes, '' ); + } + + // For each tax class, get all rates. + if ( ! empty( $tax_classes ) ) { + foreach ( $tax_classes as $tax_class ) { + $taxes = WC_Tax::get_rates_for_tax_class( $tax_class ); + if ( ! empty( $taxes ) ) { + foreach ( $taxes as $key => $tax ) { + $tax_class_name = ( '' === $tax_class ) ? 'standard-rate' : $tax->tax_rate_class; + $all_tax_rates [ $tax_class_name ][ $key ]['id'] = $tax->tax_rate_id; + $all_tax_rates [ $tax_class_name ][ $key ]['country'] = $tax->tax_rate_country; + $all_tax_rates [ $tax_class_name ][ $key ]['state'] = $tax->tax_rate_state; + $all_tax_rates [ $tax_class_name ][ $key ]['postcode'] = isset( $tax->postcode ) ? is_array( $tax->postcode ) ? implode( ',', $tax->postcode ) : $tax->postcode : ''; + $all_tax_rates [ $tax_class_name ][ $key ]['postcode_count'] = $tax->postcode_count; + $all_tax_rates [ $tax_class_name ][ $key ]['city'] = isset( $tax->city ) ? is_array( $tax->city ) ? implode( ',', $tax->city ) : $tax->city : ''; + $all_tax_rates [ $tax_class_name ][ $key ]['city_count '] = $tax->city_count; + $all_tax_rates [ $tax_class_name ][ $key ]['rate'] = number_format( $tax->tax_rate, 2 ); + $all_tax_rates [ $tax_class_name ][ $key ]['name'] = $tax->tax_rate_name; + $all_tax_rates [ $tax_class_name ][ $key ]['shipping'] = $tax->tax_rate_shipping; + $all_tax_rates [ $tax_class_name ][ $key ]['priority'] = $tax->tax_rate_priority; + } + } + } + } + + $taxes = ! empty( $all_tax_rates ) ? $all_tax_rates : false; + Cache::set( 'ctx_feed_tax_info', $taxes ); + } + + return $taxes; + } + + public function merchant_formatted_tax($key) { + + $all_taxes = $this->get_taxes(); + $taxClass = empty( $this->product->get_tax_class() ) ? 'standard-rate' : $this->product->get_tax_class(); + $feedType = $this->config->get_feed_file_type(); + $str = ""; + + $allow_all_country = Settings::get( 'allow_all_shipping' ); + $tax_country = $this->config->get_tax_country(); + $feed_country = $this->config->get_feed_country(); + + if ( $all_taxes && isset( $all_taxes[ $taxClass ] ) && ! empty( $all_taxes[ $taxClass ] ) ) { + $taxes = array_values( $all_taxes[ $taxClass ] ); + + foreach ( $taxes as $k=>$tax ) { + if ( $tax_country != "" ) { + if ( $tax_country == 'feed' ) { + $allow_all_country = 'no'; + } + if ( $tax_country == 'all' ) { + $allow_all_country = 'yes'; + } + } + + if ( $feed_country !== $tax['country'] && $allow_all_country == 'no') { + unset( $taxes[ $k ] ); + } + } + + if ( "xml" === $feedType ) { + $i = 1; + foreach ( $taxes as $tax ) { + $country = htmlentities( $tax['country'], ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $state = htmlentities( $tax['state'], ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $rate = htmlentities( $tax['rate'], ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $shipping = ( $tax['shipping'] ) ? "yes" : "no"; + + $str .= ( $i > 1 ) ? PHP_EOL . "" : PHP_EOL; + $str .= PHP_EOL . "$country"; + $str .= PHP_EOL . "$state"; + $str .= PHP_EOL . "$rate"; + $str .= PHP_EOL . "$shipping"; + $str .= ( $i !== count( $taxes ) ) ? PHP_EOL . "" : PHP_EOL; + $i ++; + } + } else if ( $key !== '' && isset( $taxes[ $key ] ) ) { + $shipping = ( $taxes[ $key ]['shipping'] ) ? "yes" : "no"; + $str = $taxes[ $key ]['country'] . ":" . $taxes[ $key ]['state'] . ":" . $taxes[ $key ]['rate'] . ":" . $shipping; + } + } + + return $str; + + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tax/GoogleTax.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/GoogleTax.php new file mode 100644 index 000000000..060532f81 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/GoogleTax.php @@ -0,0 +1,124 @@ +product = $product; + $this->config = $config; + } + + public function get_tax() { + $taxes = $this->get_taxes(); + + return count( $taxes ) ? $taxes[0] : $taxes; + } + + public function get_taxes() { + + $taxes = Cache::get( 'ctx_feed_tax_info' ); + if ( ! $taxes ) { + $all_tax_rates = []; + + // Retrieve all tax classes. + $tax_classes = WC_Tax::get_tax_classes(); + // Make sure "Standard rate" (empty class name) is present. + if ( ! in_array( '', $tax_classes, true ) ) { + array_unshift( $tax_classes, '' ); + } + + // For each tax class, get all rates. + if ( ! empty( $tax_classes ) ) { + foreach ( $tax_classes as $tax_class ) { + $taxes = WC_Tax::get_rates_for_tax_class( $tax_class ); + if ( ! empty( $taxes ) ) { + foreach ( $taxes as $key => $tax ) { + $tax_class_name = ( '' === $tax_class ) ? 'standard-rate' : $tax->tax_rate_class; + $all_tax_rates [ $tax_class_name ][ $key ]['id'] = $tax->tax_rate_id; + $all_tax_rates [ $tax_class_name ][ $key ]['country'] = $tax->tax_rate_country; + $all_tax_rates [ $tax_class_name ][ $key ]['state'] = $tax->tax_rate_state; + $all_tax_rates [ $tax_class_name ][ $key ]['postcode'] = isset( $tax->postcode ) ? is_array( $tax->postcode ) ? implode( ',', $tax->postcode ) : $tax->postcode : ''; + $all_tax_rates [ $tax_class_name ][ $key ]['postcode_count'] = $tax->postcode_count; + $all_tax_rates [ $tax_class_name ][ $key ]['city'] = isset( $tax->city ) ? is_array( $tax->city ) ? implode( ',', $tax->city ) : $tax->city : ''; + $all_tax_rates [ $tax_class_name ][ $key ]['city_count '] = $tax->city_count; + $all_tax_rates [ $tax_class_name ][ $key ]['rate'] = number_format( $tax->tax_rate, 2 ); + $all_tax_rates [ $tax_class_name ][ $key ]['name'] = $tax->tax_rate_name; + $all_tax_rates [ $tax_class_name ][ $key ]['shipping'] = $tax->tax_rate_shipping; + $all_tax_rates [ $tax_class_name ][ $key ]['priority'] = $tax->tax_rate_priority; + } + } + } + } + + $taxes = ! empty( $all_tax_rates ) ? $all_tax_rates : []; + Cache::set( 'ctx_feed_tax_info', $taxes ); + } + return $taxes; + } + + public function merchant_formatted_tax( $key = '' ) { + $all_taxes = $this->get_taxes(); + $taxClass = empty( $this->product->get_tax_class() ) ? 'standard-rate' : $this->product->get_tax_class(); + $feedType = $this->config->get_feed_file_type(); + $str = ""; + + $allow_all_country = Settings::get( 'allow_all_shipping' ); + $tax_country = $this->config->get_tax_country(); + $feed_country = $this->config->get_feed_country(); + + if ( $all_taxes && isset( $all_taxes[ $taxClass ] ) && ! empty( $all_taxes[ $taxClass ] ) ) { + $taxes = array_values( $all_taxes[ $taxClass ] ); + foreach ( $taxes as $k=>$tax ) { + if ( $tax_country != "" ) { + if ( $tax_country == 'feed' ) { + $allow_all_country = 'no'; + } + if ( $tax_country == 'all' ) { + $allow_all_country = 'yes'; + } + } + + if ( $feed_country !== $tax['country'] && $allow_all_country == 'no') { + unset( $taxes[ $k ] ); + } + } + + if ( "xml" === $feedType ) { + $i = 1; + foreach ( $taxes as $tax ) { + $country = htmlentities( $tax['country'], ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $state = htmlentities( $tax['state'], ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $rate = htmlentities( $tax['rate'], ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $shipping = ( $tax['shipping'] ) ? "yes" : "no"; + + $str .= ( $i > 1 ) ? PHP_EOL . "" : PHP_EOL; + $str .= PHP_EOL . "$country"; + $str .= PHP_EOL . "$state"; + $str .= PHP_EOL . "$rate"; + $str .= PHP_EOL . "$shipping"; + $str .= ( $i !== count( $taxes ) ) ? PHP_EOL . "" : PHP_EOL; + $i ++; + } + } else if ( $key !== '' && isset( $taxes[ $key ] ) ) { + $shipping = ( $taxes[ $key ]['shipping'] ) ? "yes" : "no"; + $str = $taxes[ $key ]['country'] . ":" . $taxes[ $key ]['state'] . ":" . $taxes[ $key ]['rate'] . ":" . $shipping; + } + } + + return $str; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tax/PinterestTax.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/PinterestTax.php new file mode 100644 index 000000000..f61984758 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/PinterestTax.php @@ -0,0 +1,126 @@ +product = $product; + $this->config = $config; + } + + public function get_tax() { + $taxes = $this->get_taxes(); + + return count( $taxes ) ? $taxes[0] : $taxes; + } + + public function get_taxes() { + + $taxes = Cache::get( 'ctx_feed_tax_info' ); + if ( ! $taxes ) { + $all_tax_rates = []; + + // Retrieve all tax classes. + $tax_classes = WC_Tax::get_tax_classes(); + // Make sure "Standard rate" (empty class name) is present. + if ( ! in_array( '', $tax_classes, true ) ) { + array_unshift( $tax_classes, '' ); + } + + // For each tax class, get all rates. + if ( ! empty( $tax_classes ) ) { + foreach ( $tax_classes as $tax_class ) { + $taxes = WC_Tax::get_rates_for_tax_class( $tax_class ); + if ( ! empty( $taxes ) ) { + foreach ( $taxes as $key => $tax ) { + $tax_class_name = ( '' === $tax_class ) ? 'standard-rate' : $tax->tax_rate_class; + $all_tax_rates [ $tax_class_name ][ $key ]['id'] = $tax->tax_rate_id; + $all_tax_rates [ $tax_class_name ][ $key ]['country'] = $tax->tax_rate_country; + $all_tax_rates [ $tax_class_name ][ $key ]['state'] = $tax->tax_rate_state; + $all_tax_rates [ $tax_class_name ][ $key ]['postcode'] = isset( $tax->postcode ) ? is_array( $tax->postcode ) ? implode( ',', $tax->postcode ) : $tax->postcode : ''; + $all_tax_rates [ $tax_class_name ][ $key ]['postcode_count'] = $tax->postcode_count; + $all_tax_rates [ $tax_class_name ][ $key ]['city'] = isset( $tax->city ) ? is_array( $tax->city ) ? implode( ',', $tax->city ) : $tax->city : ''; + $all_tax_rates [ $tax_class_name ][ $key ]['city_count '] = $tax->city_count; + $all_tax_rates [ $tax_class_name ][ $key ]['rate'] = number_format( $tax->tax_rate, 2 ); + $all_tax_rates [ $tax_class_name ][ $key ]['name'] = $tax->tax_rate_name; + $all_tax_rates [ $tax_class_name ][ $key ]['shipping'] = $tax->tax_rate_shipping; + $all_tax_rates [ $tax_class_name ][ $key ]['priority'] = $tax->tax_rate_priority; + } + } + } + } + + $taxes = ! empty( $all_tax_rates ) ? $all_tax_rates : []; + Cache::set( 'ctx_feed_tax_info', $taxes ); + } + return $taxes; + } + + public function merchant_formatted_tax( $key = '' ) { + $all_taxes = $this->get_taxes(); + $taxClass = empty( $this->product->get_tax_class() ) ? 'standard-rate' : $this->product->get_tax_class(); + $feedType = $this->config->get_feed_file_type(); + $str = ""; + + $allow_all_country = Settings::get( 'allow_all_shipping' ); + $tax_country = $this->config->get_tax_country(); + $feed_country = $this->config->get_feed_country(); + + if ( $all_taxes && isset( $all_taxes[ $taxClass ] ) && ! empty( $all_taxes[ $taxClass ] ) ) { + $taxes = array_values( $all_taxes[ $taxClass ] ); + + foreach ( $taxes as $k=>$tax ) { + if ( $tax_country != "" ) { + if ( $tax_country == 'feed' ) { + $allow_all_country = 'no'; + } + if ( $tax_country == 'all' ) { + $allow_all_country = 'yes'; + } + } + + if ( $feed_country !== $tax['country'] && $allow_all_country == 'no') { + unset( $taxes[ $k ] ); + } + } + + if ( "xml" === $feedType ) { + $i = 1; + foreach ( $taxes as $tax ) { + $country = htmlentities( $tax['country'], ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $state = htmlentities( $tax['state'], ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $rate = htmlentities( $tax['rate'], ENT_XML1 | ENT_QUOTES, 'UTF-8' ); + $shipping = ( $tax['shipping'] ) ? "yes" : "no"; + + $str .= ( $i > 1 ) ? PHP_EOL . "" : PHP_EOL; + $str .= PHP_EOL . "$country"; + $str .= PHP_EOL . "$state"; + $str .= PHP_EOL . "$rate"; + $str .= PHP_EOL . "$shipping"; + $str .= ( $i !== count( $taxes ) ) ? PHP_EOL . "" : PHP_EOL; + $i ++; + } + } else if ( $key !== '' && isset( $taxes[ $key ] ) ) { + $shipping = ( $taxes[ $key ]['shipping'] ) ? "yes" : "no"; + $str = $taxes[ $key ]['country'] . ":" . $taxes[ $key ]['state'] . ":" . $taxes[ $key ]['rate'] . ":" . $shipping; + } + } + + return $str; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tax/Tax.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/Tax.php new file mode 100644 index 000000000..c0ed3260c --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/Tax.php @@ -0,0 +1,64 @@ +tax = $tax; + } + + public function get_tax() { + return $this->tax->get_tax(); + } + + public function get_taxes() { + return $this->tax->get_taxes(); + } + + public function merchant_formatted_tax($key) { + return $this->tax->merchant_formatted_tax($key); + } + + + /** + * @param $taxes + * @param $config + * + * @return mixed + */ + public static function get_tax_setting($all_taxes, $config){ + $allow_all_country = Settings::get( 'allow_all_shipping' ); + $tax_country = $config->get_tax_country(); + $feed_country = $config->get_feed_country(); + foreach($all_taxes as $key=>$taxes){ + foreach ( $taxes as $k=>$tax ) { + if ( $tax_country != "" ) { + if ( $tax_country == 'feed' ) { + $allow_all_country = 'no'; + } + if ( $tax_country == 'all' ) { + $allow_all_country = 'yes'; + } + } + + if ( $feed_country !== $tax['country'] && $allow_all_country == 'no') { + unset( $taxes[ $k ] ); + } + } + } + + return $taxes; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tax/TaxFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/TaxFactory.php new file mode 100644 index 000000000..b8d4eb241 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/TaxFactory.php @@ -0,0 +1,24 @@ +get_feed_template(); + + $class = "\CTXFeed\V5\Tax\\" . ucfirst( $template ) . "Tax"; + + if ( class_exists( $class ) ) { + return new Tax( new $class( $product, $config ) ); + } + + return new Tax( new CustomTax( $product, $config ) ); + } +} \ No newline at end of file diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tax/TaxInterface.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/TaxInterface.php new file mode 100644 index 000000000..74e7533b2 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tax/TaxInterface.php @@ -0,0 +1,7 @@ +ids = $ids; + $this->config = $config; + $getStructure = $structure; + $this->structure = $getStructure['structure']; + $this->variationElementsStart = $getStructure['variationElementsStart']; + } + + /** + * Get Feed Body. + * + * @return string + */ + public function get_feed() { +// $feed = ProductFactory::get_content( $this->ids, $this->config ,$this->structure); +// $feed = $feed->make_body(); +// +// return self::removeHeaderFooter( $feed ); +// die("Here"); + // Get XML Elements from feed config + $Elements = $this->structure; + + if ( ! empty( $this->structure ) && ! empty( $this->ids ) ) { + foreach ( $this->ids as $pid ) { + $product = wc_get_product( $pid ); + $this->productEngine = new ProductInfo( $product, $this->config ); + //TODO: PRODUCT VALIDATION AND FILTER IMPLEMENTATION + if ( ! ValidateProduct::is_valid( $product, $this->config, $pid ) ) { + continue; + } + + //TODO Filter products by Condition +// if (isset($this->config['fattribute']) && count($this->config['fattribute']) && !$this->productEngine->filter_product($product)) { + + + // Start making XML Elements + foreach ( $Elements as $each => $element ) { + if ( $each === $this->variationElementsStart && $product->is_type( 'variable' ) && $product->has_child() ) { + + $variations = $product->get_children(); + foreach ( $variations as $variation ) { + $variation = wc_get_product( $variation ); + if ( ! ValidateProduct::is_valid( $variation, $this->config, $pid ) ) { + continue; + } + foreach ( $Elements as $variationElement ) { + if ( $variationElement['for'] === 'variation' ) { +// $element['elementTextInfo'] = ''; +// $element['attr_type'] = 'text'; +// $element['attr_value'] = $image; +// unset( $variationElement['attr_code'] ); + $this->feedString .= $this->make_xml_element( $variationElement, $variation ); + } + } + } + + } + + if ( $element['for'] === 'variation' ) { + continue; + } + + if ( $element['for'] === 'ifVariationAvailable' && $product->get_type() !== 'variable' ) { + continue; + } + + if ( $element['for'] === 'images' && isset( $element['attr_code'] ) ) { + $images = $this->productEngine->custom_xml_images( $product ); + if ( ! empty( $images ) && is_array($images) ) { + foreach ( $images as $image ) { + $element['elementTextInfo'] = $image; + $element['attr_type'] = 'text'; + $element['attr_value'] = $image; + unset( $element['attr_code'] ); + $this->feedString .= $this->make_xml_element( $element, $product ); + } + } + } elseif ( $element['for'] === 'categories' && isset( $element['attr_code'] ) ) { + $categories = $this->productEngine->custom_xml_categories( $product ); + if ( ! empty( $categories ) ) { + foreach ( $categories as $category ) { + $element['elementTextInfo'] = $category; + $element['attr_type'] = 'text'; + $element['attr_value'] = $category; + unset( $element['attr_code'] ); + $this->feedString .= $this->make_xml_element( $element, $product ); + } + } + } else { + $this->feedString .= $this->make_xml_element( $element, $product ); + } + } + + } + } + + return $this->feedString; + } + + /** + * Get Feed Header. + * + * @return string + */ + public function get_header() { + $getHeader = explode( '{{each product start}}', $this->config->feed_config_custom2 ); + $header = trim( $getHeader[0] ); + $getNodes = explode( "\n", $header ); + + if ( ! empty( $getNodes ) ) { + foreach ( $getNodes as $value ) { + // Add header info to feed file + $value = preg_replace( '/\\\\/', '', $value ); + if ( strpos( $value, 'return' ) !== false ) { + $return = FeedHelper::get_string_between( $value, '{(', ')}' ); + $return_value = $this->process_eval( $return ); + $value = preg_replace( '/\{\(.*?\)\}/', $return_value, $value ); + } + $this->feedHeader .= $value; + $this->s += 2; + } + } else { + $this->feedHeader .= '' . "\n"; + } + + return $this->feedHeader; + } + + /** + * Get Feed Footer. + * + * @return string + */ + public function get_footer() { + $getFooter = explode( '{{each product end}}', $this->config->feed_config_custom2 ); + $getNodes = explode( "\n", $getFooter[1] ); + if ( ! empty( $getNodes ) ) { + foreach ( $getNodes as $value ) { + $this->s -= 2; + // Add header info to feed file + $this->feedFooter .= $value; + } + } + + return $this->feedFooter; + } + + /** + * @param $element + * @param $product + * + * @return string + */ + public function make_xml_element( $element, $product ) { + $p = false; + $string = ''; + $start = ''; + $end = ''; + $output = ''; + + + $this->productEngine = new ProductInfo( $product, $this->config ); + + // Start XML Element + if ( + empty( $element['elementTextInfo'] ) && // Get the root element. + empty( $element['end'] ) && + 6 === count( $element ) + ) { + + // Start XML Element + $elementStart = $this->processStartingElement( $element, $product ); + + $end .= '<' . $elementStart . '>'; + $string .= $end . "\n"; + $p = true; + } elseif ( ! empty( $element['start'] ) ) { + $elementStart = $this->processStartingElement( $element, $product ); + $start .= '<' . $elementStart . '>'; + } + + // Make XML Element Text + if ( ! empty( $element['elementTextInfo'] ) ) { + if ( 'attribute' === $element['attr_type'] ) { + $parent_product = null; + if ( $product && $product->is_type( 'variation' ) ) { + $parent_product = wc_get_product( $product->get_parent_id() ); + } + $output = ProductHelper::get_attribute_value_by_type( $element['attr_code'], $product, $this->config, null, $parent_product ); + $output = ProductHelper::str_replace( $output, $element['attr_code'], $this->config ); + } elseif ( 'return' === $element['attr_type'] ) { +// $output = $this->getReturnTypeValue( $element, $product ); + if ( preg_match( "/\bround\b/", $element['to_return'] ) ) { + $to_return = preg_replace( "/round\(|\)/", "", $element['to_return'] ); + $element['to_return'] = $to_return; + $output = round( $this->getReturnTypeValue( $element, $product ) ); + } else { + $output = $this->getReturnTypeValue( $element, $product ); + } + } elseif ( 'php' === $element['attr_type'] ) { + if ( isset( $element['to_return'] ) && ! empty( $element['to_return'] ) ) { + $output = $this->returnPHPFunction( $element['to_return'] ); + } + } elseif ( 'text' === $element['attr_type'] ) { + $output = ( isset( $element['attr_value'] ) && ! empty( $element['attr_value'] ) ) ? $element['attr_value'] : ''; + } + + $pluginAttribute = null; + if ( 'attribute' === $element['attr_type'] ) { + $pluginAttribute = $element['attr_code']; + } + + // Format output according to commands + if ( array_key_exists( 'formatter', $element ) ) { + $formatOutput = new OutputCommands( $product, $this->config, $pluginAttribute ); + $output = $formatOutput->process_command( $output, $element ); + } + $output = str_replace("&", "&", $output); + $p = false; + } + + // End XML Element + if ( '/' . $element['end'] === $element['start'] && empty( $element['elementTextInfo'] ) && 6 === count( $element ) ) { + if ( ! empty( $element['end'] ) ) { + $end .= '<' . $element['start'] . '>'; + } + $string .= $end . "\n"; + $p = true; + } elseif ( ! empty( $element['end'] ) ) { + $end .= '\n"; + } + + if ( ! $p ) { + // Add Prefix and Suffix + $prefix = isset( $element['prefix'] ) ? preg_replace( '!\s+!', ' ', $element['prefix'] ) : ''; + $suffix = isset( $element['suffix'] ) ? preg_replace( '!\s+!', ' ', $element['suffix'] ) : ''; + $output = $prefix ? $prefix . '' . $output : $output; + $output = $suffix ? $output . '' . $suffix : $output; + // Add CDATA if needed + if ( ! empty( $output ) ) { + $output = $this->addCDATA( $element['include_cdata'], $output ); + } + + $string .= $start . $output . $end; + $p = false; + } + + return $string; + } + + + /** + * Add Quotation mark to store code value. + * + * @return string + */ + public function addQuotation( $string ) { + return "'" . str_replace( array( "'", "\"", """ ), "", htmlspecialchars( $string ) ) . "'"; + } + + /** + * Remove Quotation mark from xml element. + * + * @return string + */ + public function removeQuotation( $string ) { + return str_replace( array( "'", "\"", """ ), "", $string ); + } + + /** + * Extract Start Code attributes value and replace. + * + * @param $element + * @param $product + * + * @return array|string + */ + public function processStartingElement( $element, $product ) { + $elementStart = stripslashes( $element['start'] ); + if ( ! empty( $element['start_code'] ) ) { + $start_attr_codes = array(); + foreach ( $element['start_code'] as $attrValue ) { + if ( strpos( $attrValue, 'return' ) !== false ) { + $start_attr_code = FeedHelper::get_string_between( $attrValue, '{(', ')}' ); + $tempAttribute = array( + 'to_return' => $start_attr_code, + 'attr' => $attrValue, + ); + $start_attr_code = $this->getReturnTypeValue( $tempAttribute, $product ); + $start_attr_codes[ stripslashes( $attrValue ) ] = $this->addQuotation( $start_attr_code ); + + } else { + $start_attr_code = FeedHelper::get_string_between( $attrValue, '{', '}' ); + $start_attr_code = $this->getAttributeTypeAndValue( $start_attr_code, $product ); + $start_attr_codes[ $attrValue ] = $this->addQuotation( $start_attr_code ); + + } + } + $elementStart = str_replace( array_keys( $start_attr_codes ), array_values( $start_attr_codes ), $elementStart ); + } + + return $elementStart; + } + + + public function process_eval( $attribute ) { + $return = preg_replace( '/\\\\/', '', $attribute ); + + return eval( $return ); + } + + public function getReturnTypeValue( $attribute, $product ) { + $variables = array(); + if ( ! empty( $attribute ) && strpos( $attribute['to_return'], '$' ) !== false ) { + $pattern = '/\$\S+/'; + preg_match_all( $pattern, $attribute['to_return'], $matches, PREG_SET_ORDER ); + $matches = array_column( $matches, 0 ); + foreach ( $matches as $variable ) { + if ( strpos( $variable, '$' ) !== false ) { + $variable = str_replace( array( '$', ';' ), '', $variable ); + $attribute['attr_code'] = $variable; + $variables[ $attribute['attr_code'] ] = $this->getAttributeTypeAndValue( $attribute['attr_code'], $product ); + } + } + } + + extract( $variables, EXTR_OVERWRITE ); // phpcs:ignore + $return = $attribute['to_return']; + $return = preg_replace( '/\\\\/', '', $return ); + + return eval( $return ); + } + + public function getAttributeTypeAndValue( $attribute, $product ) { + + return ProductHelper::get_attribute_value_by_type( $attribute, $product, $this->config ); + + } + + /** Return the php function of the attribute + * + * @param $function + * + * @return mixed + */ + private function returnPHPFunction( $function ) { + return $function; + } + + /** Add CDATA to String + * + * @param string $status + * @param string $output + * + * @return string + */ + private function addCDATA( $status, $output ) { + if ( 'yes' === $status ) { + $output = $this->removeCDATA( $output ); + + return ''; + } + + return $output; + } + + /** Remove CDATA from String + * + * @param string $output + * + * @return string + */ + private function removeCDATA( $output ) { + return str_replace( [ "" ], "", $output ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Template/CustomTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Template/CustomTemplate.php new file mode 100644 index 000000000..a786f6e54 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Template/CustomTemplate.php @@ -0,0 +1,88 @@ +ids = $ids; + $this->config = $config; + $this->structure = $structure; + } + + /** + * Get Feed Body. + * + * @return false|string + * @throws \Exception Exception. + */ + public function get_feed() { + $feed = ProductFactory::get_content( $this->ids, $this->config, $this->structure ); + + return $feed->make_body(); + } + + /** + * Get Feed Header. + * + * @return mixed + */ + public function get_header() { + $feed = FileFactory::get_file_data( $this->structure, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['header']; + } + + /** + * Get Feed Footer. + * + * @return mixed + */ + public function get_footer() { + $feed = FileFactory::get_file_data( $this->structure, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['footer']; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Template/FacebookTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Template/FacebookTemplate.php new file mode 100644 index 000000000..2c6ea9017 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Template/FacebookTemplate.php @@ -0,0 +1,88 @@ +ids = $ids; + $this->config = $config; + $this->structure = $structure; + } + + /** + * Get Feed Body. + * + * @return false|string + * @throws \Exception Exception. + */ + public function get_feed() { + $feed = ProductFactory::get_content( $this->ids, $this->config, $this->structure ); + + return $feed->make_body(); + } + + /** + * Get Feed Header. + * + * @return mixed + */ + public function get_header() { + $feed = FileFactory::get_file_data( $this->structure, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['header']; + } + + /** + * Get Feed Footer. + * + * @return mixed + */ + public function get_footer() { + $feed = FileFactory::get_file_data( $this->ids, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['footer']; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Template/GoogleTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Template/GoogleTemplate.php new file mode 100644 index 000000000..99d728c22 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Template/GoogleTemplate.php @@ -0,0 +1,88 @@ +ids = $ids; + $this->config = $config; + $this->structure = $structure; + } + + /** + * Get Feed Body. + * + * @return false|string + * @throws \Exception Exception. + */ + public function get_feed() { + $feed = ProductFactory::get_content( $this->ids, $this->config, $this->structure ); + + return $feed->make_body(); + } + + /** + * Get Feed Header. + * + * @return mixed + */ + public function get_header() { + $feed = FileFactory::get_file_data( $this->structure, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['header']; + } + + /** + * Get Feed Footer. + * + * @return mixed + */ + public function get_footer() { + $feed = FileFactory::get_file_data( $this->ids, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['footer']; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Template/GooglereviewTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Template/GooglereviewTemplate.php new file mode 100644 index 000000000..cee806116 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Template/GooglereviewTemplate.php @@ -0,0 +1,88 @@ +ids = $ids; + $this->config = $config; + $this->structure = $structure; + } + + /** + * Get Feed Body. + * + * @return false|string + * @throws \Exception Exception. + */ + public function get_feed() { + $feed = ProductFactory::get_content( $this->ids, $this->config, $this->structure ); + + return $feed->make_body(); + } + + /** + * Get Feed Header. + * + * @return mixed + */ + public function get_header() { + $feed = FileFactory::get_file_data( $this->structure, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['header']; + } + + /** + * Get Feed Footer. + * + * @return mixed + */ + public function get_footer() { + $feed = FileFactory::get_file_data( $this->ids, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['footer']; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Template/PinterestTemplate.php b/plugins/webappick-product-feed-for-woocommerce/V5/Template/PinterestTemplate.php new file mode 100644 index 000000000..01176b99c --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Template/PinterestTemplate.php @@ -0,0 +1,88 @@ +ids = $ids; + $this->config = $config; + $this->structure = $structure; + } + + /** + * Get Feed Body. + * + * @return false|string + * @throws \Exception Exception. + */ + public function get_feed() { + $feed = ProductFactory::get_content( $this->ids, $this->config, $this->structure ); + + return $feed->make_body(); + } + + /** + * Get Feed Header. + * + * @return mixed + */ + public function get_header() { + $feed = FileFactory::get_file_data( $this->structure, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['header']; + } + + /** + * Get Feed Footer. + * + * @return mixed + */ + public function get_footer() { + $feed = FileFactory::get_file_data( $this->ids, $this->config ); + $feed = $feed->make_header_footer(); + + return $feed['footer']; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Template/Template.php b/plugins/webappick-product-feed-for-woocommerce/V5/Template/Template.php new file mode 100644 index 000000000..7dbb9a05a --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Template/Template.php @@ -0,0 +1,62 @@ +template = $template; + } + + /** + * Get Feed Body. + * + * @return false|string + */ + public function get_feed() { + return $this->template->get_feed(); + } + + /** + * Get Feed Header. + * + * @return mixed + */ + public function get_header() { + return $this->template->get_header(); + } + + /** + * Get Feed Footer. + * + * @return mixed + */ + public function get_footer() { + return $this->template->get_footer(); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Template/TemplateFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Template/TemplateFactory.php new file mode 100644 index 000000000..1309424f4 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Template/TemplateFactory.php @@ -0,0 +1,124 @@ +get_feed_template() ) { + new Heureka_skTemplate(); + } + + if( 'zbozi.cz' === $config->get_feed_template() ) { + new Zbozi_czTemplate(); + } + + $group_class = self::get_grouped_templates( $config->provider ); + $structure = self::get_structure( $config, $ids ); + + + if ( $group_class ) { + $class = '\CTXFeed\V5\Template\\' . ucfirst( $group_class ) . 'Template'; + } else { + $class = '\CTXFeed\V5\Template\\' . ucfirst( $config->get_feed_template() ) . 'Template'; + } + + if ( class_exists( $class ) ) { + return new Template( new $class( $ids, $config, $structure ) ); + } + + return new Template( new CustomTemplate( $ids, $config, $structure ) ); + } + + /** + * Get Feed Structure. + * + * @param \CTXFeed\V5\Utility\Config $config Feed Config. + * @param array $ids Product Ids. + * @return mixed + */ + + public static function get_structure( $config, $ids = array() ) { + $template = $config->provider; + + if ( false !== ( $value = get_transient( 'ctx_feed_structure_transient' ) ) && 'Googlereview' !== $template ) { + return $value; + } + + $class = self::get_grouped_templates( $config->provider ); + + if ( $class ) { + $template = $class; + } + + $template = ucfirst( str_replace( array( '_', '.' ), '', $template ) ); + $class = '\CTXFeed\V5\Structure\\' . $template . 'Structure'; + + $method = 'get_' . $config->feedType . '_structure'; + + $structure = []; + + if ('Googlereview' === $template && class_exists($class) && method_exists($class, $method)) { + + return (new $class($config, $ids))->$method(); +// set_transient('ctx_feed_structure_transient', $structure, HOUR_IN_SECONDS); + } + + if (class_exists($class) && method_exists($class, $method)) { + $structure = (new $class($config))->$method(); + }else{ + $structure = (new CustomStructure($config))->$method(); + } + + set_transient('ctx_feed_structure_transient', $structure, HOUR_IN_SECONDS); + + return $structure; + } + + /** + * Get Grouped Templates. + * + * @param string $provider Feed Template. + * @return false|string + */ + public static function get_grouped_templates( $provider ) { + $group_classes = array( + 'google' => array( 'google_shopping_action', 'google_local', 'google_local_inventory' ), + 'custom2' => array( 'custom2', 'admarkt', 'yandex_xml', 'glami' ), + 'pinterest' => array( 'pinterest', 'pinterest_rss' ), + ); + + foreach ( $group_classes as $class => $providers ) { + if ( in_array( $provider, $providers, true ) ) { + return $class; + } + } + + return false; + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Template/TemplateInterface.php b/plugins/webappick-product-feed-for-woocommerce/V5/Template/TemplateInterface.php new file mode 100644 index 000000000..473d05958 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Template/TemplateInterface.php @@ -0,0 +1,42 @@ +trackingId = Settings::get( 'pixel_id' ); + + if ( $this->is_activated() ) { + add_action( 'wp_enqueue_scripts', [ $this, 'enqueueScript' ] ); + add_action( 'wp_head', [ $this, 'loadBaseScript' ] ); + } + + // Ajax adds to cart + add_action( 'wp_ajax_add_to_cart_facebook_pixel', [ $this, 'ajax_add_to_cart_data' ] ); + add_action( 'wp_ajax_nopriv_add_to_cart_facebook_pixel', [ $this, 'ajax_add_to_cart_data' ] ); + } + + /** + * Is Facebook Pixel Tracking Enabled. + * + * @return bool + */ + public function is_activated() { + return ! empty( $this->trackingId ) && 'enable' === Settings::get( 'disable_pixel' ); + } + + /** + * Enqueue Ajax Add to Cart Event Code. + * + * @return void + */ + public function enqueueScript() { + wp_enqueue_script( 'woo-feed-facebook-pixel,', WOO_FEED_PLUGIN_URL . 'admin/js/woo-feed-facebook-pixel.min.js', [ + 'jquery', + 'wp-util' + ], '1.0.0', true ); + } + + /** + * Load Base Script. + * + * @return void + */ + public function loadBaseScript() { + // @ToDo Language Code check. Currently passing all to `en_US` + ?> + + + get_price(); + } + + $data['value'] = $value; + + return $data; + } + + return false; + } + + /** + * Load PageView Event Script. + * + * @return void + */ + private function PageView() { + ?> + fbq( 'track', 'PageView' ); + ID ); + + $id = $_product->get_ID(); + $ids = [ $id ]; + + if ( "variable" === $_product->get_type() ) { + $ids = $_product->get_children(); + } + + $data = $this->get_content_info( $ids ); + if ( $data ) { + ?> + fbq( 'track', 'ViewContent', ); + get_content_info( [ $product_id ] ); + if ( $data ) { + ?> + fbq( 'track', 'AddToCart', ); + cart->is_empty() ) { + $ids = []; + foreach ( WC()->cart->get_cart() as $cart_item ) { + $ids[] = $cart_item['product_id']; + } + + $data['content_ids'] = $ids; + $data['content_type'] = 'product'; + $data['currency'] = get_woocommerce_currency(); + $data['value'] = WC()->cart->get_cart_contents_total(); + + if ( $data ) { + ?> + fbq( 'track', 'AddToCart', ); + query_vars['order-received'] ) ) { + $order = wc_get_order( $wp_query->query_vars['order-received'] ); + $ids = []; + foreach ( $order->get_items() as $item ) { + $ids[] = $item->get_product_id(); + } + $data = $this->get_content_info( $ids ); + if ( $data ) { + ?> + fbq( 'track', 'Purchase', ); + fbq( 'track', 'CompleteRegistration', ); + get_content_info( [ $product_id ] ); + } + + wp_send_json_success( json_encode($data) ); + } + +} \ No newline at end of file diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/GoogleTracker.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/GoogleTracker.php new file mode 100644 index 000000000..9f8ec41ff --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/GoogleTracker.php @@ -0,0 +1,229 @@ +trackingId = Settings::get( 'remarketing_id' ); + $this->sendTo = Settings::get( 'remarketing_label' ); + + + if ( $this->is_activated() ) { + add_action( 'wp_enqueue_scripts', [ $this, 'enqueueScript' ] ); + add_action( 'wp_head', [ $this, 'loadBaseScript' ] ); + } + + // Ajax adds to cart + add_action( 'wp_ajax_add_to_cart_facebook_pixel', [ $this, 'ajax_add_to_cart_data' ] ); + add_action( 'wp_ajax_nopriv_add_to_cart_facebook_pixel', [ $this, 'ajax_add_to_cart_data' ] ); + } + + /** + * Is Facebook Pixel Tracking Enabled. + * + * @return bool + */ + public function is_activated() { + return ! empty( $this->trackingId ) && ( 'enable' === Settings::get( 'disable_remarketing' ) ); + } + + /** + * Enqueue Ajax Add to Cart Event Code. + * + * @return void + */ + public function enqueueScript() { + wp_enqueue_script( 'woo-feed-google-remarketing,', WOO_FEED_PLUGIN_URL . 'admin/js/woo-feed-google-remarketing.min.js', [ + 'jquery', + 'wp-util' + ], '1.0.0', true ); + } + + /** + * Load Base Script. + * + * @return void + */ + public function loadBaseScript() { + // @ToDo Language Code check. Currently passing all to `en_US` + ?> + + + + + + sendTo; + $data['aw_remarketing_only'] = true; + $value = 0; + foreach ( $ids as $id ) { + $product = wc_get_product( $id ); + if ( ! is_object( $product ) ) { + continue; + } + $data['items'][]['id'] = $product->get_id(); + $value += (int) $product->get_price(); + } + + $data['value'] = $value; + + return $data; + } + + return false; + } + + /** + * Load ViewContent Event Script. + * + * @return void + */ + public function ViewContent() { + if ( is_product() ) { + global $post; + $_product = wc_get_product( $post->ID ); + + $id = $_product->get_ID(); + $ids = [ $id ]; + + if ( "variable" === $_product->get_type() ) { + $ids = $_product->get_children(); + } + + $data = $this->get_content_info( $ids ); + if ( $data ) { + ?> + gtag( 'event', 'view_item', ); + get_content_info( [ $product_id ] ); + if ( $data ) { + ?> + gtag( 'event', 'add_to_cart', ); + cart->is_empty() ) { + $ids = []; + foreach ( WC()->cart->get_cart() as $cart_item ) { + $ids[] = $cart_item['product_id']; + } + $data = $this->get_content_info( $ids ); + if ( $data ) { + ?> + gtag( 'event', 'add_to_cart', ); + query_vars['order-received'] ) ) { + $order = wc_get_order( $wp_query->query_vars['order-received'] ); + $ids = []; + foreach ( $order->get_items() as $item ) { + $ids[] = $item->get_product_id(); + } + $data = $this->get_content_info( $ids ); + if ( $data ) { + ?> + gtag( 'event', 'purchase', ); + get_content_info( [ $product_id ] ); + } + + wp_send_json_success( json_encode( $data ) ); + } + +} \ No newline at end of file diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/PinterestTracker.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/PinterestTracker.php new file mode 100644 index 000000000..412ffa93c --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/PinterestTracker.php @@ -0,0 +1,312 @@ +trackingId = Settings::get( 'pinterest_tag_id' ); + + if ( $this->is_activated() ) { + add_action( 'wp_enqueue_scripts', [ $this, 'enqueueScript' ] ); + add_action( 'wp_head', [ $this, 'loadBaseScript' ] ); + } + + // Ajax adds to cart + add_action( 'wp_ajax_add_to_cart_pinterest_tag', [ $this, 'ajax_add_to_cart_data' ] ); + add_action( 'wp_ajax_nopriv_add_to_cart_pinterest_tag', [ $this, 'ajax_add_to_cart_data' ] ); + } + + /** + * Is Pinterest Tracking Enabled. + * + * @return bool + */ + public function is_activated() { + return ! empty( $this->trackingId ) && 'enable' === Settings::get( 'pinterest_conversion_tracking' ); + } + + /** + * Enqueue Ajax Add to Cart Event Code. + * + * @return void + */ + public function enqueueScript() { + wp_enqueue_script( 'woo-feed-pinterest-tag,', WOO_FEED_PLUGIN_URL . 'admin/js/woo-feed-pinterest-tag.min.js', [ + 'jquery', + 'wp-util' + ], '1.0.0', true ); + } + + /** + * Load Base Script. + * + * @return void + */ + public function loadBaseScript() { + $email = ' '; + $current_user = wp_get_current_user(); + if ( ! is_null( $current_user ) && isset( $current_user->user_email ) && ! empty( $current_user->user_email ) ) { + $email = $current_user->user_email; + } + + + // @ToDo Language Code check. Currently passing all to `en_US` + ?> + + + + + PageView(); + $this->ViewContent(); + $this->AddToCart(); + $this->AddToCarts(); + $this->Purchase(); + } + + /** + * Get item info by Ids. + * + * @param array $ids + * @param string $event + * + * @return array|false + */ + private function get_content_info( $ids = [], $event = '' ) { + if ( ! empty( $ids ) ) { + $data['currency'] = get_woocommerce_currency(); + + if ( $event === 'checkout' ) { + $data['order_quantity'] = '1'; + } + + $value = 0; + foreach ( $ids as $id ) { + $product = wc_get_product( $id ); + if ( ! is_object( $product ) ) { + continue; + } + $data['line_items'][]['product_id'] = $product->get_id(); + $value += (int) $product->get_price(); + } + + $data['value'] = $value; + + return $data; + } + + return false; + } + + /** + * Load PageView Event Script. + * + * @return void + */ + private function PageView() { + $url = $this->make_url( [], 'pagevisit' ) + ?> + + + ID ); + + $id = $_product->get_ID(); + $ids = [ $id ]; + + if ( "variable" === $_product->get_type() ) { + $ids = array_merge( $ids, $_product->get_children() ); + } + + $data = $this->get_content_info( $ids ); + + $url = $this->make_url( $data, 'pagevisit' ); + + if ( $data ) { + ?> + + + get_content_info( [ $product_id ], 'addtocart' ); + $url = $this->make_url( $data, 'addtocart' ); + if ( $data ) { + ?> + + + cart->is_empty() ) { + $ids = []; + foreach ( WC()->cart->get_cart() as $cart_item ) { + $ids[] = $cart_item['product_id']; + } + $data = $this->get_content_info( $ids, 'addtocart' ); + $url = $this->make_url( $data, 'addtocart' ); + if ( $data ) { + ?> + + + query_vars['order-received'] ) ) { + $order = wc_get_order( $wp_query->query_vars['order-received'] ); + $ids = []; + foreach ( $order->get_items() as $item ) { + $ids[] = $item->get_product_id(); + } + $data = $this->get_content_info( $ids, 'checkout' ); + $url = $this->make_url( $data, 'checkout' ); + if ( $data ) { + ?> + + + get_content_info( [ $product_id ] ); + } + + wp_send_json_success( json_encode( $data ) ); + } + + /** + * Make noscript args + * + * @param $args + * @param $event + * + * @return string + */ + private function make_url( $args, $event ) { + $base_url = "https://ct.pinterest.com/v3/"; + $base_args = [ + 'tid' => $this->trackingId, + 'event' => $event, + 'noscript' => '1', + ]; + + $newArgs = []; + if ( ! empty( $args ) ) { + foreach ( $args as $key => $arg ) { + $newArgs[ "ed[" . $key . "]" ] = $arg; + } + } + + $args = array_merge( $base_args, $newArgs ); + + return add_query_arg( array_filter( $args ), $base_url ); + } + +} \ No newline at end of file diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/SkroutzTracker.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/SkroutzTracker.php new file mode 100644 index 000000000..752dc40ab --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/SkroutzTracker.php @@ -0,0 +1,5 @@ +trackingId = Settings::get( 'pixel_id' ); + + if ( $this->is_activated() ) { +// add_action( 'wp_enqueue_scripts', [ &$this, 'enqueueScript' ] ); +// add_action( 'wp_head', [ &$this, 'loadBaseScript' ] ); +// add_action( 'ctx_after_pixel_init', [ &$this, 'trigger_event' ], 11 ); + + } + + // Ajax adds to cart + add_action( 'wp_ajax_add_to_cart_facebook_pixel', [ &$this, 'ajax_add_to_cart_data' ] ); + add_action( 'wp_ajax_nopriv_add_to_cart_facebook_pixel', [ &$this, 'ajax_add_to_cart_data' ] ); + } + + /** + * Is Facebook Pixel Tracking Enabled. + * + * @return bool + */ + public function is_activated() { + return ! empty( $this->trackingId ) && 'enable' === Settings::get( 'disable_pixel' ); + } + + /** + * Enqueue Ajax Add to Cart Event Code. + * + * @return void + */ + public function enqueueScript() { + wp_enqueue_script( 'woo-feed-facebook-pixel,', WOO_FEED_PLUGIN_URL . 'admin/js/woo-feed-facebook-pixel.min.js', [ + 'jquery', + 'wp-util' + ], '1.0.0', true ); + } + + /** + * Load Base Script. + * + * @return void + */ + public function loadBaseScript() { + // @ToDo Language Code check. Currently passing all to `en_US` + ?> + + ViewContent(); + } + + // Trigger AddToCart event on Add to Cart by form post. + if ( isset( $_POST['add-to-cart'] ) ) { + $this->AddToCart(); + } + + // Trigger on Cart Page. + if ( is_cart() ) { + $this->AddToCarts(); + } + + if ( is_wc_endpoint_url( 'order-received' ) ) { + $this->Purchase(); + } + } + + /** + * Get item info by Ids. + * + * @param $ids + * + * @return array|false + */ + private function get_content_info( $ids = [] ) { + if ( ! empty( $ids ) ) { + $data['content_ids'] = $ids; + $data['content_type'] = 'product'; + $data['currency'] = get_woocommerce_currency(); + + $value = 0; + foreach ( $ids as $id ) { + $product = wc_get_product( $id ); + if ( ! is_object( $product ) ) { + continue; + } + $value += (int) $product->get_price(); + } + + $data['value'] = $value; + + return $data; + } + + return false; + } + + /** + * Load ViewContent Event Script. + * + * @return void + */ + public function ViewContent() { + if ( is_product() ) { + global $post; + $_product = wc_get_product( (int) $post->ID ); + + $id = $_product->get_ID(); + $ids = [ $id ]; + + if ( "variable" === $_product->get_type() ) { + $ids = $_product->get_children(); + } + + $data = $this->get_content_info( $ids ); + if ( $data ) { + ?> + ttq.track('ViewContent', ); + get_content_info( [ $product_id ] ); + if ( $data ) { + ?> + ttq.track('AddToCart', ); + cart->is_empty() ) { + $ids = []; + foreach ( WC()->cart->get_cart() as $cart_item ) { + $ids[] = $cart_item['product_id']; + } + $data = $this->get_content_info( $ids ); + if ( $data ) { + ?> + ttq.track('AddToCart', ); + query_vars['order-received'] ) ) { + $order = wc_get_order( $wp_query->query_vars['order-received'] ); + $ids = []; + foreach ( $order->get_items() as $item ) { + $ids[] = $item->get_product_id(); + } + $data = $this->get_content_info( $ids ); + if ( $data ) { + ?> + ttq.track('PlaceAnOrder', ); + ttq.track('InitiateCheckout') + ttq.track('CompleteRegistration'); + ttq.track('CompletePayment', ); + get_content_info( [ $product_id ] ); + } + + wp_send_json_success( json_encode( $data ) ); + } + +} \ No newline at end of file diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/TrackerFactory.php b/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/TrackerFactory.php new file mode 100644 index 000000000..41acc8dd9 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Tracker/TrackerFactory.php @@ -0,0 +1,10 @@ + + * @copyright 2019 WebAppick + */ +if ( ! defined( 'ABSPATH' ) ) { + die(); // Silence... +} + +class CTX_WC_Log_Handler extends WC_Log_Handler { + + /** + * Stores open file handles. + * + * @var array + */ + protected $handles = array(); + + /** + * File size limit for log files in bytes. + * + * @var int + */ + protected $log_size_limit; + + /** + * Cache logs that could not be written. + * + * If a log is written too early in the request, pluggable functions may be unavailable. These + * logs will be cached and written on 'plugins_loaded' action. + * + * @var array + */ + protected $cached_logs = array(); + + /** + * Constructor for the logger. + * + * @param int $log_size_limit Optional. Size limit for log files. Default 5mb. + */ + public function __construct( $log_size_limit = null ) { + if ( null === $log_size_limit ) { + $log_size_limit = 5 * 1024 * 1024; + } + + $this->log_size_limit = apply_filters( 'woo_feed_log_file_size_limit', $log_size_limit ); + + add_action( 'plugins_loaded', array( $this, 'write_cached_logs' ) ); + } + + /** + * Destructor. + * + * Cleans up open file handles. + */ + public function __destruct() { + foreach ( $this->handles as $handle ) { + if ( is_resource( $handle ) ) { + fclose( $handle ); // phpcs:ignore + } + } + } + + /** + * Handle a log entry. + * + * @param int $timestamp Log timestamp. + * @param string $level emergency|alert|critical|error|warning|notice|info|debug. + * @param string $message Log message. + * @param array $context { + * Additional information for log handlers. + * + * @type string $source Optional. Determines log file to write to. Default 'log'. + * @type bool $_legacy Optional. Default false. True to use outdated log format + * originally used in deprecated WC_Logger::add calls. + * } + * + * @return bool False if value was not handled and true if value was handled. + */ + public function handle( $timestamp, $level, $message, $context ) { + + if ( isset( $context['source'] ) && $context['source'] ) { + $handle = $context['source']; + } else { + $handle = 'log'; + } + + $entry = self::format_entry( $timestamp, $level, $message, $context ); + + return $this->add( $entry, $handle ); + } + + /** + * Builds a log entry text from timestamp, level and message. + * + * @param int $timestamp Log timestamp. + * @param string $level emergency|alert|critical|error|warning|notice|info|debug. + * @param string $message Log message. + * @param array $context Additional information for log handlers. + * + * @return string Formatted log entry. + */ + protected static function format_entry( $timestamp, $level, $message, $context ) { + + if ( isset( $context['_legacy'] ) && true === $context['_legacy'] ) { + if ( isset( $context['source'] ) && $context['source'] ) { + $handle = $context['source']; + } else { + $handle = 'log'; + } + $message = apply_filters( 'woo_feed_logger_add_message', $message, $handle ); + $time = date_i18n( 'm-d-Y @ H:i:s' ); + $entry = "{$time} - {$message}"; + } else { + $entry = parent::format_entry( $timestamp, $level, $message, $context ); + } + + return $entry; + } + + /** + * Open log file for writing. + * + * @param string $handle Log handle. + * @param string $mode Optional. File mode. Default 'a'. + * + * @return bool Success. + */ + protected function open( $handle, $mode = 'a' ) { + if ( $this->is_open( $handle ) ) { + return true; + } + + $file = self::get_log_file_path( $handle ); + + if ( $file ) { + if ( ! file_exists( $file ) ) { + $temp_handle = fopen( $file, 'w+' ); // phpcs:ignore + fclose( $temp_handle ); // phpcs:ignore + + if ( defined( 'FS_CHMOD_FILE' ) ) { + chmod( $file, FS_CHMOD_FILE ); // phpcs:ignore + } + } + + $resource = fopen( $file, $mode ); // phpcs:ignore + + if ( $resource ) { + $this->handles[ $handle ] = $resource; + + return true; + } + } + + return false; + } + + /** + * Check if a handle is open. + * + * @param string $handle Log handle. + * + * @return bool True if $handle is open. + */ + protected function is_open( $handle ) { + return array_key_exists( $handle, $this->handles ) && is_resource( $this->handles[ $handle ] ); + } + + /** + * Close a handle. + * + * @param string $handle Log handle. + * + * @return bool success + */ + protected function close( $handle ) { + $result = false; + + if ( $this->is_open( $handle ) ) { + $result = fclose( $this->handles[ $handle ] ); // phpcs:ignore + unset( $this->handles[ $handle ] ); + } + + return $result; + } + + /** + * Add a log entry to chosen file. + * + * @param string $entry Log entry text. + * @param string $handle Log entry handle. + * + * @return bool True if write was successful. + */ + protected function add( $entry, $handle ) { + + $result = false; + + if ( $this->should_rotate( $handle ) ) { + $this->log_rotate( $handle ); + } + + if ( $this->open( $handle ) && is_resource( $this->handles[ $handle ] ) ) { + $result = fwrite( $this->handles[ $handle ], $entry . PHP_EOL ); // phpcs:ignore + } else { + $this->cache_log( $entry, $handle ); + } + + return false !== $result; + } + + /** + * Clear entries from chosen file. + * + * @param string $handle Log handle. + * + * @return bool + */ + public function clear( $handle ) { + $result = false; + + // Close the file if it's already open. + $this->close( $handle ); + + /** + * $this->open( $handle, 'w' ) == Open the file for writing only. Place the file pointer at + * the beginning of the file, and truncate the file to zero length. + */ + if ( $this->open( $handle, 'w' ) && is_resource( $this->handles[ $handle ] ) ) { + $result = true; + } + + do_action( 'woo_feed_log_clear', $handle ); + + return $result; + } + + /** + * Remove/delete the chosen file. + * + * @param string $handle Log handle. + * + * @return bool + */ + public function remove( $handle, $logs = [] ) { + $removed = false; + if ( empty( $logs ) ) { + $logs = $this->get_log_files(); + } + + if ( isset( $logs[ $handle ] ) && $logs[ $handle ] ) { + $file = realpath( trailingslashit( WOO_FEED_LOG_DIR ) . $logs[ $handle ] ); + if ( 0 === stripos( $file, realpath( trailingslashit( WOO_FEED_LOG_DIR ) ) ) && is_file( $file ) && is_writable( $file ) ) { // phpcs:ignore + $this->close( $file ); // Close first to be certain no processes keep it alive after it is unlinked. + $removed = unlink( $file ); // phpcs:ignore + } + do_action( 'woo_feed_log_remove', $handle, $removed ); + } + + return $removed; + } + + /** + * Check if log file should be rotated. + * + * Compares the size of the log file to determine whether it is over the size limit. + * + * @param string $handle Log handle. + * + * @return bool True if if should be rotated. + */ + protected function should_rotate( $handle ) { + $file = self::get_log_file_path( $handle ); + if ( $file ) { + if ( $this->is_open( $handle ) ) { + $file_stat = fstat( $this->handles[ $handle ] ); + + return $file_stat['size'] > $this->log_size_limit; + } elseif ( file_exists( $file ) ) { + return filesize( $file ) > $this->log_size_limit; + } else { + return false; + } + } else { + return false; + } + } + + /** + * Rotate log files. + * + * Logs are rotated by prepending '.x' to the '.log' suffix. + * The current log plus 10 historical logs are maintained. + * For example: + * base.9.log -> [ REMOVED ] + * base.8.log -> base.9.log + * ... + * base.0.log -> base.1.log + * base.log -> base.0.log + * + * @param string $handle Log handle. + */ + protected function log_rotate( $handle ) { + for ( $i = 8; $i >= 0; $i -- ) { + $this->increment_log_infix( $handle, $i ); + } + $this->increment_log_infix( $handle ); + } + + /** + * Increment a log file suffix. + * + * @param string $handle Log handle. + * @param null|int $number Optional. Default null. Log suffix number to be incremented. + * + * @return bool True if increment was successful, otherwise false. + */ + protected function increment_log_infix( $handle, $number = null ) { + if ( null === $number ) { + $suffix = ''; + $next_suffix = '.0'; + } else { + $suffix = '.' . $number; + $next_suffix = '.' . ( $number + 1 ); + } + + $rename_from = self::get_log_file_path( "{$handle}{$suffix}" ); + $rename_to = self::get_log_file_path( "{$handle}{$next_suffix}" ); + + if ( $this->is_open( $rename_from ) ) { + $this->close( $rename_from ); + } + + if ( is_writable( $rename_from ) ) { // phpcs:ignore + return rename( $rename_from, $rename_to ); // phpcs:ignore + } else { + return false; + } + + } + + /** + * Get a log file path. + * + * @param string $handle Log name. + * + * @return bool|string The log file path or false if path cannot be determined. + */ + public static function get_log_file_path( $handle ) { + if ( function_exists( 'wp_hash' ) ) { + return trailingslashit( WOO_FEED_LOG_DIR ) . self::get_log_file_name( $handle ); + } + + woo_feed_doing_it_wrong( __METHOD__, __( 'This method should not be called before plugins_loaded.', 'woo-feed' ), '3.0' ); + + return false; + } + + /** + * Get a log file name. + * + * File names consist of the handle, followed by the date, followed by a hash, .log. + * + * @param string $handle Log name. + * + * @return bool|string The log file name or false if cannot be determined. + * @since 3.3 + */ + public static function get_log_file_name( $handle, $is_new = false ) { + if ( function_exists( 'wp_hash' ) ) { + if ( $is_new ) { + $date_suffix = gmdate( 'Y-m-d', time() ); + $hash_suffix = wp_hash( $handle ); + + return sanitize_file_name( implode( '-', array( $handle, $date_suffix, $hash_suffix ) ) . '.log' ); + } + + return $handle; + + } else { + woo_feed_doing_it_wrong( __METHOD__, __( 'This method should not be called before plugins_loaded.', 'woo-feed' ), '3.3' ); + + return false; + } + } + + /** + * Cache log to write later. + * + * @param string $entry Log entry text. + * @param string $handle Log entry handle. + */ + protected function cache_log( $entry, $handle ) { + $this->cached_logs[] = array( + 'entry' => $entry, + 'handle' => $handle, + ); + } + + /** + * Write cached logs. + */ + public function write_cached_logs() { + foreach ( $this->cached_logs as $log ) { + $this->add( $log['entry'], $log['handle'] ); + } + } + + /** + * Delete all logs older than a defined timestamp. + * + * @param integer $timestamp Timestamp to delete logs before. + * + * @since 3.4.0 + */ + public static function delete_logs_before_timestamp( $timestamp = 0 ) { + if ( ! $timestamp ) { + return; + } + + $log_files = self::get_log_files(); + + foreach ( $log_files as $log_file ) { + $last_modified = filemtime( trailingslashit( WOO_FEED_LOG_DIR ) . $log_file ); + + if ( $last_modified < $timestamp ) { + unlink( trailingslashit( WOO_FEED_LOG_DIR ) . $log_file ); // phpcs:ignore + } + } + } + + /** + * Get all log files in the log directory. + * + * @return array + * @since 3.4.0 + */ + public static function get_log_files() { + $files = scandir( WOO_FEED_LOG_DIR ); + $result = array(); + + if ( ! empty( $files ) && is_array( $files ) ) { + foreach ( $files as $file ) { + if ( ! in_array( $file, array( + '.', + '..' + ), true ) && ! is_dir( $file ) && strpos( $file, '.log' ) !== false ) { + $result[ $file ] = $file; + } + } + } + + return $result; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Cache.php b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Cache.php new file mode 100644 index 000000000..4ee3495c6 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Cache.php @@ -0,0 +1,63 @@ + 6 * HOUR_IN_SECONDS ) ); + $expiration = (int) $expiration['cache_ttl']; + } + + return set_transient( $prefix . $key, $data, $expiration ); + } + + public static function delete( $key, $prefix = '__woo_feed_cache_' ) { + if ( empty( $key ) ) { + return false; + } + + return delete_transient( $prefix . $key ); + + } + + /** + * Delete All Cached Data + * + * @return bool + */ + public static function flush() { + global $wpdb; + + return $wpdb->query( "DELETE FROM $wpdb->options WHERE ({$wpdb->options}.option_name LIKE '_transient_timeout___woo_feed_cache_%') OR ({$wpdb->options}.option_name LIKE '_transient___woo_feed_cache_%')" ); // phpcs:ignore + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Config.php b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Config.php new file mode 100644 index 000000000..2fe744a59 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Config.php @@ -0,0 +1,1244 @@ +feed_info = $feed_info; + $this->context = $context; + + $this->set_config( $feedrules ); + } + + /** + * @return array + */ + public function get_feed_rules() { + if ( isset( $this->config['feedrules'] ) ) { + return $this->config['feedrules']; + } + + return $this->feed_info; + } + + /** + * Get Feed name. + * + * @return string + */ + public function get_feed_id() { + if ( isset( $this->config['feed_id'] ) && ! empty( $this->config['feed_id'] ) ) { + return $this->config['feed_id']; + } + + return false; + } + + /** + * Get Feed name. + * + * @return string + */ + public function get_feed_name() { + if ( isset( $this->config['filename'] ) && ! empty( $this->config['filename'] ) ) { + return $this->config['filename']; + } + + return false; + } + + /** + * Get Feed name. + * + * @param bool $full Full name with prefix. + * + * @return string + */ + public function get_feed_option_name( $full = false ) { + $option_name = ''; + + if ( ! empty( $this->config['feed_option_name'] ) && isset( $this->config['feed_option_name'] ) ) { + $option_name = $this->config['feed_option_name']; + } + + if ( ! $option_name && isset( $this->feed_info['option_name'] ) ) { + $option_name = FeedHelper::get_feed_option_name( $this->feed_info['option_name'] ); + } + + if ( $full && ! empty( $option_name ) ) { + $option_name = AttributeValueByType::FEED_RULES_OPTION_PREFIX . $this->config['feed_option_name']; + } + + return $option_name; + } + + /** + * Get Feed file name. + * + * @param bool $infos Get file info. + * + * @return string + */ + public function get_feed_file_name( $infos = false ) { + $url = $this->get_feed_url(); + + if ( $url ) { + $file_info = pathinfo( $url ); + + if ( $infos ) { + return $file_info; + } + + return $file_info['basename']; + } + + return false; + } + + /** + * Get Feed Template. + * + * @return string + */ + public function get_feed_template() { + if ( isset( $this->config['provider'] ) ) { + return $this->config['provider']; + } + + return false; + } + + /** + * Get Feed Language. + * + * @return string + */ + public function get_feed_language() { + if ( isset( $this->config['feedLanguage'] ) && ! empty( $this->config['feedLanguage'] ) ) { + return $this->config['feedLanguage']; + } + + return false; + } + + /** + * Get Feed Currency. + * + * @return string + */ + public function get_feed_currency() { + if ( isset( $this->config['feedCurrency'] ) ) { + return $this->config['feedCurrency']; + } + + $attributes = $this->config['attributes']; + $price_attrs = array( 'price', 'current_price', 'price_with_tax', 'current_price_with_tax' ); + + foreach ( $price_attrs as $price_attr ) { + $key = array_search( $price_attr, $attributes, true ); + + if ( $key ) { + break; + } + } + + if ( isset( $this->config['suffix'][ $key ] ) ) { + return $this->config['suffix'][ $key ]; + } + + return get_woocommerce_currency(); + } + + /** + * Get Feed Country. + * + * @return string + */ + public function get_feed_country() { + if ( isset( $this->config['feed_country'] ) && ! empty( $this->config['feed_country'] ) ) { + return $this->config['feed_country']; + } + + return false; + } + + /** + * Get Feed File Type. + * + * @return string + */ + public function get_feed_file_type() { + if ( isset( $this->config['feedType'] ) && ! empty( $this->config['feedType'] ) ) { + return $this->config['feedType']; + } + + return false; + } + + /** + * Get Feed File Type. + * + * @return string + */ + public function get_delimiter() { + if ( isset( $this->config['delimiter'] ) && $this->config['delimiter'] !== '' ) { + if ( 'tsv' === $this->get_feed_file_type() ) { + $this->config['delimiter'] = "\t"; + + return $this->config['delimiter']; + } + + if ( ' ' === $this->config['delimiter'] ) { + $this->config['delimiter'] = '\s'; + } + + return $this->config['delimiter']; + } + + return false; + } + + /** + * Get Feed File Type. + * + * @return string + */ + public function get_enclosure() { + if ( 'double' === $this->config['enclosure'] ) { + return '"'; + } + + if ( 'single' === $this->config['enclosure'] ) { + return "'"; + } + + return false; + } + + /** + * Get Feed items wrapper. + * + * @return string + */ + public function get_feed_items_wrapper() { + if ( ! empty( $this->config['itemsWrapper'] ) ) { + return $this->config['itemsWrapper']; + } + + return false; + } + + /** + * Get Feed item wrapper. + * + * @return string + */ + public function get_feed_item_wrapper() { + if ( ! empty( $this->config['itemWrapper'] ) ) { + return $this->config['itemWrapper']; + } + + return false; + } + + /** + * Get Feed Extra Header. + * + * @return string + */ + public function get_feed_extra_header() { + if ( ! empty( $this->config['extraHeader'] ) ) { + return $this->config['extraHeader']; + } + + return false; + } + + /** + * Get Feed Shipping Country. + * + * @return string + */ + public function get_shipping_country() { + if ( ! empty( $this->config['shipping_country'] ) ) { + return $this->config['shipping_country']; + } + + return false; + } + + /** + * Get Feed Tax Country. + * + * @return string + */ + public function get_tax_country() { + if ( ! empty( $this->config['tax_country'] ) ) { + return $this->config['tax_country']; + } + + return false; + } + + /** + * Get String Replace config + * + * @return array|bool + */ + public function get_string_replace() { + if ( ! empty( $this->config['str_replace'] ) ) { + return $this->config['str_replace']; + } + + return false; + } + + /** + * Get URL campaign parameter. + * + * @return array|bool + */ + public function get_campaign_parameters() { + if ( ! empty( $this->config['campaign_parameters'] ) ) { + return wp_parse_args( + $this->config['campaign_parameters'], + array( + 'utm_source' => '', + 'utm_medium' => '', + 'utm_campaign' => '', + 'utm_term' => '', + 'utm_content' => '', + ) + ); + } + + return false; + } + + /** + * Status to remove backorder products. + * + * @return bool + */ + public function remove_backorder_product() { + return isset( $this->config['is_backorder'] ) && $this->config['is_backorder']; + } + + /** + * Status to remove outofstock products. + * + * @return bool + */ + public function remove_outofstock_product() { + return isset( $this->config['is_outOfStock'] ) && $this->config['is_outOfStock']; + } + + /** + * Status to remove empty description products. + * + * @return bool + */ + public function remove_empty_title() { + return isset( $this->config['is_emptyTitle'] ) && $this->config['is_emptyTitle']; + } + + /** + * Status to remove empty description products. + * + * @return bool + */ + public function remove_empty_description() { + return isset( $this->config['is_emptyDescription'] ) && $this->config['is_emptyDescription']; + } + + /** + * Status to remove empty image products. + * + * @return bool + */ + public function remove_empty_image() { + return isset( $this->config['is_emptyImage'] ) && $this->config['is_emptyImage']; + } + + /** + * Status to remove empty price products. + * + * @return bool + */ + public function remove_empty_price() { + return isset( $this->config['is_emptyPrice'] ) && $this->config['is_emptyPrice']; + } + + /** + * Status to remove hidden products + * + * @return bool + */ + public function remove_hidden_products() { + if ( isset( $this->config['product_visibility'] ) ) { + return $this->config['product_visibility']; + } + + return false; + } + + /** + * Status Out of Stock visibility override + * + * @return bool + */ + public function get_outofstock_visibility() { + if ( isset( $this->config['outofstock_visibility'] ) ) { + return $this->config['outofstock_visibility']; + } + + return false; + } + + /** + * Get Number Format. + * + * @return bool|array + */ + public function get_number_format() { + $number_format = array( + 'decimal_separator' => wc_get_price_decimal_separator(), + 'thousand_separator' => wc_get_price_thousand_separator(), + 'decimals' => wc_get_price_decimals(), + ); + + if ( Helper::is_pro() ) { + if ( isset( $this->config['decimal_separator'] ) && $this->config['decimal_separator'] ) { + $number_format['decimal_separator'] = apply_filters( 'ctx_feed_number_format_decimal_separator', $this->config['decimal_separator'], $this->config ); + } + + if ( isset( $this->config['thousand_separator'] ) && $this->config['thousand_separator'] ) { + $number_format['thousand_separator'] = apply_filters( 'ctx_feed_number_format_thousand_separator', $this->config['thousand_separator'], $this->config ); + } + + if ( isset( $this->config['decimals'] ) ) { + if ( is_numeric( $this->config['decimals'] ) ) { + $decimals = absint( $this->config['decimals'] ); + } else { + $decimals = $number_format['decimals']; + } + + $number_format['decimals'] = apply_filters( 'ctx_feed_number_format_decimals', $decimals, $this->config ); + } + } + + return apply_filters( 'ctx_feed_number_format', $number_format, $this->config ); + } + + /** + * Get product Ids to exclude. + * + * @return array|bool + */ + public + function get_products_to_exclude() { + if ( isset( $this->config['filter_mode'] ) ) { + $mode = $this->config['filter_mode']; + + if ( 'exclude' === $mode['product_ids'] && ! empty( $this->config['product_ids'] ) ) { + return $this->config['product_ids']; + } + } + + return false; + } + + /** + * Get product Ids to include. + * + * @return array|bool + */ + public + function get_products_to_include() { + if ( isset( $this->config['filter_mode'] ) ) { + $mode = $this->config['filter_mode']; + + if ( 'include' === $mode['product_ids'] && ! empty( $this->config['product_ids'] ) ) { + return $this->config['product_ids']; + } + } + + return false; + } + + /** + * Get categories to exclude. + * + * @return mixed + */ + public + function get_categories_to_exclude() { + if ( isset( $this->config['filter_mode'] ) ) { + $mode = $this->config['filter_mode']; + + if ( 'exclude' === $mode['categories'] && ! empty( $this->config['categories'] ) ) { + return $this->config['categories']; + } + } + + return false; + } + + /** + * Get categories to include. + * + * @return mixed + */ + public + function get_categories_to_include() { + if ( isset( $this->config['filter_mode'] ) ) { + $mode = $this->config['filter_mode']; + + if ( 'include' === $mode['categories'] && ! empty( $this->config['categories'] ) ) { + return $this->config['categories']; + } + } + + return false; + } + + /** + * Get post-statuses to include. + * + * @return mixed + */ + public + function get_post_status_to_include() { + $status = array( 'draft', 'pending', 'private', 'publish' ); + + if ( + isset( $this->config['filter_mode'], $this->config['post_status'] ) + && ! empty( $this->config['post_status'] ) + ) { + $mode = $this->config['filter_mode']; + + if ( 'include' === $mode['post_status'] ) { + return $this->config['post_status']; + } + + if ( 'exclude' === $mode['post_status'] ) { + return array_unique( array_merge( array_diff( $status, $this->config['post_status'] ), array_diff( $status, $this->config['post_status'] ) ) ); + } + } + + return false; + } + + /** + * Get post statuses to include. + * + * @return array|bool + */ + public + function get_vendors_to_include() { + if ( ! empty( $this->config['vendors'] ) ) { + if ( is_array( $this->config['vendors'] ) ) { + return $this->config['vendors']; + } + + return explode( ',', $this->config['vendors'] ); + } + + return false; + } + + /** + * Get post-statuses to include. + * + * @return bool + */ + public + function get_variations_to_include() { + return isset( $this->config['is_variations'] ) && in_array( + $this->config['is_variations'], + array( + 'y', + 'both', + ), + true + ); + } + + /** + * Get Advance Filter Config. + * + * @return array|bool + */ + public + function get_advance_filters() { + if ( isset( $this->config['fattribute'] ) ) { + return array( + 'fattribute' => $this->config['fattribute'], + 'condition' => $this->config['condition'], + 'filterCompare' => $this->config['filterCompare'], + 'concatType' => $this->config['concatType'], + ); + } + + return false; + } + + /** + * Get FTP Config. + * + * @return array|bool + */ + public + function get_ftp_config() { + if ( $this->is_ftp_enabled() ) { + return array( + 'type' => $this->config['ftporsftp'], + 'host' => $this->config['ftphost'], + 'port' => $this->config['ftpport'], + 'username' => $this->config['ftpuser'], + 'password' => $this->config['ftppassword'], + 'path' => $this->config['ftppath'], + 'mode' => $this->config['ftpmode'], + 'ftpenabled' => $this->config['ftpenabled'], + ); + } + + return false; + } + + /** + * @return bool + */ + public + function is_ftp_enabled() { + return isset( $this->config['ftpenabled'] ) && $this->config['ftpenabled']; + } + + /** + * Get variable product config. + * + * @return array|bool + */ + public + function get_variable_config() { + if ( isset( $this->config['is_variations'] ) ) { + return [ + "is_variations" => $this->config['is_variations'], + "variable_price" => isset( $this->config['variable_price'] ) ? $this->config['variable_price'] : 'min', + "variable_quantity" => isset( $this->config['variable_quantity'] ) ? $this->config['variable_quantity'] : 'sum', + ]; + } + + return false; + } + + /** + * Get composite product price settings. + * + * @return mixed + */ + public + function get_composite_price_type() { + if ( isset( $this->config['composite_price'] ) ) { + return $this->config['composite_price']; + } + + return false; + } + + /** + * Get Feed Info + * + * @return array + */ + public + function get_feed_info() { + return $this->feed_info; + } + + /** + * Get Feed Configuration. + * + * @return array + */ + public + function get_config() { + return $this->config; + } + + /** + * Add or Update Feed Configuration + * + * @param array $feedrules Feed Rules. + * @param string|null $feed_option_name Feed Option Name. + * + * @return bool|string + */ + public + function save_config( + $feedrules, $feed_option_name = null + ) { + $this->set_config( $feedrules ); + + return FeedHelper::save_feed_config_data( $feedrules, $feed_option_name ); + } + + /** + * Get Feed URL. + * + * @return array|bool + */ + public + function get_feed_url() { + if ( isset($this->feed_info['option_value']['url']) && ! empty( $this->feed_info['option_value']['url'] ) ) { + return $this->feed_info['option_value']['url']; + } + + return false; + } + + /** + * Get Feed File Path. + * + * @return string|bool + */ + public + function get_feed_path() { + $upload_dir = wp_get_upload_dir(); + + if ( ! isset( $this->config['provider'] ) && ! isset( $this->config['feedType'] ) ) { + return false; + } + + return sprintf( '%s/woo-feed/%s/%s/%s', $upload_dir['basedir'], $this->config['provider'], $this->config['feedType'], $this->get_feed_file_name() ); + } + + /** + * Get Feed Status. + * + * @return array|bool + */ + public + function get_feed_status() { + if ( isset( $this->feed_info['status'] ) ) { + return $this->feed_info['status']; + } + + return false; + } + + /** + * Get Output Types of an attribute. + * + * @param string $attribute Product Attribute. + * @param string $merchant_attribute Merchant Attribute. + * + * @return array|mixed + */ + public + function get_attribute_output_types( + $attribute, $merchant_attribute + ) { + $output_types = $this->config['output_type']; + $attribute_index = $this->get_attribute_index( $attribute, $merchant_attribute ); + + if ( ! empty( $output_types[ $attribute_index ] ) ) { + return $output_types[ $attribute_index ]; + }else{ + $special_templates = FeedHelper::get_special_templates(); + if ( in_array( $this->provider, $special_templates, true ) && strpos( $attribute, 'price' ) !== false) { + return array(6); + } + } + + return array(); + } + + /** + * Get Limit Commands of an attribute. + * + * @param string $attribute Product Attribute. + * @param string $merchant_attribute Merchant Attribute. + * + * @return array|mixed + */ + public + function get_attribute_commands( + $attribute, $merchant_attribute + ) { + $commands = $this->config['limit']; + $attribute_index = $this->get_attribute_index( $attribute, $merchant_attribute ); + + if ( ! empty( $commands[ $attribute_index ] ) ) { + return $commands[ $attribute_index ]; + } + + return array(); + } + + /** + * Get Prefix and Suffix of an attribute. + * + * @param string $attribute Product Attribute. + * @param string $merchant_attribute Merchant Attribute. + * + * @return array + */ + public + function get_prefix_suffix( + $attribute, $merchant_attribute + ) { + $prefixes = $this->config['prefix']; + $suffixes = $this->config['suffix']; + $attribute_index = $this->get_attribute_index( $attribute, $merchant_attribute ); + + $prefix = ''; + + if ( ! empty( $prefixes[ $attribute_index ] ) ) { + $prefix = $prefixes[ $attribute_index ]; + } + + $suffix = ''; + + if ( ! empty( $suffixes[ $attribute_index ] ) ) { + $suffix = $suffixes[ $attribute_index ]; + } + + return array( + 'prefix' => $prefix, + 'suffix' => $suffix, + ); + } + + /** + * Get index of an attribute. + * + * @param string $attribute Product Attribute. + * @param string $merchant_attribute Merchant Attribute. + * + * @return int|string + */ + public + function get_attribute_index( + $attribute, $merchant_attribute + ) { + $value_attributes = $this->config['attributes']; + $merchant_attributes = $this->config['mattributes']; + $attributes_type = $this->config['type']; + $attribute_index = - 1; + + + $special_templates = FeedHelper::get_special_templates(); + + if ( in_array( $this->provider, $special_templates, true ) ) { + return array_search( $attribute, $value_attributes, true ); + } + + /** + * Array_search will work only for special templates because + * if multiple merchant attributes have the same attribute as value, + * then array search will always return the first index + */ + + foreach ( $value_attributes as $index => $value_attribute ) { + $replaced_attribute = MerchantAttributeReplaceFactory::replace_attribute( $merchant_attributes[ $index ], $this ); + + if ( + $value_attribute === $attribute + && $replaced_attribute === $merchant_attribute + && $attributes_type[ $index ] === 'attribute' + ) { + $attribute_index = $index; + + break; + } + + if ( + $attributes_type[ $index ] === 'pattern' + && $value_attributes[ $index ] === '0' + && $merchant_attribute === $replaced_attribute + ) { + $attribute_index = $index; + + break; + } + } + + return $attribute_index; + } + + /** + * Process Product Ids. + * + * @param array $feed_info Feed Config. + * + * @return array + */ + public + static function process_old_version_feed_created_products_id( + $feed_info + ) { + if ( isset( $feed_info['option_value']['feedrules']['product_ids'] ) && ! is_array( $feed_info['option_value']['feedrules']['product_ids'] ) ) { + $included_ids_str = $feed_info['option_value']['feedrules']['product_ids']; + + $included_ids = array(); + + if ( $included_ids_str !== '' ) { + $included_ids_array = explode( ',', $included_ids_str ); + + foreach ( $included_ids_array as $id ) { + $included_ids[] = trim( $id ); + } + } + + $feed_info['option_value']['feedrules']['product_ids'] = $included_ids; + } + + return $feed_info; + } + + /** + * Set Feed Configuration. + * + * @param array $feedrules Feed Config. + * + * @return void + */ + private + function set_config( + $feedrules + ) {// phpcs:ignore + $defaults = array( + 'provider' => '', + 'feed_country' => '', + 'filename' => '', + 'feedType' => '', + 'ftpenabled' => 0, + 'ftporsftp' => 'ftp', + 'ftphost' => '', + 'ftpport' => '21', + 'ftpuser' => '', + 'ftppassword' => '', + 'ftppath' => '', + 'ftpmode' => 'active', + 'is_variations' => 'y', // Only Variations (All Variations) + 'variable_price' => 'first', + 'variable_quantity' => 'first', + 'feedLanguage' => apply_filters( 'wpml_current_language', null ), + 'feedCurrency' => apply_filters( 'woocommerce_currency', get_option( 'woocommerce_currency' ) ), + 'itemsWrapper' => 'products', + 'itemWrapper' => 'product', + 'delimiter' => ',', + 'enclosure' => 'double', + 'extraHeader' => '', + 'vendors' => array(), + // Feed Config + 'mattributes' => array(), // merchant attributes + 'prefix' => array(), // prefixes + 'type' => array(), // value (attribute) types + 'attributes' => array(), // product attribute mappings + 'default' => array(), // default values (patterns) if value type set to pattern + 'suffix' => array(), // suffixes + 'output_type' => array(), // output type (output filter) + 'limit' => array(), // limit or command + // filters tab + 'composite_price' => 'all_product_price', + 'product_ids' => array(), + 'categories' => array(), + 'post_status' => array( 'publish' ), + 'filter_mode' => array(), + 'campaign_parameters' => array(), + 'is_outOfStock' => false, + 'is_backorder' => false, + 'is_emptyDescription' => false, + 'is_emptyTitle' => false, + 'is_emptyImage' => false, + 'is_emptyPrice' => false, + 'product_visibility' => false, + 'shipping_country' => '', + 'tax_country' => '', + // include hidden? 1 yes 0 no + 'outofstock_visibility' => false, + // override wc global option for out-of-stock product hidden from catalog? 1 yes 0 no + 'ptitle_show' => '', + 'decimal_separator' => apply_filters( 'wc_get_price_decimal_separator', get_option( 'woocommerce_price_decimal_sep' ) ), + 'thousand_separator' => stripslashes( apply_filters( 'wc_get_price_thousand_separator', get_option( 'woocommerce_price_thousand_sep' ) ) ), + 'decimals' => absint( apply_filters( 'wc_get_price_decimals', get_option( 'woocommerce_price_num_decimals', 2 ) ) ), + ); + + $this->config = wp_parse_args( $feedrules, $defaults ); + $this->config['filter_mode'] = wp_parse_args( + $this->config['filter_mode'], + array( + 'product_ids' => 'include', + 'categories' => 'include', + 'post_status' => 'include', + ) + ); + + if ( ! empty( $this->config['provider'] ) && is_string( $this->config['provider'] ) ) { + /** + * Filter parsed rules for provider. + * + * @param array $rules + * @param string $context + * + * @since 3.3.7 + */ + $this->config = apply_filters( "woo_feed_{$this->config['provider']}_parsed_rules", $this->config, $this->context ); + } + + $this->config = FeedHelper::validate_config( $this->config ); + + /** + * Filter parsed rules. + * + * @param array $rules + * @param string $context + * + * @since 3.3.7 $provider parameter removed + */ + $this->config = apply_filters( 'woo_feed_parsed_rules', $this->config, $this->context ); + + } + + /** + * Isset Feed Config. + * + * @param string $name Feed Config. + * + * @return bool + */ + public + function __isset( + $name + ) { + return isset( $this->config[ $name ] ); + } + + /** + * Get Feed Config. + * + * @param string $name Feed Config. + * + * @return mixed + */ + public + function __get( + $name + ) { + return $this->config[ $name ]; + } + + /** + * Set Feed Config. + * + * @param string $name Feed Config. + * @param string $value Feed Config. + * + * @return string + */ + public + function __set( + $name, $value + ) { + return $this->config[ $name ] = $value; + } + + /** + * Unset Feed Config. + * + * @param string $name Feed Config. + * + * @return void + */ + public + function __unset( + $name + ) { + unset( $this->config[ $name ] ); + } + + /** + * Get pro version feed default rules. + * + * @param $rules + * + * @return mixed|null + */ + public + static function free_default_feed_rules( + $rules = [] + ) { + $defaults = array( + 'provider' => '', + 'filename' => '', + 'feedType' => '', + 'feed_country' => '', + 'ftpenabled' => 0, + 'ftporsftp' => 'ftp', + 'ftphost' => '', + 'ftpport' => '21', + 'ftpuser' => '', + 'ftppassword' => '', + 'ftppath' => '', + 'ftpmode' => 'active', + 'is_variations' => 'y', + 'variable_price' => 'first', + 'variable_quantity' => 'first', + 'feedLanguage' => apply_filters( 'wpml_current_language', null ), + 'feedCurrency' => get_woocommerce_currency(), + 'itemsWrapper' => 'products', + 'itemWrapper' => 'product', + 'delimiter' => ',', + 'enclosure' => 'double', + 'extraHeader' => '', + 'vendors' => array(), + // Feed Config + 'mattributes' => array(), // merchant attributes + 'prefix' => array(), // prefixes + 'type' => array(), // value (attribute) types + 'attributes' => array(), // product attribute mappings + 'default' => array(), // default values (patterns) if value type set to pattern + 'suffix' => array(), // suffixes + 'output_type' => array(), // output type (output filter) + 'limit' => array(), // limit or command + // filters tab + 'composite_price' => '', + 'shipping_country' => '', + 'tax_country' => '', + 'product_ids' => '', + 'categories' => array(), + 'post_status' => array( 'publish' ), + 'filter_mode' => array(), + 'campaign_parameters' => array(), + + 'ptitle_show' => '', + 'decimal_separator' => wc_get_price_decimal_separator(), + 'thousand_separator' => wc_get_price_thousand_separator(), + 'decimals' => wc_get_price_decimals(), + ); + $rules = wp_parse_args( $rules, $defaults ); + + return apply_filters( 'woo_feed_free_default_feed_rules', $rules ); + } + + /** + * Get pro version feed default rules. + * + * @param $rules + * + * @return mixed|null + */ + public + static function default_feed_rules( + $rules = [] + ) { + $defaults = array( + 'provider' => '', + 'feed_country' => '', + 'filename' => '', + 'feedType' => '', + 'ftpenabled' => 0, + 'ftporsftp' => 'ftp', + 'ftphost' => '', + 'ftpport' => '21', + 'ftpuser' => '', + 'ftppassword' => '', + 'ftppath' => '', + 'ftpmode' => 'active', + 'is_variations' => 'y', // Only Variations (All Variations) + 'variable_price' => 'first', + 'variable_quantity' => 'first', + 'feedLanguage' => apply_filters( 'wpml_current_language', null ), + 'feedCurrency' => get_woocommerce_currency(), + 'itemsWrapper' => 'products', + 'itemWrapper' => 'product', + 'delimiter' => ',', + 'enclosure' => 'double', + 'extraHeader' => '', + 'vendors' => array(), + // Feed Config + 'mattributes' => array(), // merchant attributes + 'prefix' => array(), // prefixes + 'type' => array(), // value (attribute) types + 'attributes' => array(), // product attribute mappings + 'default' => array(), // default values (patterns) if value type set to pattern + 'suffix' => array(), // suffixes + 'output_type' => array(), // output type (output filter) + 'limit' => array(), // limit or command + // filters tab + 'composite_price' => 'all_product_price', + 'product_ids' => array(), + 'categories' => array(), + 'post_status' => array( 'publish' ), + 'filter_mode' => array(), + 'campaign_parameters' => array(), + 'is_outOfStock' => false, + 'is_backorder' => false, + 'is_emptyDescription' => false, + 'is_emptyImage' => false, + 'is_emptyPrice' => false, + 'product_visibility' => false, + // include hidden ? 1 yes 0 no + 'outofstock_visibility' => false, + // override wc global option for out-of-stock product hidden from catalog? 1 yes 0 no + 'ptitle_show' => '', + 'decimal_separator' => wc_get_price_decimal_separator(), + 'thousand_separator' => wc_get_price_thousand_separator(), + 'decimals' => wc_get_price_decimals(), + ); + + $rules = wp_parse_args( $rules, $defaults ); + + return apply_filters( 'woo_feed_default_feed_rules', $rules ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Docs.php b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Docs.php new file mode 100644 index 000000000..d44c08c28 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Docs.php @@ -0,0 +1,135 @@ + + * @license https://opensource.org/licenses/gpl-license.php GNU Public License + */ +class Docs +{ + /** + * Singleton instance holder + * + * @var Docs + */ + private static $instance; + + /** + * Get Class Instance + * + * @return Docs + */ + public static function getInstance() + { + if (null === self::$instance) { + self::$instance = new self(); + } + + return self::$instance; + } + + public function __construct() + { + add_filter('removable_query_args', array($this, 'filter_removable_query_args'), 10, 1); + } + + /** + * Render Docs Page + * + * @return array + * @see Woo_Feed_Admin::load_admin_pages() + */ + public function woo_feed_docs() + { + $result = []; + $faqs = $this->__get_feed_help(); + $icons = array( + 'Getting_Started' => 'dashicons dashicons-sos', + 'FAQs' => 'dashicons dashicons-editor-help', + 'Feed_Configuration' => 'dashicons dashicons-admin-generic', + 'Filter_Products' => 'dashicons dashicons-filter', + 'Channels' => 'dashicons dashicons-networking', + 'Google_&_Facebook' => 'dashicons dashicons-rss', + 'Installation' => 'dashicons dashicons-plugins-checked', + 'Dynamic_Attributes' => 'dashicons dashicons-image-filter', + ); + foreach ( $faqs as $faq ) { + $_icon = str_replace('#038;', '', $faq->title->rendered); + $icon = str_replace(' ', '_', $_icon); + if ( !isset($faq->icon ) ) $faq->icon = isset( $icons[$icon] ) ? $icons[$icon] : 'dashicons-admin-generic'; + + $result[$faq->id]['title'] =html_entity_decode($faq->title->rendered, ENT_QUOTES, 'UTF-8'); + $result[$faq->id]['icon'] = $icons[$icon]; + $result[$faq->id]['id'] = $faq->id; + + $faq_response = wp_remote_get('https://webappick.com/wp-json/wp/v2/docs/?per_page=60&parent=' . $faq->id . '&_fields=parent,title,link,id,doc_tag'); + $question_lists = json_decode(wp_remote_retrieve_body($faq_response)); + + if( is_array($question_lists) && count( $question_lists )> 0 ) { + foreach ($question_lists as $qa) { + if (!isset($qa->icon)) $qa->icon = 'dashicons-media-text'; + $doc_url = add_query_arg(array( + 'utm_source' => 'freePlugin', + 'utm_medium' => 'free_plugin_doc', + 'utm_campaign' => 'free_to_pro', + 'utm_term' => 'wooFeed', + ), $qa->link); + $result[$faq->id]['docList'][] = array( + 'item' => html_entity_decode($qa->title->rendered, ENT_QUOTES, 'UTF-8'), + 'link' => $doc_url, + ); + } + } + } + + return array_values( $result ); + } + + /** + * Get Docs Data + * + * @return array + */ + private function __get_feed_help() { + // force fetch docs json. + if (isset($_GET['reload'], $_GET['_nonce']) && wp_verify_nonce(sanitize_text_field(wp_unslash($_GET['_nonce'])), 'webappick-feed-docs')) { + $help_docs = false; + } else { + $help_docs = get_transient('webappick_feed_help_docs'); + } + if (false === $help_docs) { + // bitbucket cache-control: max-age=900 (15 minutes) + $help_url = 'https://webappick.com/wp-json/wp/v2/docs/?parent=3946&_fields=parent,title,link,id&order=asc'; + $response = wp_safe_remote_get($help_url, array('timeout' => 15)); // phpcs:ignore + $help_docs = wp_remote_retrieve_body($response); + if ( is_wp_error($response) || 200 != $response['response']['code'] ) { + $help_docs = '[]'; + } + set_transient('webappick_feed_help_docs', $help_docs, 12 * HOUR_IN_SECONDS); + } + $help_docs = json_decode( trim( $help_docs ) ); + + return $help_docs; + } + + /** + * Add items to removable query args array + * + * @param array $removable_query_args + * + * @return array + */ + public function filter_removable_query_args( $removable_query_args ) { + global $pagenow, $plugin_page; + if ( 'admin.php' === $pagenow && 'webappick-feed-docs' === $plugin_page ) { + $removable_query_args = array_merge( $removable_query_args, array( 'reload', '_nonce' ) ); + } + + return $removable_query_args; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Utility/DropDown.php b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/DropDown.php new file mode 100644 index 000000000..9f6e9dcd1 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/DropDown.php @@ -0,0 +1,89 @@ +No data available."; + } + + // If $cache true then return cached data. + if ( $cache ) { + self::$options = Cache::get( $cache_key ); + if ( self::$options ) { + if ( $selected !== '' && is_string( $selected ) ) { + $selected = esc_attr( $selected ); + self::$options = str_replace( "value=\"$selected\"", "value=\"$selected\" selected", self::$options ); + } elseif ( $selected !== '' && is_array( $selected ) ) { + foreach ( $selected as $selectedValue ) { + $selectedValue = esc_attr( $selectedValue ); + self::$options = str_replace( "value=\"$selectedValue\"", "value=\"$selectedValue\" selected", self::$options ); + } + } + + return self::$options; + } + } + + if ( count($data) !== count($data, COUNT_RECURSIVE) ) { + + foreach ( $data as $value ) { + if ( isset( $value['optionGroup'] ) ) { + self::$options .= ""; + } + + if ( isset( $value['options'] ) && ! empty( $value['options'] ) ) { + foreach ( $value['options'] as $optionKey => $option ) { + self::$options .= sprintf( '', $optionKey, $option ); + } + + self::$options .= isset( $value['optionGroup'] ) ? '' : ''; + } + } + } else { + foreach ( $data as $optionKey => $option ) { + self::$options .= sprintf( '', $optionKey, $option ); + } + } + + // If $cache true then set cache. + if ( $cache ) { + Cache::set( $cache_key, self::$options ); + } + + if ( $selected !== '' && is_string( $selected ) ) { + //$selected = esc_attr( $selected ); + self::$options = str_replace( "value=\"$selected\"", "value=\"$selected\" selected", self::$options ); + } elseif ( $selected !== '' && is_array( $selected ) ) { + foreach ( $selected as $selectedValue ) { + $selectedValue = esc_attr( $selectedValue ); + self::$options = str_replace( "value=\"$selectedValue\"", "value=\"$selectedValue\" selected", self::$options ); + } + } + + return self::$options; + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Utility/FileSystem.php b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/FileSystem.php new file mode 100644 index 000000000..6adabfea4 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/FileSystem.php @@ -0,0 +1,169 @@ +find_folder( $path ); + $file = trailingslashit( $dir ) . $filename; +// print_r($content);die(); + // Delete the file first if file already exists. + if($wp_filesystem->exists($file)){ + self::DeleteFile( $path, $filename ); + } + + return $wp_filesystem->put_contents( $file, $content, FS_CHMOD_FILE ); + } + + return new WP_Error( "filesystem_error", "Cannot initialize filesystem" ); + } + + /** + * Read file from directory. + * + * @param $path + * @param $filename + * @param string $admin_url + * @param string $nonce + * + * @return string|WP_Error + */ + public static function ReadFile( $path, $filename, $admin_url = 'admin.php?page=webappick-new-feed', $nonce = 'wpf_feed_nonce' ) { + global $wp_filesystem; + + $url = wp_nonce_url( $admin_url, $nonce ); + + if ( self::connect_fs( $url, "", $path ) ) { + $dir = $wp_filesystem->find_folder( $path ); + $file = trailingslashit( $dir ) . $filename; + + if ( $wp_filesystem->exists( $file ) ) { + $text = $wp_filesystem->get_contents( $file ); + if ( ! $text ) { + return ""; + } + + return $text; + } + + return new WP_Error( "filesystem_error", "File doesn't exist" ); + } + + return new WP_Error( "filesystem_error", "Cannot initialize filesystem" ); + } + + /** + * Delete file from directory. + * + * @param $path + * @param $filename + * @param string $admin_url + * @param string $nonce + * + * @return string|WP_Error + */ + public static function DeleteFile( $path, $filename, $admin_url = 'admin.php?page=webappick-new-feed', $nonce = 'wpf_feed_nonce' ) { + global $wp_filesystem; + + $url = wp_nonce_url( $admin_url, $nonce ); + + if ( self::connect_fs( $url, "", $path ) ) { + $dir = $wp_filesystem->find_folder( $path ); + $file = trailingslashit( $dir ) . $filename; + + if ( $wp_filesystem->exists( $file ) ) { + return $wp_filesystem->delete( $file ); + } + + return new WP_Error( "filesystem_error", "File doesn't exist" ); + } + + return new WP_Error( "filesystem_error", "Cannot initialize filesystem" ); + } + +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Logs.php b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Logs.php new file mode 100644 index 000000000..e0fd8593b --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Logs.php @@ -0,0 +1,195 @@ + + * @copyright WebAppick + */ +class Logs { + + private static $is_debug_enabled; + + public function __construct() { + self::$is_debug_enabled = Helper::is_debugging_enabled(); + } + + public static function get_logger() { + if ( ! class_exists( CTX_WC_Log_Handler::class ) ) { + return false; + } + + static $logger = null; + if ( $logger instanceof \WC_Logger ) { + return $logger; + } + + if ( ! class_exists( 'WC_Logger' ) ) { + return $logger; + } + + + return new WC_Logger( [ new CTX_WC_Log_Handler() ] ); + } + + + /** + * Write message to log file. + * Write log message if debugging is enabled + * + * @param string $source will be use for log file name. + * @param string $message Log message. + * @param string $level One of the following: + * 'emergency': System is unusable. + * 'alert': Action must be taken immediately. + * 'critical': Critical conditions. + * 'error': Error conditions. + * 'warning': Warning conditions. + * 'notice': Normal but significant condition. + * 'info': Informational messages. + * 'debug': Debug-level messages. + * @param mixed $data Extra data for the log handler. + * @param bool $force_log ignore debugging settings + * @param bool $wc_log log data in wc-logs directory + * + * @return void + * @since 3.2.1 + * + */ + public static function write_log( $source, $message, $level = 'debug', $data = null, $force_log = true, $wc_log = false ) { + if ( true === $force_log || Helper::is_debugging_enabled() ) { + + if ( ! in_array( $level, [ + 'emergency', + 'alert', + 'critical', + 'critical', + 'error', + 'warning', + 'notice', + 'info', + 'debug', + ], true ) ) { + return; + } + $context = [ 'source' => $source ]; + if ( is_array( $data ) ) { + if ( isset( $data['source'] ) ) { + unset( $data['source'] ); + } + $context = array_merge( $context, $data ); + } else { + $context['data'] = $data; + } + + $loggers = [ self::get_logger() ]; + if ( true === $wc_log && function_exists( 'wc_get_logger' ) ) { + $loggers[] = wc_get_logger(); + } + + foreach ( $loggers as $logger ) { + if ( is_callable( [ $logger, $level ] ) ) { + $logger->$level( $message . PHP_EOL, $context ); + } + } + } + } + + /** + * Log Fatal Errors in both wc-logs and woo-feed/logs + * + * @param string $message The log message. + * @param mixed $data Extra data for the log handler. + */ + public static function write_fatal_log( $message, $data = null ) { + // woocommerce use 'fatal-errors' as log handler... + // make no conflicts with woocommerce fatal-errors logs + self::write_log( 'ctx-feed-fatal-errors', $message, 'critical', $data, true, true ); + } + + /** + * Log Fatal Errors in both wc-logs and woo-feed/logs + * + * @param string $message The log message. + * @param mixed $data Extra data for the log handler. + */ + public static function write_debug_log( $message, $data = null ) { + // woocommerce use 'fatal-errors' as log handler... + // make no conflicts with woocommerce fatal-errors logs + self::write_log( 'ctx-feed-fatal-errors', $message, 'debug', $data, true, true ); + } + + /** + * Delete Log file by source or handle name + * + * @param string $source log source or handle name + * @param bool $handle use source as handle + * + * @return bool + */ + public static function delete_log( $source, $handle = false ) { + $log_handler = new CTX_WC_Log_Handler(); + + try { + if ( 'ctx-feed-fatal-errors' === $source ) { + // fatal error are also logged in wc-logs dir. + if ( class_exists( 'WC_Log_Handler_File', false ) ) { + $source = false === $handle ? $log_handler::get_log_file_name( $source ) : $source; + $log_handler = new \WC_Log_Handler_File(); + + return $log_handler->remove( $source ); + } + } else { + $source = ! $handle ? $log_handler::get_log_file_name( $source ) : $source; + + return $log_handler->remove( $source ); + } + } catch ( Exception $e ) { + return false; + } + + return false; + } + + /** + * Delete all log files. + * + * @return void + */ + public static function delete_all_logs() { + // delete the fatal error log + self::delete_log( 'ctx-feed-fatal-errors' ); + // get all logs + $logs = CTX_WC_Log_Handler::get_log_files(); + foreach ( $logs as $log ) { + self::delete_log( $log, true ); + } + } + + + /** + * Trigger logging cleanup using the logging class. + * + * @return void + */ + public static function cleanup_logs() { + $logger = self::get_logger(); + if ( is_callable( array( $logger, 'clear_expired_logs' ) ) ) { + $logger->clear_expired_logs(); + } + } + + +} +// End of file logs class. diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Settings.php b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Settings.php new file mode 100644 index 000000000..8fdb0b3df --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Settings.php @@ -0,0 +1,311 @@ + 200, + 'cron_job_new_cron_system_enabled' => Helper::is_pro() ? false : false, + 'cron_job__per_batch__safe_limit' => 1000, + 'product_query_type' => 'wc', + 'variation_query_type' => 'individual', + 'enable_error_debugging' => 'off', + 'cache_ttl' => 6 * HOUR_IN_SECONDS, + 'overridden_structured_data' => 'off', + 'disable_mpn' => 'enable', + 'disable_brand' => 'enable', + 'disable_pixel' => 'disable', + 'pixel_id' => '', + 'disable_remarketing' => 'disable', + 'remarketing_id' => '', + 'remarketing_label' => '', + 'pinterest_tag_id' => '', + 'pinterest_conversion_tracking' => 'disable', + 'allow_all_shipping' => 'no', + 'only_free_shipping' => 'yes', + 'only_local_pickup_shipping' => 'no', + 'enable_ftp_upload' => 'no', + 'enable_cdata' => 'no', + 'woo_feed_taxonomy' => array( + 'brand' => 'disable', + ), + 'woo_feed_identifier' => array( + 'gtin' => 'disable', + 'ean' => 'disable', + 'mpn' => 'disable', + 'isbn' => 'disable', + 'age_group' => 'disable', + 'material' => 'disable', + 'gender' => 'disable', + 'cost_of_good_sold' => 'disable', + 'availability_date' => 'enable', + 'unit' => 'disable', + 'unit_pricing_measure' => 'disable', + 'unit_pricing_base_measure' => 'disable', + 'custom_field_0' => 'disable', + 'custom_field_1' => 'disable', + 'custom_field_2' => 'disable', + 'custom_field_3' => 'disable', + 'custom_field_4' => 'disable', + ), + ]; + + /** + * Add defaults without chainging the core values. + * + * @param array $defaults + * + * @since 3.3.11 + */ + $defaults = wp_parse_args( apply_filters( 'woo_feed_settings_extra_defaults', [] ), $defaults ); + + if ( 'defaults' === $key ) { + return $defaults; + } + + $settings = wp_parse_args( get_option( 'woo_feed_settings', [] ), $defaults ); + + if ( 'all' === $key ) { + return $settings; + } + + if ( array_key_exists( $key, $settings ) ) { + return $settings[ $key ]; + } + + return $default; + } + + /** + * Update Settings. + * + * @param $key + * @param $value + * + * @return bool + */ + public static function set( $key, $value ) { + $setting = self::get(); + + if ( isset( $setting[ $key ] ) ) { + $setting[ $key ] = $value; + } + + return self::save( $setting ); + } + + /** + * Save Settings. + * + * @param array $args Required. option key value paired array to save. + * + * @return bool + * @since 3.3.11 + */ + public static function save( $args ) { + $data = self::get( 'all' ); + $defaults = self::get( 'defaults' ); + $_data = $data; + + if ( array_key_exists( 'per_batch', $args ) ) { + $data['per_batch'] = absint( $args['per_batch'] ); + if ( $data['per_batch'] <= 0 ) { + $data['per_batch'] = $_data['per_batch'] > 0 ? $_data['per_batch'] : $defaults['per_batch']; + } + unset( $args['unset'] ); + } + if ( array_key_exists( 'cron_job_new_cron_system_enabled', $args ) ) { + $data['cron_job_new_cron_system_enabled'] = absint( $args['cron_job_new_cron_system_enabled'] ); + unset( $args['cron_job_new_cron_system_enabled'] ); + } + + if ( array_key_exists( 'cron_job__per_batch__safe_limit', $args ) ) { + $data['cron_job__per_batch__safe_limit'] = absint( $args['cron_job__per_batch__safe_limit'] ); + if ( $data['cron_job__per_batch__safe_limit'] <= 0 ) { + $data['cron_job__per_batch__safe_limit'] = $_data['cron_job__per_batch__safe_limit'] > 0 ? $_data['cron_job__per_batch__safe_limit'] : $defaults['cron_job__per_batch__safe_limit']; + } + unset( $args['cron_job__per_batch__safe_limit'] ); + } + + if ( array_key_exists( 'product_query_type', $args ) ) { + $data['product_query_type'] = strtolower( $args['product_query_type'] ); + $query_types = array_keys( woo_feed_get_query_type_options() ); + if ( ! in_array( $data['product_query_type'], $query_types, true ) ) { + $data['product_query_type'] = in_array( $_data['product_query_type'], $query_types, true ) ? $_data['product_query_type'] : $defaults['product_query_type']; + } + unset( $args['product_query_type'] ); + } + if ( array_key_exists( 'variation_query_type', $args ) ) { + $data['variation_query_type'] = strtolower( $args['variation_query_type'] ); + $query_types = array_keys( woo_feed_get_query_type_options( 'variation' ) ); + if ( ! in_array( $data['variation_query_type'], $query_types, true ) ) { + $data['variation_query_type'] = in_array( $_data['variation_query_type'], $query_types, true ) ? $_data['variation_query_type'] : $defaults['variation_query_type']; + } + unset( $args['variation_query_type'] ); + } + if ( array_key_exists( 'enable_error_debugging', $args ) ) { + $data['enable_error_debugging'] = strtolower( $args['enable_error_debugging'] ); + if ( ! in_array( $data['enable_error_debugging'], [ 'on', 'off' ] ) ) { + $data['enable_error_debugging'] = in_array( $_data['enable_error_debugging'], [ + 'on', + 'off' + ] ) ? $_data['enable_error_debugging'] : $defaults['enable_error_debugging']; + } + unset( $args['enable_error_debugging'] ); + } + if ( array_key_exists( 'cache_ttl', $args ) ) { + $data['cache_ttl'] = absint( $args['cache_ttl'] ); // cache ttl can be zero. + unset( $args['cache_ttl'] ); + } + if ( array_key_exists( 'overridden_structured_data', $args ) ) { + $data['overridden_structured_data'] = strtolower( $args['overridden_structured_data'] ); + if ( ! in_array( $data['overridden_structured_data'], array( 'on', 'off' ) ) ) { + $data['overridden_structured_data'] = in_array( $_data['overridden_structured_data'], array( + 'on', + 'off' + ) ) ? $_data['overridden_structured_data'] : $defaults['overridden_structured_data']; + } + unset( $args['overridden_structured_data'] ); + } + + if ( array_key_exists( 'disable_pixel', $args ) ) { + $data['disable_pixel'] = strtolower( $args['disable_pixel'] ); + if ( ! in_array( $data['disable_pixel'], array( 'enable', 'disable' ) ) ) { + $data['disable_pixel'] = in_array( $_data['disable_pixel'], array( + 'enable', + 'disable' + ) ) ? $_data['disable_pixel'] : $defaults['disable_pixel']; + } + unset( $args['disable_pixel'] ); + } + if ( array_key_exists( 'pixel_id', $args ) ) { + if ( isset( $args['pixel_id'] ) && ! empty( $args['pixel_id'] ) ) { + $data['pixel_id'] = absint( $args['pixel_id'] ); + } else { + $data['pixel_id'] = $defaults['pixel_id']; + } + unset( $args['pixel_id'] ); + } + + if ( array_key_exists( 'disable_remarketing', $args ) ) { + $data['disable_remarketing'] = strtolower( $args['disable_remarketing'] ); + if ( ! in_array( $data['disable_remarketing'], array( 'enable', 'disable' ) ) ) { + $data['disable_remarketing'] = in_array( $_data['disable_remarketing'], array( + 'enable', + 'disable' + ) ) ? $_data['disable_remarketing'] : $defaults['disable_remarketing']; + } + unset( $args['disable_remarketing'] ); + } + if ( array_key_exists( 'remarketing_id', $args ) ) { + if ( isset( $args['remarketing_id'] ) && ! empty( $args['remarketing_id'] ) ) { + $data['remarketing_id'] = $args['remarketing_id']; + } else { + $data['remarketing_id'] = $defaults['remarketing_id']; + } + unset( $args['remarketing_id'] ); + } + if ( array_key_exists( 'remarketing_label', $args ) ) { + if ( isset( $args['remarketing_label'] ) && ! empty( $args['remarketing_label'] ) ) { + $data['remarketing_label'] = $args['remarketing_label']; + } else { + $data['remarketing_label'] = $defaults['remarketing_label']; + } + unset( $args['remarketing_label'] ); + } + + if ( array_key_exists( 'allow_all_shipping', $args ) ) { + $data['allow_all_shipping'] = strtolower( $args['allow_all_shipping'] ); + if ( ! in_array( $data['allow_all_shipping'], array( 'yes', 'no' ) ) ) { + $data['allow_all_shipping'] = in_array( $_data['allow_all_shipping'], array( + 'yes', + 'no' + ) ) ? $_data['allow_all_shipping'] : $defaults['allow_all_shipping']; + } + unset( $args['allow_all_shipping'] ); + } + + if ( array_key_exists( 'only_free_shipping', $args ) ) { + $data['only_free_shipping'] = strtolower( $args['only_free_shipping'] ); + if ( ! in_array( $data['only_free_shipping'], array( 'yes', 'no' ) ) ) { + $data['only_free_shipping'] = in_array( $_data['only_free_shipping'], array( + 'yes', + 'no' + ) ) ? $_data['only_free_shipping'] : $defaults['only_free_shipping']; + } + unset( $args['only_free_shipping'] ); + } + + if ( array_key_exists( 'only_local_pickup_shipping', $args ) ) { + $data['only_local_pickup_shipping'] = strtolower( $args['only_local_pickup_shipping'] ); + if ( ! in_array( $data['only_local_pickup_shipping'], array( 'yes', 'no' ) ) ) { + $data['only_local_pickup_shipping'] = in_array( $_data['only_local_pickup_shipping'], array( + 'yes', + 'no' + ) ) ? $_data['only_local_pickup_shipping'] : $defaults['only_local_pickup_shipping']; + } + unset( $args['only_local_pickup_shipping'] ); + } + + + if ( array_key_exists( 'enable_ftp_upload', $args ) ) { + $data['enable_ftp_upload'] = strtolower( $args['enable_ftp_upload'] ); + if ( ! in_array( $data['enable_ftp_upload'], array( 'yes', 'no' ) ) ) { + $data['enable_ftp_upload'] = in_array( $_data['enable_ftp_upload'], array( + 'yes', + 'no' + ) ) ? $_data['enable_ftp_upload'] : $defaults['enable_ftp_upload']; + } + unset( $args['enable_ftp_upload'] ); + } + + if ( array_key_exists( 'enable_cdata', $args ) ) { + $data['enable_cdata'] = strtolower( $args['enable_cdata'] ); + if ( ! in_array( $data['enable_cdata'], array( 'yes', 'no' ) ) ) { + $data['enable_cdata'] = in_array( $_data['enable_cdata'], array( + 'yes', + 'no' + ) ) ? $_data['enable_cdata'] : $defaults['enable_cdata']; + } + unset( $args['enable_cdata'] ); + } + + if ( ! empty( $args ) ) { + foreach ( $args as $key => $value ) { + if ( has_filter( "woo_feed_save_{$key}_option" ) ) { + $data[ $key ] = apply_filters( "woo_feed_save_{$key}_option", sanitize_text_field( $value ) ); + } + } + } + + if ( array_key_exists( 'woo_feed_taxonomy', $args ) ) { + $data['woo_feed_taxonomy'] = $args['woo_feed_taxonomy']; + } + + if ( array_key_exists( 'woo_feed_identifier', $args ) ) { + $data['woo_feed_identifier'] = $args['woo_feed_identifier']; + } + + return update_option( 'woo_feed_settings', $data, false ); + } +} diff --git a/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Status.php b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Status.php new file mode 100644 index 000000000..9fe0f5b57 --- /dev/null +++ b/plugins/webappick-product-feed-for-woocommerce/V5/Utility/Status.php @@ -0,0 +1,729 @@ +'; + public $warning = ''; + public $danger = ''; + + /*public $success = array('#0a9581', 'dashicons dashicons-yes-alt'); + public $warning = array('#f8b82d', "dashicons dashicons-warning"); + public $danger = array("#f65021", " dashiconsdashicons-dismiss");*/ + + /** + * Get Status Page Info + * @return array + */ + public function get_status(){ + +// woo_feed_delete_cache_data( "woo_feed_status_page_info" ); + $status = woo_feed_get_cached_data( 'woo_feed_status_page_info' ); + if ( false === $status ) { + $status = [ + $this->woocommerce_version(), // WooCommerce Version + $this->get_available_product_types(), + $this->total_products(), // Count Total Products + $this->product_per_batch(), // Product Per branch + $this->product_query_type(), + $this->default_customer_location(), + $this->server_info(), + $this->multi_language(), + $this->multi_currency(), + $this->wordpress_debug(), + $this->wordpress_cron(), + $this->upload_dir_writable(), + $this->exclude_feed_caching(), + $this->wordpress_multisite(), + ]; + + $status = array_merge($status, $this->server_info()); + woo_feed_set_cache_data('woo_feed_status_page_info', $status); +// Cache::set( 'woo_feed_status_page_info', $status ); + } + + return $status; + } + + /** + * Get CTX Feed Log. + */ + public function get_logs( ) { + $fatal_errors = Woo_Feed_Log_Handler_File::get_log_file_path('woo-feed-fatal-errors'); + + if ( file_exists($fatal_errors) && $fatal_errors ) { + return file_get_contents($fatal_errors); //phpcs:ignore + } + + return "No Logs Found."; + } + + /** + * Get Wordpress.org plugin information. + * + * @param $slug + * + * @return false|mixed + */ + private function plugin_info( $slug ) { + + if ( empty($slug) ) { + return false; + } + + $args = (object) array( + 'slug' => $slug, + 'fields' => array( + 'sections' => false, + 'screenshots' => false, + 'versions' => false, + ), + ); + $request = array( + 'action' => 'plugin_information', + 'request' => serialize( $args), //phpcs:ignore + ); + $url = 'http://api.wordpress.org/plugins/info/1.0/'; + $response = wp_remote_post( $url, array( 'body' => $request ) ); + + if ( is_wp_error($response) ) { + return false; + } + return unserialize( $response['body']); //phpcs:ignore + + } + + + + /** + * Check WordPress multisite status. + */ + private function wordpress_multisite( ) { + $status = $this->success; + $message = 'No'; + + if ( defined( 'WOO_FEED_PRO_VERSION' ) && is_multisite() ) { + $message = "WordPress Multisite is enabled. If you have hosted your sites into subdomain like fr.example.com then you need a license for each site. If you have five subdomain then you need the Five site license."; + } + + return [ + 'label' => 'WordPress Multi Site', + 'status' => $status, + 'message' => $message, + ]; + } + + /** + * Get WooCommerce Version Status. + */ + private function woocommerce_version( ) { + $installed_version = (function_exists('WC')) ? WC()->version : '1.0.0'; + $latest_version = $this->plugin_info('woocommerce'); + + if ( version_compare($installed_version,'3.0','<') ) { + $status = $this->danger; + $message = $installed_version." - You are using a old version of WooCommerce. To use our plugin your WooCommerce version should be 3.0 or later."; + }elseif ( version_compare($latest_version->version,$installed_version,'>') ) { + $status = $this->warning; + $message = $installed_version." - You are not using the latest version of WooCommerce. Update WooCommerce plugin to its latest version: ".$latest_version->version; + }else { + $status = $this->success; + $message = $installed_version." - You are using the latest version of WooCommerce."; + } + + return [ + 'label' => 'WooCommerce Version', + 'status' => $status, + 'message' => $message, + ]; + } + + /** + * Get Multi Language Status. + */ + private function multi_language( ) { + $status = $this->success; + $message = "No"; + $doc = ''; + $multi_lang_plugin = ''; + + /** + * polylang/polylang.php Polylang + * polylang-pro/polylang.php Polylang Pro + * gtranslate/gtranslate.php GTranslate + * translatepress-multilingual/index.php TranslatePress - Multilingual + * weglot/weglot.php Weglot Translate + * google-language-translator/google-language-translator.php Google Language Translator + * sitepress-multilingual-cms/sitepress.php WPML Multilingual CMS + */ + + if ( is_plugin_active('sitepress-multilingual-cms/sitepress.php') ) { + $multi_lang_plugin = 'WPML'; + $doc = "

You can read this doc about: How to make feed for WPML languages?"; + }elseif ( is_plugin_active("polylang/polylang.php") ) { + $multi_lang_plugin = 'Polylang'; + $doc = "

You can read this doc about: How to make feed for Polylang languages?"; + }elseif ( is_plugin_active("polylang-pro/polylang.php") ) { + $multi_lang_plugin = 'Polylang Pro'; + $doc = "

You can read this doc about: How to make feed for Polylang languages?"; + }elseif ( is_plugin_active('gtranslate/gtranslate.php') ) { + $multi_lang_plugin = 'GTranslate'; + }elseif ( is_plugin_active('translatepress-multilingual/index.php') ) { + $multi_lang_plugin = 'TranslatePress - Multilingual'; + }elseif ( is_plugin_active('weglot/weglot.php') ) { + $multi_lang_plugin = 'Weglot Translate'; + }elseif ( is_plugin_active('google-language-translator/google-language-translator.php') ) { + $multi_lang_plugin = 'Google Language Translator'; + } + + if ( ! empty($multi_lang_plugin) ) { + if ( ! in_array($multi_lang_plugin,[ 'WPML', 'Polylang', 'Polylang Pro', 'TranslatePress - Multilingual' ],true) ) { + $status = $this->warning; + $message = "$multi_lang_plugin is not compatible for multi-language feed. You can not make feed for each language. Supported multi-language plugins are WPML & Polylang."; + }elseif ( is_plugin_active('webappick-product-feed-for-woocommerce/woo-feed.php') ) { + $status = $this->warning; + $message = "You are using $multi_lang_plugin for multi language site. But the free version of this plugin is not compatible with $multi_lang_plugin. Using Woo Feed Pro you can make feed for each language."; + $message .= $doc; + }else { + $message = "$multi_lang_plugin"; + } + } + + return [ + 'label' => 'Multi Language Site', + 'status' => $status, + 'message' => $message, + ]; + } + /** + * Get Multi Currency Status. + */ + private function multi_currency( ) { + + $status = $this->success; + $message = "No"; + $free_version = is_plugin_active( 'webappick-product-feed-for-woocommerce/woo-feed.php' ); + + $supported_multi_currency = "Below Multi Currency Plugins are compatible with Woo Feed Pro. "; + $supported_multi_currency .= "
"; + $supported_multi_currency .= "