{"version":3,"file":"static/js/main.2cdf2d8c.js","mappings":"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AKoC,MAAM0wB,EAAKorD,GAAK,IAE9B,OAAOprD,EAAK,IACd,CA3FyCu8G,CAASnlI,GAEhD,MAAM,IAAI1C,MACR,wDACEiN,KAAKQ,UAAU/K,GAErB,kBCpCA,IAAI1rC,EAAM,CACT,0CAA2C,CAC1C,KACA,MAED,sCAAuC,CACtC,KACA,MAED,+CAAgD,CAC/C,KACA,MAED,oCAAqC,CACpC,KACA,KACA,KACA,KACA,MAED,8CAA+C,CAC9C,KACA,KACA,KACA,KACA,MAED,0DAA2D,CAC1D,KACA,KACA,KACA,MAED,iEAAkE,CACjE,GACA,KACA,MAED,oDAAqD,CACpD,KACA,MAED,0CAA2C,CAC1C,KACA,KACA,KACA,IAED,6DAA8D,CAC7D,KACA,MAED,+CAAgD,CAC/C,KACA,KACA,MAED,8CAA+C,CAC9C,IACA,KACA,MAED,+DAAgE,CAC/D,KACA,MAED,0BAA2B,CAC1B,KACA,KACA,IACA,KACA,MAED,kCAAmC,CAClC,KACA,MAED,qDAAsD,CACrD,KACA,MAED,wCAAyC,CACxC,KACA,MAED,oDAAqD,CACpD,KACA,MAED,wBAAyB,CACxB,MAED,0BAA2B,CAC1B,KACA,MAED,oCAAqC,CACpC,KACA,MAED,8CAA+C,CAC9C,KACA,KAED,8CAA+C,CAC9C,IACA,IACA,MAED,qDAAsD,CACrD,KACA,IACA,MAED,0CAA2C,CAC1C,KACA,KACA,MAED,4BAA6B,CAC5B,KACA,MAED,kCAAmC,CAClC,KACA,KACA,MAED,oDAAqD,CACpD,MAED,0BAA2B,CAC1B,KACA,MAED,oCAAqC,CACpC,KACA,KAED,2DAA4D,CAC3D,KACA,MAED,8CAA+C,CAC9C,KACA,KACA,MAED,wBAAyB,CACxB,KACA,MAED,wBAAyB,CACxB,KACA,MAED,wCAAyC,CACxC,KACA,MAED,4CAA6C,CAC5C,KACA,MAED,kDAAmD,CAClD,KACA,MAED,gCAAiC,CAChC,KACA,KACA,KACA,KACA,MAED,4CAA6C,CAC5C,KACA,KACA,KACA,KACA,MAED,+DAAgE,CAC/D,KACA,KACA,KACA,MAED,kD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,GAAeh7I,IAAM,kBACxDq8I,EAAoBvlL,IAASA,IAC/BgI,UAAAC,OAAA,QAAA8G,IAAA/G,UAAA,GAAAA,UAAA,GAAyB,CAAC,EAE1B,MAAMm6L,EAAyB,CAC7Bhd,sBACAF,sBACAM,qBAGIx4F,EAA0B6C,IAC9B,MAAMz/C,EAAcmkH,GAAe1kE,IAAc,YAajD,OAVEA,EADE61F,EAAG/+G,IAAIkpB,GAEP7C,EAAS6C,KACR7C,EAAS6C,GAAa80F,GAAa90F,EAAWuyG,IAG/CvyG,EAAU41F,MACT51F,EAAU41F,IAAYd,GAAa90F,EAAWuyG,KAGzChyJ,YAAc,YAAYA,KAC7By/C,CAAA,EAUT,OAPA26F,EAASzyG,GAAY,CAAC8X,EAAW3/E,KAC3Bw1K,EAAG5rI,IAAIi+B,KACT7nE,EAAMqkJ,GAAe1kE,IAEvB7C,EAAS98E,GAAO88E,EAAS6C,EAAU,IAG9B,CACL7C,WAEJ,CsBlDaq1G,CEd2B,CACtC,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAEA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,S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","sources":["blocks/hooks/useBlockDataMapping.hook.ts","blocks/hooks/useRecursiveBlock.hook.ts","blocks/DynamicBlock.component.tsx","../../shared/src/gtm/usePromotionTracker.ts","webpack://@danishagro/cms/./src/blocks/components/Hero/Hero.module.scss?df15","blocks/components/Hero/Hero.component.tsx","webpack://@danishagro/cms/./src/blocks/components/SocialMediaSharing/SocialMediaSharing.module.scss?6c07","blocks/components/SocialMediaSharing/SocialMediaSharing.component.tsx","webpack://@danishagro/cms/./src/blocks/hooks/useBackgroundColor/useBackgroundColor.module.scss?b524","blocks/hooks/useBackgroundColor/useBackgroundColor.hook.ts","webpack://@danishagro/cms/./src/blocks/hooks/usePadding/usePadding.module.scss?0568","blocks/hooks/usePadding/usePadding.hook.ts","webpack://@danishagro/cms/./src/components/Buttons/Buttons.module.scss?cc72","components/Buttons/Buttons.component.tsx","components/ImageViewer/helpers/getClosestWidth.helper.ts","components/ImageViewer/helpers/setImageOptions.helper.ts","webpack://@danishagro/cms/./src/components/ImageViewer/ImageViewer.module.scss?92ba","components/ImageViewer/ImageViewer.component.tsx","../../../node_modules/@vimeo/player/dist/player.es.js","../../../node_modules/@u-wave/react-vimeo/dist/react-vimeo.es.js","../../../node_modules/react-youtube/src/YouTube.tsx","../../../node_modules/@baggie/core/lib/esm/string/regex/getYouTubeIdRegex/getYouTubeIdRegex.js","../../../node_modules/@baggie/core/lib/esm/string/convert/getYouTubeId/getYouTubeId.js","../../../node_modules/@baggie/core/lib/esm/string/convert/getVimeoId/getVimeoId.js","../../../node_modules/@baggie/core/lib/esm/string/regex/getVimeoIdRegex/getVimeoIdRegex.js","components/VideoPlayerViewer/hooks/useMarketingConsent.hook.ts","webpack://@danishagro/cms/./src/components/VideoPlayerViewer/VideoPlayerViewer.module.scss?8b0d","components/VideoPlayerViewer/VideoPlayerViewer.component.tsx","helpers/getAbsoluteUrl.helper.ts","hooks/useFormattedCultureDate.hook.ts","webpack://@danishagro/cms/./src/layout/pages/components/AuthorBlock/AuthorBlock.module.scss?b9c1","layout/pages/components/AuthorBlock/AuthorBlock.component.tsx","../../shared/src/components/atoms/BasicLink/BasicLink.component.tsx","webpack://@danishagro/cms/../shared/src/components/atoms/Button/Button.module.scss?3e68","../../shared/src/components/atoms/Button/Button.component.tsx","webpack://@danishagro/cms/../shared/src/components/atoms/ButtonLink/ButtonLink.module.scss?55ac","../../shared/src/components/atoms/ButtonLink/ButtonLink.component.tsx","webpack://@danishagro/cms/../shared/src/components/atoms/Container/Container.module.scss?ef98","../../shared/src/components/atoms/Container/Container.component.tsx","webpack://@danishagro/cms/../shared/src/components/atoms/ContentBox/ContentBox.module.scss?5ad9","../../shared/src/components/atoms/ContentBox/ContentBox.component.tsx","webpack://@danishagro/cms/../shared/src/components/atoms/Icon/Icon.module.scss?a48b","../../shared/src/components/atoms/Icon/Icon.component.tsx","webpack://@danishagro/cms/../shared/src/components/atoms/InlineLink/InlineLink.module.scss?cfa4","../../shared/src/components/atoms/InlineLink/InlineLink.component.tsx","../../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../../../node_modules/stylis/src/Utility.js","../../../node_modules/stylis/src/Tokenizer.js","../../../node_modules/stylis/src/Enum.js","../../../node_modules/stylis/src/Serializer.js","../../../node_modules/stylis/src/Parser.js","../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../../../node_modules/stylis/src/Middleware.js","../../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../../../node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","../../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.mjs","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../node_modules/memoize-one/dist/memoize-one.esm.js","../../../node_modules/react-select/dist/react-select.esm.js","../../shared/src/helpers/getSelectStyles.helper.ts","webpack://@danishagro/cms/../shared/src/components/atoms/DropdownArrow/DropdownArrow.module.scss?a804","../../shared/src/components/atoms/DropdownArrow/DropdownArrow.component.tsx","../../shared/src/components/atoms/Select/hooks/useConvertOption.hook.ts","webpack://@danishagro/cms/../shared/src/components/atoms/Select/Select.module.scss?5754","../../shared/src/components/atoms/Select/Select.component.tsx","../../shared/src/components/atoms/Select/hooks/useConvertValue.hook.ts","../../shared/src/components/atoms/Select/hooks/useParsedOptions.hook.ts","../../shared/src/components/atoms/Select/hooks/useSelectedOption.hook.ts","webpack://@danishagro/cms/../shared/src/components/atoms/Spinner/Spinner.module.scss?9472","../../shared/src/components/atoms/Spinner/Spinner.component.tsx","webpack://@danishagro/cms/../shared/src/components/atoms/Text/Text.module.scss?af4c","../../shared/src/components/atoms/Text/Text.component.tsx","webpack://@danishagro/cms/../shared/src/components/atoms/Title/Title.module.scss?b42f","../../shared/src/components/atoms/Title/Title.component.tsx","../../shared/src/components/molecules/Accordion/Accordion.props.ts","webpack://@danishagro/cms/../shared/src/components/molecules/Accordion/Accordion.module.scss?d850","../../shared/src/components/molecules/Accordion/Accordion.component.tsx","webpack://@danishagro/cms/../shared/src/components/molecules/EmptyState/EmptyState.module.scss?1021","../../shared/src/components/molecules/EmptyState/EmptyState.component.tsx","webpack://@danishagro/cms/../shared/src/components/molecules/Toast/Toast.module.scss?7998","../../shared/src/components/molecules/Toast/Toast.component.tsx","../../shared/src/constants/siteVariants.constants.ts","../../shared/src/constants/softHyphen.constant.ts","../../shared/src/constants/urlRoot.constants.ts","../../../node_modules/@baggie/core/lib/esm/functions/cookie/_helpers/encodeCookieValue.helper.js","../../../node_modules/@baggie/core/lib/esm/functions/cookie/setCookie.js","../../../node_modules/@baggie/core/lib/esm/functions/cookie/_helpers/encodeCookieName.helper.js","../../shared/src/helpers/setCustomerNumberCookie.helper.ts","../../shared/src/helpers/getDomainName.helper.ts","../../../node_modules/@baggie/core/lib/esm/functions/cookie/_helpers/decodeCookiePart.helper.js","../../../node_modules/@baggie/core/lib/esm/detection/input/detectInputMethod.js","../../shared/src/utils/CustomError.ts","../../shared/src/helpers/isSSR.helper.ts","../../shared/src/contexts/appData.context.tsx","../../shared/src/hooks/useToastMessage.hook.tsx","../../../node_modules/@baggie/core/lib/esm/functions/cookie/getCookie.js","../../shared/src/helpers/isSafari.helper.ts","../../shared/src/contexts/modal.context.tsx","../../../node_modules/react-use/esm/useMedia.js","../../shared/src/contexts/screen.context.tsx","../../shared/src/contexts/translations/EditButton.component.tsx","../../shared/src/contexts/translations/translations.context.tsx","../../shared/src/gtm/useTagManger.ts","../../shared/src/helpers/blurActiveElement.helper.ts","../../shared/src/helpers/classNames.helper.ts","../../shared/src/helpers/formatNumber.helper.ts","../../shared/src/helpers/getApiUrl.helper.ts","../../shared/src/helpers/getBearerToken.helper.ts","../../shared/src/helpers/getDictionaryString.helper.ts","../../shared/src/helpers/uppercaseFirstLetter.helper.ts","../../shared/src/helpers/getUrl.helper.ts","../../shared/src/helpers/isAbsoluteUrl.helper.ts","../../shared/src/helpers/isDevMode.helper.ts","../../shared/src/helpers/markLinksFromStrings.helper.ts","../../shared/src/helpers/softHyphenate.helper.ts","../../shared/src/helpers/urlRoot.helper.ts","../../shared/src/hooks/useOnClickOutside.hook.ts","../../shared/src/helpers/fetchHandler.helper.ts","../../shared/src/hooks/useRequest.hook.ts","../../../node_modules/@relewise/client/src/models/dataValue.ts","../../../node_modules/@relewise/client/src/builders/filterScopesBuilder.ts","../../../node_modules/@relewise/client/src/builders/filterSettingsBuilder.ts","../../../node_modules/@relewise/client/src/builders/dataObjectFilterConditionBuilder.ts","../../../node_modules/@relewise/client/src/builders/conditionBuilder.ts","../../../node_modules/@relewise/client/src/builders/filterBuilder.ts","../../../node_modules/@relewise/client/src/builders/paginationBuilder.ts","../../../node_modules/@relewise/client/src/builders/relevanceModifierBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/dataObjectFacetBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/facetBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/dataObjectValueSelectorBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/productSortingBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/contentSortingBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/productCategorySortingBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/searchRequestBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/contentSearchBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/productCategorySearchBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/productSearchBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/searchCollectionBuilder.ts","../../../node_modules/@relewise/client/src/builders/search/searchTermPredictionBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/recommendationRequestBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/contents/contentSettingsRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/contents/contentsRecommendationCollectionBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/contents/contentsViewedAfterViewingContentBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/contents/contentsViewedAfterViewingMultipleContentsBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/contents/contentsViewedAfterViewingMultipleProductsBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/contents/contentsViewedAfterViewingProductBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/contents/personalContentRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/contents/popularContentsBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/content-categories/contentCategoriesRecommendationCollectionBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/content-categories/contentCategorySettingsRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/content-categories/personalContentCategoryRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/content-categories/popularContentCategoriesRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/brands/brandSettingsRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/brands/personalBrandRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/brands/popularBrandsRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/product-categories/productCategorySettingsRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/product-categories/personalProductCategoryRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/product-categories/popularProductCategoriesRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/product-categories/productCategoriesRecommendationCollectionBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/productSettingsRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/purchasedWithCurrentCartBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/bySingleProductRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/productsViewedAfterViewingProductBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/productsViewedAfterViewingContentBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/personalProductRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/popularProductsBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/recentlyViewedProductsBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/sortVariantsBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/productsRecommendationCollectionBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/purchasedWithMultipleProductsBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/purchasedWithProductBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/searchTermBasedProductRecommendationBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/sortProductsBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/products/similarProductsProductBuilder.ts","../../../node_modules/@relewise/client/src/builders/recommendation/search-terms/popularSearchTermsRecommendationBuilder.ts","../../../node_modules/@relewise/client/node_modules/tslib/tslib.es6.js","../../../node_modules/@relewise/client/src/version.ts","../../../node_modules/@relewise/client/src/relewise.client.ts","../../../node_modules/@relewise/client/src/tracker.ts","../../../node_modules/@relewise/client/src/searcher.ts","../../../node_modules/@relewise/client/src/recommender.ts","../../../node_modules/@relewise/client/src/factory/user.factory.ts","../../../node_modules/@relewise/client/src/factory/dataValue.factory.ts","../../../node_modules/@relewise/client/src/factory/valueSelector.factory.ts","../../../node_modules/@remix-run/router/history.ts","../../../node_modules/@remix-run/router/utils.ts","../../../node_modules/@remix-run/router/router.ts","../../../node_modules/classnames/index.js","../../../node_modules/cross-fetch/dist/browser-ponyfill.js","../../../node_modules/date-fns/esm/_lib/defaultLocale/index.js","../../../node_modules/date-fns/esm/_lib/defaultOptions/index.js","../../../node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../../../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../../../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../../../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../../../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../../../node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../../../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../../../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../../../node_modules/date-fns/esm/_lib/protectedTokens/index.js","../../../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../../../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../../../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../../../node_modules/date-fns/esm/_lib/toInteger/index.js","../../../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../../../node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../../../node_modules/date-fns/esm/_lib/format/formatters/index.js","../../../node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../../../node_modules/date-fns/esm/format/index.js","../../../node_modules/date-fns/esm/isValid/index.js","../../../node_modules/date-fns/esm/isDate/index.js","../../../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../../../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../../../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../../../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../../../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../../../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../../../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../../../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../../../node_modules/date-fns/esm/locale/en-US/index.js","../../../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../../../node_modules/date-fns/esm/subMilliseconds/index.js","../../../node_modules/date-fns/esm/addMilliseconds/index.js","../../../node_modules/date-fns/esm/toDate/index.js","../../../node_modules/fast-deep-equal/index.js","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/js-cookie/src/js.cookie.js","../../../node_modules/jwt-decode/lib/atob.js","../../../node_modules/jwt-decode/lib/base64_url_decode.js","../../../node_modules/jwt-decode/lib/index.js","../../../node_modules/load-script/index.js","../../../node_modules/object-assign/index.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/client.js","../../../node_modules/react-dom/index.js","../../../node_modules/react-fast-compare/index.js","../../../node_modules/focus-lock/dist/es2015/constants.js","../../../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../../../node_modules/use-callback-ref/dist/es2015/useRef.js","../../../node_modules/use-callback-ref/dist/es2015/assignRef.js","../../../node_modules/react-focus-lock/dist/es2015/FocusGuard.js","../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/use-sidecar/dist/es2015/medium.js","../../../node_modules/react-focus-lock/dist/es2015/medium.js","../../../node_modules/react-focus-lock/dist/es2015/Lock.js","../../../node_modules/react-clientside-effect/lib/index.es.js","../../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../node_modules/focus-lock/dist/es2015/utils/array.js","../../../node_modules/focus-lock/dist/es2015/utils/is.js","../../../node_modules/focus-lock/dist/es2015/utils/tabOrder.js","../../../node_modules/focus-lock/dist/es2015/utils/tabUtils.js","../../../node_modules/focus-lock/dist/es2015/utils/tabbables.js","../../../node_modules/focus-lock/dist/es2015/utils/DOMutils.js","../../../node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","../../../node_modules/focus-lock/dist/es2015/utils/safe.js","../../../node_modules/focus-lock/dist/es2015/utils/all-affected.js","../../../node_modules/focus-lock/dist/es2015/focusInside.js","../../../node_modules/focus-lock/dist/es2015/utils/correctFocus.js","../../../node_modules/focus-lock/dist/es2015/utils/firstFocus.js","../../../node_modules/focus-lock/dist/es2015/solver.js","../../../node_modules/focus-lock/dist/es2015/utils/auto-focus.js","../../../node_modules/focus-lock/dist/es2015/utils/parenting.js","../../../node_modules/focus-lock/dist/es2015/focusSolver.js","../../../node_modules/focus-lock/dist/es2015/moveFocusInside.js","../../../node_modules/focus-lock/dist/es2015/commands.js","../../../node_modules/react-focus-lock/dist/es2015/util.js","../../../node_modules/react-focus-lock/dist/es2015/Trap.js","../../../node_modules/focus-lock/dist/es2015/focusIsHidden.js","../../../node_modules/focus-lock/dist/es2015/focusables.js","../../../node_modules/react-focus-lock/dist/es2015/Combination.js","../../../node_modules/react-focus-lock/dist/es2015/index.js","../../../node_modules/react-helmet/es/Helmet.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/index.js","../../../node_modules/react-router-dom/dom.ts","../../../node_modules/react-router-dom/index.tsx","../../../node_modules/react-router/lib/context.ts","../../../node_modules/react-router/lib/hooks.tsx","../../../node_modules/react-router/lib/components.tsx","../../../node_modules/react-side-effect/lib/index.js","../../../node_modules/react-string-replace/index.js","../../../node_modules/react-use/esm/misc/util.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/index.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/index.js","../../../node_modules/sister/src/sister.js","../../../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../../../node_modules/youtube-player/dist/FunctionStateMap.js","../../../node_modules/youtube-player/dist/YouTubePlayer.js","../../../node_modules/youtube-player/dist/constants/PlayerStates.js","../../../node_modules/youtube-player/dist/eventNames.js","../../../node_modules/youtube-player/dist/functionNames.js","../../../node_modules/youtube-player/dist/index.js","../../../node_modules/youtube-player/dist/loadYouTubeIframeApi.js","../../../node_modules/youtube-player/node_modules/debug/src/browser.js","../../../node_modules/youtube-player/node_modules/debug/src/debug.js","../../../node_modules/youtube-player/node_modules/ms/index.js","blocks/components|lazy|/^/.//.*//.*/.component$/|chunkName: blocks|groupOptions: {}|namespace object","blocks/components|lazy|/^/.//.*//forks//.*//.*/.component$/|chunkName: [request]|groupOptions: {}|namespace object","../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/@babel/runtime/helpers/esm/inherits.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../node_modules/goober/dist/goober.modern.js","../../../node_modules/react-hot-toast/src/core/types.ts","../../../node_modules/react-hot-toast/src/core/utils.ts","../../../node_modules/react-hot-toast/src/core/store.ts","../../../node_modules/react-hot-toast/src/core/toast.ts","../../../node_modules/react-hot-toast/src/core/use-toaster.ts","../../../node_modules/react-hot-toast/src/components/error.tsx","../../../node_modules/react-hot-toast/src/components/loader.tsx","../../../node_modules/react-hot-toast/src/components/checkmark.tsx","../../../node_modules/react-hot-toast/src/components/toast-icon.tsx","../../../node_modules/react-hot-toast/src/components/toast-bar.tsx","../../../node_modules/react-hot-toast/src/components/toaster.tsx","../../../node_modules/react-hot-toast/src/index.ts","../../../node_modules/@react-spring/shared/src/globals.ts","../../../node_modules/@react-spring/rafz/src/index.ts","../../../node_modules/@react-spring/shared/src/helpers.ts","../../../node_modules/@react-spring/shared/src/FrameLoop.ts","../../../node_modules/@react-spring/shared/src/clamp.ts","../../../node_modules/@react-spring/shared/src/colorMatchers.ts","../../../node_modules/@react-spring/shared/src/normalizeColor.ts","../../../node_modules/@react-spring/shared/src/colorToRgba.ts","../../../node_modules/@react-spring/shared/src/createInterpolator.ts","../../../node_modules/@react-spring/shared/src/easings.ts","../../../node_modules/@react-spring/shared/src/fluids.ts","../../../node_modules/@react-spring/shared/src/stringInterpolation.ts","../../../node_modules/@react-spring/shared/src/regexs.ts","../../../node_modules/@react-spring/shared/src/variableToRgba.ts","../../../node_modules/@react-spring/shared/src/deprecations.ts","../../../node_modules/@react-spring/shared/src/isAnimatedString.ts","../../../node_modules/@react-spring/shared/src/hooks/useIsomorphicLayoutEffect.ts","../../../node_modules/@react-spring/shared/src/hooks/useIsMounted.ts","../../../node_modules/@react-spring/shared/src/hooks/useForceUpdate.ts","../../../node_modules/@react-spring/shared/src/hooks/useOnce.ts","../../../node_modules/@react-spring/shared/src/hooks/usePrev.ts","../../../node_modules/@react-spring/shared/src/hooks/useReducedMotion.ts","../../../node_modules/@react-spring/animated/src/Animated.ts","../../../node_modules/@react-spring/animated/src/AnimatedValue.ts","../../../node_modules/@react-spring/animated/src/AnimatedString.ts","../../../node_modules/@react-spring/animated/src/context.ts","../../../node_modules/@react-spring/animated/src/AnimatedObject.ts","../../../node_modules/@react-spring/animated/src/AnimatedArray.ts","../../../node_modules/@react-spring/animated/src/getAnimatedType.ts","../../../node_modules/@react-spring/animated/src/withAnimated.tsx","../../../node_modules/@react-spring/animated/src/createHost.ts","../../../node_modules/@react-spring/core/src/helpers.ts","../../../node_modules/@react-spring/core/src/constants.ts","../../../node_modules/@react-spring/core/src/AnimationConfig.ts","../../../node_modules/@react-spring/core/src/Animation.ts","../../../node_modules/@react-spring/core/src/scheduleProps.ts","../../../node_modules/@react-spring/core/src/AnimationResult.ts","../../../node_modules/@react-spring/core/src/runAsync.ts","../../../node_modules/@react-spring/core/src/FrameValue.ts","../../../node_modules/@react-spring/core/src/SpringPhase.ts","../../../node_modules/@react-spring/core/src/SpringValue.ts","../../../node_modules/@react-spring/core/src/Controller.ts","../../../node_modules/@react-spring/core/src/SpringContext.tsx","../../../node_modules/@react-spring/shared/src/hooks/useMemoOne.ts","../../../node_modules/@react-spring/core/src/SpringRef.ts","../../../node_modules/@react-spring/core/src/hooks/useSprings.ts","../../../node_modules/@react-spring/core/src/hooks/useSpring.ts","../../../node_modules/@react-spring/core/src/hooks/useTransition.tsx","../../../node_modules/@react-spring/core/src/Interpolation.ts","../../../node_modules/@react-spring/core/src/globals.ts","../../../node_modules/@react-spring/web/src/applyAnimatedValues.ts","../../../node_modules/@react-spring/web/src/AnimatedStyle.ts","../../../node_modules/@react-spring/web/src/index.ts","../../../node_modules/@react-spring/shared/src/colors.ts","../../../node_modules/@react-spring/web/src/primitives.ts","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","contexts/api.context.tsx","../../shared/src/contexts/siteHeader.context.tsx","webpack://@danishagro/cms/../shared/src/contexts/bottomSheet/bottomSheet.module.scss?e198","../../shared/src/contexts/bottomSheet/bottomSheet.context.tsx","../../shared/src/components/organisms/SiteFooter/FooterLink/FooterLink.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteFooter/DesktopFooter/DesktopFooter.module.scss?e2c5","../../shared/src/components/organisms/SiteFooter/DesktopFooter/DesktopFooter.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteFooter/MobileFooter/MobileFooter.module.scss?4c45","../../shared/src/components/organisms/SiteFooter/MobileFooter/MobileFooter.component.tsx","../../shared/src/components/organisms/SiteFooter/SiteFooter.component.tsx","../../../node_modules/react-use/esm/useIsomorphicLayoutEffect.js","../../../node_modules/react-use/esm/useMeasure.js","../../shared/src/content/message/messageEnums.ts","../../shared/src/hooks/useModalMessage.hook.ts","../../shared/src/hooks/useStickyBannerMessages.hook.ts","webpack://@danishagro/cms/../shared/src/components/molecules/Modal/Modal.module.scss?b409","../../shared/src/components/molecules/Modal/Modal.component.tsx","webpack://@danishagro/cms/../shared/src/components/molecules/Message/HeaderMessage/headerMessage.module.scss?75f3","../../shared/src/components/molecules/Message/HeaderMessage/headerMessage.component.tsx","webpack://@danishagro/cms/../shared/src/components/molecules/Message/ModalMessage/modalMessage.module.scss?a51e","../../shared/src/components/molecules/Message/ModalMessage/modalMessage.component.tsx","../../shared/src/assets/svg/danish-agro-logo.svg","../../shared/src/assets/svg/vilofarm-logo.svg","../../shared/src/assets/svg/logos/DLA_Agro.svg","../../shared/src/assets/svg/logos/Nordic_Seed.svg","../../shared/src/assets/svg/logos/Ada_Green_Energy.svg","../../shared/src/assets/svg/logos/Agromex.svg","../../shared/src/assets/svg/logos/AP_Joergensen.svg","../../shared/src/assets/svg/logos/Baltic_Agro.svg","../../shared/src/assets/svg/logos/Ceravis.svg","../../shared/src/assets/svg/logos/Danish_Agro.svg","../../shared/src/assets/svg/logos/DAVA_Foods.svg","../../shared/src/assets/svg/logos/Hankkija.svg","../../shared/src/assets/svg/logos/Hatting.svg","../../shared/src/assets/svg/logos/Hesselbjerg_Agro.svg","../../shared/src/assets/svg/logos/Hercules_Wildbird.svg","../../shared/src/assets/svg/logos/Hungaria_Agro.svg","../../shared/src/assets/svg/logos/Norwegian_Agro.svg","../../shared/src/assets/svg/logos/Polish_Agro.svg","../../shared/src/assets/svg/logos/Raitech.svg","../../shared/src/assets/svg/logos/Ringe_Maskinforretning.svg","../../shared/src/assets/svg/logos/Roestofte_Maskiner.svg","../../shared/src/assets/svg/logos/Scanfedt.svg","../../shared/src/assets/svg/logos/Scanola.svg","../../shared/src/assets/svg/logos/Swedish_Agro.svg","../../shared/src/assets/svg/logos/Traktor_Hoest.svg","../../shared/src/assets/svg/logos/Traktorservice.svg","../../shared/src/assets/svg/logos/Vilofarm.svg","../../shared/src/assets/svg/logos/Vilomix.svg","../../shared/src/assets/svg/logos/Vilovet.svg","../../shared/src/assets/svg/logos/Vinderup_Maskiner.svg","../../shared/src/assets/svg/logos/CeraGreen.svg","../../shared/src/assets/svg/logos/Agrosan.svg","../../shared/src/assets/svg/logos/Trinol.svg","../../shared/src/assets/svg/logos/Lolland_Falster_Bioenergi.svg","../../shared/src/components/atoms/Logo/Logo.component.tsx","../../shared/src/helpers/getLoginLink.helper.ts","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/Badge/Badge.module.scss?b12d","../../shared/src/components/organisms/SiteHeader/Badge/Badge.component.tsx","../../shared/src/helpers/getRelativeUrlOnLocalhost.helper.ts","../../shared/src/helpers/getB2bImage.helper.ts","../../shared/src/contexts/cart/hooks/useCartRequest.hook.ts","../../shared/src/contexts/cart/cart.context.tsx","../../shared/src/hooks/useCustomer.hook.ts","../../shared/src/hooks/usePrevious.hook.ts","../../shared/src/contexts/cart/hooks/useCartPrice.hook.ts","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/ServiceButtons/ServiceButtons.module.scss?fb80","../../shared/src/components/organisms/SiteHeader/ServiceButtons/ServiceButtons.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/ServiceMenu/ServiceMenu.module.scss?8393","../../shared/src/components/organisms/SiteHeader/ServiceMenu/ServiceMenu.component.tsx","../../shared/src/helpers/adjustUrl.helper.ts","../../shared/src/components/organisms/SiteHeader/NavigationMobile/helpers/checkCurrentOrAncestorPath.helper.ts","../../shared/src/components/organisms/SiteHeader/NavigationDesktop/helpers/recursiveCheckCurrentPathDesktop.helper.ts","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/NavigationDesktop/ColumnList/ColumnList.module.scss?763f","../../shared/src/components/organisms/SiteHeader/NavigationDesktop/ColumnList/ColumnList.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/NavigationDesktop/NavigationDesktop.module.scss?091e","../../shared/src/components/organisms/SiteHeader/NavigationDesktop/NavigationDesktop.component.tsx","../../shared/src/components/organisms/SiteHeader/NavigationDesktop/helpers/splitIntoChunks.helper.ts","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/AccountPicker/AccountPicker.module.scss?4866","../../shared/src/components/organisms/SiteHeader/AccountPicker/AccountPicker.component.tsx","../../shared/src/helpers/imageSrc.helper.ts","../../shared/src/content/imageConfigs/imageConfig.enum.ts","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/MiniCart/MiniCart.module.scss?7ff5","../../shared/src/components/organisms/SiteHeader/MiniCart/MiniCart.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/NotificationsAndAccounts/NotificationsAndAccounts.module.scss?012d","../../shared/src/components/organisms/SiteHeader/NotificationsAndAccounts/NotificationsAndAccounts.component.tsx","../../../node_modules/react-use/esm/useDebounce.js","../../../node_modules/react-use/esm/useTimeoutFn.js","../../shared/src/constants/relewise.constants.ts","../../shared/src/components/atoms/Image/Image.component.tsx","../../shared/src/contexts/relewise.context.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/SearchInput/SearchProduct/SearchProduct.module.scss?b398","../../shared/src/components/organisms/SiteHeader/SearchInput/SearchProduct/SearchProduct.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/SearchInput/SearchPage/SearchPage.module.scss?d726","../../shared/src/components/organisms/SiteHeader/SearchInput/SearchPage/SearchPage.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/SearchInput/SearchInput.module.scss?cc8f","../../shared/src/components/organisms/SiteHeader/SearchInput/SearchInput.component.tsx","../../shared/src/hooks/useSearch.hook.ts","../../shared/src/helpers/relewiseFilters.helper.ts","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/MiniSearch/MiniSearch.module.scss?2f71","../../shared/src/components/organisms/SiteHeader/MiniSearch/MiniSearch.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/Toolbar/Toolbar.module.scss?b517","../../shared/src/components/organisms/SiteHeader/Toolbar/Toolbar.component.tsx","../../shared/src/components/organisms/SiteHeader/Toolbar/hooks/useCartButton.tsx","../../shared/src/components/organisms/SiteHeader/Toolbar/hooks/useFarmInTimeButton.tsx","../../shared/src/components/organisms/SiteHeader/Toolbar/hooks/useAccountButton.tsx","../../shared/src/components/organisms/SiteHeader/Toolbar/hooks/useSearchButton.tsx","../../shared/src/components/organisms/SiteHeader/NavigationMobile/helpers/recursiveCheckCurrentPathMobile.helper.ts","../../shared/src/assets/svg/flags/unknown.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_BG.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_BR.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_CN.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_CZ.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_DE.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_DK.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_EE.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_EN.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_ES.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_FI.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_FR.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_HU.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_LT.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_LV.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_NO.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_PL.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_PT.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_PY.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_SE.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_UA.svg","../../shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_ZH.svg","../../shared/src/components/organisms/SiteHeader/LanguageSelector/flagsList.tsx","../../shared/src/components/organisms/SiteHeader/LanguageSelector/hooks/getAbsolutePath.hook.ts","../../shared/src/components/organisms/SiteHeader/LanguageSelector/hooks/useLanguageSelector.hook.ts","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/LanguageSelector/LanguageSelector.module.scss?c055","../../shared/src/components/organisms/SiteHeader/LanguageSelector/LanguageSelector.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/NavigationMobile/components/Menu/Menu.module.scss?1b74","../../shared/src/components/organisms/SiteHeader/NavigationMobile/components/Menu/Menu.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/NavigationMobile/components/Tabs/Tabs.module.scss?c619","../../shared/src/components/organisms/SiteHeader/NavigationMobile/components/Tabs/Tabs.component.tsx","../../shared/src/components/organisms/SiteHeader/NavigationMobile/hooks/useMyfarm.hook.ts","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/NavigationMobile/NavigationMobile.module.scss?4d27","../../shared/src/components/organisms/SiteHeader/NavigationMobile/NavigationMobile.component.tsx","../../shared/src/components/organisms/SiteHeader/NavigationMobile/hooks/useWebshop.hook.ts","../../shared/src/components/organisms/SiteHeader/NavigationMobile/hooks/useCms.hook.ts","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/NavigationMobile/components/Trigger/Trigger.module.scss?f12f","../../shared/src/components/organisms/SiteHeader/NavigationMobile/components/Trigger/Trigger.component.tsx","webpack://@danishagro/cms/../shared/src/components/organisms/SiteHeader/SiteHeader.module.scss?1a85","../../shared/src/components/organisms/SiteHeader/SiteHeader.component.tsx","helpers/isProduction.helper.ts","layout/pages/components/NewsListPage/hooks/useTags.hook.ts","webpack://@danishagro/cms/./src/layout/pages/components/NewsListPage/components/Card/Card.module.scss?3e7d","layout/pages/components/NewsListPage/components/Card/Card.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/NewsListPage/NewsListPage.module.scss?d601","layout/pages/components/NewsListPage/NewsListPage.component.tsx","layout/pages/components/NewsListPage/hooks/useItems.hook.ts","contexts/page.context.tsx","webpack://@danishagro/cms/../shared/src/components/molecules/Breadcrumb/Breadcrumb.module.scss?7c99","../../shared/src/components/molecules/Breadcrumb/Breadcrumb.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/ContentPage/ContentPage.module.scss?7286","layout/pages/components/ContentPage/ContentPage.component.tsx","layout/pages/components/ContentPage/schemas/GenerateSchemaMarkup.ts","webpack://@danishagro/cms/./src/layout/pages/components/ErrorPage/ErrorPage.module.scss?a399","layout/pages/components/ErrorPage/ErrorPage.component.tsx","layout/pages/components/NewsPage/components/LatestNews/hooks/useItems.hook.ts","webpack://@danishagro/cms/./src/layout/pages/components/NewsPage/components/LatestNews/LatestNews.module.scss?4111","layout/pages/components/NewsPage/components/LatestNews/LatestNews.component.tsx","layout/pages/components/NewsPage/Interfaces/NewsSchemaMarkup.ts","webpack://@danishagro/cms/./src/layout/pages/components/NewsPage/NewsPage.module.scss?05d5","layout/pages/components/NewsPage/NewsPage.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/NotFoundPage/NotFoundPage.module.scss?bf6f","layout/pages/components/NotFoundPage/NotFoundPage.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/EventListPage/components/Card/Card.module.scss?ca12","layout/pages/components/EventListPage/components/Card/Card.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/EventListPage/EventListPage.module.scss?24a6","layout/pages/components/EventListPage/EventListPage.component.tsx","layout/pages/components/EventListPage/hooks/useItems.hook.ts","layout/pages/components/JobsPage/hooks/useJobDetail.hook.ts","webpack://@danishagro/cms/./src/layout/pages/components/JobsPage/ContactInfo/ContactInfo.module.scss?9cf7","layout/pages/components/JobsPage/ContactInfo/ContactInfo.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/JobsPage/LocationInfo/LocationInfo.module.scss?937b","layout/pages/components/JobsPage/LocationInfo/LocationInfo.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/JobsPage/JobsPage.module.scss?042c","layout/pages/components/JobsPage/JobsPage.component.tsx","webpack://@danishagro/cms/../shared/src/components/atoms/Chip/Chip.module.scss?081d","../../shared/src/components/atoms/Chip/Chip.component.tsx","../../../node_modules/react-use/esm/useSessionStorage.js","webpack://@danishagro/cms/./src/layout/pages/components/JobListPage/components/Card/Card.module.scss?8eb1","layout/pages/components/JobListPage/components/Card/Card.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/JobListPage/components/JobAgent/JobAgent.module.scss?d13c","layout/pages/components/JobListPage/components/JobAgent/JobAgent.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/JobListPage/JobListPage.module.scss?1b60","layout/pages/components/JobListPage/JobListPage.component.tsx","layout/pages/components/JobListPage/hooks/useItems.hook.ts","webpack://@danishagro/cms/./src/layout/pages/components/EventPage/components/LatestEvents/LatestEvents.module.scss?b57e","layout/pages/components/EventPage/components/LatestEvents/LatestEvents.component.tsx","layout/pages/components/EventPage/components/LatestEvents/hooks/useItems.hook.ts","webpack://@danishagro/cms/./src/layout/pages/components/EventPage/EventPage.module.scss?28ec","layout/pages/components/EventPage/EventPage.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/TestimonialsPage/components/MoreEmployees/MoreEmployees.module.scss?bb5e","layout/pages/components/TestimonialsPage/components/MoreEmployees/MoreEmployees.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/TestimonialsPage/TestimonialsPage.module.scss?c3aa","layout/pages/components/TestimonialsPage/TestimonialsPage.component.tsx","layout/pages/components/TestimonialsPage/components/MoreEmployees/hooks/useItems.hook.ts","webpack://@danishagro/cms/./src/layout/pages/components/TestimonialListPage/components/Card.module.scss?3c61","layout/pages/components/TestimonialListPage/components/Card.component.tsx","webpack://@danishagro/cms/./src/layout/pages/components/TestimonialListPage/TestimonialListPage.module.scss?c834","layout/pages/components/TestimonialListPage/TestimonialListPage.component.tsx","layout/pages/components/TestimonialListPage/hooks/useItems.hook.ts","webpack://@danishagro/cms/./src/layout/pages/DynamicPage.module.scss?a358","layout/pages/DynamicPage.component.tsx","contexts/settings.context.tsx","../../shared/src/helpers/getSharedGlobalVariables.helper.ts","helpers/getGlobalVariables.helper.ts","../../shared/src/gtm/useTrackScrollDistance .ts","webpack://@danishagro/cms/./src/app/App.module.scss?874f","app/App.component.tsx","index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useCallback, useMemo } from \"react\";\nimport { DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { EmployeeProps } from \"@danishagro/cms/src/blocks/components/Employees/components/Employee/Employee.interface\";\nimport { EmployeesProps } from \"@danishagro/cms/src/blocks/components/Employees/Employees.interface\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { HeroProps } from \"@danishagro/cms/src/blocks/components/Hero/Hero.interface\";\nimport { QuotesProps } from \"@danishagro/cms/src/blocks/components/Quotes/Quotes.interface\";\nimport { TextAccordionsProps } from \"@danishagro/cms/src/blocks/components/TextAccordions/TextAccordions.interface\";\nimport { TextImageProps } from \"@danishagro/cms/src/blocks/components/TextImage/TextImage.interface\";\nimport { TextProps } from \"@danishagro/cms/src/blocks/components/Text/Text.interface\";\nimport { TextTableProps } from \"@danishagro/cms/src/blocks/components/TextTable/TextTable.interface\";\nimport { TextTextProps } from \"@danishagro/cms/src/blocks/components/TextText/TextText.interface\";\nimport { AdvancedTableProps } from \"../components/AdvancedTable/AdvancedTable.interface\";\nimport { BlockEmbedProps } from \"../components/Embed/Embed.interface\";\nimport { BlockImageProps } from \"../components/Image/Image.interface\";\nimport { BlockVideoProps } from \"../components/Video/Video.interface\";\nimport { CardProps } from \"../components/ContentList/components/Card/Card.interface\";\nimport { ContentListProps } from \"../components/ContentList/ContentList.interface\";\nimport { DepartmentProps } from \"../components/DepartmentMap/components/Department/Department.interface\";\nimport { NewsSliderProps } from \"../components/NewsSlider/NewsSlider.interface\";\nimport { EventsSliderProps } from \"../components/EventsSlider/EventsSlider.interface\";\nimport { TabsProps } from \"../components/Tabs/Tabs.interface\";\nimport { TextFormProps } from \"../components/TextForm/TextForm.interface\";\nimport { TextGraphicsProps } from \"../components/TextGraphics/TextGraphics.interface\";\nimport { TextImageBannerProps } from \"../components/TextImageBanner/TextImageBanner.interface\";\nimport { TextVideoProps } from \"../components/TextVideo/TextVideo.interface\";\n\nexport const useBlockDataMapping = (alias: string, data: any) => {\n const getIcon = useCallback((alias: string) => {\n switch (alias) {\n case \"Shopping basket\":\n return DA_IconNames.Cart;\n case \"Cog wheel\":\n return DA_IconNames.CogwheelStroke;\n case \"Delivery truck\":\n return DA_IconNames.Delivery;\n case \"Delivery trolley\":\n return DA_IconNames.DollyStroke;\n case \"Harvest straw\":\n return DA_IconNames.Harvest;\n case \"Harvest machine\":\n return DA_IconNames.Harvester;\n case \"Barcode\":\n return DA_IconNames.Barcode;\n case \"Bell\":\n return DA_IconNames.Bell;\n case \"Clock\":\n return DA_IconNames.Clock;\n case \"Smartphone\":\n return DA_IconNames.Mobile;\n case \"Email envelope\":\n return DA_IconNames.LetterOutlined;\n case \"Location pin\":\n return DA_IconNames.Pin;\n case \"Checklist board\":\n return DA_IconNames.FormCheck;\n case \"PDF document\":\n return DA_IconNames.Pdf;\n case \"Rosette\":\n return DA_IconNames.Rosette;\n case \"Pencil\":\n return DA_IconNames.Pencil;\n case \"Support\":\n return DA_IconNames.Support;\n case \"Tractor\":\n return DA_IconNames.Tractor;\n case \"Facebook\":\n return DA_IconNames.Facebook;\n case \"LinkedIn\":\n return DA_IconNames.LinkedIn;\n }\n }, []);\n\n const mapButtons = useCallback(\n (buttons: any) => {\n return buttons?.map((button) => {\n return {\n alias: button.content.alias,\n label: button.content.props.label || button.content.props?.link?.name,\n url: button.content.props?.link?.url,\n icon: getIcon(button.content.props?.icon),\n target: button.content.props?.link?.target,\n };\n });\n },\n [getIcon]\n );\n\n const mapImage = useCallback((props: any) => {\n // Has local image\n if (props?.image?.url) {\n return {\n name: props?.image?.name,\n url: getAbsoluteUrl(props?.image?.url),\n width: props?.image?.props?.umbracoWidth,\n height: props?.image?.props?.umbracoHeight,\n extension: props?.image?.props?.umbracoExtension,\n };\n }\n\n // Or has digizuite image\n if (props?.digizuiteImage?.url) {\n return {\n name: props?.digizuiteImage?.name,\n alternative: props?.digizuiteImage?.alternative,\n url: getAbsoluteUrl(props?.digizuiteImage?.url),\n width: props?.digizuiteImage?.umbracoWidth,\n height: props?.digizuiteImage?.umbracoHeight,\n extension: props?.digizuiteImage?.umbracoExtension,\n };\n }\n\n return {};\n }, []);\n\n const getExtra = useCallback(\n (setting: \"blockSettings\" | \"settings\", ...aliases: string[]) => {\n let existingExtra: string = undefined;\n\n if (typeof aliases !== \"undefined\") {\n aliases.forEach((alias) => {\n const tmpExistingExtra = data?.content?.props?.[setting]?.find((x) => {\n return x.toUpperCase() === alias.toUpperCase();\n });\n\n if (typeof tmpExistingExtra !== \"undefined\") {\n existingExtra = tmpExistingExtra;\n }\n });\n }\n\n return existingExtra;\n },\n [data]\n );\n\n return useMemo(() => {\n switch (alias) {\n /**********/\n /** Hero **/\n /**********/\n case \"blockHero\": {\n return {\n alias: data?.content?.alias,\n // Content\n logo: data?.content?.props?.logo?.url && {\n name: data?.content?.props?.logo?.name,\n url: getAbsoluteUrl(data?.content?.props?.logo?.url),\n width: data?.content?.props?.logo?.props?.umbracoWidth,\n height: data?.content?.props?.logo?.props?.umbracoHeight,\n extension: data?.content?.props?.logo?.props?.umbracoExtension,\n },\n\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n alternative: data?.content?.props?.alternative,\n\n // Video\n video: {\n alias:\n data?.content?.props?.video?.[0]?.content?.alias === \"videoDigizuite\"\n ? \"digizuite\"\n : data?.content?.props?.video?.[0]?.content?.alias ===\n \"blockHeroVideoLocal\"\n ? \"local\"\n : undefined,\n\n url:\n data?.content?.props?.video?.[0]?.content?.alias === \"videoDigizuite\"\n ? data?.content?.props?.video?.[0]?.content?.props?.videoFile?.url\n : data?.content?.props?.video?.[0]?.content?.alias ===\n \"blockHeroVideoLocal\"\n ? data?.content?.props?.video?.[0]?.content?.props?.videoFile?.url\n : undefined,\n\n caption: data?.content?.props?.caption,\n alternative: data?.content?.props?.alternative,\n autoplay: true,\n },\n\n // Image\n image: data?.content?.props?.image?.url\n ? {\n name: data?.content?.props?.image?.name,\n url: getAbsoluteUrl(data?.content?.props?.image?.url),\n width: data?.content?.props?.image?.props?.umbracoWidth,\n height: data?.content?.props?.image?.props?.umbracoHeight,\n extension: data?.content?.props?.image?.props?.umbracoExtension,\n }\n : undefined,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n filter: getExtra(\n \"settings\",\n \"FILTER_BLACK_BACKGROUND\",\n \"FILTER_WHITE_BACKGROUND\"\n ),\n position: getExtra(\"settings\", \"POSITION_IMAGE_LEFT\", \"POSITION_IMAGE_RIGHT\"),\n thin: getExtra(\"settings\", \"THIN_HERO\"),\n } as HeroProps;\n }\n\n /**********/\n /** Tabs **/\n /**********/\n case \"blockTabs\": {\n const tabs = data?.content?.props?.tabs?.map((tab) => {\n return {\n key: tab.content?.key,\n modules: tab.content?.props?.modules,\n title: tab.content?.props?.title,\n };\n });\n\n return {\n tabs: tabs,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n } as TabsProps;\n }\n\n /**********/\n /** Text **/\n /**********/\n case \"blockText\": {\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n alignment: getExtra(\"settings\", \"ALIGNMENT_CENTER\"),\n } as TextProps;\n }\n\n /**********/\n /** Text **/\n /**********/\n case \"blockTextGraphics\": {\n const regions = data?.content?.props?.graphics?.[0]?.content.props?.regions?.map(\n (item) => {\n const logos = item.content.props.logos?.map((logo) => {\n return {\n name: logo.content?.props?.logoImage?.name,\n url: getAbsoluteUrl(logo.content?.props?.logoImage?.url),\n width: logo.content.props.logoImage.props.umbracoWidth,\n height: logo.content.props.logoImage.props.umbracoHeight,\n extension: logo.content?.props?.logoImage?.umbracoExtension,\n caption: logo.content?.props?.logoImage?.caption,\n alternative: logo.content?.props?.logoImage?.alternative,\n };\n });\n\n return {\n regionID: item.content.props.regionID,\n headline: item.content.props.headline,\n text: item.content.props.text,\n logos: logos,\n link: {\n name: item?.content?.props?.link?.name,\n url: item?.content?.props?.link?.url,\n target: item?.content?.props?.link?.target,\n },\n };\n }\n );\n\n // Transform graphics into an array of GraphicsContent\n const graphics = data?.content?.props?.graphics\n ?.map((graphic) => {\n if (graphic.content.alias === \"europe\") {\n return {\n alias: \"europe\",\n key: graphic.content.key,\n props: {\n regions: regions,\n },\n };\n } else if (graphic.content.alias === \"lottie\") {\n const lottieURL = graphic.content.props.lottieURL;\n const lottieId = graphic.content.props.lottieFile?.id;\n const umbracoFile =\n graphic.content.props.lottieFile?.props?.umbracoFile;\n\n return {\n alias: \"lottie\",\n key: graphic.content.key,\n props: {\n lottieURL,\n umbracoFile,\n lottieId,\n },\n };\n }\n\n return undefined;\n })\n .filter(Boolean);\n\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n graphics: graphics, // Assign the transformed graphics array\n regions: regions,\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n alignment: getExtra(\"settings\", \"ALIGNMENT_CENTER\"),\n position: getExtra(\n \"settings\",\n \"POSITION_GRAPHIC_LEFT\",\n \"POSITION_GRAPHIC_BOTTOM\"\n ),\n } as TextGraphicsProps;\n }\n\n /***************/\n /** News slider **/\n /***************/\n\n case \"blockNewsSlider\": {\n return {\n // Content\n tagline: data?.content?.props.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n\n //Link\n label: data?.content?.props?.label,\n link: {\n label: data?.content?.props?.link?.label,\n url: data?.content?.props?.link?.url,\n },\n\n //Extras\n alignment: getExtra(\"settings\", \"ALIGNMENT_LEFT\"),\n } as NewsSliderProps;\n }\n\n /***************/\n /** News slider **/\n /***************/\n\n case \"blockEventsSlider\": {\n return {\n // Content\n tagline: data?.content?.props.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n\n //Link\n label: data?.content?.props?.label,\n link: {\n label: data?.content?.props?.link?.label,\n url: data?.content?.props?.link?.url,\n },\n\n //Extras\n alignment: getExtra(\"settings\", \"ALIGNMENT_LEFT\"),\n } as EventsSliderProps;\n }\n\n /********************/\n /** Text and Image **/\n /********************/\n case \"blockTextImage\": {\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n authorName: data?.content?.props?.authorName,\n authorTitle: data?.content?.props?.authorTitle,\n authorImageAlias: data?.content?.props?.authorImage?.alias,\n authorImageName: data?.content?.props?.authorImage?.name,\n authorImageId: data?.content?.props?.authorImage?.id,\n authorImageUrl: data?.content?.props?.authorImage?.url,\n date: data?.content?.props?.date,\n\n // Image\n image: {\n ...mapImage(data?.content?.props),\n caption: data?.content?.props?.caption,\n alternative: data?.content?.props?.alternative,\n },\n\n dropdownImageSize: data?.content?.props?.imageSizes,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n position: getExtra(\"settings\", \"POSITION_IMAGE_LEFT\", \"POSITION_IMAGE_BOTTOM\"),\n imageSize: getExtra(\"settings\", \"WIDE_IMAGE\"),\n } as TextImageProps;\n }\n\n /********************/\n /** Route Plan **/\n /********************/\n case \"blockRoutePlan\": {\n const imageProps = data?.content?.props?.image\n ? mapImage(data?.content?.props)\n : null;\n return {\n // Content\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n\n // Image\n image: imageProps\n ? {\n ...imageProps,\n alternative: data?.content?.props?.alternative,\n }\n : null,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n position: getExtra(\"settings\", \"POSITION_IMAGE_LEFT\", \"POSITION_IMAGE_BOTTOM\"),\n imageSize: getExtra(\"settings\", \"WIDE_IMAGE\"),\n } as TextImageProps;\n }\n\n /***********/\n /** Image **/\n /***********/\n case \"blockImage\": {\n return {\n // Image\n image: {\n ...mapImage(data?.content?.props),\n caption: data?.content?.props?.caption,\n alternative: data?.content?.props?.alternative,\n },\n dropdownImageSize: data?.content?.props?.imageSizes,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n } as BlockImageProps;\n }\n\n /***********/\n /** Embed **/\n /***********/\n case \"blockEmbed\": {\n return {\n type: data?.content?.props.type?.[0],\n variable1: data?.content?.props.variable1,\n variable2: data?.content?.props.variable2,\n variable3: data?.content?.props.variable3,\n variable4: data?.content?.props.variable4,\n topDanmarkEmbedKey: data?.content?.props?.topDanmarkEmbedKey,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n } as BlockEmbedProps;\n }\n\n /********************/\n /** Text and Video **/\n /********************/\n case \"blockTextVideo\": {\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n\n // Video\n video: {\n alias:\n data?.content?.props?.video?.[0]?.content?.alias === \"videoYouTube\"\n ? \"youtube\"\n : data?.content?.props?.video?.[0]?.content?.alias === \"videoVimeo\"\n ? \"vimeo\"\n : data?.content?.props?.video?.[0]?.content?.alias === \"videoLocal\"\n ? \"local\"\n : data?.content?.props?.video?.[0]?.content?.alias ===\n \"videoDigizuite\"\n ? \"digizuite\"\n : undefined,\n url:\n data?.content?.props?.video?.[0]?.content?.alias === \"videoYouTube\"\n ? data?.content?.props?.video?.[0].content?.props?.videoURL\n : data?.content?.props?.video?.[0]?.content?.alias === \"videoVimeo\"\n ? data?.content?.props?.video?.[0].content?.props?.videoURL\n : data?.content?.props?.video?.[0]?.content?.alias === \"videoLocal\"\n ? data?.content?.props?.video?.[0]?.content?.props?.videoFile?.url\n : data?.content?.props?.video?.[0]?.content?.alias ===\n \"videoDigizuite\"\n ? data?.content?.props?.video?.[0]?.content?.props?.videoFile?.url\n : undefined,\n\n caption: data?.content?.props?.caption,\n alternative: data?.content?.props?.alternative,\n },\n posterStart: data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ? {\n name: data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ?.name,\n url: getAbsoluteUrl(\n data?.content?.props?.video?.[0]?.content?.props?.posterStart?.url\n ),\n width: data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ?.props?.umbracoWidth,\n height: data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ?.props?.umbracoHeight,\n extension:\n data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ?.props?.umbracoExtension,\n }\n : undefined,\n posterEnd: data?.content?.props?.video?.[0]?.content?.props?.posterEnd\n ? {\n name: data?.content?.props?.video?.[0]?.content?.props?.posterEnd\n ?.name,\n url: getAbsoluteUrl(\n data?.content?.props?.video?.[0]?.content?.props?.posterEnd?.url\n ),\n width: data?.content?.props?.video?.[0]?.content?.props?.posterEnd\n ?.props?.umbracoWidth,\n height: data?.content?.props?.video?.[0]?.content?.props?.posterEnd\n ?.props?.umbracoHeight,\n extension:\n data?.content?.props?.video?.[0]?.content?.props?.posterEnd?.props\n ?.umbracoExtension,\n }\n : undefined,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n position: getExtra(\"settings\", \"POSITION_VIDEO_LEFT\", \"POSITION_VIDEO_BOTTOM\"),\n alignment: getExtra(\"settings\", \"ALIGNMENT_CENTER\"),\n videoSize: getExtra(\"settings\", \"VIDEO_SIZE_SMALL\", \"VIDEO_SIZE_MEDIUM\"),\n } as TextVideoProps;\n }\n\n /***********/\n /** Video **/\n /***********/\n case \"blockVideo\": {\n return {\n // Video\n video: {\n alias:\n data?.content?.props?.video?.[0]?.content?.alias === \"videoYouTube\"\n ? \"youtube\"\n : data?.content?.props?.video?.[0]?.content?.alias === \"videoVimeo\"\n ? \"vimeo\"\n : data?.content?.props?.video?.[0]?.content?.alias === \"videoLocal\"\n ? \"local\"\n : data?.content?.props?.video?.[0]?.content?.alias ===\n \"videoDigizuite\"\n ? \"digizuite\"\n : undefined,\n\n url:\n data?.content?.props?.video?.[0]?.content?.alias === \"videoYouTube\"\n ? data?.content?.props?.video?.[0].content?.props?.videoURL\n : data?.content?.props?.video?.[0]?.content?.alias === \"videoVimeo\"\n ? data?.content?.props?.video?.[0].content?.props?.videoURL\n : data?.content?.props?.video?.[0]?.content?.alias === \"videoLocal\"\n ? data?.content?.props?.video?.[0]?.content?.props?.videoFile?.url\n : data?.content?.props?.video?.[0]?.content?.alias ===\n \"videoDigizuite\"\n ? data?.content?.props?.video?.[0]?.content?.props?.videoFile?.url\n : undefined,\n\n caption: data?.content?.props?.caption,\n alternative: data?.content?.props?.alternative,\n },\n posterStart: data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ? {\n name: data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ?.name,\n url: getAbsoluteUrl(\n data?.content?.props?.video?.[0]?.content?.props?.posterStart?.url\n ),\n width: data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ?.props?.umbracoWidth,\n height: data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ?.props?.umbracoHeight,\n extension:\n data?.content?.props?.video?.[0]?.content?.props?.posterStart\n ?.props?.umbracoExtension,\n }\n : undefined,\n posterEnd: data?.content?.props?.video?.[0]?.content?.props?.posterEnd\n ? {\n name: data?.content?.props?.video?.[0]?.content?.props?.posterEnd\n ?.name,\n url: getAbsoluteUrl(\n data?.content?.props?.video?.[0]?.content?.props?.posterEnd?.url\n ),\n width: data?.content?.props?.video?.[0]?.content?.props?.posterEnd\n ?.props?.umbracoWidth,\n height: data?.content?.props?.video?.[0]?.content?.props?.posterEnd\n ?.props?.umbracoHeight,\n extension:\n data?.content?.props?.video?.[0]?.content?.props?.posterEnd?.props\n ?.umbracoExtension,\n }\n : undefined,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n\n size: getExtra(\"settings\", \"VIDEO_SIZE_SMALL\", \"VIDEO_SIZE_MEDIUM\"),\n } as BlockVideoProps;\n }\n\n /********************/\n /** Text and Table **/\n /********************/\n case \"blockTextTable\": {\n const rows = data?.content?.props?.rows?.reduce((previous, current) => {\n const result = current.content.props.columns;\n previous.push(result);\n return previous;\n }, []);\n\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n\n // Table\n headers: data?.content?.props?.headers,\n rows: rows,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n position: getExtra(\"settings\", \"POSITION_TABLE_LEFT\", \"POSITION_TABLE_BOTTOM\"),\n } as TextTableProps;\n }\n\n /********************/\n /** Table (Advanced) **/\n /********************/\n case \"blockTextAndAdvancedTable\": {\n return {\n // Content - Advanced table\n text: data?.content?.props?.text,\n\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n contentText: data?.content?.props?.contentText,\n buttons: mapButtons(data?.content?.props?.buttons),\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n alignment: getExtra(\"settings\", \"ALIGNMENT_CENTER\"),\n position: getExtra(\n \"settings\",\n \"POSITION_ADVANCEDTABLE_LEFT\",\n \"POSITION_ADVANCEDTABLE_BOTTOM\"\n ),\n } as AdvancedTableProps;\n }\n\n /*******************/\n /** Text and Text **/\n /*******************/\n case \"blockTextText\": {\n const items = data?.content?.props?.items?.map((item) => {\n return {\n headline: item.content.props.headline,\n text: item.content.props.text,\n buttons: mapButtons(item.content?.props?.buttons),\n };\n });\n\n return {\n // Header\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n alignment: getExtra(\"settings\", \"ALIGNMENT_LEFT\"),\n // Items\n items: items,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n } as TextTextProps;\n }\n\n /***********/\n /** Quote **/\n /***********/\n case \"blockQuote\": {\n return {\n // Content\n headline: data?.content?.props?.headline,\n quote: data?.content?.props?.quote,\n author: data?.content?.props?.author,\n authorPosition: data?.content?.props?.authorPosition,\n\n // Features\n image: mapImage(data?.content?.props),\n alternative: data?.content?.props?.alternative,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n position: getExtra(\"settings\", \"POSITION_IMAGE_LEFT\"),\n imageSize: getExtra(\"settings\", \"NARROW_IMAGE\"),\n } as QuotesProps;\n }\n\n /*************************/\n /** Text and Accordions **/\n /*************************/\n case \"blockTextAccordions\": {\n const items = data?.content?.props?.items?.map((item) => {\n return {\n id: item.contentUdi.uriValue,\n headline: item.content.props.headline,\n text: item.content.props.text,\n };\n });\n\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n fAQContent: data?.content?.props?.fAQContent,\n\n // Accordions\n items: items,\n\n // Features\n image: mapImage(data?.content?.props),\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n position: getExtra(\n \"settings\",\n \"POSITION_ACCORDIONS_LEFT\",\n \"POSITION_ACCORDIONS_BOTTOM\"\n ),\n } as TextAccordionsProps;\n }\n\n /*************************/\n /** Department Map **/\n /*************************/\n case \"blockDepartmentMap\": {\n // Mapping departments to an array of DepartmentProps objects\n const departments = data?.content?.props?.departments?.map((department) => ({\n id: department.id,\n })) as DepartmentProps[];\n\n console.log(\n \"centerCoordinates\",\n data?.content?.props?.googleMapsCenter?.mapconfig?.centerCoordinates\n );\n return {\n type:\n data?.content?.props.type?.[0] === \"LIST_AND_MAP\" ? \"LIST_AND_MAP\" : \"LIST\",\n googleMapsZoom: data?.content?.props?.googleMapsZoom,\n departments: departments,\n centerLat:\n data?.content?.props?.googleMapsCenter?.mapconfig?.centerCoordinates?.lat,\n centerLng:\n data?.content?.props?.googleMapsCenter?.mapconfig?.centerCoordinates?.lng,\n };\n }\n\n /***************/\n /** Employees **/\n /***************/\n case \"blockEmployees\": {\n const items = data?.content?.props?.items?.map((item) => {\n return {\n image: mapImage(item?.content?.props),\n alternative: item?.content?.props?.alternative,\n headline: item.content.props.headline,\n tagline: item.content.props.tagline,\n text: item.content.props.text,\n email: item.content.props.email,\n phone: item.content.props.phone,\n } as EmployeeProps;\n });\n\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n\n // Employees\n subHeading: data?.content?.props?.subheading,\n items: items,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n cardSize: getExtra(\"settings\", \"CARD_SIZE_SMALL\", \"CARD_SIZE_MEDIUM\"),\n alignment: getExtra(\"settings\", \"ALIGNMENT_LEFT\"),\n } as EmployeesProps;\n }\n\n /***********/\n /** Spots **/\n /***********/\n\n case \"blockSpots\": {\n const items = data?.content?.props?.items?.map((item) => {\n const mapMedia = (media: any) => {\n const result = {};\n\n if (media?.[0]?.content.alias === \"blockSpotsIcon\") {\n result[\"icon\"] = getIcon(media?.[0]?.content.props?.icon);\n }\n\n if (media?.[0]?.content.alias === \"blockSpotsImage\") {\n result[\"image\"] = {\n name: media?.[0]?.content.props?.image?.name,\n url: getAbsoluteUrl(media?.[0]?.content.props?.image?.url),\n width: media?.[0]?.content.props?.image?.props?.umbracoWidth,\n height: media?.[0]?.content.props?.image?.props?.umbracoHeight,\n extension:\n media?.[0]?.content.props?.image?.props?.umbracoExtension,\n alternative: media?.[0]?.content.props?.alternative,\n dropdownImageSize: media?.[0]?.content.props?.imageSizes,\n };\n }\n\n return result;\n };\n\n return {\n id: item.contentUdi.uriValue,\n\n // Content\n headline: item.content.props.headline,\n text: item.content.props.text,\n link: item.content.props.link,\n buttons: mapButtons(item.content?.props?.buttons),\n\n // Media\n ...mapMedia(item.content.props.media),\n };\n });\n\n return {\n //Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n\n //Spots\n items: items,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n iconColor: getExtra(\"settings\", \"SECONDARY_ICON_COLOR\"),\n headerAlignment: getExtra(\"settings\", \"ALIGNMENT_LEFT\"),\n itemAlignment: getExtra(\n \"settings\",\n \"ITEMS_ALIGNMENT_LEFT\",\n \"ITEMS_ALIGNMENT_TOP\"\n ),\n };\n }\n\n /***************/\n /** Content List **/\n /***************/\n case \"blockContentList\": {\n const items = data?.content?.props?.items?.map((item) => {\n return {\n image: mapImage(item?.content?.props),\n alternative: item.content.props.alternative,\n headline: item.content.props.headline,\n text: item.content.props.text,\n buttons: mapButtons(item.content?.props?.buttons),\n } as CardProps;\n });\n\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n\n // Cards\n subHeading: data?.content?.props?.subheading,\n items: items,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n cardSize: getExtra(\n \"settings\",\n \"CARD_SIZE_EXTRA_SMALL\",\n \"CARD_SIZE_MEDIUM\",\n \"CARD_SIZE_LARGE\",\n \"CARD_SIZE_EXTRA_LARGE\"\n ),\n alignment: getExtra(\"settings\", \"ALIGNMENT_LEFT\"),\n verticalImage: getExtra(\"settings\", \"VERTICAL_IMAGE\"),\n portraitImage: getExtra(\"settings\", \"PORTRAIT_IMAGE\"),\n } as ContentListProps;\n }\n\n /***************/\n /** TextForm **/\n /***************/\n\n case \"blockTextForm\": {\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n\n // Image\n image: mapImage(data?.content?.props),\n\n // Form\n form: {\n formTagline: data?.content?.props?.formTagline,\n formHeadline: data?.content?.props?.formHeadline,\n\n formData: data?.content?.props?.form,\n receipt: {\n receiptHeadline: data?.content?.props?.receiptHeadline,\n receiptText: data?.content?.props?.receiptText,\n },\n },\n // allFieldSets: allFieldSets,\n\n // Receipt\n receipt: {\n receiptHeadline: data?.content?.props?.receiptHeadline,\n receiptText: data?.content?.props?.receiptText,\n },\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n backgroundCover: getExtra(\n \"settings\",\n \"BACKGROUND_COVER_1\",\n \"BACKGROUND_COVER_2\",\n \"BACKGROUND_COVER_3\",\n \"BACKGROUND_COVER_4\"\n ),\n position: getExtra(\"settings\", \"POSITION_FORM_LEFT\"),\n } as TextFormProps;\n }\n\n /***************/\n /** CustomForm **/\n /***************/\n\n case \"blockCustomForm\": {\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n\n // Image\n image: mapImage(data?.content?.props),\n\n // Form\n form: {\n formTagline: data?.content?.props?.formTagline,\n formHeadline: data?.content?.props?.formHeadline,\n\n formData: {\n ...data?.content?.props?.form,\n dealers: data?.content?.props?.dealers, // Add dealers\n dates: data?.content?.props?.dates, // Add dates\n formType: data?.content?.props?.formType,\n },\n receipt: {\n receiptHeadline: data?.content?.props?.receiptHeadline,\n receiptText: data?.content?.props?.receiptText,\n },\n },\n // allFieldSets: allFieldSets,\n\n // Receipt\n receipt: {\n receiptHeadline: data?.content?.props?.receiptHeadline,\n receiptText: data?.content?.props?.receiptText,\n },\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n backgroundCover: getExtra(\n \"settings\",\n \"BACKGROUND_COVER_1\",\n \"BACKGROUND_COVER_2\",\n \"BACKGROUND_COVER_3\",\n \"BACKGROUND_COVER_4\"\n ),\n position: getExtra(\"settings\", \"POSITION_FORM_LEFT\"),\n } as TextFormProps;\n }\n\n /**********/\n /** TextImageBanner **/\n /**********/\n case \"blockTextImageBanner\": {\n return {\n // Content\n tagline: data?.content?.props?.tagline,\n headline: data?.content?.props?.headline,\n text: data?.content?.props?.text,\n buttons: mapButtons(data?.content?.props?.buttons),\n\n // Image\n image: mapImage(data?.content?.props),\n alternative: data?.content?.props?.alternative,\n\n // Extras\n backgroundColor: getExtra(\n \"blockSettings\",\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\"\n ),\n position: getExtra(\n \"settings\",\n \"POSITION_TEXT_LEFT\",\n \"POSITION_TEXT_CENTER\",\n \"POSITION_TEXT_RIGHT\"\n ),\n } as TextImageBannerProps;\n }\n }\n }, [alias, data, getExtra, mapButtons, mapImage, getIcon]);\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { lazy } from \"react\";\n\nconst useRecursiveBlock = (alias: string) => {\n const getTemplate = (name: string) =>\n lazy(async (): Promise<any> => {\n const custom = import(\n /* webpackChunkName: \"[request]\" */ `src/blocks/components/${name}/forks/${alias}/${name}.component`\n );\n const fallback = import(\n /* webpackChunkName: \"blocks\" */ `src/blocks/components/${name}/${name}.component`\n );\n\n try {\n return await custom;\n } catch {\n return await fallback;\n }\n });\n\n return getTemplate;\n};\n\nexport default useRecursiveBlock;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { Fragment, Suspense } from \"react\";\nimport { Block } from \"@interfaces/page.interface\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { useBlockDataMapping } from \"./hooks/useBlockDataMapping.hook\";\nimport useRecursiveBlock from \"./hooks/useRecursiveBlock.hook\";\n\nexport const DynamicBlock = (props: Block) => {\n const { siteVariant } = useAppData();\n\n const getTemplate = useRecursiveBlock(siteVariant.alias);\n\n const ContentList = getTemplate(\"ContentList\");\n const DepartmentMap = getTemplate(\"DepartmentMap\");\n const Embed = getTemplate(\"Embed\");\n const Employees = getTemplate(\"Employees\");\n const Hero = getTemplate(\"Hero\");\n const Image = getTemplate(\"Image\");\n const NewsSlider = getTemplate(\"NewsSlider\");\n const EventsSlider = getTemplate(\"EventsSlider\");\n const Quotes = getTemplate(\"Quotes\");\n const Spots = getTemplate(\"Spots\");\n const Tabs = getTemplate(\"Tabs\");\n const Text = getTemplate(\"Text\");\n const TextAccordions = getTemplate(\"TextAccordions\");\n const TextForm = getTemplate(\"TextForm\");\n const TextImage = getTemplate(\"TextImage\");\n const TextImageBanner = getTemplate(\"TextImageBanner\");\n const TextTable = getTemplate(\"TextTable\");\n const TextText = getTemplate(\"TextText\");\n const TextVideo = getTemplate(\"TextVideo\");\n const Video = getTemplate(\"Video\");\n const TextGraphics = getTemplate(\"TextGraphics\");\n const TextAdvancedTable = getTemplate(\"TextAdvancedTable\");\n const RoutePlan = getTemplate(\"RoutePlan\");\n const CustomForm = getTemplate(\"CustomForm\");\n\n const BLOCK_TYPES: { [key: string]: any } = {\n blockTextAndAdvancedTable: TextAdvancedTable,\n blockContentList: ContentList,\n blockDepartmentMap: DepartmentMap,\n blockEmbed: Embed,\n blockEmployees: Employees,\n blockHero: Hero,\n blockImage: Image,\n blockNewsSlider: NewsSlider,\n blockEventsSlider: EventsSlider,\n blockQuote: Quotes,\n blockSpots: Spots,\n blockTabs: Tabs,\n blockText: Text,\n blockTextAccordions: TextAccordions,\n blockTextForm: TextForm,\n blockCustomForm: CustomForm,\n blockTextImage: TextImage,\n blockRoutePlan: RoutePlan,\n blockTextImageBanner: TextImageBanner,\n blockTextTable: TextTable,\n blockTextText: TextText,\n blockTextVideo: TextVideo,\n blockVideo: Video,\n blockTextGraphics: TextGraphics,\n };\n\n const contentType = props.content.alias || \"blockNotFound\";\n const Block = BLOCK_TYPES[contentType];\n\n // Mappers\n\n const mappedData = useBlockDataMapping(contentType, props);\n\n return (\n <Fragment>\n {Block ? (\n <Suspense fallback={null}>\n <Block {...mappedData} isCompact={props.compact} />\n </Suspense>\n ) : null}\n </Fragment>\n );\n};\n","// src/hooks/usePromotionTracker.ts\nimport { useCallback } from \"react\";\n\nexport interface PromotionData {\n creativeName: string;\n creativeSlot?: string;\n promotionId: string;\n promotionName: string;\n}\n\nexport interface PromotionEcommerceData {\n creative_name: string;\n creative_slot: string;\n promotion_id: string;\n promotion_name: string;\n}\n\nexport const usePromotionTracker = () => {\n const trackPromotionClick = useCallback((data: PromotionData) => {\n // Ensure that window.dataLayer exists.\n window.dataLayer = window.dataLayer || [];\n // Clear any previous ecommerce object.\n window.dataLayer.push({ ecommerce: null });\n // Create your promotion ecommerce data object.\n const promotionEcommerceData: PromotionEcommerceData = {\n creative_name: data.creativeName,\n creative_slot: data.creativeSlot || \"\",\n promotion_id: data.promotionId,\n promotion_name: data.promotionName,\n };\n\n // Push the promotion tracking data.\n window.dataLayer.push({\n event: \"select_promotion\",\n ecommerce: promotionEcommerceData,\n });\n }, []);\n\n return trackPromotionClick;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Hero_wrapper__YwnzI\",\"container\":\"Hero_container__kknKL\",\"inner\":\"Hero_inner__SYi5Z\",\"layoutCoverWhiteFilter\":\"Hero_layoutCoverWhiteFilter__ZqmcF\",\"layoutCoverBlackFilter\":\"Hero_layoutCoverBlackFilter__YfA4Z\",\"heroImageLeft\":\"Hero_heroImageLeft__m-6f-\",\"heroImageRight\":\"Hero_heroImageRight__0MaZP\",\"heroText\":\"Hero_heroText__h5xkT\",\"thinHero\":\"Hero_thinHero__Em6o3\",\"videoWrapper\":\"Hero_videoWrapper__omS19\",\"video\":\"Hero_video__9UA9G\",\"logo\":\"Hero_logo__AyKW9\",\"imageWrapper\":\"Hero_imageWrapper__Gimu6\",\"image\":\"Hero_image__SkNkT\",\"imageWrapperFull\":\"Hero_imageWrapperFull__SqEyQ\",\"contentWrapper\":\"Hero_contentWrapper__UzMdC\",\"content\":\"Hero_content__O4Xt3\",\"tagline\":\"Hero_tagline__SF7ly\"};","import React, { useMemo } from \"react\";\nimport { Buttons } from \"@danishagro/cms/src/components/Buttons/Buttons.component\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport {\n DA_Title,\n DA_TitleTag,\n} from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { ImageViewer } from \"@danishagro/cms/src/components/ImageViewer/ImageViewer.component\";\nimport { useBackgroundColor } from \"@danishagro/cms/src/blocks/hooks/useBackgroundColor/useBackgroundColor.hook\";\nimport { usePadding } from \"src/blocks/hooks/usePadding/usePadding.hook\";\nimport VideoPlayerViewer from \"src/components/VideoPlayerViewer/VideoPlayerViewer.component\";\nimport { usePromotionTracker } from \"@danishagro/shared/src/gtm/usePromotionTracker\";\nimport { ButtonProps } from \"src/blocks/interfaces/button.interface\";\nimport { HeroProps } from \"./Hero.interface\";\nimport S from \"./Hero.module.scss\";\n\nconst Hero = (props: HeroProps) => {\n const { backgroundColorClass, alternativeButtonTheme, hasBackgroundColor } = useBackgroundColor(\n props.backgroundColor\n );\n const { paddingClass } = usePadding(props.isCompact, hasBackgroundColor);\n\n // GTM tracking\n const trackPromotionClick = usePromotionTracker();\n\n const handleCTAClick = (button: ButtonProps) => {\n trackPromotionClick({\n creativeName: props?.alias || \"\",\n promotionId: props?.headline || \"\",\n promotionName: button.label, // use the clicked button's label\n });\n };\n\n const layoutClass = useMemo(() => {\n // Image Cover w/black filter\n if (\n !props.position &&\n props.image?.url &&\n (props.filter === \"FILTER_BLACK_BACKGROUND\" || !props.filter)\n ) {\n return S.layoutCoverBlackFilter;\n }\n\n // Image Cover w/white filter\n else if (\n !props.position &&\n props.image?.url &&\n props.filter === \"FILTER_WHITE_BACKGROUND\"\n ) {\n return S.layoutCoverWhiteFilter;\n }\n\n // Video Cover w/black filter\n else if (\n !props.position &&\n props.video?.url &&\n (props.filter === \"FILTER_BLACK_BACKGROUND\" || !props.filter)\n ) {\n return S.layoutCoverBlackFilter;\n }\n\n // Video Cover w/white filter\n else if (\n !props.position &&\n props.video?.url &&\n props.filter === \"FILTER_WHITE_BACKGROUND\"\n ) {\n return S.layoutCoverWhiteFilter;\n }\n\n // Image Left\n else if (props.position === \"POSITION_IMAGE_LEFT\" && props.image?.url) {\n return S.heroImageLeft;\n }\n\n // Image Right\n else if (props.position === \"POSITION_IMAGE_RIGHT\" && props.image?.url) {\n return S.heroImageRight;\n }\n\n // VIDEO Left\n else if (props.position === \"POSITION_IMAGE_LEFT\" && props.video?.url) {\n return S.heroImageLeft;\n }\n\n // VIDEO Right\n else if (props.position === \"POSITION_IMAGE_RIGHT\" && props.video?.url) {\n return S.heroImageRight;\n }\n\n // No Image\n else {\n return S.heroText;\n }\n }, [props.filter, props.image?.url, props.position, props.video?.url]);\n\n // Mappers\n\n const heroAlternativeButtonTheme = useMemo(() => {\n // Filter: Black Background\n if (\n !props.position &&\n props.image?.url &&\n (props.filter === \"FILTER_BLACK_BACKGROUND\" || !props.filter)\n ) {\n return \"PARTIAL_WHITE\";\n }\n\n return alternativeButtonTheme;\n }, [props.filter, props.image?.url, props.position, alternativeButtonTheme]);\n\n //Just add the thinHero class if no image from Umbraco (image) or digizuiteImage\n const thinHeroClass = props?.thin === \"THIN_HERO\" && S.thinHero;\n\n return (\n <div\n className={cn(\n S.wrapper,\n props.className,\n layoutClass,\n paddingClass,\n backgroundColorClass\n )}\n >\n <DA_Container noVerticalPadding className={S.container}>\n <div className={cn(S.inner, thinHeroClass)}>\n {/** Video */}\n {props.video && props.video?.alias ? (\n <div className={S.videoWrapper}>\n <VideoPlayerViewer\n className={S.video}\n video={{\n alias: props.video?.alias,\n url: props.video?.url,\n autoplay: true,\n controls: false,\n }}\n />\n </div>\n ) : (\n <div\n className={cn(S.imageWrapper, !props.image?.url && S.imageWrapperFull)}\n >\n {/** Image */}\n {props.image?.url && (\n <ImageViewer\n src={props.image?.url}\n alternative={props.alternative}\n aspectRatioX={props.image?.width}\n aspectRatioY={props.image?.height}\n className={S.image}\n lazy={false}\n />\n )}\n </div>\n )}\n\n {/** Content */}\n <div className={S.contentWrapper}>\n <div className={S.content}>\n {/* Logo */}\n {props.logo ? (\n <ImageViewer\n src={props.logo.url}\n aspectRatioX={props.logo.width}\n aspectRatioY={props.logo.height}\n className={S.logo}\n lazy={false}\n />\n ) : null}\n\n {/** Tagline */}\n {props.tagline ? (\n <span className={S.tagline}>{props.tagline}</span>\n ) : null}\n\n {/** Title */}\n {props.headline ? (\n <DA_Title h1 tag={DA_TitleTag.H1} noMargin fullWidth>\n {props.headline}\n </DA_Title>\n ) : null}\n\n {/** Text */}\n {props.text ? <DA_Text html={props.text} noPadding /> : null}\n\n {/** Buttons */}\n <Buttons\n buttons={props.buttons}\n theme={heroAlternativeButtonTheme}\n onClick={handleCTAClick}\n />\n </div>\n </div>\n </div>\n </DA_Container>\n </div>\n );\n};\n\nexport default Hero;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"SocialMediaSharing_wrapper__v9pVz\",\"inner\":\"SocialMediaSharing_inner__RqW+8\",\"someList\":\"SocialMediaSharing_someList__uFsLG\",\"text\":\"SocialMediaSharing_text__FRSGT\"};","/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\n// Import types\nimport { SocialMediaSharingProps } from \"./SocialMediaSharing.interface\";\n// Import styles\nimport S from \"./SocialMediaSharing.module.scss\";\n\n// Social media platforms we are using\nconst platforms = {\n facebook: {\n url: \"https://www.facebook.com/sharer/sharer.php?u=\",\n icon: DA_IconNames.Facebook,\n },\n linkedin: {\n url: \"https://www.linkedin.com/sharing/share-offsite/?url=\",\n icon: DA_IconNames.LinkedIn,\n },\n // Twitter removed for now\n // twitter: {\n // url: \"https://twitter.com/intent/tweet?text=\",\n // icon: DA_IconNames.X,\n // },\n};\n\nconst SocialMediaSharing = ({ shareUrl }: SocialMediaSharingProps) => {\n const { getDictionaryString } = useTranslations();\n\n // Define the function to handle share button click events\n const handleShare = (platformKey: keyof typeof platforms) => {\n // If a specific shareUrl is not provided, use the current page URL\n const url = shareUrl || window.location.href;\n // If a specific shareText is not provided, use the document title\n // const text = shareText || document.title;\n\n // Get the details of the clicked platform\n const platform = platforms[platformKey];\n let newShareUrl = \"\";\n\n // Prepare the share URL depending on the platform\n newShareUrl = `${platform.url}${encodeURIComponent(url)}`;\n\n // Twitter removed for now\n // if (platformKey !== \"twitter\") {\n // newShareUrl = `${platform.url}${encodeURIComponent(url)}`;\n // } else {\n // newShareUrl = `${platform.url}${encodeURIComponent(text)}&url=${encodeURIComponent(\n // url\n // )}`;\n // }\n\n // Open the share URL in a new tab\n window.open(newShareUrl, \"_blank\");\n };\n\n return (\n <div className={cn(S.wrapper)}>\n <DA_Container noVerticalPadding>\n <div className={S.inner}>\n <span className={S.text}>{getDictionaryString(\"General.SoMeShare\")}</span>\n <div className={S.someList}>\n {Object.keys(platforms).map((key) => {\n // Cast the key to the proper type\n const platformKey = key as keyof typeof platforms;\n // Create the dictionary key for the platform title\n const titleKey = `General.ShareTo${\n platformKey.charAt(0).toUpperCase() + platformKey.slice(1)\n }`;\n\n return (\n // Create the share button with the appropriate event handlers, title, and icon\n <div\n key={key}\n onClick={() => handleShare(platformKey)}\n title={getDictionaryString(titleKey)}\n >\n <DA_Icon useSvgDimensions name={platforms[platformKey].icon} />\n </div>\n );\n })}\n </div>\n </div>\n </DA_Container>\n </div>\n );\n};\n\nexport default SocialMediaSharing;\n","// extracted by mini-css-extract-plugin\nexport default {\"backgroundPrimary\":\"useBackgroundColor_backgroundPrimary__jh5ey\",\"backgroundAccent\":\"useBackgroundColor_backgroundAccent__WZ8fy\",\"backgroundGrey\":\"useBackgroundColor_backgroundGrey__LzxBe\",\"backgroundWhite\":\"useBackgroundColor_backgroundWhite__z77P5\"};","import { useMemo } from \"react\";\nimport S from \"./useBackgroundColor.module.scss\";\n\nexport const useBackgroundColor = (background: string) => {\n const backgroundColorClass = useMemo(() => {\n switch (background) {\n case \"BACKGROUND_PRIMARY\":\n return S.backgroundPrimary;\n case \"BACKGROUND_ACCENT\":\n return S.backgroundAccent;\n case \"BACKGROUND_GREY_10\":\n return S.backgroundGrey;\n default:\n return S.backgroundWhite;\n }\n }, [background]);\n\n const alternativeButtonTheme = useMemo(() => {\n switch (background) {\n case \"BACKGROUND_PRIMARY\":\n return \"FULL_PRIMARY\";\n case \"BACKGROUND_ACCENT\":\n return \"FULL_ACCENT\";\n default:\n return undefined;\n }\n }, [background]);\n\n const hasBackgroundColor = useMemo(() => {\n // Include default white background in the hasBackgroundColor check\n return [\n \"BACKGROUND_PRIMARY\",\n \"BACKGROUND_ACCENT\",\n \"BACKGROUND_GREY_10\",\n \"BACKGROUND_WHITE\",\n ].includes(background);\n }, [background]);\n\n return {\n backgroundColorClass,\n alternativeButtonTheme,\n hasBackgroundColor,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"blockPadding\":\"usePadding_blockPadding__Rb7Yq\",\"blockPaddingCompact\":\"usePadding_blockPaddingCompact__SvMND\"};","import { useMemo } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport S from \"./usePadding.module.scss\";\n\nexport const usePadding = (isCompact: boolean, addCompactPadding?: boolean) => {\n const paddingClass = useMemo(() => {\n if (isCompact === true && addCompactPadding === false) return undefined;\n\n const isCompactClass = isCompact && S.blockPaddingCompact;\n return cn(S.blockPadding, isCompactClass);\n }, [isCompact, addCompactPadding]);\n\n return {\n paddingClass,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"buttons\":\"Buttons_buttons__YMCmr\",\"inlineLinkTheme\":\"Buttons_inlineLinkTheme__IxevI\"};","import React, { useMemo } from \"react\";\nimport {\n DA_Button,\n DA_ButtonColor,\n} from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { DA_InlineLink } from \"@danishagro/shared/src/components/atoms/InlineLink/InlineLink.component\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { getAbsoluteUrl } from \"../../helpers/getAbsoluteUrl.helper\";\nimport { ButtonsProps } from \"./Buttons.interface\";\nimport S from \"./Buttons.module.scss\";\n\nexport const Buttons = (props: ButtonsProps) => {\n const distinctButtons = useMemo(() => {\n const result = props.buttons?.reduce((previous, current) => {\n const existingButton = previous.find((x) => x.alias === current.alias);\n\n if (!existingButton) {\n previous.push(current);\n }\n\n return previous;\n }, []);\n\n return result;\n }, [props.buttons]);\n\n const { currentSite } = useAppData();\n const shouldHaveLargeText = currentSite === \"CMS\" ? true : false;\n\n return (\n <div className={S.buttons}>\n {distinctButtons?.map((button, index) => {\n let solidButtonColor, outlineButtonColor, clearButtonColorClass;\n\n switch (props.theme) {\n case \"FULL_WHITE\":\n solidButtonColor = DA_ButtonColor.White;\n outlineButtonColor = DA_ButtonColor.White;\n clearButtonColorClass = S.inlineLinkTheme;\n break;\n case \"PARTIAL_WHITE\":\n outlineButtonColor = DA_ButtonColor.White;\n clearButtonColorClass = S.inlineLinkTheme;\n break;\n case \"FULL_PRIMARY\":\n solidButtonColor = DA_ButtonColor.Primary;\n outlineButtonColor = DA_ButtonColor.Primary;\n break;\n case \"FULL_ACCENT\":\n solidButtonColor = DA_ButtonColor.Accent;\n outlineButtonColor = DA_ButtonColor.Accent;\n break;\n default:\n break;\n }\n\n const target = button.target || \"_self\";\n\n // Create a unified click handler for each button that calls the global onClick if provided.\n const handleButtonClick = (\n event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n ) => {\n // First, if the button itself has an onClick, call it:\n if (button.onClick) {\n button.onClick(event);\n }\n // Then, if a global onClick is provided, call it with the button data:\n if (props.onClick) {\n props.onClick(button, event);\n }\n };\n\n return (\n <div key={index}>\n {/** Solid */}\n {button.alias === \"buttonSolid\" && button.url ? (\n <DA_Button\n title={button.label}\n href={getAbsoluteUrl(button.url)}\n target={target}\n icon={button.icon}\n color={solidButtonColor}\n largeText={shouldHaveLargeText}\n onClick={handleButtonClick}\n />\n ) : null}\n\n {/** Outline */}\n {button.alias === \"buttonOutline\" && button.url ? (\n <DA_Button\n title={button.label}\n href={getAbsoluteUrl(button.url)}\n target={target}\n icon={button.icon}\n isGhost={true}\n color={outlineButtonColor}\n largeText={shouldHaveLargeText}\n onClick={handleButtonClick}\n />\n ) : null}\n\n {/** Clear */}\n {button.alias === \"buttonClear\" && button.url ? (\n <DA_InlineLink\n title={button.label}\n href={getAbsoluteUrl(button.url)}\n target={target}\n icon={button.icon}\n className={clearButtonColorClass}\n largeText={shouldHaveLargeText}\n onClick={handleButtonClick}\n />\n ) : null}\n </div>\n );\n })}\n </div>\n );\n};\n","export const getClosestWidth = (\n clientWidth?: number,\n clientHeight?: number,\n aspectRatioX?: number,\n aspectRatioY?: number\n) => {\n const widthTiers = [400, 800, 1200, 1440];\n\n let width = undefined;\n let height = undefined;\n\n if (aspectRatioX && aspectRatioY && clientWidth) {\n width = Math.max.apply(null, widthTiers);\n\n for (const widthTier of widthTiers) {\n if (widthTier >= clientWidth && widthTier < width) {\n width = widthTier;\n break;\n }\n }\n\n if (aspectRatioX && aspectRatioY) {\n height = (width / aspectRatioX) * aspectRatioY;\n }\n } else if (clientWidth && clientHeight) {\n width = clientWidth;\n height = clientHeight;\n } else {\n width = 1280;\n height = 1280;\n }\n\n return {\n width,\n height,\n };\n};\n","import { getClosestWidth } from \"./getClosestWidth.helper\";\n\nexport const setImageOptions = (\n url: string,\n clientWidth?: number,\n clientHeight?: number,\n aspectRatioX?: number,\n aspectRatioY?: number,\n currentSite?: string\n): string => {\n const params = new URLSearchParams();\n\n // Sizing\n const { width, height } = getClosestWidth(\n clientWidth,\n clientHeight,\n aspectRatioX,\n aspectRatioY\n );\n // on cms don't use width the aspect radio are used\n {\n currentSite === \"CMS\" ? \"\" : params.set(\"width\", `${width}`);\n }\n params.set(\"height\", `${height}`);\n\n // Miscellaneous\n params.set(\"mode\", \"crop\");\n params.set(\"format\", \"webp\");\n params.set(\"quality\", \"80\");\n\n const querySeparator = url && url.toString().indexOf(\"?\") > 0 ? \"&\" : \"?\";\n\n return `${url}${querySeparator}${params.toString()}`;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"ImageViewer_wrapper__f1KTU\",\"image\":\"ImageViewer_image__mn-ad\"};","import React, { useLayoutEffect, useRef, useState } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { setImageOptions } from \"./helpers/setImageOptions.helper\";\nimport { ImageViewerProps } from \"./ImageViewer.interface\";\nimport S from \"./ImageViewer.module.scss\";\n\nexport const ImageViewer = (props: ImageViewerProps) => {\n const elementRef = useRef<HTMLDivElement>(null);\n const { currentSite } = useAppData();\n\n const [imageUrlWithOptions, setImageUrlWithOptions] = useState<string>();\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n\n const aspectRatioStyle =\n props.aspectRatioX && props.aspectRatioY\n ? {\n aspectRatio: `${props.aspectRatioX}/${props.aspectRatioY}`,\n }\n : undefined;\n\n const onLoadedClass = isLoaded ? props.loadedClassName : undefined;\n\n useLayoutEffect(() => {\n if (elementRef.current) {\n // Based on the given aspect-ratio, the div is sized to those proportions\n // We then need to figure out how many pixels that is, to generate an image to fit that.\n setTimeout(() => {\n const boundingClientRect = elementRef.current?.getBoundingClientRect();\n const boundingClientWidth = boundingClientRect?.width;\n const boundingClientHeight = elementRef.current?.clientHeight;\n\n let clientWidth =\n boundingClientWidth && boundingClientWidth > 0\n ? boundingClientWidth * (window?.devicePixelRatio || 1)\n : undefined;\n const clientHeight =\n boundingClientHeight && boundingClientHeight > 0\n ? boundingClientHeight * (window?.devicePixelRatio || 1)\n : undefined;\n\n if (props?.forceWidth && clientWidth < 100) {\n clientWidth = props.forceWidth * (window?.devicePixelRatio || 1);\n }\n\n // TODO: Set a contain or cover setting on the image processor.\n\n let digizuiteSrc = \"\";\n\n if (props.src?.includes(\"assetID\")) {\n digizuiteSrc = props.src\n .replace(\"{QUALITY}\", \"90\")\n .replace(\"{WIDTH}\", `${Math.ceil(clientWidth / 100) * 100}`)\n .replace(\"{HEIGHT}\", `${Math.round(clientHeight)}`);\n\n setImageUrlWithOptions(digizuiteSrc);\n } else {\n // Check if currentSite is CMS, if so, remove the width\n const imageUrlWithOptions =\n currentSite === \"CMS\"\n ? setImageOptions(\n props.src,\n null,\n clientHeight,\n props.aspectRatioX,\n props.aspectRatioY,\n currentSite\n )\n : setImageOptions(\n props.src,\n clientWidth,\n clientHeight,\n props.aspectRatioX,\n props.aspectRatioY\n );\n setImageUrlWithOptions(imageUrlWithOptions);\n }\n }, 100);\n }\n }, [currentSite, props.aspectRatioX, props.aspectRatioY, props.src, props.forceWidth]);\n\n return (\n <div\n className={cn(S.wrapper, onLoadedClass, props.className)}\n ref={elementRef}\n style={aspectRatioStyle}\n >\n <img\n className={S.image}\n src={imageUrlWithOptions}\n alt={props?.alternative}\n loading={props.lazy === false ? \"eager\" : \"lazy\"}\n onLoad={() => setIsLoaded(true)}\n />\n </div>\n );\n};\n","/*! @vimeo/player v2.20.1 | (c) 2023 Vimeo | MIT License | https://github.com/vimeo/player.js */\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _regeneratorRuntime() {\n _regeneratorRuntime = function () {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function (obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == typeof value && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator.return && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function (skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function () {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function (exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function (type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function (record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function (finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n catch: function (tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function (iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\n/**\n * @module lib/functions\n */\n\n/**\n * Check to see this is a node environment.\n * @type {Boolean}\n */\n/* global global */\nvar isNode = typeof global !== 'undefined' && {}.toString.call(global) === '[object global]';\n\n/**\n * Get the name of the method for a given getter or setter.\n *\n * @param {string} prop The name of the property.\n * @param {string} type Either “get†or “setâ€.\n * @return {string}\n */\nfunction getMethodName(prop, type) {\n if (prop.indexOf(type.toLowerCase()) === 0) {\n return prop;\n }\n return \"\".concat(type.toLowerCase()).concat(prop.substr(0, 1).toUpperCase()).concat(prop.substr(1));\n}\n\n/**\n * Check to see if the object is a DOM Element.\n *\n * @param {*} element The object to check.\n * @return {boolean}\n */\nfunction isDomElement(element) {\n return Boolean(element && element.nodeType === 1 && 'nodeName' in element && element.ownerDocument && element.ownerDocument.defaultView);\n}\n\n/**\n * Check to see whether the value is a number.\n *\n * @see http://dl.dropboxusercontent.com/u/35146/js/tests/isNumber.html\n * @param {*} value The value to check.\n * @param {boolean} integer Check if the value is an integer.\n * @return {boolean}\n */\nfunction isInteger(value) {\n // eslint-disable-next-line eqeqeq\n return !isNaN(parseFloat(value)) && isFinite(value) && Math.floor(value) == value;\n}\n\n/**\n * Check to see if the URL is a Vimeo url.\n *\n * @param {string} url The url string.\n * @return {boolean}\n */\nfunction isVimeoUrl(url) {\n return /^(https?:)?\\/\\/((player|www)\\.)?vimeo\\.com(?=$|\\/)/.test(url);\n}\n\n/**\n * Check to see if the URL is for a Vimeo embed.\n *\n * @param {string} url The url string.\n * @return {boolean}\n */\nfunction isVimeoEmbed(url) {\n var expr = /^https:\\/\\/player\\.vimeo\\.com\\/video\\/\\d+/;\n return expr.test(url);\n}\n\n/**\n * Get the Vimeo URL from an element.\n * The element must have either a data-vimeo-id or data-vimeo-url attribute.\n *\n * @param {object} oEmbedParameters The oEmbed parameters.\n * @return {string}\n */\nfunction getVimeoUrl() {\n var oEmbedParameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var id = oEmbedParameters.id;\n var url = oEmbedParameters.url;\n var idOrUrl = id || url;\n if (!idOrUrl) {\n throw new Error('An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.');\n }\n if (isInteger(idOrUrl)) {\n return \"https://vimeo.com/\".concat(idOrUrl);\n }\n if (isVimeoUrl(idOrUrl)) {\n return idOrUrl.replace('http:', 'https:');\n }\n if (id) {\n throw new TypeError(\"\\u201C\".concat(id, \"\\u201D is not a valid video id.\"));\n }\n throw new TypeError(\"\\u201C\".concat(idOrUrl, \"\\u201D is not a vimeo.com url.\"));\n}\n\n/* eslint-disable max-params */\n/**\n * A utility method for attaching and detaching event handlers\n *\n * @param {EventTarget} target\n * @param {string | string[]} eventName\n * @param {function} callback\n * @param {'addEventListener' | 'on'} onName\n * @param {'removeEventListener' | 'off'} offName\n * @return {{cancel: (function(): void)}}\n */\nvar subscribe = function subscribe(target, eventName, callback) {\n var onName = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'addEventListener';\n var offName = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'removeEventListener';\n var eventNames = typeof eventName === 'string' ? [eventName] : eventName;\n eventNames.forEach(function (evName) {\n target[onName](evName, callback);\n });\n return {\n cancel: function cancel() {\n return eventNames.forEach(function (evName) {\n return target[offName](evName, callback);\n });\n }\n };\n};\n\nvar arrayIndexOfSupport = typeof Array.prototype.indexOf !== 'undefined';\nvar postMessageSupport = typeof window !== 'undefined' && typeof window.postMessage !== 'undefined';\nif (!isNode && (!arrayIndexOfSupport || !postMessageSupport)) {\n throw new Error('Sorry, the Vimeo Player API is not available in this browser.');\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\n/*!\n * weakmap-polyfill v2.0.4 - ECMAScript6 WeakMap polyfill\n * https://github.com/polygonplanet/weakmap-polyfill\n * Copyright (c) 2015-2021 polygonplanet <polygon.planet.aqua@gmail.com>\n * @license MIT\n */\n\n(function (self) {\n\n if (self.WeakMap) {\n return;\n }\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var hasDefine = Object.defineProperty && function () {\n try {\n // Avoid IE8's broken Object.defineProperty\n return Object.defineProperty({}, 'x', {\n value: 1\n }).x === 1;\n } catch (e) {}\n }();\n var defineProperty = function (object, name, value) {\n if (hasDefine) {\n Object.defineProperty(object, name, {\n configurable: true,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n self.WeakMap = function () {\n // ECMA-262 23.3 WeakMap Objects\n function WeakMap() {\n if (this === void 0) {\n throw new TypeError(\"Constructor WeakMap requires 'new'\");\n }\n defineProperty(this, '_id', genId('_WeakMap'));\n\n // ECMA-262 23.3.1.1 WeakMap([iterable])\n if (arguments.length > 0) {\n // Currently, WeakMap `iterable` argument is not supported\n throw new TypeError('WeakMap iterable is not supported');\n }\n }\n\n // ECMA-262 23.3.3.2 WeakMap.prototype.delete(key)\n defineProperty(WeakMap.prototype, 'delete', function (key) {\n checkInstance(this, 'delete');\n if (!isObject(key)) {\n return false;\n }\n var entry = key[this._id];\n if (entry && entry[0] === key) {\n delete key[this._id];\n return true;\n }\n return false;\n });\n\n // ECMA-262 23.3.3.3 WeakMap.prototype.get(key)\n defineProperty(WeakMap.prototype, 'get', function (key) {\n checkInstance(this, 'get');\n if (!isObject(key)) {\n return void 0;\n }\n var entry = key[this._id];\n if (entry && entry[0] === key) {\n return entry[1];\n }\n return void 0;\n });\n\n // ECMA-262 23.3.3.4 WeakMap.prototype.has(key)\n defineProperty(WeakMap.prototype, 'has', function (key) {\n checkInstance(this, 'has');\n if (!isObject(key)) {\n return false;\n }\n var entry = key[this._id];\n if (entry && entry[0] === key) {\n return true;\n }\n return false;\n });\n\n // ECMA-262 23.3.3.5 WeakMap.prototype.set(key, value)\n defineProperty(WeakMap.prototype, 'set', function (key, value) {\n checkInstance(this, 'set');\n if (!isObject(key)) {\n throw new TypeError('Invalid value used as weak map key');\n }\n var entry = key[this._id];\n if (entry && entry[0] === key) {\n entry[1] = value;\n return this;\n }\n defineProperty(key, this._id, [key, value]);\n return this;\n });\n function checkInstance(x, methodName) {\n if (!isObject(x) || !hasOwnProperty.call(x, '_id')) {\n throw new TypeError(methodName + ' method called on incompatible receiver ' + typeof x);\n }\n }\n function genId(prefix) {\n return prefix + '_' + rand() + '.' + rand();\n }\n function rand() {\n return Math.random().toString().substring(2);\n }\n defineProperty(WeakMap, '_polyfill', true);\n return WeakMap;\n }();\n function isObject(x) {\n return Object(x) === x;\n }\n})(typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof commonjsGlobal !== 'undefined' ? commonjsGlobal : commonjsGlobal);\n\nvar npo_src = createCommonjsModule(function (module) {\n/*! Native Promise Only\n v0.8.1 (c) Kyle Simpson\n MIT License: http://getify.mit-license.org\n*/\n\n(function UMD(name, context, definition) {\n // special form of UMD for polyfilling across evironments\n context[name] = context[name] || definition();\n if ( module.exports) {\n module.exports = context[name];\n }\n})(\"Promise\", typeof commonjsGlobal != \"undefined\" ? commonjsGlobal : commonjsGlobal, function DEF() {\n\n var builtInProp,\n cycle,\n scheduling_queue,\n ToString = Object.prototype.toString,\n timer = typeof setImmediate != \"undefined\" ? function timer(fn) {\n return setImmediate(fn);\n } : setTimeout;\n\n // dammit, IE8.\n try {\n Object.defineProperty({}, \"x\", {});\n builtInProp = function builtInProp(obj, name, val, config) {\n return Object.defineProperty(obj, name, {\n value: val,\n writable: true,\n configurable: config !== false\n });\n };\n } catch (err) {\n builtInProp = function builtInProp(obj, name, val) {\n obj[name] = val;\n return obj;\n };\n }\n\n // Note: using a queue instead of array for efficiency\n scheduling_queue = function Queue() {\n var first, last, item;\n function Item(fn, self) {\n this.fn = fn;\n this.self = self;\n this.next = void 0;\n }\n return {\n add: function add(fn, self) {\n item = new Item(fn, self);\n if (last) {\n last.next = item;\n } else {\n first = item;\n }\n last = item;\n item = void 0;\n },\n drain: function drain() {\n var f = first;\n first = last = cycle = void 0;\n while (f) {\n f.fn.call(f.self);\n f = f.next;\n }\n }\n };\n }();\n function schedule(fn, self) {\n scheduling_queue.add(fn, self);\n if (!cycle) {\n cycle = timer(scheduling_queue.drain);\n }\n }\n\n // promise duck typing\n function isThenable(o) {\n var _then,\n o_type = typeof o;\n if (o != null && (o_type == \"object\" || o_type == \"function\")) {\n _then = o.then;\n }\n return typeof _then == \"function\" ? _then : false;\n }\n function notify() {\n for (var i = 0; i < this.chain.length; i++) {\n notifyIsolated(this, this.state === 1 ? this.chain[i].success : this.chain[i].failure, this.chain[i]);\n }\n this.chain.length = 0;\n }\n\n // NOTE: This is a separate function to isolate\n // the `try..catch` so that other code can be\n // optimized better\n function notifyIsolated(self, cb, chain) {\n var ret, _then;\n try {\n if (cb === false) {\n chain.reject(self.msg);\n } else {\n if (cb === true) {\n ret = self.msg;\n } else {\n ret = cb.call(void 0, self.msg);\n }\n if (ret === chain.promise) {\n chain.reject(TypeError(\"Promise-chain cycle\"));\n } else if (_then = isThenable(ret)) {\n _then.call(ret, chain.resolve, chain.reject);\n } else {\n chain.resolve(ret);\n }\n }\n } catch (err) {\n chain.reject(err);\n }\n }\n function resolve(msg) {\n var _then,\n self = this;\n\n // already triggered?\n if (self.triggered) {\n return;\n }\n self.triggered = true;\n\n // unwrap\n if (self.def) {\n self = self.def;\n }\n try {\n if (_then = isThenable(msg)) {\n schedule(function () {\n var def_wrapper = new MakeDefWrapper(self);\n try {\n _then.call(msg, function $resolve$() {\n resolve.apply(def_wrapper, arguments);\n }, function $reject$() {\n reject.apply(def_wrapper, arguments);\n });\n } catch (err) {\n reject.call(def_wrapper, err);\n }\n });\n } else {\n self.msg = msg;\n self.state = 1;\n if (self.chain.length > 0) {\n schedule(notify, self);\n }\n }\n } catch (err) {\n reject.call(new MakeDefWrapper(self), err);\n }\n }\n function reject(msg) {\n var self = this;\n\n // already triggered?\n if (self.triggered) {\n return;\n }\n self.triggered = true;\n\n // unwrap\n if (self.def) {\n self = self.def;\n }\n self.msg = msg;\n self.state = 2;\n if (self.chain.length > 0) {\n schedule(notify, self);\n }\n }\n function iteratePromises(Constructor, arr, resolver, rejecter) {\n for (var idx = 0; idx < arr.length; idx++) {\n (function IIFE(idx) {\n Constructor.resolve(arr[idx]).then(function $resolver$(msg) {\n resolver(idx, msg);\n }, rejecter);\n })(idx);\n }\n }\n function MakeDefWrapper(self) {\n this.def = self;\n this.triggered = false;\n }\n function MakeDef(self) {\n this.promise = self;\n this.state = 0;\n this.triggered = false;\n this.chain = [];\n this.msg = void 0;\n }\n function Promise(executor) {\n if (typeof executor != \"function\") {\n throw TypeError(\"Not a function\");\n }\n if (this.__NPO__ !== 0) {\n throw TypeError(\"Not a promise\");\n }\n\n // instance shadowing the inherited \"brand\"\n // to signal an already \"initialized\" promise\n this.__NPO__ = 1;\n var def = new MakeDef(this);\n this[\"then\"] = function then(success, failure) {\n var o = {\n success: typeof success == \"function\" ? success : true,\n failure: typeof failure == \"function\" ? failure : false\n };\n // Note: `then(..)` itself can be borrowed to be used against\n // a different promise constructor for making the chained promise,\n // by substituting a different `this` binding.\n o.promise = new this.constructor(function extractChain(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n o.resolve = resolve;\n o.reject = reject;\n });\n def.chain.push(o);\n if (def.state !== 0) {\n schedule(notify, def);\n }\n return o.promise;\n };\n this[\"catch\"] = function $catch$(failure) {\n return this.then(void 0, failure);\n };\n try {\n executor.call(void 0, function publicResolve(msg) {\n resolve.call(def, msg);\n }, function publicReject(msg) {\n reject.call(def, msg);\n });\n } catch (err) {\n reject.call(def, err);\n }\n }\n var PromisePrototype = builtInProp({}, \"constructor\", Promise, /*configurable=*/false);\n\n // Note: Android 4 cannot use `Object.defineProperty(..)` here\n Promise.prototype = PromisePrototype;\n\n // built-in \"brand\" to signal an \"uninitialized\" promise\n builtInProp(PromisePrototype, \"__NPO__\", 0, /*configurable=*/false);\n builtInProp(Promise, \"resolve\", function Promise$resolve(msg) {\n var Constructor = this;\n\n // spec mandated checks\n // note: best \"isPromise\" check that's practical for now\n if (msg && typeof msg == \"object\" && msg.__NPO__ === 1) {\n return msg;\n }\n return new Constructor(function executor(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n resolve(msg);\n });\n });\n builtInProp(Promise, \"reject\", function Promise$reject(msg) {\n return new this(function executor(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n reject(msg);\n });\n });\n builtInProp(Promise, \"all\", function Promise$all(arr) {\n var Constructor = this;\n\n // spec mandated checks\n if (ToString.call(arr) != \"[object Array]\") {\n return Constructor.reject(TypeError(\"Not an array\"));\n }\n if (arr.length === 0) {\n return Constructor.resolve([]);\n }\n return new Constructor(function executor(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n var len = arr.length,\n msgs = Array(len),\n count = 0;\n iteratePromises(Constructor, arr, function resolver(idx, msg) {\n msgs[idx] = msg;\n if (++count === len) {\n resolve(msgs);\n }\n }, reject);\n });\n });\n builtInProp(Promise, \"race\", function Promise$race(arr) {\n var Constructor = this;\n\n // spec mandated checks\n if (ToString.call(arr) != \"[object Array]\") {\n return Constructor.reject(TypeError(\"Not an array\"));\n }\n return new Constructor(function executor(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n iteratePromises(Constructor, arr, function resolver(idx, msg) {\n resolve(msg);\n }, reject);\n });\n });\n return Promise;\n});\n});\n\n/**\n * @module lib/callbacks\n */\n\nvar callbackMap = new WeakMap();\n\n/**\n * Store a callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @param {(function(this:Player, *): void|{resolve: function, reject: function})} callback\n * The callback to call or an object with resolve and reject functions for a promise.\n * @return {void}\n */\nfunction storeCallback(player, name, callback) {\n var playerCallbacks = callbackMap.get(player.element) || {};\n if (!(name in playerCallbacks)) {\n playerCallbacks[name] = [];\n }\n playerCallbacks[name].push(callback);\n callbackMap.set(player.element, playerCallbacks);\n}\n\n/**\n * Get the callbacks for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @return {function[]}\n */\nfunction getCallbacks(player, name) {\n var playerCallbacks = callbackMap.get(player.element) || {};\n return playerCallbacks[name] || [];\n}\n\n/**\n * Remove a stored callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @param {function} [callback] The specific callback to remove.\n * @return {boolean} Was this the last callback?\n */\nfunction removeCallback(player, name, callback) {\n var playerCallbacks = callbackMap.get(player.element) || {};\n if (!playerCallbacks[name]) {\n return true;\n }\n\n // If no callback is passed, remove all callbacks for the event\n if (!callback) {\n playerCallbacks[name] = [];\n callbackMap.set(player.element, playerCallbacks);\n return true;\n }\n var index = playerCallbacks[name].indexOf(callback);\n if (index !== -1) {\n playerCallbacks[name].splice(index, 1);\n }\n callbackMap.set(player.element, playerCallbacks);\n return playerCallbacks[name] && playerCallbacks[name].length === 0;\n}\n\n/**\n * Return the first stored callback for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @return {function} The callback, or false if there were none\n */\nfunction shiftCallbacks(player, name) {\n var playerCallbacks = getCallbacks(player, name);\n if (playerCallbacks.length < 1) {\n return false;\n }\n var callback = playerCallbacks.shift();\n removeCallback(player, name, callback);\n return callback;\n}\n\n/**\n * Move callbacks associated with an element to another element.\n *\n * @param {HTMLElement} oldElement The old element.\n * @param {HTMLElement} newElement The new element.\n * @return {void}\n */\nfunction swapCallbacks(oldElement, newElement) {\n var playerCallbacks = callbackMap.get(oldElement);\n callbackMap.set(newElement, playerCallbacks);\n callbackMap.delete(oldElement);\n}\n\n/**\n * @module lib/postmessage\n */\n\n/**\n * Parse a message received from postMessage.\n *\n * @param {*} data The data received from postMessage.\n * @return {object}\n */\nfunction parseMessageData(data) {\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (error) {\n // If the message cannot be parsed, throw the error as a warning\n console.warn(error);\n return {};\n }\n }\n return data;\n}\n\n/**\n * Post a message to the specified target.\n *\n * @param {Player} player The player object to use.\n * @param {string} method The API method to call.\n * @param {object} params The parameters to send to the player.\n * @return {void}\n */\nfunction postMessage(player, method, params) {\n if (!player.element.contentWindow || !player.element.contentWindow.postMessage) {\n return;\n }\n var message = {\n method: method\n };\n if (params !== undefined) {\n message.value = params;\n }\n\n // IE 8 and 9 do not support passing messages, so stringify them\n var ieVersion = parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\\d+).*$/, '$1'));\n if (ieVersion >= 8 && ieVersion < 10) {\n message = JSON.stringify(message);\n }\n player.element.contentWindow.postMessage(message, player.origin);\n}\n\n/**\n * Parse the data received from a message event.\n *\n * @param {Player} player The player that received the message.\n * @param {(Object|string)} data The message data. Strings will be parsed into JSON.\n * @return {void}\n */\nfunction processData(player, data) {\n data = parseMessageData(data);\n var callbacks = [];\n var param;\n if (data.event) {\n if (data.event === 'error') {\n var promises = getCallbacks(player, data.data.method);\n promises.forEach(function (promise) {\n var error = new Error(data.data.message);\n error.name = data.data.name;\n promise.reject(error);\n removeCallback(player, data.data.method, promise);\n });\n }\n callbacks = getCallbacks(player, \"event:\".concat(data.event));\n param = data.data;\n } else if (data.method) {\n var callback = shiftCallbacks(player, data.method);\n if (callback) {\n callbacks.push(callback);\n param = data.value;\n }\n }\n callbacks.forEach(function (callback) {\n try {\n if (typeof callback === 'function') {\n callback.call(player, param);\n return;\n }\n callback.resolve(param);\n } catch (e) {\n // empty\n }\n });\n}\n\n/**\n * @module lib/embed\n */\nvar oEmbedParameters = ['autopause', 'autoplay', 'background', 'byline', 'color', 'colors', 'controls', 'dnt', 'height', 'id', 'interactive_params', 'keyboard', 'loop', 'maxheight', 'maxwidth', 'muted', 'playsinline', 'portrait', 'responsive', 'speed', 'texttrack', 'title', 'transparent', 'url', 'width'];\n\n/**\n * Get the 'data-vimeo'-prefixed attributes from an element as an object.\n *\n * @param {HTMLElement} element The element.\n * @param {Object} [defaults={}] The default values to use.\n * @return {Object<string, string>}\n */\nfunction getOEmbedParameters(element) {\n var defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return oEmbedParameters.reduce(function (params, param) {\n var value = element.getAttribute(\"data-vimeo-\".concat(param));\n if (value || value === '') {\n params[param] = value === '' ? 1 : value;\n }\n return params;\n }, defaults);\n}\n\n/**\n * Create an embed from oEmbed data inside an element.\n *\n * @param {object} data The oEmbed data.\n * @param {HTMLElement} element The element to put the iframe in.\n * @return {HTMLIFrameElement} The iframe embed.\n */\nfunction createEmbed(_ref, element) {\n var html = _ref.html;\n if (!element) {\n throw new TypeError('An element must be provided');\n }\n if (element.getAttribute('data-vimeo-initialized') !== null) {\n return element.querySelector('iframe');\n }\n var div = document.createElement('div');\n div.innerHTML = html;\n element.appendChild(div.firstChild);\n element.setAttribute('data-vimeo-initialized', 'true');\n return element.querySelector('iframe');\n}\n\n/**\n * Make an oEmbed call for the specified URL.\n *\n * @param {string} videoUrl The vimeo.com url for the video.\n * @param {Object} [params] Parameters to pass to oEmbed.\n * @param {HTMLElement} element The element.\n * @return {Promise}\n */\nfunction getOEmbedData(videoUrl) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var element = arguments.length > 2 ? arguments[2] : undefined;\n return new Promise(function (resolve, reject) {\n if (!isVimeoUrl(videoUrl)) {\n throw new TypeError(\"\\u201C\".concat(videoUrl, \"\\u201D is not a vimeo.com url.\"));\n }\n var url = \"https://vimeo.com/api/oembed.json?url=\".concat(encodeURIComponent(videoUrl));\n for (var param in params) {\n if (params.hasOwnProperty(param)) {\n url += \"&\".concat(param, \"=\").concat(encodeURIComponent(params[param]));\n }\n }\n var xhr = 'XDomainRequest' in window ? new XDomainRequest() : new XMLHttpRequest();\n xhr.open('GET', url, true);\n xhr.onload = function () {\n if (xhr.status === 404) {\n reject(new Error(\"\\u201C\".concat(videoUrl, \"\\u201D was not found.\")));\n return;\n }\n if (xhr.status === 403) {\n reject(new Error(\"\\u201C\".concat(videoUrl, \"\\u201D is not embeddable.\")));\n return;\n }\n try {\n var json = JSON.parse(xhr.responseText);\n // Check api response for 403 on oembed\n if (json.domain_status_code === 403) {\n // We still want to create the embed to give users visual feedback\n createEmbed(json, element);\n reject(new Error(\"\\u201C\".concat(videoUrl, \"\\u201D is not embeddable.\")));\n return;\n }\n resolve(json);\n } catch (error) {\n reject(error);\n }\n };\n xhr.onerror = function () {\n var status = xhr.status ? \" (\".concat(xhr.status, \")\") : '';\n reject(new Error(\"There was an error fetching the embed code from Vimeo\".concat(status, \".\")));\n };\n xhr.send();\n });\n}\n\n/**\n * Initialize all embeds within a specific element\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */\nfunction initializeEmbeds() {\n var parent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var elements = [].slice.call(parent.querySelectorAll('[data-vimeo-id], [data-vimeo-url]'));\n var handleError = function handleError(error) {\n if ('console' in window && console.error) {\n console.error(\"There was an error creating an embed: \".concat(error));\n }\n };\n elements.forEach(function (element) {\n try {\n // Skip any that have data-vimeo-defer\n if (element.getAttribute('data-vimeo-defer') !== null) {\n return;\n }\n var params = getOEmbedParameters(element);\n var url = getVimeoUrl(params);\n getOEmbedData(url, params, element).then(function (data) {\n return createEmbed(data, element);\n }).catch(handleError);\n } catch (error) {\n handleError(error);\n }\n });\n}\n\n/**\n * Resize embeds when messaged by the player.\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */\nfunction resizeEmbeds() {\n var parent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n // Prevent execution if users include the player.js script multiple times.\n if (window.VimeoPlayerResizeEmbeds_) {\n return;\n }\n window.VimeoPlayerResizeEmbeds_ = true;\n var onMessage = function onMessage(event) {\n if (!isVimeoUrl(event.origin)) {\n return;\n }\n\n // 'spacechange' is fired only on embeds with cards\n if (!event.data || event.data.event !== 'spacechange') {\n return;\n }\n var iframes = parent.querySelectorAll('iframe');\n for (var i = 0; i < iframes.length; i++) {\n if (iframes[i].contentWindow !== event.source) {\n continue;\n }\n\n // Change padding-bottom of the enclosing div to accommodate\n // card carousel without distorting aspect ratio\n var space = iframes[i].parentElement;\n space.style.paddingBottom = \"\".concat(event.data.data[0].bottom, \"px\");\n break;\n }\n };\n window.addEventListener('message', onMessage);\n}\n\n/**\n * Add chapters to existing metadata for Google SEO\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */\nfunction initAppendVideoMetadata() {\n var parent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n // Prevent execution if users include the player.js script multiple times.\n if (window.VimeoSeoMetadataAppended) {\n return;\n }\n window.VimeoSeoMetadataAppended = true;\n var onMessage = function onMessage(event) {\n if (!isVimeoUrl(event.origin)) {\n return;\n }\n var data = parseMessageData(event.data);\n if (!data || data.event !== 'ready') {\n return;\n }\n var iframes = parent.querySelectorAll('iframe');\n for (var i = 0; i < iframes.length; i++) {\n var iframe = iframes[i];\n\n // Initiate appendVideoMetadata if iframe is a Vimeo embed\n var isValidMessageSource = iframe.contentWindow === event.source;\n if (isVimeoEmbed(iframe.src) && isValidMessageSource) {\n var player = new Player(iframe);\n player.callMethod('appendVideoMetadata', window.location.href);\n }\n }\n };\n window.addEventListener('message', onMessage);\n}\n\n/**\n * Seek to time indicated by vimeo_t query parameter if present in URL\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */\nfunction checkUrlTimeParam() {\n var parent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n // Prevent execution if users include the player.js script multiple times.\n if (window.VimeoCheckedUrlTimeParam) {\n return;\n }\n window.VimeoCheckedUrlTimeParam = true;\n var handleError = function handleError(error) {\n if ('console' in window && console.error) {\n console.error(\"There was an error getting video Id: \".concat(error));\n }\n };\n var onMessage = function onMessage(event) {\n if (!isVimeoUrl(event.origin)) {\n return;\n }\n var data = parseMessageData(event.data);\n if (!data || data.event !== 'ready') {\n return;\n }\n var iframes = parent.querySelectorAll('iframe');\n var _loop = function _loop() {\n var iframe = iframes[i];\n var isValidMessageSource = iframe.contentWindow === event.source;\n if (isVimeoEmbed(iframe.src) && isValidMessageSource) {\n var player = new Player(iframe);\n player.getVideoId().then(function (videoId) {\n var matches = new RegExp(\"[?&]vimeo_t_\".concat(videoId, \"=([^&#]*)\")).exec(window.location.href);\n if (matches && matches[1]) {\n var sec = decodeURI(matches[1]);\n player.setCurrentTime(sec);\n }\n return;\n }).catch(handleError);\n }\n };\n for (var i = 0; i < iframes.length; i++) {\n _loop();\n }\n };\n window.addEventListener('message', onMessage);\n}\n\n/* MIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\nTerms */\n\nfunction initializeScreenfull() {\n var fn = function () {\n var val;\n var fnMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror'],\n // New WebKit\n ['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror'],\n // Old WebKit\n ['webkitRequestFullScreen', 'webkitCancelFullScreen', 'webkitCurrentFullScreenElement', 'webkitCancelFullScreen', 'webkitfullscreenchange', 'webkitfullscreenerror'], ['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror'], ['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError']];\n var i = 0;\n var l = fnMap.length;\n var ret = {};\n for (; i < l; i++) {\n val = fnMap[i];\n if (val && val[1] in document) {\n for (i = 0; i < val.length; i++) {\n ret[fnMap[0][i]] = val[i];\n }\n return ret;\n }\n }\n return false;\n }();\n var eventNameMap = {\n fullscreenchange: fn.fullscreenchange,\n fullscreenerror: fn.fullscreenerror\n };\n var screenfull = {\n request: function request(element) {\n return new Promise(function (resolve, reject) {\n var onFullScreenEntered = function onFullScreenEntered() {\n screenfull.off('fullscreenchange', onFullScreenEntered);\n resolve();\n };\n screenfull.on('fullscreenchange', onFullScreenEntered);\n element = element || document.documentElement;\n var returnPromise = element[fn.requestFullscreen]();\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenEntered).catch(reject);\n }\n });\n },\n exit: function exit() {\n return new Promise(function (resolve, reject) {\n if (!screenfull.isFullscreen) {\n resolve();\n return;\n }\n var onFullScreenExit = function onFullScreenExit() {\n screenfull.off('fullscreenchange', onFullScreenExit);\n resolve();\n };\n screenfull.on('fullscreenchange', onFullScreenExit);\n var returnPromise = document[fn.exitFullscreen]();\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenExit).catch(reject);\n }\n });\n },\n on: function on(event, callback) {\n var eventName = eventNameMap[event];\n if (eventName) {\n document.addEventListener(eventName, callback);\n }\n },\n off: function off(event, callback) {\n var eventName = eventNameMap[event];\n if (eventName) {\n document.removeEventListener(eventName, callback);\n }\n }\n };\n Object.defineProperties(screenfull, {\n isFullscreen: {\n get: function get() {\n return Boolean(document[fn.fullscreenElement]);\n }\n },\n element: {\n enumerable: true,\n get: function get() {\n return document[fn.fullscreenElement];\n }\n },\n isEnabled: {\n enumerable: true,\n get: function get() {\n // Coerce to boolean in case of old WebKit\n return Boolean(document[fn.fullscreenEnabled]);\n }\n }\n });\n return screenfull;\n}\n\n/** @typedef {import('./timing-src-connector.types').PlayerControls} PlayerControls */\n/** @typedef {import('./timing-object.types').TimingObject} TimingObject */\n/** @typedef {import('./timing-src-connector.types').TimingSrcConnectorOptions} TimingSrcConnectorOptions */\n/** @typedef {(msg: string) => any} Logger */\n/** @typedef {import('timing-object.types').TConnectionState} TConnectionState */\n\n/**\n * @type {TimingSrcConnectorOptions}\n *\n * For details on these properties and their effects, see the typescript definition referenced above.\n */\nvar defaultOptions = {\n role: 'viewer',\n autoPlayMuted: true,\n allowedDrift: 0.3,\n maxAllowedDrift: 1,\n minCheckInterval: 0.1,\n maxRateAdjustment: 0.2,\n maxTimeToCatchUp: 1\n};\n\n/**\n * There's a proposed W3C spec for the Timing Object which would introduce a new set of APIs that would simplify time-synchronization tasks for browser applications.\n *\n * Proposed spec: https://webtiming.github.io/timingobject/\n * V3 Spec: https://timingsrc.readthedocs.io/en/latest/\n * Demuxed talk: https://www.youtube.com/watch?v=cZSjDaGDmX8\n *\n * This class makes it easy to connect Vimeo.Player to a provided TimingObject via Vimeo.Player.setTimingSrc(myTimingObject, options) and the synchronization will be handled automatically.\n *\n * There are 5 general responsibilities in TimingSrcConnector:\n *\n * 1. `updatePlayer()` which sets the player's currentTime, playbackRate and pause/play state based on current state of the TimingObject.\n * 2. `updateTimingObject()` which sets the TimingObject's position and velocity from the player's state.\n * 3. `playerUpdater` which listens for change events on the TimingObject and will respond by calling updatePlayer.\n * 4. `timingObjectUpdater` which listens to the player events of seeked, play and pause and will respond by calling `updateTimingObject()`.\n * 5. `maintainPlaybackPosition` this is code that constantly monitors the player to make sure it's always in sync with the TimingObject. This is needed because videos will generally not play with precise time accuracy and there will be some drift which becomes more noticeable over longer periods (as noted in the timing-object spec). More details on this method below.\n */\nvar TimingSrcConnector = /*#__PURE__*/function (_EventTarget) {\n _inherits(TimingSrcConnector, _EventTarget);\n var _super = _createSuper(TimingSrcConnector);\n /**\n * @param {PlayerControls} player\n * @param {TimingObject} timingObject\n * @param {TimingSrcConnectorOptions} options\n * @param {Logger} logger\n */\n function TimingSrcConnector(_player, timingObject) {\n var _this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var logger = arguments.length > 3 ? arguments[3] : undefined;\n _classCallCheck(this, TimingSrcConnector);\n _this = _super.call(this);\n _defineProperty(_assertThisInitialized(_this), \"logger\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"speedAdjustment\", 0);\n /**\n * @param {PlayerControls} player\n * @param {number} newAdjustment\n * @return {Promise<void>}\n */\n _defineProperty(_assertThisInitialized(_this), \"adjustSpeed\", /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(player, newAdjustment) {\n var newPlaybackRate;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(_this.speedAdjustment === newAdjustment)) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\");\n case 2:\n _context.next = 4;\n return player.getPlaybackRate();\n case 4:\n _context.t0 = _context.sent;\n _context.t1 = _this.speedAdjustment;\n _context.t2 = _context.t0 - _context.t1;\n _context.t3 = newAdjustment;\n newPlaybackRate = _context.t2 + _context.t3;\n _this.log(\"New playbackRate: \".concat(newPlaybackRate));\n _context.next = 12;\n return player.setPlaybackRate(newPlaybackRate);\n case 12:\n _this.speedAdjustment = newAdjustment;\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }());\n _this.logger = logger;\n _this.init(timingObject, _player, _objectSpread2(_objectSpread2({}, defaultOptions), options));\n return _this;\n }\n _createClass(TimingSrcConnector, [{\n key: \"disconnect\",\n value: function disconnect() {\n this.dispatchEvent(new Event('disconnect'));\n }\n\n /**\n * @param {TimingObject} timingObject\n * @param {PlayerControls} player\n * @param {TimingSrcConnectorOptions} options\n * @return {Promise<void>}\n */\n }, {\n key: \"init\",\n value: function () {\n var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(timingObject, player, options) {\n var _this2 = this;\n var playerUpdater, positionSync, timingObjectUpdater;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this.waitForTOReadyState(timingObject, 'open');\n case 2:\n if (!(options.role === 'viewer')) {\n _context2.next = 10;\n break;\n }\n _context2.next = 5;\n return this.updatePlayer(timingObject, player, options);\n case 5:\n playerUpdater = subscribe(timingObject, 'change', function () {\n return _this2.updatePlayer(timingObject, player, options);\n });\n positionSync = this.maintainPlaybackPosition(timingObject, player, options);\n this.addEventListener('disconnect', function () {\n positionSync.cancel();\n playerUpdater.cancel();\n });\n _context2.next = 14;\n break;\n case 10:\n _context2.next = 12;\n return this.updateTimingObject(timingObject, player);\n case 12:\n timingObjectUpdater = subscribe(player, ['seeked', 'play', 'pause', 'ratechange'], function () {\n return _this2.updateTimingObject(timingObject, player);\n }, 'on', 'off');\n this.addEventListener('disconnect', function () {\n return timingObjectUpdater.cancel();\n });\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, this);\n }));\n function init(_x3, _x4, _x5) {\n return _init.apply(this, arguments);\n }\n return init;\n }()\n /**\n * Sets the TimingObject's state to reflect that of the player\n *\n * @param {TimingObject} timingObject\n * @param {PlayerControls} player\n * @return {Promise<void>}\n */\n }, {\n key: \"updateTimingObject\",\n value: function () {\n var _updateTimingObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(timingObject, player) {\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.t0 = timingObject;\n _context3.next = 3;\n return player.getCurrentTime();\n case 3:\n _context3.t1 = _context3.sent;\n _context3.next = 6;\n return player.getPaused();\n case 6:\n if (!_context3.sent) {\n _context3.next = 10;\n break;\n }\n _context3.t2 = 0;\n _context3.next = 13;\n break;\n case 10:\n _context3.next = 12;\n return player.getPlaybackRate();\n case 12:\n _context3.t2 = _context3.sent;\n case 13:\n _context3.t3 = _context3.t2;\n _context3.t4 = {\n position: _context3.t1,\n velocity: _context3.t3\n };\n _context3.t0.update.call(_context3.t0, _context3.t4);\n case 16:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n function updateTimingObject(_x6, _x7) {\n return _updateTimingObject.apply(this, arguments);\n }\n return updateTimingObject;\n }()\n /**\n * Sets the player's timing state to reflect that of the TimingObject\n *\n * @param {TimingObject} timingObject\n * @param {PlayerControls} player\n * @param {TimingSrcConnectorOptions} options\n * @return {Promise<void>}\n */\n }, {\n key: \"updatePlayer\",\n value: function () {\n var _updatePlayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(timingObject, player, options) {\n var _timingObject$query, position, velocity;\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n _timingObject$query = timingObject.query(), position = _timingObject$query.position, velocity = _timingObject$query.velocity;\n if (typeof position === 'number') {\n player.setCurrentTime(position);\n }\n if (!(typeof velocity === 'number')) {\n _context5.next = 25;\n break;\n }\n if (!(velocity === 0)) {\n _context5.next = 11;\n break;\n }\n _context5.next = 6;\n return player.getPaused();\n case 6:\n _context5.t0 = _context5.sent;\n if (!(_context5.t0 === false)) {\n _context5.next = 9;\n break;\n }\n player.pause();\n case 9:\n _context5.next = 25;\n break;\n case 11:\n if (!(velocity > 0)) {\n _context5.next = 25;\n break;\n }\n _context5.next = 14;\n return player.getPaused();\n case 14:\n _context5.t1 = _context5.sent;\n if (!(_context5.t1 === true)) {\n _context5.next = 19;\n break;\n }\n _context5.next = 18;\n return player.play().catch( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(err) {\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!(err.name === 'NotAllowedError' && options.autoPlayMuted)) {\n _context4.next = 5;\n break;\n }\n _context4.next = 3;\n return player.setMuted(true);\n case 3:\n _context4.next = 5;\n return player.play().catch(function (err2) {\n return console.error('Couldn\\'t play the video from TimingSrcConnector. Error:', err2);\n });\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return function (_x11) {\n return _ref2.apply(this, arguments);\n };\n }());\n case 18:\n this.updatePlayer(timingObject, player, options);\n case 19:\n _context5.next = 21;\n return player.getPlaybackRate();\n case 21:\n _context5.t2 = _context5.sent;\n _context5.t3 = velocity;\n if (!(_context5.t2 !== _context5.t3)) {\n _context5.next = 25;\n break;\n }\n player.setPlaybackRate(velocity);\n case 25:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5, this);\n }));\n function updatePlayer(_x8, _x9, _x10) {\n return _updatePlayer.apply(this, arguments);\n }\n return updatePlayer;\n }()\n /**\n * Since video players do not play with 100% time precision, we need to closely monitor\n * our player to be sure it remains in sync with the TimingObject.\n *\n * If out of sync, we use the current conditions and the options provided to determine\n * whether to re-sync via setting currentTime or adjusting the playbackRate\n *\n * @param {TimingObject} timingObject\n * @param {PlayerControls} player\n * @param {TimingSrcConnectorOptions} options\n * @return {{cancel: (function(): void)}}\n */\n }, {\n key: \"maintainPlaybackPosition\",\n value: function maintainPlaybackPosition(timingObject, player, options) {\n var _this3 = this;\n var allowedDrift = options.allowedDrift,\n maxAllowedDrift = options.maxAllowedDrift,\n minCheckInterval = options.minCheckInterval,\n maxRateAdjustment = options.maxRateAdjustment,\n maxTimeToCatchUp = options.maxTimeToCatchUp;\n var syncInterval = Math.min(maxTimeToCatchUp, Math.max(minCheckInterval, maxAllowedDrift)) * 1000;\n var check = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {\n var diff, diffAbs, min, max, adjustment;\n return _regeneratorRuntime().wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n _context6.t0 = timingObject.query().velocity === 0;\n if (_context6.t0) {\n _context6.next = 6;\n break;\n }\n _context6.next = 4;\n return player.getPaused();\n case 4:\n _context6.t1 = _context6.sent;\n _context6.t0 = _context6.t1 === true;\n case 6:\n if (!_context6.t0) {\n _context6.next = 8;\n break;\n }\n return _context6.abrupt(\"return\");\n case 8:\n _context6.t2 = timingObject.query().position;\n _context6.next = 11;\n return player.getCurrentTime();\n case 11:\n _context6.t3 = _context6.sent;\n diff = _context6.t2 - _context6.t3;\n diffAbs = Math.abs(diff);\n _this3.log(\"Drift: \".concat(diff));\n if (!(diffAbs > maxAllowedDrift)) {\n _context6.next = 22;\n break;\n }\n _context6.next = 18;\n return _this3.adjustSpeed(player, 0);\n case 18:\n player.setCurrentTime(timingObject.query().position);\n _this3.log('Resync by currentTime');\n _context6.next = 29;\n break;\n case 22:\n if (!(diffAbs > allowedDrift)) {\n _context6.next = 29;\n break;\n }\n min = diffAbs / maxTimeToCatchUp;\n max = maxRateAdjustment;\n adjustment = min < max ? (max - min) / 2 : max;\n _context6.next = 28;\n return _this3.adjustSpeed(player, adjustment * Math.sign(diff));\n case 28:\n _this3.log('Resync by playbackRate');\n case 29:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6);\n }));\n return function check() {\n return _ref3.apply(this, arguments);\n };\n }();\n var interval = setInterval(function () {\n return check();\n }, syncInterval);\n return {\n cancel: function cancel() {\n return clearInterval(interval);\n }\n };\n }\n\n /**\n * @param {string} msg\n */\n }, {\n key: \"log\",\n value: function log(msg) {\n var _this$logger;\n (_this$logger = this.logger) === null || _this$logger === void 0 ? void 0 : _this$logger.call(this, \"TimingSrcConnector: \".concat(msg));\n }\n }, {\n key: \"waitForTOReadyState\",\n value:\n /**\n * @param {TimingObject} timingObject\n * @param {TConnectionState} state\n * @return {Promise<void>}\n */\n function waitForTOReadyState(timingObject, state) {\n return new Promise(function (resolve) {\n var check = function check() {\n if (timingObject.readyState === state) {\n resolve();\n } else {\n timingObject.addEventListener('readystatechange', check, {\n once: true\n });\n }\n };\n check();\n });\n }\n }]);\n return TimingSrcConnector;\n}( /*#__PURE__*/_wrapNativeSuper(EventTarget));\n\nvar playerMap = new WeakMap();\nvar readyMap = new WeakMap();\nvar screenfull = {};\nvar Player = /*#__PURE__*/function () {\n /**\n * Create a Player.\n *\n * @param {(HTMLIFrameElement|HTMLElement|string|jQuery)} element A reference to the Vimeo\n * player iframe, and id, or a jQuery object.\n * @param {object} [options] oEmbed parameters to use when creating an embed in the element.\n * @return {Player}\n */\n function Player(element) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Player);\n /* global jQuery */\n if (window.jQuery && element instanceof jQuery) {\n if (element.length > 1 && window.console && console.warn) {\n console.warn('A jQuery object with multiple elements was passed, using the first element.');\n }\n element = element[0];\n }\n\n // Find an element by ID\n if (typeof document !== 'undefined' && typeof element === 'string') {\n element = document.getElementById(element);\n }\n\n // Not an element!\n if (!isDomElement(element)) {\n throw new TypeError('You must pass either a valid element or a valid id.');\n }\n\n // Already initialized an embed in this div, so grab the iframe\n if (element.nodeName !== 'IFRAME') {\n var iframe = element.querySelector('iframe');\n if (iframe) {\n element = iframe;\n }\n }\n\n // iframe url is not a Vimeo url\n if (element.nodeName === 'IFRAME' && !isVimeoUrl(element.getAttribute('src') || '')) {\n throw new Error('The player element passed isn’t a Vimeo embed.');\n }\n\n // If there is already a player object in the map, return that\n if (playerMap.has(element)) {\n return playerMap.get(element);\n }\n this._window = element.ownerDocument.defaultView;\n this.element = element;\n this.origin = '*';\n var readyPromise = new npo_src(function (resolve, reject) {\n _this._onMessage = function (event) {\n if (!isVimeoUrl(event.origin) || _this.element.contentWindow !== event.source) {\n return;\n }\n if (_this.origin === '*') {\n _this.origin = event.origin;\n }\n var data = parseMessageData(event.data);\n var isError = data && data.event === 'error';\n var isReadyError = isError && data.data && data.data.method === 'ready';\n if (isReadyError) {\n var error = new Error(data.data.message);\n error.name = data.data.name;\n reject(error);\n return;\n }\n var isReadyEvent = data && data.event === 'ready';\n var isPingResponse = data && data.method === 'ping';\n if (isReadyEvent || isPingResponse) {\n _this.element.setAttribute('data-ready', 'true');\n resolve();\n return;\n }\n processData(_this, data);\n };\n _this._window.addEventListener('message', _this._onMessage);\n if (_this.element.nodeName !== 'IFRAME') {\n var params = getOEmbedParameters(element, options);\n var url = getVimeoUrl(params);\n getOEmbedData(url, params, element).then(function (data) {\n var iframe = createEmbed(data, element);\n // Overwrite element with the new iframe,\n // but store reference to the original element\n _this.element = iframe;\n _this._originalElement = element;\n swapCallbacks(element, iframe);\n playerMap.set(_this.element, _this);\n return data;\n }).catch(reject);\n }\n });\n\n // Store a copy of this Player in the map\n readyMap.set(this, readyPromise);\n playerMap.set(this.element, this);\n\n // Send a ping to the iframe so the ready promise will be resolved if\n // the player is already ready.\n if (this.element.nodeName === 'IFRAME') {\n postMessage(this, 'ping');\n }\n if (screenfull.isEnabled) {\n var exitFullscreen = function exitFullscreen() {\n return screenfull.exit();\n };\n this.fullscreenchangeHandler = function () {\n if (screenfull.isFullscreen) {\n storeCallback(_this, 'event:exitFullscreen', exitFullscreen);\n } else {\n removeCallback(_this, 'event:exitFullscreen', exitFullscreen);\n }\n // eslint-disable-next-line\n _this.ready().then(function () {\n postMessage(_this, 'fullscreenchange', screenfull.isFullscreen);\n });\n };\n screenfull.on('fullscreenchange', this.fullscreenchangeHandler);\n }\n return this;\n }\n\n /**\n * Get a promise for a method.\n *\n * @param {string} name The API method to call.\n * @param {Object} [args={}] Arguments to send via postMessage.\n * @return {Promise}\n */\n _createClass(Player, [{\n key: \"callMethod\",\n value: function callMethod(name) {\n var _this2 = this;\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new npo_src(function (resolve, reject) {\n // We are storing the resolve/reject handlers to call later, so we\n // can’t return here.\n // eslint-disable-next-line promise/always-return\n return _this2.ready().then(function () {\n storeCallback(_this2, name, {\n resolve: resolve,\n reject: reject\n });\n postMessage(_this2, name, args);\n }).catch(reject);\n });\n }\n\n /**\n * Get a promise for the value of a player property.\n *\n * @param {string} name The property name\n * @return {Promise}\n */\n }, {\n key: \"get\",\n value: function get(name) {\n var _this3 = this;\n return new npo_src(function (resolve, reject) {\n name = getMethodName(name, 'get');\n\n // We are storing the resolve/reject handlers to call later, so we\n // can’t return here.\n // eslint-disable-next-line promise/always-return\n return _this3.ready().then(function () {\n storeCallback(_this3, name, {\n resolve: resolve,\n reject: reject\n });\n postMessage(_this3, name);\n }).catch(reject);\n });\n }\n\n /**\n * Get a promise for setting the value of a player property.\n *\n * @param {string} name The API method to call.\n * @param {mixed} value The value to set.\n * @return {Promise}\n */\n }, {\n key: \"set\",\n value: function set(name, value) {\n var _this4 = this;\n return new npo_src(function (resolve, reject) {\n name = getMethodName(name, 'set');\n if (value === undefined || value === null) {\n throw new TypeError('There must be a value to set.');\n }\n\n // We are storing the resolve/reject handlers to call later, so we\n // can’t return here.\n // eslint-disable-next-line promise/always-return\n return _this4.ready().then(function () {\n storeCallback(_this4, name, {\n resolve: resolve,\n reject: reject\n });\n postMessage(_this4, name, value);\n }).catch(reject);\n });\n }\n\n /**\n * Add an event listener for the specified event. Will call the\n * callback with a single parameter, `data`, that contains the data for\n * that event.\n *\n * @param {string} eventName The name of the event.\n * @param {function(*)} callback The function to call when the event fires.\n * @return {void}\n */\n }, {\n key: \"on\",\n value: function on(eventName, callback) {\n if (!eventName) {\n throw new TypeError('You must pass an event name.');\n }\n if (!callback) {\n throw new TypeError('You must pass a callback function.');\n }\n if (typeof callback !== 'function') {\n throw new TypeError('The callback must be a function.');\n }\n var callbacks = getCallbacks(this, \"event:\".concat(eventName));\n if (callbacks.length === 0) {\n this.callMethod('addEventListener', eventName).catch(function () {\n // Ignore the error. There will be an error event fired that\n // will trigger the error callback if they are listening.\n });\n }\n storeCallback(this, \"event:\".concat(eventName), callback);\n }\n\n /**\n * Remove an event listener for the specified event. Will remove all\n * listeners for that event if a `callback` isn’t passed, or only that\n * specific callback if it is passed.\n *\n * @param {string} eventName The name of the event.\n * @param {function} [callback] The specific callback to remove.\n * @return {void}\n */\n }, {\n key: \"off\",\n value: function off(eventName, callback) {\n if (!eventName) {\n throw new TypeError('You must pass an event name.');\n }\n if (callback && typeof callback !== 'function') {\n throw new TypeError('The callback must be a function.');\n }\n var lastCallback = removeCallback(this, \"event:\".concat(eventName), callback);\n\n // If there are no callbacks left, remove the listener\n if (lastCallback) {\n this.callMethod('removeEventListener', eventName).catch(function (e) {\n // Ignore the error. There will be an error event fired that\n // will trigger the error callback if they are listening.\n });\n }\n }\n\n /**\n * A promise to load a new video.\n *\n * @promise LoadVideoPromise\n * @fulfill {number} The video with this id or url successfully loaded.\n * @reject {TypeError} The id was not a number.\n */\n /**\n * Load a new video into this embed. The promise will be resolved if\n * the video is successfully loaded, or it will be rejected if it could\n * not be loaded.\n *\n * @param {number|string|object} options The id of the video, the url of the video, or an object with embed options.\n * @return {LoadVideoPromise}\n */\n }, {\n key: \"loadVideo\",\n value: function loadVideo(options) {\n return this.callMethod('loadVideo', options);\n }\n\n /**\n * A promise to perform an action when the Player is ready.\n *\n * @todo document errors\n * @promise LoadVideoPromise\n * @fulfill {void}\n */\n /**\n * Trigger a function when the player iframe has initialized. You do not\n * need to wait for `ready` to trigger to begin adding event listeners\n * or calling other methods.\n *\n * @return {ReadyPromise}\n */\n }, {\n key: \"ready\",\n value: function ready() {\n var readyPromise = readyMap.get(this) || new npo_src(function (resolve, reject) {\n reject(new Error('Unknown player. Probably unloaded.'));\n });\n return npo_src.resolve(readyPromise);\n }\n\n /**\n * A promise to add a cue point to the player.\n *\n * @promise AddCuePointPromise\n * @fulfill {string} The id of the cue point to use for removeCuePoint.\n * @reject {RangeError} the time was less than 0 or greater than the\n * video’s duration.\n * @reject {UnsupportedError} Cue points are not supported with the current\n * player or browser.\n */\n /**\n * Add a cue point to the player.\n *\n * @param {number} time The time for the cue point.\n * @param {object} [data] Arbitrary data to be returned with the cue point.\n * @return {AddCuePointPromise}\n */\n }, {\n key: \"addCuePoint\",\n value: function addCuePoint(time) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.callMethod('addCuePoint', {\n time: time,\n data: data\n });\n }\n\n /**\n * A promise to remove a cue point from the player.\n *\n * @promise AddCuePointPromise\n * @fulfill {string} The id of the cue point that was removed.\n * @reject {InvalidCuePoint} The cue point with the specified id was not\n * found.\n * @reject {UnsupportedError} Cue points are not supported with the current\n * player or browser.\n */\n /**\n * Remove a cue point from the video.\n *\n * @param {string} id The id of the cue point to remove.\n * @return {RemoveCuePointPromise}\n */\n }, {\n key: \"removeCuePoint\",\n value: function removeCuePoint(id) {\n return this.callMethod('removeCuePoint', id);\n }\n\n /**\n * A representation of a text track on a video.\n *\n * @typedef {Object} VimeoTextTrack\n * @property {string} language The ISO language code.\n * @property {string} kind The kind of track it is (captions or subtitles).\n * @property {string} label The humanâ€readable label for the track.\n */\n /**\n * A promise to enable a text track.\n *\n * @promise EnableTextTrackPromise\n * @fulfill {VimeoTextTrack} The text track that was enabled.\n * @reject {InvalidTrackLanguageError} No track was available with the\n * specified language.\n * @reject {InvalidTrackError} No track was available with the specified\n * language and kind.\n */\n /**\n * Enable the text track with the specified language, and optionally the\n * specified kind (captions or subtitles).\n *\n * When set via the API, the track language will not change the viewer’s\n * stored preference.\n *\n * @param {string} language The twoâ€letter language code.\n * @param {string} [kind] The kind of track to enable (captions or subtitles).\n * @return {EnableTextTrackPromise}\n */\n }, {\n key: \"enableTextTrack\",\n value: function enableTextTrack(language, kind) {\n if (!language) {\n throw new TypeError('You must pass a language.');\n }\n return this.callMethod('enableTextTrack', {\n language: language,\n kind: kind\n });\n }\n\n /**\n * A promise to disable the active text track.\n *\n * @promise DisableTextTrackPromise\n * @fulfill {void} The track was disabled.\n */\n /**\n * Disable the currently-active text track.\n *\n * @return {DisableTextTrackPromise}\n */\n }, {\n key: \"disableTextTrack\",\n value: function disableTextTrack() {\n return this.callMethod('disableTextTrack');\n }\n\n /**\n * A promise to pause the video.\n *\n * @promise PausePromise\n * @fulfill {void} The video was paused.\n */\n /**\n * Pause the video if it’s playing.\n *\n * @return {PausePromise}\n */\n }, {\n key: \"pause\",\n value: function pause() {\n return this.callMethod('pause');\n }\n\n /**\n * A promise to play the video.\n *\n * @promise PlayPromise\n * @fulfill {void} The video was played.\n */\n /**\n * Play the video if it’s paused. **Note:** on iOS and some other\n * mobile devices, you cannot programmatically trigger play. Once the\n * viewer has tapped on the play button in the player, however, you\n * will be able to use this function.\n *\n * @return {PlayPromise}\n */\n }, {\n key: \"play\",\n value: function play() {\n return this.callMethod('play');\n }\n\n /**\n * Request that the player enters fullscreen.\n * @return {Promise}\n */\n }, {\n key: \"requestFullscreen\",\n value: function requestFullscreen() {\n if (screenfull.isEnabled) {\n return screenfull.request(this.element);\n }\n return this.callMethod('requestFullscreen');\n }\n\n /**\n * Request that the player exits fullscreen.\n * @return {Promise}\n */\n }, {\n key: \"exitFullscreen\",\n value: function exitFullscreen() {\n if (screenfull.isEnabled) {\n return screenfull.exit();\n }\n return this.callMethod('exitFullscreen');\n }\n\n /**\n * Returns true if the player is currently fullscreen.\n * @return {Promise}\n */\n }, {\n key: \"getFullscreen\",\n value: function getFullscreen() {\n if (screenfull.isEnabled) {\n return npo_src.resolve(screenfull.isFullscreen);\n }\n return this.get('fullscreen');\n }\n\n /**\n * Request that the player enters picture-in-picture.\n * @return {Promise}\n */\n }, {\n key: \"requestPictureInPicture\",\n value: function requestPictureInPicture() {\n return this.callMethod('requestPictureInPicture');\n }\n\n /**\n * Request that the player exits picture-in-picture.\n * @return {Promise}\n */\n }, {\n key: \"exitPictureInPicture\",\n value: function exitPictureInPicture() {\n return this.callMethod('exitPictureInPicture');\n }\n\n /**\n * Returns true if the player is currently picture-in-picture.\n * @return {Promise}\n */\n }, {\n key: \"getPictureInPicture\",\n value: function getPictureInPicture() {\n return this.get('pictureInPicture');\n }\n\n /**\n * A promise to prompt the viewer to initiate remote playback.\n *\n * @promise RemotePlaybackPromptPromise\n * @fulfill {void}\n * @reject {NotFoundError} No remote playback device is available.\n */\n /**\n * Request to prompt the user to initiate remote playback.\n *\n * @return {RemotePlaybackPromptPromise}\n */\n }, {\n key: \"remotePlaybackPrompt\",\n value: function remotePlaybackPrompt() {\n return this.callMethod('remotePlaybackPrompt');\n }\n\n /**\n * A promise to unload the video.\n *\n * @promise UnloadPromise\n * @fulfill {void} The video was unloaded.\n */\n /**\n * Return the player to its initial state.\n *\n * @return {UnloadPromise}\n */\n }, {\n key: \"unload\",\n value: function unload() {\n return this.callMethod('unload');\n }\n\n /**\n * Cleanup the player and remove it from the DOM\n *\n * It won't be usable and a new one should be constructed\n * in order to do any operations.\n *\n * @return {Promise}\n */\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this5 = this;\n return new npo_src(function (resolve) {\n readyMap.delete(_this5);\n playerMap.delete(_this5.element);\n if (_this5._originalElement) {\n playerMap.delete(_this5._originalElement);\n _this5._originalElement.removeAttribute('data-vimeo-initialized');\n }\n if (_this5.element && _this5.element.nodeName === 'IFRAME' && _this5.element.parentNode) {\n // If we've added an additional wrapper div, remove that from the DOM.\n // If not, just remove the iframe element.\n if (_this5.element.parentNode.parentNode && _this5._originalElement && _this5._originalElement !== _this5.element.parentNode) {\n _this5.element.parentNode.parentNode.removeChild(_this5.element.parentNode);\n } else {\n _this5.element.parentNode.removeChild(_this5.element);\n }\n }\n\n // If the clip is private there is a case where the element stays the\n // div element. Destroy should reset the div and remove the iframe child.\n if (_this5.element && _this5.element.nodeName === 'DIV' && _this5.element.parentNode) {\n _this5.element.removeAttribute('data-vimeo-initialized');\n var iframe = _this5.element.querySelector('iframe');\n if (iframe && iframe.parentNode) {\n // If we've added an additional wrapper div, remove that from the DOM.\n // If not, just remove the iframe element.\n if (iframe.parentNode.parentNode && _this5._originalElement && _this5._originalElement !== iframe.parentNode) {\n iframe.parentNode.parentNode.removeChild(iframe.parentNode);\n } else {\n iframe.parentNode.removeChild(iframe);\n }\n }\n }\n _this5._window.removeEventListener('message', _this5._onMessage);\n if (screenfull.isEnabled) {\n screenfull.off('fullscreenchange', _this5.fullscreenchangeHandler);\n }\n resolve();\n });\n }\n\n /**\n * A promise to get the autopause behavior of the video.\n *\n * @promise GetAutopausePromise\n * @fulfill {boolean} Whether autopause is turned on or off.\n * @reject {UnsupportedError} Autopause is not supported with the current\n * player or browser.\n */\n /**\n * Get the autopause behavior for this player.\n *\n * @return {GetAutopausePromise}\n */\n }, {\n key: \"getAutopause\",\n value: function getAutopause() {\n return this.get('autopause');\n }\n\n /**\n * A promise to set the autopause behavior of the video.\n *\n * @promise SetAutopausePromise\n * @fulfill {boolean} Whether autopause is turned on or off.\n * @reject {UnsupportedError} Autopause is not supported with the current\n * player or browser.\n */\n /**\n * Enable or disable the autopause behavior of this player.\n *\n * By default, when another video is played in the same browser, this\n * player will automatically pause. Unless you have a specific reason\n * for doing so, we recommend that you leave autopause set to the\n * default (`true`).\n *\n * @param {boolean} autopause\n * @return {SetAutopausePromise}\n */\n }, {\n key: \"setAutopause\",\n value: function setAutopause(autopause) {\n return this.set('autopause', autopause);\n }\n\n /**\n * A promise to get the buffered property of the video.\n *\n * @promise GetBufferedPromise\n * @fulfill {Array} Buffered Timeranges converted to an Array.\n */\n /**\n * Get the buffered property of the video.\n *\n * @return {GetBufferedPromise}\n */\n }, {\n key: \"getBuffered\",\n value: function getBuffered() {\n return this.get('buffered');\n }\n\n /**\n * @typedef {Object} CameraProperties\n * @prop {number} props.yaw - Number between 0 and 360.\n * @prop {number} props.pitch - Number between -90 and 90.\n * @prop {number} props.roll - Number between -180 and 180.\n * @prop {number} props.fov - The field of view in degrees.\n */\n /**\n * A promise to get the camera properties of the player.\n *\n * @promise GetCameraPromise\n * @fulfill {CameraProperties} The camera properties.\n */\n /**\n * For 360° videos get the camera properties for this player.\n *\n * @return {GetCameraPromise}\n */\n }, {\n key: \"getCameraProps\",\n value: function getCameraProps() {\n return this.get('cameraProps');\n }\n\n /**\n * A promise to set the camera properties of the player.\n *\n * @promise SetCameraPromise\n * @fulfill {Object} The camera was successfully set.\n * @reject {RangeError} The range was out of bounds.\n */\n /**\n * For 360° videos set the camera properties for this player.\n *\n * @param {CameraProperties} camera The camera properties\n * @return {SetCameraPromise}\n */\n }, {\n key: \"setCameraProps\",\n value: function setCameraProps(camera) {\n return this.set('cameraProps', camera);\n }\n\n /**\n * A representation of a chapter.\n *\n * @typedef {Object} VimeoChapter\n * @property {number} startTime The start time of the chapter.\n * @property {object} title The title of the chapter.\n * @property {number} index The place in the order of Chapters. Starts at 1.\n */\n /**\n * A promise to get chapters for the video.\n *\n * @promise GetChaptersPromise\n * @fulfill {VimeoChapter[]} The chapters for the video.\n */\n /**\n * Get an array of all the chapters for the video.\n *\n * @return {GetChaptersPromise}\n */\n }, {\n key: \"getChapters\",\n value: function getChapters() {\n return this.get('chapters');\n }\n\n /**\n * A promise to get the currently active chapter.\n *\n * @promise GetCurrentChaptersPromise\n * @fulfill {VimeoChapter|undefined} The current chapter for the video.\n */\n /**\n * Get the currently active chapter for the video.\n *\n * @return {GetCurrentChaptersPromise}\n */\n }, {\n key: \"getCurrentChapter\",\n value: function getCurrentChapter() {\n return this.get('currentChapter');\n }\n\n /**\n * A promise to get the accent color of the player.\n *\n * @promise GetColorPromise\n * @fulfill {string} The hex color of the player.\n */\n /**\n * Get the accent color for this player. Note this is deprecated in place of `getColorTwo`.\n *\n * @return {GetColorPromise}\n */\n }, {\n key: \"getColor\",\n value: function getColor() {\n return this.get('color');\n }\n\n /**\n * A promise to get all colors for the player in an array.\n *\n * @promise GetColorsPromise\n * @fulfill {string[]} The hex colors of the player.\n */\n /**\n * Get all the colors for this player in an array: [colorOne, colorTwo, colorThree, colorFour]\n *\n * @return {GetColorPromise}\n */\n }, {\n key: \"getColors\",\n value: function getColors() {\n return npo_src.all([this.get('colorOne'), this.get('colorTwo'), this.get('colorThree'), this.get('colorFour')]);\n }\n\n /**\n * A promise to set the accent color of the player.\n *\n * @promise SetColorPromise\n * @fulfill {string} The color was successfully set.\n * @reject {TypeError} The string was not a valid hex or rgb color.\n * @reject {ContrastError} The color was set, but the contrast is\n * outside of the acceptable range.\n * @reject {EmbedSettingsError} The owner of the player has chosen to\n * use a specific color.\n */\n /**\n * Set the accent color of this player to a hex or rgb string. Setting the\n * color may fail if the owner of the video has set their embed\n * preferences to force a specific color.\n * Note this is deprecated in place of `setColorTwo`.\n *\n * @param {string} color The hex or rgb color string to set.\n * @return {SetColorPromise}\n */\n }, {\n key: \"setColor\",\n value: function setColor(color) {\n return this.set('color', color);\n }\n\n /**\n * A promise to set all colors for the player.\n *\n * @promise SetColorsPromise\n * @fulfill {string[]} The colors were successfully set.\n * @reject {TypeError} The string was not a valid hex or rgb color.\n * @reject {ContrastError} The color was set, but the contrast is\n * outside of the acceptable range.\n * @reject {EmbedSettingsError} The owner of the player has chosen to\n * use a specific color.\n */\n /**\n * Set the colors of this player to a hex or rgb string. Setting the\n * color may fail if the owner of the video has set their embed\n * preferences to force a specific color.\n * The colors should be passed in as an array: [colorOne, colorTwo, colorThree, colorFour].\n * If a color should not be set, the index in the array can be left as null.\n *\n * @param {string[]} colors Array of the hex or rgb color strings to set.\n * @return {SetColorsPromise}\n */\n }, {\n key: \"setColors\",\n value: function setColors(colors) {\n if (!Array.isArray(colors)) {\n return new npo_src(function (resolve, reject) {\n return reject(new TypeError('Argument must be an array.'));\n });\n }\n var nullPromise = new npo_src(function (resolve) {\n return resolve(null);\n });\n var colorPromises = [colors[0] ? this.set('colorOne', colors[0]) : nullPromise, colors[1] ? this.set('colorTwo', colors[1]) : nullPromise, colors[2] ? this.set('colorThree', colors[2]) : nullPromise, colors[3] ? this.set('colorFour', colors[3]) : nullPromise];\n return npo_src.all(colorPromises);\n }\n\n /**\n * A representation of a cue point.\n *\n * @typedef {Object} VimeoCuePoint\n * @property {number} time The time of the cue point.\n * @property {object} data The data passed when adding the cue point.\n * @property {string} id The unique id for use with removeCuePoint.\n */\n /**\n * A promise to get the cue points of a video.\n *\n * @promise GetCuePointsPromise\n * @fulfill {VimeoCuePoint[]} The cue points added to the video.\n * @reject {UnsupportedError} Cue points are not supported with the current\n * player or browser.\n */\n /**\n * Get an array of the cue points added to the video.\n *\n * @return {GetCuePointsPromise}\n */\n }, {\n key: \"getCuePoints\",\n value: function getCuePoints() {\n return this.get('cuePoints');\n }\n\n /**\n * A promise to get the current time of the video.\n *\n * @promise GetCurrentTimePromise\n * @fulfill {number} The current time in seconds.\n */\n /**\n * Get the current playback position in seconds.\n *\n * @return {GetCurrentTimePromise}\n */\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.get('currentTime');\n }\n\n /**\n * A promise to set the current time of the video.\n *\n * @promise SetCurrentTimePromise\n * @fulfill {number} The actual current time that was set.\n * @reject {RangeError} the time was less than 0 or greater than the\n * video’s duration.\n */\n /**\n * Set the current playback position in seconds. If the player was\n * paused, it will remain paused. Likewise, if the player was playing,\n * it will resume playing once the video has buffered.\n *\n * You can provide an accurate time and the player will attempt to seek\n * to as close to that time as possible. The exact time will be the\n * fulfilled value of the promise.\n *\n * @param {number} currentTime\n * @return {SetCurrentTimePromise}\n */\n }, {\n key: \"setCurrentTime\",\n value: function setCurrentTime(currentTime) {\n return this.set('currentTime', currentTime);\n }\n\n /**\n * A promise to get the duration of the video.\n *\n * @promise GetDurationPromise\n * @fulfill {number} The duration in seconds.\n */\n /**\n * Get the duration of the video in seconds. It will be rounded to the\n * nearest second before playback begins, and to the nearest thousandth\n * of a second after playback begins.\n *\n * @return {GetDurationPromise}\n */\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.get('duration');\n }\n\n /**\n * A promise to get the ended state of the video.\n *\n * @promise GetEndedPromise\n * @fulfill {boolean} Whether or not the video has ended.\n */\n /**\n * Get the ended state of the video. The video has ended if\n * `currentTime === duration`.\n *\n * @return {GetEndedPromise}\n */\n }, {\n key: \"getEnded\",\n value: function getEnded() {\n return this.get('ended');\n }\n\n /**\n * A promise to get the loop state of the player.\n *\n * @promise GetLoopPromise\n * @fulfill {boolean} Whether or not the player is set to loop.\n */\n /**\n * Get the loop state of the player.\n *\n * @return {GetLoopPromise}\n */\n }, {\n key: \"getLoop\",\n value: function getLoop() {\n return this.get('loop');\n }\n\n /**\n * A promise to set the loop state of the player.\n *\n * @promise SetLoopPromise\n * @fulfill {boolean} The loop state that was set.\n */\n /**\n * Set the loop state of the player. When set to `true`, the player\n * will start over immediately once playback ends.\n *\n * @param {boolean} loop\n * @return {SetLoopPromise}\n */\n }, {\n key: \"setLoop\",\n value: function setLoop(loop) {\n return this.set('loop', loop);\n }\n\n /**\n * A promise to set the muted state of the player.\n *\n * @promise SetMutedPromise\n * @fulfill {boolean} The muted state that was set.\n */\n /**\n * Set the muted state of the player. When set to `true`, the player\n * volume will be muted.\n *\n * @param {boolean} muted\n * @return {SetMutedPromise}\n */\n }, {\n key: \"setMuted\",\n value: function setMuted(muted) {\n return this.set('muted', muted);\n }\n\n /**\n * A promise to get the muted state of the player.\n *\n * @promise GetMutedPromise\n * @fulfill {boolean} Whether or not the player is muted.\n */\n /**\n * Get the muted state of the player.\n *\n * @return {GetMutedPromise}\n */\n }, {\n key: \"getMuted\",\n value: function getMuted() {\n return this.get('muted');\n }\n\n /**\n * A promise to get the paused state of the player.\n *\n * @promise GetLoopPromise\n * @fulfill {boolean} Whether or not the video is paused.\n */\n /**\n * Get the paused state of the player.\n *\n * @return {GetLoopPromise}\n */\n }, {\n key: \"getPaused\",\n value: function getPaused() {\n return this.get('paused');\n }\n\n /**\n * A promise to get the playback rate of the player.\n *\n * @promise GetPlaybackRatePromise\n * @fulfill {number} The playback rate of the player on a scale from 0 to 2.\n */\n /**\n * Get the playback rate of the player on a scale from `0` to `2`.\n *\n * @return {GetPlaybackRatePromise}\n */\n }, {\n key: \"getPlaybackRate\",\n value: function getPlaybackRate() {\n return this.get('playbackRate');\n }\n\n /**\n * A promise to set the playbackrate of the player.\n *\n * @promise SetPlaybackRatePromise\n * @fulfill {number} The playback rate was set.\n * @reject {RangeError} The playback rate was less than 0 or greater than 2.\n */\n /**\n * Set the playback rate of the player on a scale from `0` to `2`. When set\n * via the API, the playback rate will not be synchronized to other\n * players or stored as the viewer's preference.\n *\n * @param {number} playbackRate\n * @return {SetPlaybackRatePromise}\n */\n }, {\n key: \"setPlaybackRate\",\n value: function setPlaybackRate(playbackRate) {\n return this.set('playbackRate', playbackRate);\n }\n\n /**\n * A promise to get the played property of the video.\n *\n * @promise GetPlayedPromise\n * @fulfill {Array} Played Timeranges converted to an Array.\n */\n /**\n * Get the played property of the video.\n *\n * @return {GetPlayedPromise}\n */\n }, {\n key: \"getPlayed\",\n value: function getPlayed() {\n return this.get('played');\n }\n\n /**\n * A promise to get the qualities available of the current video.\n *\n * @promise GetQualitiesPromise\n * @fulfill {Array} The qualities of the video.\n */\n /**\n * Get the qualities of the current video.\n *\n * @return {GetQualitiesPromise}\n */\n }, {\n key: \"getQualities\",\n value: function getQualities() {\n return this.get('qualities');\n }\n\n /**\n * A promise to get the current set quality of the video.\n *\n * @promise GetQualityPromise\n * @fulfill {string} The current set quality.\n */\n /**\n * Get the current set quality of the video.\n *\n * @return {GetQualityPromise}\n */\n }, {\n key: \"getQuality\",\n value: function getQuality() {\n return this.get('quality');\n }\n\n /**\n * A promise to set the video quality.\n *\n * @promise SetQualityPromise\n * @fulfill {number} The quality was set.\n * @reject {RangeError} The quality is not available.\n */\n /**\n * Set a video quality.\n *\n * @param {string} quality\n * @return {SetQualityPromise}\n */\n }, {\n key: \"setQuality\",\n value: function setQuality(quality) {\n return this.set('quality', quality);\n }\n\n /**\n * A promise to get the remote playback availability.\n *\n * @promise RemotePlaybackAvailabilityPromise\n * @fulfill {boolean} Whether remote playback is available.\n */\n /**\n * Get the availability of remote playback.\n *\n * @return {RemotePlaybackAvailabilityPromise}\n */\n }, {\n key: \"getRemotePlaybackAvailability\",\n value: function getRemotePlaybackAvailability() {\n return this.get('remotePlaybackAvailability');\n }\n\n /**\n * A promise to get the current remote playback state.\n *\n * @promise RemotePlaybackStatePromise\n * @fulfill {string} The state of the remote playback: connecting, connected, or disconnected.\n */\n /**\n * Get the current remote playback state.\n *\n * @return {RemotePlaybackStatePromise}\n */\n }, {\n key: \"getRemotePlaybackState\",\n value: function getRemotePlaybackState() {\n return this.get('remotePlaybackState');\n }\n\n /**\n * A promise to get the seekable property of the video.\n *\n * @promise GetSeekablePromise\n * @fulfill {Array} Seekable Timeranges converted to an Array.\n */\n /**\n * Get the seekable property of the video.\n *\n * @return {GetSeekablePromise}\n */\n }, {\n key: \"getSeekable\",\n value: function getSeekable() {\n return this.get('seekable');\n }\n\n /**\n * A promise to get the seeking property of the player.\n *\n * @promise GetSeekingPromise\n * @fulfill {boolean} Whether or not the player is currently seeking.\n */\n /**\n * Get if the player is currently seeking.\n *\n * @return {GetSeekingPromise}\n */\n }, {\n key: \"getSeeking\",\n value: function getSeeking() {\n return this.get('seeking');\n }\n\n /**\n * A promise to get the text tracks of a video.\n *\n * @promise GetTextTracksPromise\n * @fulfill {VimeoTextTrack[]} The text tracks associated with the video.\n */\n /**\n * Get an array of the text tracks that exist for the video.\n *\n * @return {GetTextTracksPromise}\n */\n }, {\n key: \"getTextTracks\",\n value: function getTextTracks() {\n return this.get('textTracks');\n }\n\n /**\n * A promise to get the embed code for the video.\n *\n * @promise GetVideoEmbedCodePromise\n * @fulfill {string} The `<iframe>` embed code for the video.\n */\n /**\n * Get the `<iframe>` embed code for the video.\n *\n * @return {GetVideoEmbedCodePromise}\n */\n }, {\n key: \"getVideoEmbedCode\",\n value: function getVideoEmbedCode() {\n return this.get('videoEmbedCode');\n }\n\n /**\n * A promise to get the id of the video.\n *\n * @promise GetVideoIdPromise\n * @fulfill {number} The id of the video.\n */\n /**\n * Get the id of the video.\n *\n * @return {GetVideoIdPromise}\n */\n }, {\n key: \"getVideoId\",\n value: function getVideoId() {\n return this.get('videoId');\n }\n\n /**\n * A promise to get the title of the video.\n *\n * @promise GetVideoTitlePromise\n * @fulfill {number} The title of the video.\n */\n /**\n * Get the title of the video.\n *\n * @return {GetVideoTitlePromise}\n */\n }, {\n key: \"getVideoTitle\",\n value: function getVideoTitle() {\n return this.get('videoTitle');\n }\n\n /**\n * A promise to get the native width of the video.\n *\n * @promise GetVideoWidthPromise\n * @fulfill {number} The native width of the video.\n */\n /**\n * Get the native width of the currentlyâ€playing video. The width of\n * the highestâ€resolution available will be used before playback begins.\n *\n * @return {GetVideoWidthPromise}\n */\n }, {\n key: \"getVideoWidth\",\n value: function getVideoWidth() {\n return this.get('videoWidth');\n }\n\n /**\n * A promise to get the native height of the video.\n *\n * @promise GetVideoHeightPromise\n * @fulfill {number} The native height of the video.\n */\n /**\n * Get the native height of the currentlyâ€playing video. The height of\n * the highestâ€resolution available will be used before playback begins.\n *\n * @return {GetVideoHeightPromise}\n */\n }, {\n key: \"getVideoHeight\",\n value: function getVideoHeight() {\n return this.get('videoHeight');\n }\n\n /**\n * A promise to get the vimeo.com url for the video.\n *\n * @promise GetVideoUrlPromise\n * @fulfill {number} The vimeo.com url for the video.\n * @reject {PrivacyError} The url isn’t available because of the video’s privacy setting.\n */\n /**\n * Get the vimeo.com url for the video.\n *\n * @return {GetVideoUrlPromise}\n */\n }, {\n key: \"getVideoUrl\",\n value: function getVideoUrl() {\n return this.get('videoUrl');\n }\n\n /**\n * A promise to get the volume level of the player.\n *\n * @promise GetVolumePromise\n * @fulfill {number} The volume level of the player on a scale from 0 to 1.\n */\n /**\n * Get the current volume level of the player on a scale from `0` to `1`.\n *\n * Most mobile devices do not support an independent volume from the\n * system volume. In those cases, this method will always return `1`.\n *\n * @return {GetVolumePromise}\n */\n }, {\n key: \"getVolume\",\n value: function getVolume() {\n return this.get('volume');\n }\n\n /**\n * A promise to set the volume level of the player.\n *\n * @promise SetVolumePromise\n * @fulfill {number} The volume was set.\n * @reject {RangeError} The volume was less than 0 or greater than 1.\n */\n /**\n * Set the volume of the player on a scale from `0` to `1`. When set\n * via the API, the volume level will not be synchronized to other\n * players or stored as the viewer’s preference.\n *\n * Most mobile devices do not support setting the volume. An error will\n * *not* be triggered in that situation.\n *\n * @param {number} volume\n * @return {SetVolumePromise}\n */\n }, {\n key: \"setVolume\",\n value: function setVolume(volume) {\n return this.set('volume', volume);\n }\n\n /** @typedef {import('./lib/timing-object.types').TimingObject} TimingObject */\n /** @typedef {import('./lib/timing-src-connector.types').TimingSrcConnectorOptions} TimingSrcConnectorOptions */\n /** @typedef {import('./lib/timing-src-connector').TimingSrcConnector} TimingSrcConnector */\n\n /**\n * Connects a TimingObject to the video player (https://webtiming.github.io/timingobject/)\n *\n * @param {TimingObject} timingObject\n * @param {TimingSrcConnectorOptions} options\n *\n * @return {Promise<TimingSrcConnector>}\n */\n }, {\n key: \"setTimingSrc\",\n value: function () {\n var _setTimingSrc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(timingObject, options) {\n var _this6 = this;\n var connector;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (timingObject) {\n _context.next = 2;\n break;\n }\n throw new TypeError('A Timing Object must be provided.');\n case 2:\n _context.next = 4;\n return this.ready();\n case 4:\n connector = new TimingSrcConnector(this, timingObject, options);\n postMessage(this, 'notifyTimingObjectConnect');\n connector.addEventListener('disconnect', function () {\n return postMessage(_this6, 'notifyTimingObjectDisconnect');\n });\n return _context.abrupt(\"return\", connector);\n case 8:\n case \"end\":\n return _context.stop();\n }\n }, _callee, this);\n }));\n function setTimingSrc(_x, _x2) {\n return _setTimingSrc.apply(this, arguments);\n }\n return setTimingSrc;\n }()\n }]);\n return Player;\n}(); // Setup embed only if this is not a node environment\nif (!isNode) {\n screenfull = initializeScreenfull();\n initializeEmbeds();\n resizeEmbeds();\n initAppendVideoMetadata();\n checkUrlTimeParam();\n}\n\nexport default Player;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Player from '@vimeo/player';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\n\nvar eventNames = {\n play: 'onPlay',\n playing: 'onPlaying',\n pause: 'onPause',\n ended: 'onEnd',\n timeupdate: 'onTimeUpdate',\n progress: 'onProgress',\n seeked: 'onSeeked',\n texttrackchange: 'onTextTrackChange',\n cuechange: 'onCueChange',\n cuepoint: 'onCuePoint',\n volumechange: 'onVolumeChange',\n playbackratechange: 'onPlaybackRateChange',\n error: 'onError',\n loaded: 'onLoaded'\n};\n\nvar Vimeo = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Vimeo, _React$Component);\n function Vimeo(props) {\n var _this;\n _this = _React$Component.call(this, props) || this;\n _this.refContainer = _this.refContainer.bind(_assertThisInitialized(_this));\n return _this;\n }\n var _proto = Vimeo.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.createPlayer();\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n // eslint-disable-next-line react/destructuring-assignment\n var changes = Object.keys(this.props).filter(function (name) {\n return _this2.props[name] !== prevProps[name];\n });\n this.updateProps(changes);\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.player.destroy();\n }\n\n /**\n * @private\n */;\n _proto.getInitialOptions = function getInitialOptions() {\n var _ref;\n var video = this.props.video;\n var videoType = /^https?:/i.test(video) ? 'url' : 'id';\n /* eslint-disable react/destructuring-assignment */\n return _ref = {}, _ref[videoType] = video, _ref.width = this.props.width, _ref.height = this.props.height, _ref.autopause = this.props.autopause, _ref.autoplay = this.props.autoplay, _ref.byline = this.props.showByline, _ref.color = this.props.color, _ref.controls = this.props.controls, _ref.loop = this.props.loop, _ref.portrait = this.props.showPortrait, _ref.title = this.props.showTitle, _ref.muted = this.props.muted, _ref.background = this.props.background, _ref.responsive = this.props.responsive, _ref.dnt = this.props.dnt, _ref.speed = this.props.speed, _ref.keyboard = this.props.keyboard, _ref.pip = this.props.pip, _ref.playsinline = this.props.playsInline, _ref.quality = this.props.quality, _ref.texttrack = this.props.textTrack, _ref.transparent = this.props.transparent, _ref;\n /* eslint-enable react/destructuring-assignment */\n }\n\n /**\n * @private\n */;\n _proto.updateProps = function updateProps(propNames) {\n var _this3 = this;\n var player = this.player;\n propNames.forEach(function (name) {\n // eslint-disable-next-line react/destructuring-assignment\n var value = _this3.props[name];\n switch (name) {\n case 'autopause':\n player.setAutopause(value);\n break;\n case 'color':\n player.setColor(value);\n break;\n case 'loop':\n player.setLoop(value);\n break;\n case 'volume':\n player.setVolume(value);\n break;\n case 'paused':\n player.getPaused().then(function (paused) {\n if (value && !paused) {\n return player.pause();\n }\n if (!value && paused) {\n return player.play();\n }\n return null;\n });\n break;\n case 'width':\n case 'height':\n player.element[name] = value;\n break;\n case 'video':\n if (value) {\n var start = _this3.props.start;\n var loaded = player.loadVideo(value);\n // Set the start time only when loading a new video.\n // It seems like this has to be done after the video has loaded, else it just starts at\n // the beginning!\n if (typeof start === 'number') {\n loaded.then(function () {\n player.setCurrentTime(start);\n });\n }\n } else {\n player.unload();\n }\n break;\n case 'playbackRate':\n player.setPlaybackRate(value);\n break;\n case 'quality':\n player.setQuality(value);\n break;\n // Nothing\n }\n });\n }\n\n /**\n * @private\n */;\n _proto.createPlayer = function createPlayer() {\n var _this4 = this;\n var _this$props = this.props,\n start = _this$props.start,\n volume = _this$props.volume,\n playbackRate = _this$props.playbackRate;\n this.player = new Player(this.container, this.getInitialOptions());\n Object.keys(eventNames).forEach(function (dmName) {\n var reactName = eventNames[dmName];\n _this4.player.on(dmName, function (event) {\n // eslint-disable-next-line react/destructuring-assignment\n var handler = _this4.props[reactName];\n if (handler) {\n handler(event);\n }\n });\n });\n var _this$props2 = this.props,\n onError = _this$props2.onError,\n onReady = _this$props2.onReady;\n this.player.ready().then(function () {\n if (onReady) {\n onReady(_this4.player);\n }\n }, function (err) {\n if (onError) {\n onError(err);\n } else {\n throw err;\n }\n });\n if (typeof start === 'number') {\n this.player.setCurrentTime(start);\n }\n if (typeof volume === 'number') {\n this.updateProps(['volume']);\n }\n if (typeof playbackRate === 'number') {\n this.updateProps(['playbackRate']);\n }\n }\n\n /**\n * @private\n */;\n _proto.refContainer = function refContainer(container) {\n this.container = container;\n };\n _proto.render = function render() {\n var _this$props3 = this.props,\n id = _this$props3.id,\n className = _this$props3.className,\n style = _this$props3.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className,\n style: style,\n ref: this.refContainer\n });\n };\n return Vimeo;\n}(React.Component);\nif (process.env.NODE_ENV !== 'production') {\n Vimeo.propTypes = {\n /**\n * A Vimeo video ID or URL.\n */\n video: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * DOM ID for the player element.\n */\n id: PropTypes.string,\n /**\n * CSS className for the player element.\n */\n className: PropTypes.string,\n /**\n * Inline style for container element.\n */\n style: PropTypes.object,\n // eslint-disable-line react/forbid-prop-types\n /**\n * Width of the player element.\n */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Height of the player element.\n */\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Pause the video.\n */\n paused: PropTypes.bool,\n // eslint-disable-line react/no-unused-prop-types\n\n /**\n * The playback volume as a number between 0 and 1.\n */\n volume: PropTypes.number,\n /**\n * The time in seconds at which to start playing the video.\n */\n start: PropTypes.number,\n // Player parameters\n /**\n * Pause this video automatically when another one plays.\n */\n autopause: PropTypes.bool,\n /**\n * Automatically start playback of the video. Note that this won’t work on\n * some devices.\n */\n autoplay: PropTypes.bool,\n /**\n * Show the byline on the video.\n */\n showByline: PropTypes.bool,\n /**\n * Specify the color of the video controls. Colors may be overridden by the\n * embed settings of the video. _(Ex: \"ef2f9f\")_\n */\n color: PropTypes.string,\n /**\n * Blocks the player from tracking any session data, including all cookies and analytics.\n */\n dnt: PropTypes.bool,\n // Player controls\n /**\n * Hide all elements in the player, such as the progress bar, sharing buttons, etc.\n * (requires Vimeo PRO / Business account)\n */\n controls: PropTypes.bool,\n /**\n * Play the video again when it reaches the end.\n */\n loop: PropTypes.bool,\n /**\n * Show the portrait on the video.\n */\n showPortrait: PropTypes.bool,\n /**\n * Show the title on the video.\n */\n showTitle: PropTypes.bool,\n /**\n * Starts in a muted state to help with autoplay\n */\n muted: PropTypes.bool,\n /**\n * Starts in a background state with no controls to help with autoplay\n */\n background: PropTypes.bool,\n /**\n * Enable responsive mode and resize according to parent element (experimental)\n */\n responsive: PropTypes.bool,\n /**\n * Specify playback rate (requires Vimeo PRO / Business account)\n */\n playbackRate: PropTypes.number,\n /**\n * Enable playback rate controls (requires Vimeo PRO / Business account)\n */\n speed: PropTypes.bool,\n /**\n * Allows for keyboard input to trigger player events.\n */\n keyboard: PropTypes.bool,\n /**\n * Show the picture-in-picture button in the controlbar\n * and enable the picture-in-picture API.\n */\n pip: PropTypes.bool,\n /**\n * Play video inline on mobile devices, to automatically\n * go fullscreen on playback set this parameter to false.\n */\n playsInline: PropTypes.bool,\n /**\n * Vimeo Plus, PRO, and Business members can default\n * an embedded video to a specific quality on desktop.\n */\n quality: PropTypes.string,\n /**\n * Turn captions/subtitles on for a specific language by default.\n */\n textTrack: PropTypes.string,\n /**\n * The responsive player and transparent background are enabled\n * by default, to disable set this parameter to false.\n */\n transparent: PropTypes.bool,\n // Events\n /* eslint-disable react/no-unused-prop-types */\n\n /**\n * Sent when the Vimeo player API has loaded.\n * Receives the Vimeo player object in the first parameter.\n */\n onReady: PropTypes.func,\n /**\n * Sent when the player triggers an error.\n */\n onError: PropTypes.func,\n /**\n * Triggered when video playback is initiated.\n */\n onPlay: PropTypes.func,\n /**\n * Triggered when the video starts playing.\n */\n onPlaying: PropTypes.func,\n /**\n * Triggered when the video pauses.\n */\n onPause: PropTypes.func,\n /**\n * Triggered any time the video playback reaches the end.\n * Note: when `loop` is turned on, the ended event will not fire.\n */\n onEnd: PropTypes.func,\n /**\n * Triggered as the `currentTime` of the video updates. It generally fires\n * every 250ms, but it may vary depending on the browser.\n */\n onTimeUpdate: PropTypes.func,\n /**\n * Triggered as the video is loaded. Reports back the amount of the video\n * that has been buffered.\n */\n onProgress: PropTypes.func,\n /**\n * Triggered when the player seeks to a specific time. An `onTimeUpdate`\n * event will also be fired at the same time.\n */\n onSeeked: PropTypes.func,\n /**\n * Triggered when the active text track (captions/subtitles) changes. The\n * values will be `null` if text tracks are turned off.\n */\n onTextTrackChange: PropTypes.func,\n /**\n * Triggered when the active cue for the current text track changes. It also\n * fires when the active text track changes. There may be multiple cues\n * active.\n */\n onCueChange: PropTypes.func,\n /**\n * Triggered when the current time hits a registered cue point.\n */\n onCuePoint: PropTypes.func,\n /**\n * Triggered when the volume in the player changes. Some devices do not\n * support setting the volume of the video independently from the system\n * volume, so this event will never fire on those devices.\n */\n onVolumeChange: PropTypes.func,\n /**\n * Triggered when the playback rate changes.\n */\n onPlaybackRateChange: PropTypes.func,\n /**\n * Triggered when a new video is loaded in the player.\n */\n onLoaded: PropTypes.func\n\n /* eslint-enable react/no-unused-prop-types */\n };\n}\n\nVimeo.defaultProps = {\n autopause: true,\n autoplay: false,\n showByline: true,\n controls: true,\n loop: false,\n showPortrait: true,\n showTitle: true,\n muted: false,\n background: false,\n responsive: false,\n dnt: false,\n speed: false,\n keyboard: true,\n pip: false,\n playsInline: true,\n transparent: true\n};\n\nexport { Vimeo as default };\n","/** @jsxRuntime classic */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport isEqual from 'fast-deep-equal';\nimport youTubePlayer from 'youtube-player';\nimport type { YouTubePlayer, Options } from 'youtube-player/dist/types';\n\n/**\n * Check whether a `props` change should result in the video being updated.\n */\nfunction shouldUpdateVideo(prevProps: YouTubeProps, props: YouTubeProps) {\n // A changing video should always trigger an update\n if (prevProps.videoId !== props.videoId) {\n return true;\n }\n\n // Otherwise, a change in the start/end time playerVars also requires a player\n // update.\n const prevVars = prevProps.opts?.playerVars || {};\n const vars = props.opts?.playerVars || {};\n\n return prevVars.start !== vars.start || prevVars.end !== vars.end;\n}\n\n/**\n * Neutralize API options that only require a video update, leaving only options\n * that require a player reset. The results can then be compared to see if a\n * player reset is necessary.\n */\nfunction filterResetOptions(opts: Options = {}) {\n return {\n ...opts,\n height: 0,\n width: 0,\n playerVars: {\n ...opts.playerVars,\n autoplay: 0,\n start: 0,\n end: 0,\n },\n };\n}\n\n/**\n * Check whether a `props` change should result in the player being reset.\n * The player is reset when the `props.opts` change, except if the only change\n * is in the `start` and `end` playerVars, because a video update can deal with\n * those.\n */\nfunction shouldResetPlayer(prevProps: YouTubeProps, props: YouTubeProps) {\n return (\n prevProps.videoId !== props.videoId || !isEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts))\n );\n}\n\n/**\n * Check whether a props change should result in an update of player.\n */\nfunction shouldUpdatePlayer(prevProps: YouTubeProps, props: YouTubeProps) {\n return (\n prevProps.id !== props.id ||\n prevProps.className !== props.className ||\n prevProps.opts?.width !== props.opts?.width ||\n prevProps.opts?.height !== props.opts?.height ||\n prevProps.iframeClassName !== props.iframeClassName ||\n prevProps.title !== props.title\n );\n}\n\ntype YoutubePlayerCueVideoOptions = {\n videoId: string;\n startSeconds?: number;\n endSeconds?: number;\n suggestedQuality?: string;\n};\n\nexport { YouTubePlayer };\n\nexport type YouTubeEvent<T = any> = {\n data: T;\n target: YouTubePlayer;\n};\n\nexport type YouTubeProps = {\n /**\n * The YouTube video ID.\n *\n * Examples\n * - https://www.youtube.com/watch?v=XxVg_s8xAms (`XxVg_s8xAms` is the ID)\n * - https://www.youtube.com/embed/-DX3vJiqxm4 (`-DX3vJiqxm4` is the ID)\n */\n videoId?: string;\n /**\n * Custom ID for the player element\n */\n id?: string;\n /**\n * Custom class name for the player element\n */\n className?: string;\n /**\n * Custom class name for the iframe element\n */\n iframeClassName?: string;\n /**\n * Custom style for the player container element\n */\n style?: React.CSSProperties;\n /**\n * Title of the video for the iframe's title tag.\n */\n title?: React.IframeHTMLAttributes<HTMLIFrameElement>['title'];\n /**\n * Indicates how the browser should load the iframe\n * {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-loading}\n */\n loading?: React.IframeHTMLAttributes<HTMLIFrameElement>['loading'];\n /**\n * An object that specifies player options\n * {@link https://developers.google.com/youtube/iframe_api_reference#Loading_a_Video_Player}\n */\n opts?: Options;\n /**\n * This event fires whenever a player has finished loading and is ready to begin receiving API calls.\n * {@link https://developers.google.com/youtube/iframe_api_reference#onReady}\n */\n onReady?: (event: YouTubeEvent) => void;\n /**\n * This event fires if an error occurs in the player.\n * {@link https://developers.google.com/youtube/iframe_api_reference#onError}\n */\n onError?: (event: YouTubeEvent<number>) => void;\n /**\n * This event fires when the layer's state changes to PlayerState.PLAYING.\n */\n onPlay?: (event: YouTubeEvent<number>) => void;\n /**\n * This event fires when the layer's state changes to PlayerState.PAUSED.\n */\n onPause?: (event: YouTubeEvent<number>) => void;\n /**\n * This event fires when the layer's state changes to PlayerState.ENDED.\n */\n onEnd?: (event: YouTubeEvent<number>) => void;\n /**\n * This event fires whenever the player's state changes.\n * {@link https://developers.google.com/youtube/iframe_api_reference#onStateChange}\n */\n onStateChange?: (event: YouTubeEvent<number>) => void;\n /**\n * This event fires whenever the video playback quality changes.\n * {@link https://developers.google.com/youtube/iframe_api_reference#onPlaybackRateChange}\n */\n onPlaybackRateChange?: (event: YouTubeEvent<number>) => void;\n /**\n * This event fires whenever the video playback rate changes.\n * {@link https://developers.google.com/youtube/iframe_api_reference#onPlaybackQualityChange}\n */\n onPlaybackQualityChange?: (event: YouTubeEvent<string>) => void;\n};\n\nconst defaultProps: YouTubeProps = {\n videoId: '',\n id: '',\n className: '',\n iframeClassName: '',\n style: {},\n title: '',\n loading: undefined,\n opts: {},\n onReady: () => {},\n onError: () => {},\n onPlay: () => {},\n onPause: () => {},\n onEnd: () => {},\n onStateChange: () => {},\n onPlaybackRateChange: () => {},\n onPlaybackQualityChange: () => {},\n};\n\nconst propTypes = {\n videoId: PropTypes.string,\n id: PropTypes.string,\n className: PropTypes.string,\n iframeClassName: PropTypes.string,\n style: PropTypes.object,\n title: PropTypes.string,\n loading: PropTypes.oneOf(['lazy', 'eager']),\n opts: PropTypes.objectOf(PropTypes.any),\n onReady: PropTypes.func,\n onError: PropTypes.func,\n onPlay: PropTypes.func,\n onPause: PropTypes.func,\n onEnd: PropTypes.func,\n onStateChange: PropTypes.func,\n onPlaybackRateChange: PropTypes.func,\n onPlaybackQualityChange: PropTypes.func,\n};\n\nclass YouTube extends React.Component<YouTubeProps> {\n static propTypes = propTypes;\n static defaultProps = defaultProps;\n\n /**\n * Expose PlayerState constants for convenience. These constants can also be\n * accessed through the global YT object after the YouTube IFrame API is instantiated.\n * https://developers.google.com/youtube/iframe_api_reference#onStateChange\n */\n static PlayerState = {\n UNSTARTED: -1,\n ENDED: 0,\n PLAYING: 1,\n PAUSED: 2,\n BUFFERING: 3,\n CUED: 5,\n };\n\n container: HTMLDivElement | null;\n internalPlayer: YouTubePlayer | null;\n\n constructor(props: any) {\n super(props);\n\n this.container = null;\n this.internalPlayer = null;\n }\n\n /**\n * Note: The `youtube-player` package that is used promisifies all YouTube\n * Player API calls, which introduces a delay of a tick before it actually\n * gets destroyed.\n *\n * The promise to destroy the player is stored here so we can make sure to\n * only re-create the Player after it's been destroyed.\n *\n * See: https://github.com/tjallingt/react-youtube/issues/355\n */\n destroyPlayerPromise: Promise<void> | undefined = undefined;\n\n componentDidMount() {\n this.createPlayer();\n }\n\n async componentDidUpdate(prevProps: YouTubeProps) {\n if (shouldUpdatePlayer(prevProps, this.props)) {\n this.updatePlayer();\n }\n\n if (shouldResetPlayer(prevProps, this.props)) {\n await this.resetPlayer();\n }\n\n if (shouldUpdateVideo(prevProps, this.props)) {\n this.updateVideo();\n }\n }\n\n componentWillUnmount() {\n this.destroyPlayer();\n }\n\n /**\n * This event fires whenever a player has finished loading and is ready to begin receiving API calls.\n * https://developers.google.com/youtube/iframe_api_reference#onReady\n */\n onPlayerReady = (event: YouTubeEvent) => this.props.onReady?.(event);\n\n /**\n * This event fires if an error occurs in the player.\n * https://developers.google.com/youtube/iframe_api_reference#onError\n */\n onPlayerError = (event: YouTubeEvent<number>) => this.props.onError?.(event);\n\n /**\n * This event fires whenever the video playback quality changes.\n * https://developers.google.com/youtube/iframe_api_reference#onStateChange\n */\n onPlayerStateChange = (event: YouTubeEvent<number>) => {\n this.props.onStateChange?.(event);\n // @ts-ignore\n switch (event.data) {\n case YouTube.PlayerState.ENDED:\n this.props.onEnd?.(event);\n break;\n\n case YouTube.PlayerState.PLAYING:\n this.props.onPlay?.(event);\n break;\n\n case YouTube.PlayerState.PAUSED:\n this.props.onPause?.(event);\n break;\n\n default:\n }\n };\n\n /**\n * This event fires whenever the video playback quality changes.\n * https://developers.google.com/youtube/iframe_api_reference#onPlaybackRateChange\n */\n onPlayerPlaybackRateChange = (event: YouTubeEvent<number>) => this.props.onPlaybackRateChange?.(event);\n\n /**\n * This event fires whenever the video playback rate changes.\n * https://developers.google.com/youtube/iframe_api_reference#onPlaybackQualityChange\n */\n onPlayerPlaybackQualityChange = (event: YouTubeEvent<string>) => this.props.onPlaybackQualityChange?.(event);\n\n /**\n * Destroy the YouTube Player using its async API and store the promise so we\n * can await before re-creating it.\n */\n destroyPlayer = () => {\n if (this.internalPlayer) {\n this.destroyPlayerPromise = this.internalPlayer.destroy().then(() => (this.destroyPlayerPromise = undefined));\n return this.destroyPlayerPromise;\n }\n return Promise.resolve();\n };\n\n /**\n * Initialize the YouTube Player API on the container and attach event handlers\n */\n createPlayer = () => {\n // do not attempt to create a player server-side, it won't work\n if (typeof document === 'undefined') return;\n if (this.destroyPlayerPromise) {\n // We need to first await the existing player to be destroyed before\n // we can re-create it.\n this.destroyPlayerPromise.then(this.createPlayer);\n return;\n }\n // create player\n const playerOpts: Options = {\n ...this.props.opts,\n // preload the `videoId` video if one is already given\n videoId: this.props.videoId,\n };\n this.internalPlayer = youTubePlayer(this.container!, playerOpts);\n // attach event handlers\n this.internalPlayer.on('ready', this.onPlayerReady as any);\n this.internalPlayer.on('error', this.onPlayerError as any);\n this.internalPlayer.on('stateChange', this.onPlayerStateChange as any);\n this.internalPlayer.on('playbackRateChange', this.onPlayerPlaybackRateChange as any);\n this.internalPlayer.on('playbackQualityChange', this.onPlayerPlaybackQualityChange as any);\n if (this.props.title || this.props.loading) {\n this.internalPlayer.getIframe().then((iframe) => {\n if (this.props.title) iframe.setAttribute('title', this.props.title);\n if (this.props.loading) iframe.setAttribute('loading', this.props.loading);\n });\n }\n };\n\n /**\n * Shorthand for destroying and then re-creating the YouTube Player\n */\n resetPlayer = () => this.destroyPlayer().then(this.createPlayer);\n\n /**\n * Method to update the id and class of the YouTube Player iframe.\n * React should update this automatically but since the YouTube Player API\n * replaced the DIV that is mounted by React we need to do this manually.\n */\n updatePlayer = () => {\n this.internalPlayer?.getIframe().then((iframe) => {\n if (this.props.id) iframe.setAttribute('id', this.props.id);\n else iframe.removeAttribute('id');\n if (this.props.iframeClassName) iframe.setAttribute('class', this.props.iframeClassName);\n else iframe.removeAttribute('class');\n if (this.props.opts && this.props.opts.width) iframe.setAttribute('width', this.props.opts.width.toString());\n else iframe.removeAttribute('width');\n if (this.props.opts && this.props.opts.height) iframe.setAttribute('height', this.props.opts.height.toString());\n else iframe.removeAttribute('height');\n if (this.props.title) iframe.setAttribute('title', this.props.title);\n else iframe.setAttribute('title', 'YouTube video player');\n if (this.props.loading) iframe.setAttribute('loading', this.props.loading);\n else iframe.removeAttribute('loading');\n });\n };\n\n /**\n * Method to return the internalPlayer object.\n */\n getInternalPlayer = () => {\n return this.internalPlayer;\n };\n\n /**\n * Call YouTube Player API methods to update the currently playing video.\n * Depending on the `opts.playerVars.autoplay` this function uses one of two\n * YouTube Player API methods to update the video.\n */\n updateVideo = () => {\n if (typeof this.props.videoId === 'undefined' || this.props.videoId === null) {\n this.internalPlayer?.stopVideo();\n return;\n }\n\n // set queueing options\n let autoplay = false;\n const opts: YoutubePlayerCueVideoOptions = {\n videoId: this.props.videoId,\n };\n\n if (this.props.opts?.playerVars) {\n autoplay = this.props.opts.playerVars.autoplay === 1;\n if ('start' in this.props.opts.playerVars) {\n opts.startSeconds = this.props.opts.playerVars.start;\n }\n if ('end' in this.props.opts.playerVars) {\n opts.endSeconds = this.props.opts.playerVars.end;\n }\n }\n\n // if autoplay is enabled loadVideoById\n if (autoplay) {\n this.internalPlayer?.loadVideoById(opts);\n return;\n }\n // default behaviour just cues the video\n this.internalPlayer?.cueVideoById(opts);\n };\n\n refContainer = (container: HTMLDivElement) => {\n this.container = container;\n };\n\n render() {\n return (\n <div className={this.props.className} style={this.props.style}>\n <div id={this.props.id} className={this.props.iframeClassName} ref={this.refContainer} />\n </div>\n );\n }\n}\n\nexport default YouTube;\n","/**\n * Returns regular expression for extracting the ID of a YouTube video from a\n * URL.\n *\n * This works with both the URLs of normal links, embedded videos and the\n * shorter `youtu.be/{ID}`\n *\n * @example\n * **Basic usage:**\n * ```ts\n * import { getYouTubeIdRegex } from \"@baggie/core\";\n *\n * const youTubeUrl = \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\";\n * const youTubeId = youTubeUrl.match(getYouTubeIdRegex())[1];\n * // youTubeId = \"dQw4w9WgXcQ\"\n * ```\n */\nexport const getYouTubeIdRegex = () => /(?:youtube\\.com\\/(?:[^/]+\\/.+\\/|(?:v|e(?:mbed)?)\\/+|.*[?&]v=)|youtu\\.be\\/|^)([^\"&?/ ]{11})\\b/i;\n","import { getYouTubeIdRegex } from \"../../regex/getYouTubeIdRegex/getYouTubeIdRegex\";\n/**\n * Convert a YouTube URL to a video ID.\n */\nexport const getYouTubeId = (input) => {\n const match = input.trim().match(getYouTubeIdRegex());\n return match && match.length > 1 ? match[1] : undefined;\n};\n","import { getVimeoIdRegex } from \"../../regex/getVimeoIdRegex/getVimeoIdRegex\";\n/**\n * Get the Vimeo ID from a URL.\n */\nexport const getVimeoId = (url) => {\n const match = url.match(getVimeoIdRegex());\n return match && match.length > 0 ? match[1] : undefined;\n};\n","/**\n * Returns regular expression for extracting the ID of a Vimeo video from a URL.\n */\nexport const getVimeoIdRegex = () => /(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:[a-zA-Z0-9_-]+)?/i;\n","import { useEffect, useState } from \"react\";\n\ndeclare global {\n interface Window {\n CookieConsent: {\n renew: () => void;\n };\n CookieInformation: {\n getConsentGivenFor: (cookieName: string) => boolean;\n };\n }\n}\n\nexport const useMarketingConsent = () => {\n const [marketingConsent, setMarketingConsent] = useState(\n window?.CookieInformation?.getConsentGivenFor(\"cookie_cat_marketing\")\n );\n\n const handleConsentChange = () => {\n const consent = window?.CookieInformation?.getConsentGivenFor(\"cookie_cat_marketing\");\n\n if (consent !== marketingConsent) {\n setMarketingConsent(consent);\n }\n };\n\n useEffect(() => {\n window.addEventListener(\"CookieInformationConsentGiven\", handleConsentChange);\n\n return () => {\n window.removeEventListener(\"CookieInformationConsentGiven\", handleConsentChange);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [marketingConsent]);\n\n return { marketingConsent };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"videoInner\":\"VideoPlayerViewer_videoInner__r2-n0\",\"image\":\"VideoPlayerViewer_image__IRHoo\",\"introWrapper\":\"VideoPlayerViewer_introWrapper__S+RIW\",\"video\":\"VideoPlayerViewer_video__ChtqI\",\"caption\":\"VideoPlayerViewer_caption__0wRjt\",\"playIconContainer\":\"VideoPlayerViewer_playIconContainer__P02Hg\",\"iconSize\":\"VideoPlayerViewer_iconSize__xec4-\",\"consentPlaceholderWrapper\":\"VideoPlayerViewer_consentPlaceholderWrapper__sYOiL\",\"consentPlaceholderBox\":\"VideoPlayerViewer_consentPlaceholderBox__lwpX+\",\"consentPlaceholderText\":\"VideoPlayerViewer_consentPlaceholderText__s1kDe\",\"smallContent\":\"VideoPlayerViewer_smallContent__kcIbQ\"};","import React, { useEffect, useRef, useState, MutableRefObject } from \"react\";\nimport Vimeo from \"@u-wave/react-vimeo\";\nimport YouTube from \"react-youtube\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport {\n DA_Title,\n DA_TitleTag,\n} from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { getYouTubeId, getVimeoId } from \"@baggie/core\";\nimport { ImageViewer } from \"@danishagro/cms/src/components/ImageViewer/ImageViewer.component\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { useMarketingConsent } from \"./hooks/useMarketingConsent.hook\";\nimport { VideoPlayerViewerProps } from \"./VideoPlayerViewer.interface\";\nimport S from \"./VideoPlayerViewer.module.scss\";\n\ninterface YouTubeReadyEvent {\n target: {\n playVideo: () => void;\n };\n}\n\nconst VideoPlayerViewer = (props: VideoPlayerViewerProps) => {\n const { getDictionaryString } = useTranslations();\n const { marketingConsent } = useMarketingConsent();\n\n const [autoplayWithIntro, setAutoplayWithIntro] = useState(props.video?.autoplay || false);\n\n const [videoInnerRef, videoInnerDimensions] = useMeasure();\n const [consentWrapperRef] = useMeasure();\n\n const [viewState, setViewState] = useState<string>(props.posterStart ? \"INTRO\" : \"VIDEO\");\n\n const autoplay = props.video?.autoplay || false;\n const loop = props.video?.autoplay || false;\n const muted = props.video?.autoplay || false;\n const hasControl = !props.video?.autoplay;\n const hasControlOption = props.video.controls ?? true;\n\n const [isSmall, setIsSmall] = useState(false);\n\n function useMeasure(): [\n MutableRefObject<HTMLDivElement | null>,\n { width: number; height: number }\n ] {\n const ref = useRef<HTMLDivElement | null>(null);\n const [dimensions, setDimensions] = useState({ width: 0, height: 0 });\n\n useEffect(() => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n setDimensions({ width, height });\n }\n }, []);\n\n return [ref, dimensions];\n }\n\n useEffect(() => {\n const updateSize = () => {\n const videoInnerHeight = videoInnerDimensions.height;\n if (videoInnerHeight < 290 && !isSmall) {\n setIsSmall(true);\n } else if (videoInnerHeight >= 290 && isSmall) {\n setIsSmall(false);\n }\n };\n updateSize();\n }, [videoInnerDimensions, isSmall]);\n\n const onVideoEnded = () => {\n if (props.posterEnd) {\n setViewState(\"OUTRO\");\n }\n };\n\n const onVideoReady = (event: YouTubeReadyEvent) => {\n if (props.video?.autoplay && props.video.alias === \"youtube\") {\n setTimeout(() => {\n event.target.playVideo();\n }, 10);\n }\n };\n\n const onPosterClicked = () => {\n setViewState(\"VIDEO\");\n setAutoplayWithIntro(true);\n };\n\n const handleRenew = () => {\n if (window.CookieConsent && typeof window.CookieConsent.renew === \"function\") {\n window.CookieConsent.renew();\n }\n };\n\n return (\n <>\n {/* Intro */}\n {viewState === \"INTRO\" && (\n <div className={S.introWrapper}>\n <div\n className={cn(S.videoInner, props.className)}\n onClick={onPosterClicked}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n onPosterClicked();\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <ImageViewer\n src={props.posterStart?.url}\n aspectRatioX={16}\n aspectRatioY={9}\n className={S.image}\n />\n </div>\n\n <div className={S.playIconContainer}>\n <DA_Icon name={DA_IconNames.Play} className={S.iconSize} />\n </div>\n </div>\n )}\n\n {/* Video: YouTube */}\n {viewState === \"VIDEO\" &&\n props.video?.alias === \"youtube\" &&\n props.video.url &&\n // Allow video if marketingConsent is true OR if we're on localhost\n (marketingConsent === true ||\n location.hostname === \"localhost\" ||\n location.hostname.includes(\"azurewebsites.net\")) && (\n <div className={cn(S.videoInner, props.className)}>\n <YouTube\n videoId={getYouTubeId(props.video.url)}\n opts={{\n host: \"https://www.youtube-nocookie.com\",\n playerVars: {\n modestbranding: 1,\n autoplay: props.video?.autoplay ? 1 : 0,\n controls: props.video?.autoplay ? 0 : 1,\n },\n }}\n onReady={onVideoReady}\n onEnd={onVideoEnded}\n />\n </div>\n )}\n\n {/* Video: Digizuite */}\n {viewState === \"VIDEO\" && props.video?.alias === \"digizuite\" && props.video.url && (\n <div className={cn(S.videoInner, props.className)}>\n {/* eslint-disable-next-line jsx-a11y/media-has-caption */}\n <video\n src={getAbsoluteUrl(props.video.url, \"UMBRACO\")}\n controls={hasControlOption}\n muted={muted}\n autoPlay={autoplay}\n loop={loop}\n onCanPlay={(e) => onVideoReady(e as unknown as YouTubeReadyEvent)}\n onEnded={onVideoEnded}\n className={S.video}\n playsInline\n >\n {/* Add a caption track if available */}\n </video>\n </div>\n )}\n\n {/** Video: Vimeo */}\n {viewState === \"VIDEO\" &&\n marketingConsent &&\n props.video?.alias === \"vimeo\" &&\n props.video.url ? (\n <div className={cn(S.videoInner, props.className)}>\n <Vimeo\n video={getVimeoId(props.video.url)}\n responsive={true}\n onEnd={onVideoEnded}\n autoplay={autoplayWithIntro}\n controls={hasControl}\n className={S.video}\n muted={muted}\n loop={loop}\n onReady={onVideoReady}\n />\n </div>\n ) : null}\n\n {/* Video: Local */}\n {viewState === \"VIDEO\" && props.video?.alias === \"local\" && props.video.url && (\n <div className={cn(S.videoInner, props.className)}>\n {/* eslint-disable-next-line jsx-a11y/media-has-caption */}\n <video\n src={getAbsoluteUrl(props.video.url, \"UMBRACO\")}\n controls={hasControlOption}\n muted={muted}\n autoPlay={autoplay}\n loop={loop}\n onCanPlay={(e) => onVideoReady(e as unknown as YouTubeReadyEvent)}\n onEnded={onVideoEnded}\n className={S.video}\n playsInline\n >\n {/* Add a caption track if available */}\n </video>\n </div>\n )}\n\n {/* Outro */}\n {viewState === \"OUTRO\" && (\n <>\n <div\n className={cn(S.videoInner, props.className)}\n onClick={onPosterClicked}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n onPosterClicked();\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <ImageViewer\n src={props.posterEnd?.url}\n aspectRatioX={16}\n aspectRatioY={9}\n className={S.image}\n />\n </div>\n\n <div className={S.playIconContainer}>\n <DA_Icon name={DA_IconNames.Play} className={S.iconSize} />\n </div>\n </>\n )}\n\n {/* Caption */}\n {props.video.caption && <div className={S.caption}>{props.video.caption}</div>}\n\n {/* No cookie consent video placeholder */}\n {(props.video?.alias === \"youtube\" || props.video?.alias === \"vimeo\") &&\n typeof window !== \"undefined\" &&\n // Remove the condition `location.hostname !== \"localhost\"` so that localhost shows videos even without consent if you want\n !marketingConsent &&\n !location.hostname.includes(\"azurewebsites.net\") &&\n location.hostname !== \"localhost\" &&\n window.CookieConsent && (\n <div\n ref={videoInnerRef}\n className={S.consentPlaceholderWrapper}\n data-category=\"cookie_cat_marketing\"\n >\n <div\n ref={consentWrapperRef}\n className={cn(S.consentPlaceholderBox, isSmall && S.smallContent)}\n >\n <DA_Icon name={DA_IconNames.Cookie} className={S.iconSize} />\n <DA_Title h2 tag={DA_TitleTag.H2}>\n {getDictionaryString(\"ConsentVideoPlaceholder.Headline\")}\n </DA_Title>\n <div className={S.consentPlaceholderText}>\n <DA_Text\n html={getDictionaryString(\"ConsentVideoPlaceholder.Text\")}\n />\n </div>\n\n <DA_Button\n title={getDictionaryString(\"ConsentVideoPlaceholder.Button\")}\n onClick={handleRenew}\n />\n </div>\n </div>\n )}\n </>\n );\n};\n\nexport default VideoPlayerViewer;\n","import { isDevMode } from \"@danishagro/shared/src/helpers/isDevMode.helper\";\nimport { isAbsoluteUrl } from \"@danishagro/shared/src/helpers/isAbsoluteUrl.helper\";\nimport { CMS_API_ROOT, CMS_CDN_ROOT } from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { GET_CMS_SITE_ORIGIN } from \"@danishagro/shared/src/helpers/urlRoot.helper\";\n\nexport const getAbsoluteUrl = (\n pathname: string,\n platform: \"SPA\" | \"UMBRACO\" = \"SPA\",\n parameters?: { [name: string]: string }\n) => {\n let url: URL;\n\n // No link given\n if (!pathname) {\n return;\n }\n\n // If light website (no cdn root) but has CDN wildcard\n else if (!CMS_CDN_ROOT && pathname.indexOf(\"{CDNURL}\") > -1) {\n return pathname.replace(\"{CDNURL}\", `${CMS_API_ROOT}/media/`);\n }\n\n // If light website and has cdn\n else if (CMS_CDN_ROOT && pathname.indexOf(\"{CDNURL}\") > -1) {\n const replacedPathname = pathname.replace(\"{CDNURL}\", \"\");\n url = new URL(replacedPathname, CMS_CDN_ROOT);\n }\n\n // Already is absolute\n else if (pathname && isAbsoluteUrl(pathname)) {\n url = new URL(pathname);\n }\n\n // Has /media/ in the url\n else if (pathname && pathname.indexOf(\"/media/\") >= 0) {\n url = new URL(pathname, CMS_API_ROOT);\n }\n\n // Dev Environment (umbraco routes)\n else if (platform === \"UMBRACO\" && isDevMode) {\n url = new URL(pathname, CMS_API_ROOT);\n }\n\n // Dev Environment (spa routes)\n else if (platform === \"SPA\" && isDevMode) {\n url = new URL(pathname, GET_CMS_SITE_ORIGIN(\"ABSOLUTE\"));\n }\n\n // Production Environment (umbraco routes)\n else if (platform === \"UMBRACO\") {\n url = new URL(pathname, GET_CMS_SITE_ORIGIN(\"ABSOLUTE\"));\n }\n\n // Production Environment (spa routes)\n else if (platform === \"SPA\" && GET_CMS_SITE_ORIGIN(\"ABSOLUTE\")) {\n url = new URL(pathname, GET_CMS_SITE_ORIGIN(\"ABSOLUTE\"));\n }\n\n // Anything else\n else {\n url = new URL(pathname, window.location.origin);\n }\n\n // Extra Params\n\n if (parameters) {\n for (const key in parameters) {\n url.searchParams.append(key, parameters[key]);\n }\n }\n\n return url.toString();\n};\n","import { format } from \"date-fns\";\n\nconst useFormattedCultureDate = (date) => {\n const dateCulture = globalThis.siteSettingsObj?.dateCulture;\n\n if (!date) return null; // Returner null\n\n // Use \"dd.MM.yyyy\" if dateCulture not used\n const dateFormat =\n dateCulture === \"da-dk\" ? \"dd.MM.yyyy\" : dateCulture ? \"MM.dd.yyyy\" : \"dd.MM.yyyy\";\n return format(new Date(date), dateFormat);\n};\n\nexport default useFormattedCultureDate;\n","// extracted by mini-css-extract-plugin\nexport default {\"author\":\"AuthorBlock_author__CaD6T\",\"authorImageItem\":\"AuthorBlock_authorImageItem__7LNAX\",\"authorInfo\":\"AuthorBlock_authorInfo__aoGKI\",\"authorInfoName\":\"AuthorBlock_authorInfoName__lhI3j\",\"authorInfoTitle\":\"AuthorBlock_authorInfoTitle__XSB50\",\"authorImage\":\"AuthorBlock_authorImage__i0uuH\",\"authorDate\":\"AuthorBlock_authorDate__eT-xS\"};","import React from \"react\";\nimport { ImageViewer } from \"src/components/ImageViewer/ImageViewer.component\";\nimport S from \"./AuthorBlock.module.scss\";\n\ninterface AuthorBlockProps {\n authorImageUrl?: string;\n authorImageName?: string;\n authorName?: string;\n authorTitle?: string;\n authorDate?: string;\n}\n\nexport const AuthorBlock = ({ ...props }: AuthorBlockProps) => {\n return (\n <div className={S.author}>\n {props?.authorImageUrl && (\n <div className={S.authorImage}>\n <div className={S.authorImageItem}>\n <ImageViewer\n src={props?.authorImageUrl}\n aspectRatioX={1}\n aspectRatioY={1}\n alternative={props?.authorImageName}\n forceWidth={200}\n />\n </div>\n </div>\n )}\n\n <div className={S.authorInfo}>\n {props?.authorName && <span className={S.authorInfoName}>{props?.authorName}</span>}\n {props?.authorTitle && (\n <span className={S.authorInfoTitle}>{props?.authorTitle}</span>\n )}\n </div>\n {props.authorDate && <div className={S.authorDate}>{props.authorDate}</div>}\n </div>\n );\n};\n","import React, { ForwardedRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { getUrl } from \"../../../helpers/getUrl.helper\";\n\ninterface DA_BasicLinkProps {\n href: string;\n target?: \"_blank\" | \"_self\";\n children: React.ReactNode;\n className?: string;\n ariaLabel?: string;\n title?: string;\n itemScope?: boolean;\n itemProp?: string;\n itemType?: string;\n itemID?: string;\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n onMouseEnter?: () => void;\n conventionalRouting?: boolean;\n id?: string;\n forceNativeUrl?: boolean;\n}\n\nexport const DA_BasicLink = React.forwardRef(\n (\n {\n href,\n target,\n children,\n className,\n ariaLabel,\n title,\n itemScope,\n itemProp,\n itemType,\n itemID,\n onClick,\n onMouseEnter,\n conventionalRouting,\n id,\n forceNativeUrl,\n }: DA_BasicLinkProps,\n ref: ForwardedRef<HTMLAnchorElement>\n ): JSX.Element => {\n const hrefLink = href?.startsWith(\"link:\") ? getUrl(href.split(\":\")?.[1]) || \"#\" : href;\n const isExternal = /^https?:\\/\\/|^mailto:|^tel:/.test(hrefLink);\n\n // Use native link (<a>...</a>) for external links, if conventionalRouting is true,\n // and for certain pages where the backend requires a real page request\n const useNativeLink =\n isExternal || conventionalRouting || /^\\/(login|logout)($|\\?|#)/.test(hrefLink);\n\n //Get currentculture to the hrefLang\n const currentCulture = globalThis?.dictionaryObj?.culture\n ? globalThis?.dictionaryObj.culture.substring(0, 2)\n : null;\n\n const linkProp = {\n target: target,\n rel: isExternal ? \"noopener noreferrer\" : \"alternate\",\n className: className,\n \"aria-label\": ariaLabel,\n title: title,\n itemScope: itemScope,\n itemProp: itemProp,\n itemType: itemType,\n itemID: itemID,\n onClick: onClick,\n onMouseEnter: onMouseEnter,\n hrefLang: currentCulture,\n id: id,\n };\n\n return useNativeLink || forceNativeUrl ? (\n <a href={hrefLink} {...linkProp} ref={ref}>\n {children}\n </a>\n ) : (\n <Link to={hrefLink} {...linkProp} ref={ref}>\n {children}\n </Link>\n );\n }\n);\n\nDA_BasicLink.displayName = \"DA_BasicLink\";\n","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"Button_button__FSjNT\",\"disabled\":\"Button_disabled__nD0SI\",\"largeText\":\"Button_largeText__h-OOu\",\"small\":\"Button_small__0hK3F\",\"large\":\"Button_large__qM2Gj\",\"fullWidth\":\"Button_fullWidth__q829Z\",\"hasIcon\":\"Button_hasIcon__9+NZ-\",\"iconOnly\":\"Button_iconOnly__YT76K\",\"ghost\":\"Button_ghost__+OSAK\",\"noWrap\":\"Button_noWrap__EwS40\",\"content\":\"Button_content__orvbZ\",\"spinner\":\"Button_spinner__bkTk8\",\"iconRight\":\"Button_iconRight__FokQ2\",\"title\":\"Button_title__dC4iZ\",\"icon\":\"Button_icon__PcPSz\",\"action\":\"Button_action__lre2s\",\"alert\":\"Button_alert__Izs5+\",\"white\":\"Button_white__n1rqk\",\"grey\":\"Button_grey__Vcr7f\",\"lightGrey\":\"Button_lightGrey__kw17C\",\"primary\":\"Button_primary__UV45Q\",\"acent\":\"Button_acent__6EPw0\",\"showSpinnerWithTitle\":\"Button_showSpinnerWithTitle__5inSm\"};","import React, { forwardRef, LegacyRef, MouseEvent, Ref } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_BasicLink } from \"@danishagro/shared/src/components/atoms/BasicLink/BasicLink.component\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { DA_Spinner } from \"@danishagro/shared/src/components/atoms/Spinner/Spinner.component\";\nimport S from \"./Button.module.scss\";\n\nexport enum DA_ButtonColor {\n White = \"White\",\n Action = \"Action\",\n Alert = \"Alert\",\n Grey = \"Grey\",\n LightGrey = \"LightGrey\",\n Primary = \"Primary\",\n Accent = \"Accent\",\n}\n\ninterface ButtonPropsBase {\n title?: string;\n className?: string;\n color?: DA_ButtonColor;\n icon?: DA_IconNames;\n isGhost?: boolean;\n largeText?: boolean;\n small?: boolean;\n large?: boolean;\n form?: string;\n hideText?: boolean;\n noWrap?: boolean;\n iconRight?: boolean;\n showSpinner?: boolean;\n showSpinnerWithTitle?: boolean;\n fullWidth?: boolean;\n disabled?: boolean;\n}\n\ninterface ButtonWithOnClick extends ButtonPropsBase {\n onClick: (event?: MouseEvent<HTMLButtonElement>) => void;\n href?: never;\n target?: never;\n submit?: never;\n conventionalRouting?: never;\n}\n\ninterface ButtonWithSubmit extends ButtonPropsBase {\n onClick?: never;\n href?: never;\n target?: never;\n submit: true;\n conventionalRouting?: never;\n}\n\ninterface ButtonWithHref extends ButtonPropsBase {\n onClick?: (event?: MouseEvent<HTMLButtonElement>) => void;\n href: string;\n target?: \"_blank\" | \"_self\";\n submit?: never;\n conventionalRouting?: boolean;\n forceNativeUrl?: boolean;\n}\n\nexport type DA_ButtonProps = ButtonWithOnClick | ButtonWithSubmit | ButtonWithHref;\n\nexport const DA_Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, DA_ButtonProps>(\n (props, ref) => {\n const {\n title,\n onClick,\n form,\n color,\n className,\n icon,\n href,\n target,\n isGhost,\n largeText,\n small,\n large,\n hideText,\n fullWidth,\n disabled,\n noWrap,\n submit,\n iconRight,\n conventionalRouting,\n showSpinner,\n showSpinnerWithTitle,\n } = props;\n\n const buttonClass = cn(\n S.button,\n largeText && S.largeText,\n small && S.small,\n large && S.large,\n isGhost && S.ghost,\n iconRight && S.iconRight,\n noWrap && S.noWrap,\n icon && S.hasIcon,\n icon && (!title || hideText) && S.iconOnly,\n fullWidth && S.fullWidth,\n disabled && S.disabled,\n (color === DA_ButtonColor.Action || (!color && !isGhost)) && S.action,\n color === DA_ButtonColor.White && S.white,\n (color === DA_ButtonColor.Grey || (!color && isGhost)) && S.grey,\n color === DA_ButtonColor.LightGrey && S.lightGrey,\n color === DA_ButtonColor.Primary && S.primary,\n color === DA_ButtonColor.Accent && S.acent,\n color === DA_ButtonColor.Alert && S.alert,\n className\n );\n\n // Link\n\n if (href) {\n return (\n <DA_BasicLink\n ref={ref as Ref<HTMLAnchorElement>}\n href={href}\n target={target}\n className={buttonClass}\n onClick={onClick as never}\n conventionalRouting={conventionalRouting}\n ariaLabel={hideText && title}\n forceNativeUrl\n >\n {/** Spinner - No Icon */}\n {showSpinner && !icon && (\n <span className={S.spinner}>\n <DA_Spinner />\n </span>\n )}\n\n {showSpinnerWithTitle && (\n <span className={cn(S.content, S.showSpinnerWithTitle)}>\n <DA_Spinner className={S.icon} />\n\n {/** Title */}\n {title && !hideText && <span className={S.title}>{title}</span>}\n </span>\n )}\n\n <span className={S.content}>\n {/** Icon - No Spinner */}\n {icon && !showSpinner ? (\n <DA_Icon name={icon} className={S.icon} />\n ) : (\n icon && showSpinner && <DA_Spinner className={S.icon} />\n )}\n\n {/** Title */}\n {title && !hideText && <span className={S.title}>{title}</span>}\n </span>\n </DA_BasicLink>\n );\n }\n\n // Button\n else {\n return (\n <button\n ref={ref as LegacyRef<HTMLButtonElement>}\n className={buttonClass}\n type={submit ? \"submit\" : \"button\"}\n onClick={onClick}\n form={form}\n disabled={disabled || showSpinner}\n aria-label={hideText && title}\n >\n {/** Spinner - No Icon */}\n {showSpinner && !icon && (\n <span className={S.spinner}>\n <DA_Spinner />\n </span>\n )}\n\n {showSpinnerWithTitle && (\n <span className={cn(S.content, S.showSpinnerWithTitle)}>\n <DA_Spinner className={S.icon} />\n </span>\n )}\n\n <span className={S.content}>\n {/** Icon - No Spinner */}\n {icon && (!showSpinner || !showSpinnerWithTitle) ? (\n <DA_Icon name={icon} className={S.icon} />\n ) : (\n icon && showSpinner && <DA_Spinner className={S.icon} />\n )}\n\n {/** Title */}\n {title && !hideText && <span className={S.title}>{title}</span>}\n </span>\n </button>\n );\n }\n }\n);\n\nDA_Button.displayName = \"DA_Button\";\n","// extracted by mini-css-extract-plugin\nexport default {\"buttonLink\":\"ButtonLink_buttonLink__2BuxA\",\"icon\":\"ButtonLink_icon__9OBiN\",\"title\":\"ButtonLink_title__8W7Uy\",\"underlined\":\"ButtonLink_underlined__3PBRC\"};","import React, { ButtonHTMLAttributes, ForwardedRef, MouseEvent } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Icon, DA_IconNames } from \"../Icon/Icon.component\";\nimport S from \"./ButtonLink.module.scss\";\n\nexport interface DA_ButtonLinkProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\" | \"disabled\"> {\n title: string;\n icon?: DA_IconNames;\n onClick?: (event?: MouseEvent<HTMLButtonElement>) => void;\n href?: string;\n className?: string;\n noUnderline?: boolean;\n disabled?: boolean;\n}\n\nexport const DA_ButtonLink = React.forwardRef(\n (props: DA_ButtonLinkProps, ref: ForwardedRef<HTMLButtonElement>) => {\n const { className, title, icon, onClick, noUnderline, disabled, ...rest } = props;\n\n return (\n <button\n className={cn(S.buttonLink, noUnderline || S.underlined, className)}\n ref={ref}\n onClick={onClick}\n disabled={disabled}\n {...rest}\n >\n {icon && <DA_Icon name={icon} className={S.icon} />}\n <span className={S.title}>{title}</span>\n </button>\n );\n }\n);\n\nDA_ButtonLink.displayName = \"DA_ButtonLink\";\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"Container_container__j43y9\",\"keepNestedPadding\":\"Container_keepNestedPadding__60Crw\",\"noVerticalPadding\":\"Container_noVerticalPadding__56E8K\",\"noRightPadding\":\"Container_noRightPadding__NG2qM\",\"noLeftPadding\":\"Container_noLeftPadding__v1fKo\",\"noTopPadding\":\"Container_noTopPadding__8Rq83\",\"noBottomPadding\":\"Container_noBottomPadding__raqUH\",\"flexColumn\":\"Container_flexColumn__xLPZK\",\"noOverflow\":\"Container_noOverflow__Rvhun\"};","import React, { ForwardedRef } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport S from \"./Container.module.scss\";\n\ninterface DA_ContainerProps {\n children: React.ReactNode;\n noVerticalPadding?: boolean;\n noRightPadding?: boolean;\n noLeftPadding?: boolean;\n noTopPadding?: boolean;\n noBottomPadding?: boolean;\n flexColumn?: boolean;\n keepNestedPadding?: boolean;\n noOverflow?: boolean;\n className?: string;\n}\n\nexport const DA_Container = React.forwardRef(\n (\n {\n children,\n noVerticalPadding,\n noRightPadding,\n noLeftPadding,\n noTopPadding,\n noBottomPadding,\n flexColumn,\n keepNestedPadding,\n noOverflow,\n className,\n }: DA_ContainerProps,\n ref: ForwardedRef<HTMLDivElement>\n ): JSX.Element => (\n <div\n className={cn(\n S.container,\n noVerticalPadding && S.noVerticalPadding,\n noRightPadding && S.noRightPadding,\n noLeftPadding && S.noLeftPadding,\n noTopPadding && S.noTopPadding,\n noBottomPadding && S.noBottomPadding,\n flexColumn && S.flexColumn,\n // eslint-disable-next-line css-modules/no-undef-class\n keepNestedPadding && S.keepNestedPadding,\n noOverflow && S.noOverflow,\n className\n )}\n ref={ref}\n >\n {children}\n </div>\n )\n);\n\nDA_Container.displayName = \"DA_Container\";\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"ContentBox_container__MYFC2\",\"smallVerticalPadding\":\"ContentBox_smallVerticalPadding__6vpjS\",\"noPadding\":\"ContentBox_noPadding__5kiBA\",\"noMargin\":\"ContentBox_noMargin__Lk3wQ\",\"smallMargin\":\"ContentBox_smallMargin__1FERW\",\"indicator\":\"ContentBox_indicator__juLCe\",\"enabled\":\"ContentBox_enabled__s1BwU\",\"loadingIndicator\":\"ContentBox_loadingIndicator__rEmTe\",\"alertIndicator\":\"ContentBox_alertIndicator__yvLXd\",\"loadingBorder\":\"ContentBox_loadingBorder__UGk1z\",\"alertBorder\":\"ContentBox_alertBorder__D+wCr\"};","import React, { useImperativeHandle, useRef, useState } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport S from \"./ContentBox.module.scss\";\n\nexport interface DA_ContentBoxRef {\n alert: (ms?: number) => Promise<boolean>;\n}\n\nexport interface DA_ContentBoxProps {\n children: React.ReactNode;\n smallVerticalPadding?: boolean;\n smallMargin?: boolean;\n noPadding?: boolean;\n noMargin?: boolean;\n loading?: boolean;\n className?: string;\n onClick?: (event: React.MouseEvent) => void;\n}\n\nexport const DA_ContentBox = React.forwardRef(\n (\n {\n children,\n smallVerticalPadding,\n smallMargin,\n noPadding,\n noMargin,\n loading,\n className,\n onClick,\n }: DA_ContentBoxProps,\n ref\n ): JSX.Element => {\n const [showAlert, setShowAlert] = useState(false);\n const alertTimeout = useRef<NodeJS.Timeout | null>(null);\n\n useImperativeHandle(\n ref,\n (ms = 1500) => ({\n alert: () => {\n if (alertTimeout.current) {\n clearTimeout(alertTimeout.current);\n }\n\n setShowAlert(true);\n\n return new Promise((resolve) => {\n alertTimeout.current = setTimeout(() => {\n setShowAlert(false);\n resolve(true);\n }, ms);\n });\n },\n }),\n []\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <section\n className={cn(\n S.container,\n smallVerticalPadding && S.smallVerticalPadding,\n smallMargin && S.smallMargin,\n noPadding && S.noPadding,\n noMargin && S.noMargin,\n className\n )}\n onClick={onClick}\n >\n {children}\n\n <div\n className={cn(\n S.indicator,\n S.loadingIndicator,\n loading && !showAlert && S.enabled\n )}\n />\n <div className={cn(S.indicator, S.alertIndicator, showAlert && S.enabled)} />\n </section>\n );\n }\n);\n\nDA_ContentBox.displayName = \"DA_ContentBox\";\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Icon_wrapper__I6Cew\",\"fullSize\":\"Icon_fullSize__qNn+6\"};","import React, { CSSProperties, Suspense } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport S from \"./Icon.module.scss\";\n\nexport enum DA_IconNames {\n Add = \"Add\",\n AddChecklist = \"Add checklist\",\n AddComment = \"Add comment\",\n ArrowRight = \"Add right\",\n Barcode = \"Barcode\",\n Bell = \"Bell\",\n Calendar = \"Calendar\",\n CalendarCheck = \"Calendar check\",\n Cart = \"Cart\",\n CartWeighted = \"CartWeighted\",\n Chart = \"Chart\",\n Checkmark = \"Checkmark\",\n CheckmarkThin = \"Checkmark thin\",\n CheckListBoard = \"Checklist board\",\n ChevronLeft = \"Chevron left\",\n ChevronRight = \"Chevron right\",\n ChevronSmallDown = \"Chevron small down\",\n ChevronSmallLeft = \"Chevron small left\",\n ChevronSmallUp = \"Chevron small up\",\n Clock = \"Clock\",\n Close = \"Close\",\n CogwheelStroke = \"Cogwheel stroke\",\n Construction = \"Construction\",\n Contact = \"Contact\",\n ContactOutline = \"ContactOutline\",\n CogWheel = \"Cog wheel\",\n Cookie = \"Cookie\",\n CustomerService = \"Customer service\",\n Dankort = \"Dankort\",\n Document = \"Document\",\n DocumentOutline = \"DocumentOutline\",\n DankortWrapped = \"DankortWrapped\",\n Delivery = \"Delivery\",\n DeliveryTrolley = \"Delivery trolley\",\n DeliveryTruck = \"Delivery truck\",\n DollyStroke = \"Dolly stroke\",\n EmailEnvelope = \"Email envelope\",\n ExclamationMark = \"Exclamation mark\",\n Expand = \"Expand\",\n Ellipsis = \"Ellipsis\",\n EconomyPlaceholder = \"Economy placeholder\",\n ExternalLink = \"External link\",\n Facebook = \"Facebook\",\n FarmInTime = \"Farm in time\",\n FilterTool = \"Filter tool\",\n FormCheck = \"Form check\",\n FormCheckWeighted = \"Form check weighted\",\n FormSubmit = \"Form submit\",\n Globe = \"Globe\",\n Handshake = \"Handshake\",\n Harvest = \"Harvest\",\n HarvestMachine = \"Harvest machine\",\n HarvestStraw = \"Harvest straw\",\n Harvester = \"Harvester\",\n HeartOutline = \"Heart outline\",\n HeartSolid = \"Heart solid\",\n Info = \"Info\",\n Instagram = \"Instagram\",\n Invoice = \"Invoice\",\n Leaf = \"Leaf\",\n Letter = \"Letter\",\n LetterOutlined = \"Letter outlined\",\n LinkedIn = \"LinkedIn\",\n LocationPin = \"Location pin\",\n MagnifyingGlass = \"Magnifying glass\",\n Man = \"Man\",\n MasterCard = \"Mastercard\",\n MasterCardWrapped = \"MastercardWrapped\",\n MenuBurger = \"Menu burger\",\n MenuDots = \"Menu dots\",\n Minus = \"Minus\",\n Mobile = \"Mobile\",\n MobilePay = \"MobilePay\",\n MobilePayWrapped = \"MobilePayWrapped\",\n Pdf = \"Pdf\",\n PdfDocument = \"PDF document\",\n Pen = \"Pen\",\n Pencil = \"Pencil\",\n Phone = \"Phone\",\n PhoneOutline = \"PhoneOutline\",\n Pin = \"Pin\",\n PlantHand = \"PlantHand\",\n Play = \"Play\",\n Profile = \"Profile\",\n Question = \"Question\",\n Quote = \"Quote\",\n Remove = \"Remove\",\n Rosette = \"Rosette\",\n RotateDevice = \"Rotate device\",\n ScrollHorizontal = \"Scroll horizontal\",\n ScrollLeftRight = \"Scroll left right\",\n SearchOutline = \"Search outline\",\n SignOut = \"Sign out\",\n SmartPhone = \"Smartphone\",\n Star = \"Star\",\n StarSolid = \"StarSolid\",\n StatisticKvantum = \"Statistic kvantum\",\n StatisticBuy = \"Statistic buy\",\n StatisticSale = \"Statistic sale\",\n StatisticsAmount = \"Statistics amount\",\n ShoppingBasket = \"Shopping basket\",\n Support = \"Support\",\n Text = \"Text\",\n Tractor = \"Tractor\",\n Trash = \"Trash\",\n TriangleSmallDown = \"Triangle small down\",\n Truck = \"Truck\",\n TruckOutline = \"Truck outline\",\n Twitter = \"Twitter\",\n UserCrown = \"User crown\",\n UserLoggedIn = \"User logged in\",\n UserLoggedInWeighted = \"User logged in weighted\",\n UserLoggedOut = \"User logged out\",\n UserLoggedOutWeighted = \"User logged out weighted\",\n Van = \"Van\",\n Visa = \"Visa\",\n VisaWrapped = \"VisaWrapped\",\n WarningSign = \"Warning sign\",\n YouTube = \"YouTube\",\n Zoom = \"Zoom\",\n ZoomWeighted = \"Zoom weighted\",\n X = \"X\",\n}\n\nexport interface DA_IconProps {\n name: DA_IconNames;\n className?: string;\n style?: CSSProperties;\n useSvgDimensions?: boolean;\n}\n\nconst ReturnIcon = React.lazy(() => import(\"./ActualIcon.component\"));\n\nexport const DA_Icon = ({ name, className, style, useSvgDimensions }: DA_IconProps) => {\n return (\n <span\n className={cn(S.wrapper, useSvgDimensions || S.fullSize, className)}\n style={style}\n role=\"none\"\n >\n <Suspense>\n <ReturnIcon name={name} />\n </Suspense>\n </span>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"link\":\"InlineLink_link__Gg56Z\",\"largeText\":\"InlineLink_largeText__pQcB9\",\"iconWrapper\":\"InlineLink_iconWrapper__T9Rsr\",\"underline\":\"InlineLink_underline__r9rBG\",\"text\":\"InlineLink_text__AcsUe\",\"bold\":\"InlineLink_bold__X4Xvg\"};","import React, { MouseEvent } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_LinkProps } from \"../../../interfaces/linkProps.interface\";\nimport { DA_BasicLink } from \"../BasicLink/BasicLink.component\";\nimport { DA_Icon, DA_IconNames } from \"../Icon/Icon.component\";\nimport S from \"./InlineLink.module.scss\";\n\ninterface BaseProps {\n icon?: DA_IconNames;\n onlyIcon?: boolean;\n isBold?: boolean;\n itemProp?: string;\n largeText?: boolean;\n noUnderline?: boolean;\n className?: string;\n iconClassName?: string;\n forceNativeUrl?: boolean;\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n}\n\nexport type DA_InlineLinkProps = BaseProps & DA_LinkProps;\n\nexport const DA_InlineLink = (props: DA_InlineLinkProps) => {\n const {\n title,\n href,\n target,\n icon,\n onlyIcon,\n isBold,\n itemProp,\n largeText,\n noUnderline,\n className,\n iconClassName,\n conventionalRouting,\n forceNativeUrl = false,\n onClick,\n } = props;\n\n const linkClass = cn(S.link, largeText && S.largeText, noUnderline || S.underline, className);\n\n return (\n <DA_BasicLink\n href={href}\n target={target}\n className={linkClass}\n ariaLabel={onlyIcon ? title : undefined}\n conventionalRouting={conventionalRouting}\n forceNativeUrl={forceNativeUrl}\n onClick={onClick}\n >\n {icon && (\n <span className={S.iconWrapper}>\n <DA_Icon name={icon} className={iconClassName} />\n </span>\n )}\n\n {!onlyIcon && (\n <span\n className={cn(S.text, isBold && S.bold)}\n itemProp={itemProp}\n dangerouslySetInnerHTML={{ __html: title }}\n />\n )}\n\n {onlyIcon && itemProp && <meta itemProp={itemProp} content={title} />}\n </DA_BasicLink>\n );\n};\n","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil â¤ï¸\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","const sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n return {\n ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const webkit = isWebKit();\n const css = getComputedStyle(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isWebKit };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getDocumentElement, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentIFrame = win.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== win) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentIFrame = getWindow(currentIFrame).frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\nfunction getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n return getCssDimensions(element);\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const window = getWindow(element);\n if (!isHTMLElement(element)) {\n return window;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n return offsetParent || getContainingBlock(element) || window;\n}\n\nconst getElementRects = async function (_ref) {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),\n floating: {\n x: 0,\n y: 0,\n ...(await getDimensionsFn(floating))\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n clearTimeout(timeoutId);\n io && io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 100);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n resizeObserver && resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo && cleanupIo();\n resizeObserver && resizeObserver.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain CSS positioning\n * strategy.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { autoUpdate, computePosition, platform };\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useState, useCallback } from 'react';\n\nvar _excluded = [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\", \"inputValue\", \"menuIsOpen\", \"onChange\", \"onInputChange\", \"onMenuClose\", \"onMenuOpen\", \"value\"];\nfunction useStateManager(_ref) {\n var _ref$defaultInputValu = _ref.defaultInputValue,\n defaultInputValue = _ref$defaultInputValu === void 0 ? '' : _ref$defaultInputValu,\n _ref$defaultMenuIsOpe = _ref.defaultMenuIsOpen,\n defaultMenuIsOpen = _ref$defaultMenuIsOpe === void 0 ? false : _ref$defaultMenuIsOpe,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue,\n propsInputValue = _ref.inputValue,\n propsMenuIsOpen = _ref.menuIsOpen,\n propsOnChange = _ref.onChange,\n propsOnInputChange = _ref.onInputChange,\n propsOnMenuClose = _ref.onMenuClose,\n propsOnMenuOpen = _ref.onMenuOpen,\n propsValue = _ref.value,\n restSelectProps = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(propsInputValue !== undefined ? propsInputValue : defaultInputValue),\n _useState2 = _slicedToArray(_useState, 2),\n stateInputValue = _useState2[0],\n setStateInputValue = _useState2[1];\n var _useState3 = useState(propsMenuIsOpen !== undefined ? propsMenuIsOpen : defaultMenuIsOpen),\n _useState4 = _slicedToArray(_useState3, 2),\n stateMenuIsOpen = _useState4[0],\n setStateMenuIsOpen = _useState4[1];\n var _useState5 = useState(propsValue !== undefined ? propsValue : defaultValue),\n _useState6 = _slicedToArray(_useState5, 2),\n stateValue = _useState6[0],\n setStateValue = _useState6[1];\n var onChange = useCallback(function (value, actionMeta) {\n if (typeof propsOnChange === 'function') {\n propsOnChange(value, actionMeta);\n }\n setStateValue(value);\n }, [propsOnChange]);\n var onInputChange = useCallback(function (value, actionMeta) {\n var newValue;\n if (typeof propsOnInputChange === 'function') {\n newValue = propsOnInputChange(value, actionMeta);\n }\n setStateInputValue(newValue !== undefined ? newValue : value);\n }, [propsOnInputChange]);\n var onMenuOpen = useCallback(function () {\n if (typeof propsOnMenuOpen === 'function') {\n propsOnMenuOpen();\n }\n setStateMenuIsOpen(true);\n }, [propsOnMenuOpen]);\n var onMenuClose = useCallback(function () {\n if (typeof propsOnMenuClose === 'function') {\n propsOnMenuClose();\n }\n setStateMenuIsOpen(false);\n }, [propsOnMenuClose]);\n var inputValue = propsInputValue !== undefined ? propsInputValue : stateInputValue;\n var menuIsOpen = propsMenuIsOpen !== undefined ? propsMenuIsOpen : stateMenuIsOpen;\n var value = propsValue !== undefined ? propsValue : stateValue;\n return _objectSpread(_objectSpread({}, restSelectProps), {}, {\n inputValue: inputValue,\n menuIsOpen: menuIsOpen,\n onChange: onChange,\n onInputChange: onInputChange,\n onMenuClose: onMenuClose,\n onMenuOpen: onMenuOpen,\n value: value\n });\n}\n\nexport { useStateManager as u };\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","import { u as useStateManager } from './useStateManager-7e1e8489.esm.js';\nexport { u as useStateManager } from './useStateManager-7e1e8489.esm.js';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { S as Select } from './Select-49a62830.esm.js';\nexport { c as createFilter, d as defaultTheme, m as mergeStyles } from './Select-49a62830.esm.js';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nexport { c as components } from './index-a301f526.esm.js';\nimport '@babel/runtime/helpers/objectSpread2';\nimport '@babel/runtime/helpers/slicedToArray';\nimport '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/classCallCheck';\nimport '@babel/runtime/helpers/createClass';\nimport '@babel/runtime/helpers/inherits';\nimport '@babel/runtime/helpers/createSuper';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport 'memoize-one';\nimport '@babel/runtime/helpers/typeof';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport '@babel/runtime/helpers/defineProperty';\nimport 'react-dom';\nimport '@floating-ui/dom';\nimport 'use-isomorphic-layout-effect';\n\nvar StateManagedSelect = /*#__PURE__*/forwardRef(function (props, ref) {\n var baseSelectProps = useStateManager(props);\n return /*#__PURE__*/React.createElement(Select, _extends({\n ref: ref\n }, baseSelectProps));\n});\nvar StateManagedSelect$1 = StateManagedSelect;\n\nvar NonceProvider = (function (_ref) {\n var nonce = _ref.nonce,\n children = _ref.children,\n cacheKey = _ref.cacheKey;\n var emotionCache = useMemo(function () {\n return createCache({\n key: cacheKey,\n nonce: nonce\n });\n }, [cacheKey, nonce]);\n return /*#__PURE__*/React.createElement(CacheProvider, {\n value: emotionCache\n }, children);\n});\n\nexport { NonceProvider, StateManagedSelect$1 as default };\n","import { CSSObjectWithLabel } from \"react-select\";\nimport { StylesConfig } from \"react-select/dist/declarations/src/styles\";\n\ninterface Props {\n small?: boolean;\n invalid?: boolean;\n alignMenuRight?: boolean;\n isMulti?: boolean;\n isGrouped?: boolean;\n isMobile?: boolean;\n}\n\nexport const getSelectStyles = ({\n small,\n invalid,\n alignMenuRight,\n isMulti,\n isGrouped,\n isMobile,\n}: Props): StylesConfig => ({\n control: (provided: CSSObjectWithLabel, state) => ({\n ...provided,\n cursor: state.isDisabled ? \"default\" : \"pointer\",\n minHeight: 0,\n height: small ? `${30 / 16}rem` : `${40 / 16}rem`,\n background: state.isDisabled && \"var(--color-grey-5)\",\n color: state.isDisabled ? \"var(--color-grey-40)\" : \"inherit\",\n boxShadow: `inset 0 0 0 1px ${\n state.isFocused\n ? \"var(--color-primary-1)\"\n : invalid\n ? \"var(--color-alert)\"\n : \"transparent\"\n }`,\n borderRadius: \"var(--border-radius-small)\",\n border: `1px solid var(${\n state.isFocused ? \"--color-primary-1\" : invalid ? \"--color-alert\" : \"--color-grey-40\"\n })`,\n \"&:hover\": {\n borderColor: \"var(--color-primary-1)\",\n },\n }),\n valueContainer: (provided: CSSObjectWithLabel) => ({\n ...provided,\n padding: `0 ${(small ? 5 : 1) / 16}rem 0 ${(small ? 6 : 10) / 16}rem`,\n fontSize: small ? \"0.75rem\" : \"1rem\",\n zIndex: isMobile ? 9 : \"inherit\",\n paddingRight: isMobile ? \"20px\" : \"inherit\",\n marginRight: isMobile ? \"10px\" : \"0\",\n }),\n placeholder: (provided: CSSObjectWithLabel, state) => ({\n ...provided,\n margin: 0,\n color: state.isDisabled ? \"var(--color-grey-40)\" : \"var(--color-grey-80)\",\n }),\n indicatorsContainer: (provided: CSSObjectWithLabel) => ({\n ...provided,\n position: isMobile ? \"absolute\" : \"initial\",\n right: isMobile ? 0 : \"inherit\",\n top: isMobile ? \"50%\" : \"inherit\",\n transform: isMobile ? \"translateY(-50%)\" : \"initial\",\n zIndex: isMobile ? 0 : \"inherit\", // Inserted this\n }),\n option: (provided: CSSObjectWithLabel, state) => ({\n ...provided,\n paddingLeft: isGrouped ? \"25px\" : provided.paddingLeft,\n cursor: \"pointer\",\n background: isMulti\n ? state.isFocused\n ? \"var(--color-primary-4)\"\n : \"inherit\"\n : state.isSelected\n ? \"var(--color-primary-1)\"\n : state.isFocused\n ? \"var(--color-primary-4)\"\n : undefined,\n color: isMulti ? \"inherit\" : state.isSelected ? \"var(--color-white)\" : undefined,\n \"&:active\": {\n background: \"var(--color-primary-4)\",\n },\n }),\n singleValue: (provided: CSSObjectWithLabel) => ({\n ...provided,\n margin: 0,\n }),\n menuPortal: (provided: CSSObjectWithLabel) => ({\n ...provided,\n zIndex: 1000,\n }),\n menu: (provided: CSSObjectWithLabel) => ({\n ...provided,\n zIndex: 10,\n margin: 0,\n right: alignMenuRight ? 0 : undefined,\n whiteSpace: \"nowrap\",\n borderRadius: \"var(--border-radius-small)\",\n boxShadow: \"var(--shadow-level-3)\",\n width: \"auto\",\n minWidth: \"100%\",\n }),\n menuList: (provided: CSSObjectWithLabel) => ({\n ...provided,\n padding: 0,\n }),\n input: (provided: CSSObjectWithLabel) => ({\n ...provided,\n margin: 0,\n }),\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"DropdownArrow_wrapper__QDS2X\",\"small\":\"DropdownArrow_small__9BRAU\",\"disabled\":\"DropdownArrow_disabled__+AoG5\",\"arrowBox\":\"DropdownArrow_arrowBox__l8ukd\",\"arrow\":\"DropdownArrow_arrow__TfClS\",\"expanded\":\"DropdownArrow_expanded__VefIG\"};","import React from \"react\";\nimport { DropdownIndicatorProps } from \"react-select\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Icon, DA_IconNames } from \"../Icon/Icon.component\";\nimport S from \"./DropdownArrow.module.scss\";\n\nexport interface DA_DropdownArrowProps extends Partial<DropdownIndicatorProps> {\n small?: boolean;\n expanded?: boolean;\n}\n\nexport const DA_DropdownArrow = (props: DA_DropdownArrowProps) => (\n <div\n className={cn(\n S.wrapper,\n props.small && S.small,\n props.isDisabled && S.disabled,\n (props.expanded || props.selectProps?.menuIsOpen) && S.expanded\n )}\n >\n <div className={S.arrowBox}>\n <DA_Icon name={DA_IconNames.ChevronSmallDown} className={S.arrow} />\n </div>\n </div>\n);\n","import { useCallback } from \"react\";\nimport { DA_SelectOption, DA_SelectProps } from \"../Select.props\";\n\ntype Props<T> = Pick<DA_SelectProps<T>, \"getLabel\" | \"getValue\" | \"getExtra\">;\n\nexport const useConvertOption = <T>({ getLabel, getValue, getExtra }: Props<T>) =>\n useCallback(\n (option: T): DA_SelectOption =>\n option\n ? {\n // @ts-ignore\n value: getValue ? getValue(option) : option.value,\n // @ts-ignore\n label: getLabel ? getLabel(option) : option.label,\n // @ts-ignore\n extra: getExtra ? getExtra(option) : option.extra,\n // @ts-ignore\n disabled: option.disabled,\n }\n : undefined,\n [getValue, getLabel, getExtra]\n );\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Select_wrapper__GP75B\",\"disabled\":\"Select_disabled__JCqoT\",\"fullWidth\":\"Select_fullWidth__ZIZPd\",\"groupLabel\":\"Select_groupLabel__gOYzg\",\"extraText\":\"Select_extraText__kSueM\",\"helperWrapper\":\"Select_helperWrapper__QRFCB\",\"helperValue\":\"Select_helperValue__2BDnL\",\"variantText\":\"Select_variantText__EIrKv\",\"singleValue\":\"Select_singleValue__OqXX4\",\"disableOptionStyling\":\"Select_disableOptionStyling__FFhJW\"};","import React, { useImperativeHandle, useState } from \"react\";\nimport Select, { components, GroupBase, MenuListProps, OptionProps } from \"react-select\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { SingleValueProps } from \"react-select\";\nimport { useScreen } from \"@danishagro/shared/src/contexts/screen.context\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { getSelectStyles } from \"../../../helpers/getSelectStyles.helper\";\nimport { DA_DropdownArrow } from \"../DropdownArrow/DropdownArrow.component\";\nimport { DA_SelectOption, DA_SelectProps } from \"./Select.props\";\nimport { useConvertValue } from \"./hooks/useConvertValue.hook\";\nimport { useParsedOptions } from \"./hooks/useParsedOptions.hook\";\nimport { useSelectedOption } from \"./hooks/useSelectedOption.hook\";\nimport S from \"./Select.module.scss\";\n\nexport const DA_Select = <T,>({\n options,\n value,\n onChange,\n getValue,\n getLabel,\n getExtra,\n prefix,\n postfix,\n methodsRef,\n disableOptionStyling,\n ...restProps\n}: DA_SelectProps<T>) => {\n const { isMobile } = useScreen();\n const [isOpen, setIsOpen] = useState(false);\n const { getDictionaryString } = useTranslations();\n const convertValue = useConvertValue({ options, getLabel, getValue });\n const parsedOptions = useParsedOptions({ options, getLabel, getValue, getExtra });\n const selectedOption = useSelectedOption({ parsedOptions, value });\n const hasGroupedOptions =\n typeof (parsedOptions as unknown as GroupBase<T>)[0]?.options !== \"undefined\";\n\n const option = (data: OptionProps<DA_SelectOption>) => (\n <components.Option {...data}>\n <div>{data.data.label}</div>\n {data.data.extra ? (\n React.isValidElement(data.data.extra) ? (\n data.data.extra\n ) : (\n <div className={S.extraText}>{data.data.extra}</div>\n )\n ) : null}\n </components.Option>\n );\n\n const SingleValue = (props: SingleValueProps<DA_SelectOption>) => (\n <components.SingleValue {...props} className={S.singleValue}>\n {restProps.inlineLabel ? (\n <div className={S.helperWrapper}>\n <span>{restProps.selectName}: </span>\n <span className={S.helperValue}>{props.children}</span>\n </div>\n ) : (\n props.children\n )}\n </components.SingleValue>\n );\n\n const menuList = (props: MenuListProps) => (\n <components.MenuList className={disableOptionStyling && S.disableOptionStyling} {...props}>\n {React.isValidElement(prefix) ? prefix : null}\n\n {props.children}\n\n {React.isValidElement(postfix) ? postfix : null}\n </components.MenuList>\n );\n\n useImperativeHandle(methodsRef, () => ({ close: () => setIsOpen(false) }), []);\n\n return (\n <div\n className={cn(\n S.wrapper,\n restProps.disabled && S.disabled,\n restProps.fullWidth && S.fullWidth,\n restProps.className\n )}\n >\n <Select<DA_SelectOption>\n inputId={restProps.id}\n name={restProps.name}\n maxMenuHeight={restProps.maxMenuHeight ?? 300}\n aria-label={restProps.ariaLabel}\n defaultValue={convertValue(restProps.defaultValue)}\n tabIndex={restProps.tabIndex}\n isDisabled={restProps.disabled}\n styles={getSelectStyles({\n ...restProps,\n isMobile: isMobile,\n isGrouped: hasGroupedOptions,\n })}\n menuPortalTarget={\n restProps.menuPortalTarget === null\n ? null\n : restProps.menuPortalTarget || document.body\n }\n menuPlacement=\"auto\"\n isSearchable={restProps.isSearchable || false}\n placeholder={restProps.placeholder}\n value={selectedOption}\n options={parsedOptions}\n formatGroupLabel={({ label }) => <div className={S.groupLabel}>{label}</div>}\n isOptionDisabled={(option) => option.disabled}\n getOptionLabel={({ label }) =>\n (React.isValidElement(label) ? label : `${label}`) as string\n }\n getOptionValue={({ value }) => `${value}`}\n components={{\n SingleValue,\n DropdownIndicator: (data) => (\n <>\n {restProps.inlineLabel && (\n <span className={S.variantText}>\n {`${restProps.variantCount} ${getDictionaryString(\"variants\")}`}\n </span>\n )}\n\n <DA_DropdownArrow {...data} small={restProps.small} />\n </>\n ),\n IndicatorSeparator: () => null,\n Option: option,\n MenuList: menuList,\n }}\n menuIsOpen={isOpen}\n onMenuOpen={() => setIsOpen(true)}\n onMenuClose={() => setIsOpen(false)}\n onChange={(newSelection) =>\n onChange(\n // @ts-ignore\n hasGroupedOptions\n ? (options as GroupBase<DA_SelectOption>[])\n .find((group) =>\n group.options.find(\n (option) =>\n // @ts-ignore\n (getValue ? getValue(option as T) : option.value) ===\n newSelection.value\n )\n )\n .options.find(\n (option) =>\n // @ts-ignore\n (getValue ? getValue(option as T) : option.value) ===\n newSelection.value\n )\n : (options as DA_SelectOption[]).find(\n (option) =>\n // @ts-ignore\n (getValue ? getValue(option as T) : option.value) ===\n newSelection.value\n )\n )\n }\n />\n </div>\n );\n};\n","import { useCallback } from \"react\";\nimport { GroupBase } from \"react-select\";\nimport { DA_SelectOption, DA_SelectProps, DA_SelectValue } from \"../Select.props\";\nimport { useConvertOption } from \"./useConvertOption.hook\";\n\ntype Props<T> = Pick<DA_SelectProps<T>, \"options\" | \"getLabel\" | \"getValue\">;\n\nexport const useConvertValue = <T>({ options, getLabel, getValue }: Props<T>) => {\n const convertOption = useConvertOption({ getLabel, getValue });\n return useCallback(\n (target?: DA_SelectValue): DA_SelectOption =>\n target\n ? convertOption(\n // @ts-ignore\n typeof options[0].options !== \"undefined\"\n ? (options as GroupBase<T>[]).find((group) =>\n group.options.find(\n (option) =>\n (getValue\n ? getValue(option)\n : // @ts-ignore\n option.value) === target\n )\n )\n : (options as T[]).find(\n (option) =>\n (getValue\n ? getValue(option)\n : // @ts-ignore\n option.value) === target\n )\n )\n : undefined,\n [options, convertOption, getValue]\n );\n};\n","import { useMemo } from \"react\";\nimport { GroupBase } from \"react-select\";\nimport { DA_SelectOption, DA_SelectProps } from \"../Select.props\";\nimport { useConvertOption } from \"./useConvertOption.hook\";\n\ntype Props<T> = Pick<DA_SelectProps<T>, \"options\" | \"getLabel\" | \"getValue\" | \"getExtra\">;\n\nexport const useParsedOptions = <T>({\n options,\n getLabel,\n getValue,\n getExtra,\n}: Props<T>): DA_SelectOption[] | GroupBase<DA_SelectOption>[] => {\n const convertOption = useConvertOption({ getLabel, getValue, getExtra });\n return useMemo(\n () =>\n options &&\n options.length &&\n // @ts-ignore\n typeof options[0].options !== \"undefined\"\n ? options.map((group) => ({\n ...group,\n options: group.options.map((option) => convertOption(option)),\n }))\n : options.map((option) => convertOption(option)),\n [options, convertOption]\n );\n};\n","import { useMemo } from \"react\";\nimport { GroupBase } from \"react-select\";\nimport { DA_SelectOption, DA_SelectProps } from \"../Select.props\";\n\ntype Props<T> = Pick<DA_SelectProps<T>, \"getValue\" | \"value\"> & {\n parsedOptions: DA_SelectOption[] | GroupBase<DA_SelectOption>[];\n};\n\nexport const useSelectedOption = <T>({ parsedOptions, value }: Props<T>) =>\n useMemo(\n () =>\n parsedOptions &&\n parsedOptions.length &&\n // @ts-ignore\n typeof parsedOptions[0].options !== \"undefined\"\n ? (parsedOptions as GroupBase<DA_SelectOption>[]).reduce<DA_SelectOption>(\n (foundOption, group) =>\n foundOption\n ? foundOption\n : group.options.find((option) => option.value === value),\n undefined\n )\n : (parsedOptions as DA_SelectOption[]).find((option) => option.value === value),\n [parsedOptions, value]\n );\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Spinner_wrapper__p2dcv\",\"spinner\":\"Spinner_spinner__HEmqZ\",\"spin\":\"Spinner_spin__oZ+Vx\"};","import React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport S from \"./Spinner.module.scss\";\n\nexport interface DA_SpinnerProps {\n className?: string;\n}\n\nexport const DA_Spinner = ({ className }: DA_SpinnerProps) => (\n <span className={cn(S.wrapper, className)}>\n <span className={S.spinner} />\n </span>\n);\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Text_wrapper__Xg-ir\",\"alignCenter\":\"Text_alignCenter__sIu55\",\"bold\":\"Text_bold__lUUBA\",\"dimmed\":\"Text_dimmed__qzQYY\",\"paddingBottom\":\"Text_paddingBottom__H3F9i\",\"largeText\":\"Text_largeText__PrpBj\",\"smallText\":\"Text_smallText__xX4pU\"};","import React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { useAppData } from \"../../../contexts/appData.context\";\nimport { markLinksFromString } from \"../../../helpers/markLinksFromStrings.helper\";\nimport S from \"./Text.module.scss\";\n\ninterface TextWithChildren {\n html?: never;\n children: React.ReactNode;\n}\n\ninterface TextWithString {\n html: string;\n children?: never;\n}\n\ninterface BaseProps {\n bold?: boolean;\n dimmed?: boolean;\n noPadding?: boolean;\n smallText?: boolean;\n alignCenter?: boolean;\n className?: string;\n}\n\nexport type DA_TextProps = BaseProps & (TextWithChildren | TextWithString);\n\nexport const DA_Text = (props: DA_TextProps) => {\n const { currentSite } = useAppData();\n\n const shouldLargeText = currentSite === \"CMS\";\n\n const combinedClassNames = cn(\n S.wrapper,\n props.className,\n props.alignCenter && S.alignCenter,\n props.bold && S.bold,\n props.dimmed && S.dimmed,\n props.noPadding || S.paddingBottom,\n props.smallText && S.smallText,\n shouldLargeText && S.largeText\n );\n\n return props.html ? (\n <div\n className={combinedClassNames}\n dangerouslySetInnerHTML={{\n __html: markLinksFromString(props.html),\n }}\n />\n ) : (\n <div className={combinedClassNames}>{props.children}</div>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"Title_title__ArQe8\",\"noMargin\":\"Title_noMargin__awlNA\",\"fullWidth\":\"Title_fullWidth__7bFZA\",\"inheritColor\":\"Title_inheritColor__2Ewnu\",\"h2\":\"Title_h2__Fue+r\",\"h3\":\"Title_h3__e+AjN\",\"h4\":\"Title_h4__fIkLd\",\"h5\":\"Title_h5__WhmnA\",\"titleTag\":\"Title_titleTag__YN2ou\",\"clamp\":\"Title_clamp__g8FND\",\"appendix\":\"Title_appendix__YLNFa\"};","import React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport S from \"./Title.module.scss\";\n\nexport enum DA_TitleTag {\n DIV = \"DIV\",\n H1 = \"H1\",\n H2 = \"H2\",\n H3 = \"H3\",\n H4 = \"H4\",\n H5 = \"H5\",\n P = \"P\",\n}\n\n// A typeface is the design of lettering that can include variations in size,\n// weight (e.g. bold), slope (e.g. italic), width (e.g. condensed), and so on.\nexport enum DA_TitleTypeface {\n H1 = \"H1\",\n H2 = \"H2\",\n H3 = \"H3\",\n H4 = \"H4\",\n H5 = \"H5\",\n}\n\ninterface TitleWithTypeface {\n h1?: never;\n h2?: never;\n h3?: never;\n h4?: never;\n h5?: never;\n typeface: DA_TitleTypeface;\n}\n\ninterface TitleWithH1 {\n h1: true;\n h2?: never;\n h3?: never;\n h4?: never;\n h5?: never;\n typeface?: never;\n}\n\ninterface TitleWithH2 {\n h1?: never;\n h2: true;\n h3?: never;\n h4?: never;\n h5?: never;\n typeface?: never;\n}\n\ninterface TitleWithH3 {\n h1?: never;\n h2?: never;\n h3: true;\n h4?: never;\n h5?: never;\n typeface?: never;\n}\n\ninterface TitleWithH4 {\n h1?: never;\n h2?: never;\n h3?: never;\n h4: true;\n h5?: never;\n typeface?: never;\n}\n\ninterface TitleWithH5 {\n h1?: never;\n h2?: never;\n h3?: never;\n h4?: never;\n h5: true;\n typeface?: never;\n}\n\ninterface BaseProps {\n tag?: DA_TitleTag;\n children: React.ReactNode;\n appendix?: React.ReactNode;\n noMargin?: boolean;\n fullWidth?: boolean;\n itemProp?: string;\n inheritColor?: boolean;\n numberOfLines?: number;\n id?: string;\n}\n\nexport type DA_TitleProps = BaseProps &\n (TitleWithTypeface | TitleWithH1 | TitleWithH2 | TitleWithH3 | TitleWithH4 | TitleWithH5);\n\nexport const DA_Title = (props: DA_TitleProps) => {\n const {\n typeface,\n tag,\n children,\n appendix,\n noMargin,\n fullWidth,\n itemProp,\n inheritColor,\n numberOfLines,\n id,\n ...headings\n } = props;\n\n const {\n h2 = typeface === DA_TitleTypeface.H2,\n h3 = typeface === DA_TitleTypeface.H3,\n h4 = typeface === DA_TitleTypeface.H4,\n h5 = typeface === DA_TitleTypeface.H5,\n } = headings;\n\n const titleClass = cn(\n S.title,\n cn(h2 && S.h2, h3 && S.h3, h4 && S.h4, h5 && S.h5),\n noMargin && S.noMargin,\n fullWidth && S.fullWidth,\n inheritColor && S.inheritColor\n );\n\n const HtmlTag = (tag ? tag === DA_TitleTag.H2 : h2)\n ? \"h2\"\n : (tag ? tag === DA_TitleTag.H3 : h3)\n ? \"h3\"\n : (tag ? tag === DA_TitleTag.H4 : h4)\n ? \"h4\"\n : (tag ? tag === DA_TitleTag.H5 : h5)\n ? \"h5\"\n : tag === DA_TitleTag.P\n ? \"p\"\n : tag === DA_TitleTag.DIV\n ? \"div\"\n : \"h1\";\n\n return (\n <div className={titleClass} id={id}>\n <HtmlTag\n className={cn(S.titleTag, numberOfLines && S.clamp)}\n itemProp={itemProp}\n style={{ \"--title-line-clamp\": numberOfLines } as React.CSSProperties}\n >\n {children}\n </HtmlTag>\n\n {/** Appendix */}\n {appendix && <div className={S.appendix}>{appendix}</div>}\n </div>\n );\n};\n","import React from \"react\";\n\nexport interface AccordionProps {\n title: string | React.ReactNode;\n tagline?: string;\n defaultOpen?: boolean;\n showLargeHeader?: boolean;\n showMediumHeader?: boolean;\n showSmallHeader?: boolean;\n showToggleIcons?: boolean;\n showToggleLabel?: boolean;\n showLargeArrow?: boolean;\n\n className?: string;\n children: React.ReactNode;\n\n animation?: boolean;\n headerFullWidth?: boolean;\n noPaddingHeader?: boolean;\n allowThickBorder?: boolean;\n toggleOnWrapper?: boolean;\n onToggle?: () => void;\n isOpen?: boolean;\n salesTabStatisticStyle?: boolean;\n}\n\nexport enum AccordionViewState {\n Collapsed = \"COLLAPSED\",\n Expanded = \"EXPANDED\",\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Accordion_wrapper__ocNiX\",\"header\":\"Accordion_header__qcrmI\",\"title\":\"Accordion_title__g2oLA\",\"isMedium\":\"Accordion_isMedium__IP5gi\",\"isLarge\":\"Accordion_isLarge__kvIHk\",\"toolbar\":\"Accordion_toolbar__wytoB\",\"tagline\":\"Accordion_tagline__TI3xW\",\"toggleWrapper\":\"Accordion_toggleWrapper__KYnD7\",\"toggleIcon\":\"Accordion_toggleIcon__AwIPl\",\"content\":\"Accordion_content__Hv5Nr\",\"isSmall\":\"Accordion_isSmall__SijSs\",\"noPaddingHeader\":\"Accordion_noPaddingHeader__u3xRM\",\"animationContent\":\"Accordion_animationContent__TGIFo\",\"show\":\"Accordion_show__kE0Ob\",\"headerFullWidth\":\"Accordion_headerFullWidth__8ZMwK\",\"allowThickBorder\":\"Accordion_allowThickBorder__Wek7Z\",\"showLargeArrow\":\"Accordion_showLargeArrow__DRT6s\",\"salesTabStatisticStyle\":\"Accordion_salesTabStatisticStyle__jn2EI\",\"showMoreLess\":\"Accordion_showMoreLess__wsq59\"};","/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, {\n useCallback,\n useId,\n useState,\n MouseEvent,\n forwardRef,\n useImperativeHandle,\n useRef,\n useEffect,\n} from \"react\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_ButtonLink } from \"../../atoms/ButtonLink/ButtonLink.component\";\nimport { useTranslations } from \"../../../contexts/translations/translations.context\";\nimport { AccordionProps, AccordionViewState } from \"./Accordion.props\";\nimport S from \"./Accordion.module.scss\";\n\ninterface DA_ProductDescriptionRefInterface {\n showFullDescription: () => void;\n scrollIntoView: () => void;\n}\n\nexport const DA_Accordion = forwardRef(\n (\n { isOpen = false, ...props }: AccordionProps,\n ref: React.Ref<DA_ProductDescriptionRefInterface>\n ) => {\n const { getDictionaryString } = useTranslations();\n\n // Initialize viewState based on defaultOpen prop\n const initialState =\n props.defaultOpen || isOpen\n ? AccordionViewState.Expanded\n : AccordionViewState.Collapsed;\n const [viewState, setViewState] = useState<string>(initialState);\n\n const someDomElementRef = useRef<HTMLDivElement>(null);\n const showFullDescription = () => setViewState(AccordionViewState.Expanded);\n\n const contentRef = useRef(null);\n const [maxHeight, setMaxHeight] = useState(\"0px\");\n\n useEffect(() => {\n if (\n props.animation &&\n viewState === AccordionViewState.Expanded &&\n contentRef.current\n ) {\n setMaxHeight(`${contentRef.current.scrollHeight}px`);\n } else {\n setMaxHeight(\"0px\");\n }\n }, [viewState, props.animation]);\n\n const buttonId = useId();\n const regionId = useId();\n\n const onToggleButtonClicked = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n event?.stopPropagation();\n\n if (viewState === AccordionViewState.Collapsed) {\n setViewState(AccordionViewState.Expanded);\n } else {\n setViewState(AccordionViewState.Collapsed);\n }\n\n // Call the onToggle prop if it exists\n if (props.onToggle) {\n props.onToggle();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [viewState, props.onToggle]\n );\n\n // Allow parent components to imperatively open the accordion\n useImperativeHandle(\n ref,\n () => ({\n showFullDescription,\n scrollIntoView: () =>\n someDomElementRef.current?.scrollIntoView({ behavior: \"smooth\" }),\n }),\n []\n );\n\n return (\n <div\n ref={someDomElementRef}\n className={cn(\n S.wrapper,\n props.showLargeHeader && S.isLarge,\n props.showMediumHeader && S.isMedium,\n props.showSmallHeader && S.isSmall,\n props.salesTabStatisticStyle && S.salesTabStatisticStyle,\n props.className,\n props.allowThickBorder &&\n viewState === AccordionViewState.Expanded &&\n S.allowThickBorder\n )}\n >\n <div\n className={cn(\n S.header,\n props.headerFullWidth && S.headerFullWidth,\n props.noPaddingHeader && S.noPaddingHeader\n )}\n onClick={!props.toggleOnWrapper ? onToggleButtonClicked : undefined}\n id={buttonId}\n role=\"button\"\n tabIndex={0}\n aria-controls={regionId}\n aria-expanded={viewState === AccordionViewState.Expanded}\n >\n <div className={cn(S.title, props.headerFullWidth && S.headerFullWidth)}>\n {props.title}\n </div>\n\n <div className={S.toolbar}>\n <div className={S.tagline}>{props.tagline}</div>\n\n {viewState === AccordionViewState.Expanded ? (\n <div\n className={cn(\n S.toggleWrapper,\n props.showToggleIcons && S.showMoreLess\n )}\n onClick={props.toggleOnWrapper ? onToggleButtonClicked : undefined}\n >\n {props.showToggleIcons ? (\n <DA_Icon\n className={cn(\n S.toggleIcon,\n props?.showLargeArrow && S.showLargeArrow\n )}\n name={DA_IconNames.ChevronSmallUp}\n />\n ) : null}\n\n {props.showToggleLabel ? (\n <DA_ButtonLink\n onClick={onToggleButtonClicked}\n title={getDictionaryString(\"showLess\")}\n />\n ) : null}\n </div>\n ) : null}\n\n {viewState === AccordionViewState.Collapsed && (\n <div\n className={cn(\n S.toggleWrapper,\n props.showToggleIcons && S.showMoreLess\n )}\n onClick={props.toggleOnWrapper ? onToggleButtonClicked : undefined}\n >\n {props.showToggleIcons && (\n <DA_Icon\n className={cn(\n S.toggleIcon,\n props?.showLargeArrow && S.showLargeArrow\n )}\n name={DA_IconNames.ChevronSmallDown}\n />\n )}\n {props.showToggleLabel && (\n <DA_ButtonLink\n onClick={onToggleButtonClicked}\n title={getDictionaryString(\"showMore\")}\n />\n )}\n </div>\n )}\n </div>\n </div>\n\n {props.animation ? (\n <div\n ref={contentRef}\n id={regionId}\n role=\"region\"\n aria-labelledby={buttonId}\n style={{ maxHeight }}\n className={cn(\n S.animationContent,\n viewState === AccordionViewState.Expanded && S.show\n )}\n >\n {props.children}\n </div>\n ) : (\n viewState === AccordionViewState.Expanded && (\n <div\n id={regionId}\n role=\"region\"\n aria-labelledby={buttonId}\n className={S.content}\n >\n {props.children}\n </div>\n )\n )}\n </div>\n );\n }\n);\n\nDA_Accordion.displayName = \"DA_Accordion\";\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"EmptyState_wrapper__H8oNH\",\"fadeIn\":\"EmptyState_fadeIn__x5IE1\",\"fade-in\":\"EmptyState_fade-in__CyIpf\",\"iconWrapper\":\"EmptyState_iconWrapper__Nsg4u\",\"iconOnly\":\"EmptyState_iconOnly__t+9RW\",\"icon\":\"EmptyState_icon__6-A3e\",\"emptyTitle\":\"EmptyState_emptyTitle__8EqV1\",\"text\":\"EmptyState_text__BNm19\",\"cta\":\"EmptyState_cta__w+Xnh\"};","import React, { useMemo } from \"react\";\nimport { DA_Button } from \"../../atoms/Button/Button.component\";\nimport { DA_Icon, DA_IconNames } from \"../../atoms/Icon/Icon.component\";\nimport { DA_Spinner } from \"../../atoms/Spinner/Spinner.component\";\nimport { DA_Text } from \"../../atoms/Text/Text.component\";\nimport { DA_Title } from \"../../atoms/Title/Title.component\";\nimport { useTranslations } from \"../../../contexts/translations/translations.context\";\nimport { cn } from \"../../../helpers/classNames.helper\";\nimport { DA_EmptyStateProps } from \"./EmptyState.props\";\nimport S from \"./EmptyState.module.scss\";\n\nexport enum DA_EmptyStateTypes {\n Loading = \"Loading\",\n Error = \"Error\",\n NoContent = \"NoContent\",\n NoResults = \"NoResults\",\n FormSubmit = \"FormSubmit\",\n NoCartItems = \"NoCardItems\",\n NoRights = \"NoRights\",\n NoContact = \"NoContact\",\n NoFavorites = \"NoFavorites\",\n}\n\nexport const DA_EmptyState = (props: DA_EmptyStateProps) => {\n const { getDictionaryItem } = useTranslations();\n\n const title = useMemo(() => {\n // Custom title\n if (props.doNotShowTitle) {\n return null;\n }\n\n // Custom title\n if (props.title) {\n return props.title;\n }\n switch (props.type) {\n // No cart items\n case DA_EmptyStateTypes.NoCartItems:\n return <DA_Icon name={DA_IconNames.Man} className={S.icon} />;\n // Loading\n case DA_EmptyStateTypes.Loading:\n return getDictionaryItem(\"loading\");\n // No Content\n case DA_EmptyStateTypes.NoContent:\n return getDictionaryItem(\"noContent\");\n // No Results\n case DA_EmptyStateTypes.NoResults:\n return getDictionaryItem(\"noResults\");\n // Error\n case DA_EmptyStateTypes.Error:\n return getDictionaryItem(\"error\");\n // Form Submit\n case DA_EmptyStateTypes.FormSubmit:\n return getDictionaryItem(\"formSubmitted\");\n case DA_EmptyStateTypes.NoRights:\n return getDictionaryItem(\"noRights\");\n // No Favorites\n case DA_EmptyStateTypes.NoFavorites:\n return getDictionaryItem(\"NoFavorites\");\n case DA_EmptyStateTypes.NoContact:\n return getDictionaryItem(\"NoContact\");\n // Fallback\n default:\n return \"\";\n }\n }, [props.type, props.title, getDictionaryItem, props.doNotShowTitle]);\n\n const icon = useMemo(() => {\n // Custom icon\n if (props.icon) {\n return <DA_Icon name={props.icon} className={S.icon} />;\n }\n switch (props.type) {\n // No cart items\n case DA_EmptyStateTypes.NoCartItems:\n return <DA_Icon name={DA_IconNames.Man} className={S.icon} />;\n // Loading\n case DA_EmptyStateTypes.Loading:\n return <DA_Spinner />;\n // No Content\n case DA_EmptyStateTypes.NoContent:\n return <DA_Icon name={DA_IconNames.Man} className={S.icon} />;\n // No Results\n case DA_EmptyStateTypes.NoResults:\n return <DA_Icon name={DA_IconNames.ExclamationMark} className={S.icon} />;\n // No Favorites\n case DA_EmptyStateTypes.NoFavorites:\n return <DA_Icon name={DA_IconNames.HeartOutline} className={S.icon} />;\n // Error\n case DA_EmptyStateTypes.Error:\n return <DA_Icon name={DA_IconNames.MagnifyingGlass} className={S.icon} />;\n // Form Submit\n case DA_EmptyStateTypes.FormSubmit:\n return <DA_Icon name={DA_IconNames.FormSubmit} className={S.icon} />;\n case DA_EmptyStateTypes.NoRights:\n return <DA_Icon name={DA_IconNames.ExclamationMark} className={S.icon} />;\n case DA_EmptyStateTypes.NoContact:\n return <DA_Icon name={DA_IconNames.Contact} className={S.icon} />;\n // Fallback\n default:\n return <DA_Icon name={DA_IconNames.Man} className={S.icon} />;\n }\n }, [props.type, props.icon]);\n\n return (\n <div className={cn(S.wrapper, props.fadeIn && S.fadeIn, props.iconOnly && S.iconOnly)}>\n {/** Icon */}\n {icon ? <div className={S.iconWrapper}>{icon}</div> : null}\n\n {/** Title */}\n <div className={S.emptyTitle}>\n <DA_Title h3 noMargin>\n {title}\n </DA_Title>\n </div>\n\n {/** Text: String */}\n {typeof props.text === \"string\" && (\n <div className={S.text}>\n <DA_Text smallText={props.smallText} noPadding html={props.text} />\n </div>\n )}\n\n {/** Text: ReactNode */}\n {React.isValidElement(props.text) && (\n <div className={S.text}>\n <DA_Text smallText={props.smallText} noPadding>\n {props.text}\n </DA_Text>\n </div>\n )}\n\n {/** Button */}\n {props.cta ? (\n <div className={S.cta}>\n <DA_Button title={props.cta.text} onClick={props.cta.onClick} />\n </div>\n ) : null}\n </div>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"Toast_container__XLNRl\",\"altStyle\":\"Toast_altStyle__hT9ZM\",\"toastBasket\":\"Toast_toastBasket__yA1Ql\",\"linkToBasket\":\"Toast_linkToBasket__rU6Lb\",\"toastInfo\":\"Toast_toastInfo__Sasvy\",\"toastWrapper\":\"Toast_toastWrapper__pMVXJ\",\"animateToast\":\"Toast_animateToast__T+fie\",\"error\":\"Toast_error__VqjOw\"};","import React from \"react\";\nimport { DA_BasicLink } from \"@danishagro/shared/src/components/atoms/BasicLink/BasicLink.component\";\nimport { DA_Container } from \"../../atoms/Container/Container.component\";\nimport { cn } from \"../../../helpers/classNames.helper\";\nimport { DA_ToastProps } from \"./Toast.props\";\nimport S from \"./Toast.module.scss\";\n\nexport const DA_Toast = (props: DA_ToastProps) => {\n const content = (\n <>\n <div className={S.toastInfo}>{props.message}</div>\n {props.goTo ? (\n <div className={S.toastBasket}>\n <div className={S.linkToBasket}>{props.goTo}</div>\n </div>\n ) : null}\n </>\n );\n\n const wrapperClassNames = cn(\n S.toastWrapper,\n props.altStyle && S.altStyle,\n props.type === \"error\" ? S.error : undefined\n );\n\n return (\n <DA_Container flexColumn className={S.container}>\n {props.href ? (\n <DA_BasicLink\n className={wrapperClassNames}\n href={props.href}\n target=\"_self\"\n conventionalRouting\n >\n {content}\n </DA_BasicLink>\n ) : (\n <div className={wrapperClassNames}>{content}</div>\n )}\n </DA_Container>\n );\n};\n","import { DA_SiteVariant } from \"../interfaces/siteVariant.interface\";\n\nexport const SITE_VARIANTS: DA_SiteVariant[] = [\n {\n alias: \"danish-agro\",\n },\n {\n alias: \"dla-agro\",\n },\n {\n alias: \"nordic-seed\",\n },\n {\n alias: \"vilofarm\",\n },\n {\n alias: \"agro-business\",\n },\n {\n alias: \"vilomix\",\n },\n {\n alias: \"agrosan\",\n },\n {\n alias: \"wildbird\",\n },\n {\n alias: \"green\",\n },\n {\n alias: \"blue\",\n },\n {\n alias: \"red\",\n },\n {\n alias: \"orange\",\n },\n {\n alias: \"trinol\",\n },\n {\n alias: \"lolland-falster-bioenergi\",\n },\n {\n alias: \"ada-green-energy\",\n },\n];\n","export const SOFT_HYPHEN_SYMBOL = \"¶\";\n","import {\n GET_B2B_SITE_ORIGIN,\n GET_CMS_SITE_ORIGIN,\n GET_MYFARM_SITE_ORIGIN,\n GET_ECOM_SITE_ORIGIN,\n} from \"@danishagro/shared/src/helpers/urlRoot.helper\";\n\n/** SITE ORIGINS */\n\nexport const MYFARM_SITE_ORIGIN = GET_MYFARM_SITE_ORIGIN();\nexport const B2B_SITE_ORIGIN = GET_B2B_SITE_ORIGIN();\nexport const CMS_SITE_ORIGIN = GET_CMS_SITE_ORIGIN();\nexport const ECOM_SITE_ORIGIN = GET_ECOM_SITE_ORIGIN();\n\n/** API ROOTS */\n\nexport const API_GATEWAY_ROOT = (\n globalThis.apiGatewayUrl\n ? globalThis.apiGatewayUrl\n : location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\"\n ? \"https://myfarm-api-dev.danishagro.com/api\"\n : \"\"\n).replace(/\\/$/g, \"\");\n\n// OLD B2B_API_ROOT\n// https://app-b2bshop-api-dev.azurewebsites.net\n\n// NEW B2B_API_ROOT\n// https://app-apigateway-dev.azurewebsites.net\n\nexport const B2B_API_ROOT = (\n globalThis.apiGatewayUrl\n ? globalThis.apiGatewayUrl\n : location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\"\n ? \"https://app-apigateway-dev.azurewebsites.net/api\"\n : \"\"\n).replace(/\\/$/g, \"\");\n\nexport const CMS_API_ROOT = (\n globalThis.cmsApiUrl\n ? globalThis.cmsApiUrl\n : location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\"\n ? \"https://webshop-danishagro-dk.euwest01.umbraco.io/\"\n : \"\"\n).replace(/\\/$/g, \"\");\n\nexport const CMS_CDN_ROOT = (globalThis.cmsCdnUrl ? globalThis.cmsCdnUrl : \"\").replace(/\\/$/g, \"\");\n\nexport const ECOM_API_ROOT = (\n globalThis.b2bUmbracoUrl\n ? globalThis.b2bUmbracoUrl\n : location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\"\n ? \"https://webshop-danishagro-dk.euwest01.umbraco.io/\"\n : \"\"\n).replace(/\\/$/g, \"\");\n","/**\n * @internal\n * @category Cookie\n */\nexport const encodeCookieValue = (value) => encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n","import { encodeCookieValue } from \"./_helpers/encodeCookieValue.helper\";\nimport { encodeCookieName } from \"./_helpers/encodeCookieName.helper\";\n/**\n * Set a cookie with a name, value and optional attributes.\n */\nexport const setCookie = (name, value, attributes) => {\n const options = {\n path: \"\",\n domain: \"\",\n maxAge: undefined,\n expires: undefined,\n httpOnly: false,\n secure: false,\n ...attributes,\n }; // Changeable variables for name and value\n let cookieName = name;\n let cookieValue = value;\n // Set object with attributes\n const cookieAttributes = {\n Path: options.path,\n Domain: options.domain,\n HttpOnly: options.httpOnly,\n Secure: options.secure,\n };\n if (typeof options.maxAge === \"number\") {\n cookieAttributes[\"Max-Age\"] = options.maxAge.toString();\n }\n else if (options.expires) {\n if (typeof options.expires === \"number\") {\n // Convert number of days into milliseconds\n cookieAttributes.Expires = new Date(Date.now() + options.expires * 864e5).toUTCString();\n }\n else {\n cookieAttributes.Expires = options.expires.toUTCString();\n }\n }\n // Turn values supplied as arrays and objects into strings\n try {\n const result = JSON.stringify(cookieValue);\n if (/^[{[]/.test(result)) {\n cookieValue = result;\n }\n }\n catch (error) {\n // Could not stringify, probably because the value was already a string\n }\n // Encode name and value\n cookieName = encodeCookieName(cookieName);\n cookieValue = encodeCookieValue(cookieValue);\n // Convert attributes to a string\n let attributesString = \"\";\n for (const attributeName in cookieAttributes) {\n if (Object.prototype.hasOwnProperty.call(cookieAttributes, attributeName) &&\n cookieAttributes[attributeName]) {\n // Set name\n attributesString += `; ${attributeName}`;\n // If value is a boolean, don't set a value\n if (cookieAttributes[attributeName] === true) {\n continue;\n }\n // Set value\n attributesString += `=${String(cookieAttributes[attributeName]).split(\";\")[0]}`;\n }\n }\n // Set cookie\n document.cookie = `${cookieName}=${cookieValue}${attributesString}`;\n};\n","/**\n * @internal\n * @category Cookie\n */\nexport const encodeCookieName = (name) => encodeURIComponent(String(name))\n .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, encodeURIComponent);\n","import jwtDecode from \"jwt-decode\";\nimport { setCookie } from \"@baggie/core\";\nimport { getDomainName } from \"./getDomainName.helper\";\n\nexport const setCustomerNumberCookie = (accessToken: string, customerNumber: string) => {\n const jwtData = jwtDecode(accessToken) as {\n oid?: string;\n };\n\n // Use a constant for the domain logic to avoid repeating globalThis check\n const cookieDomain = globalThis?.cookieDomain\n ? globalThis.cookieDomain.startsWith(\".\")\n ? globalThis.cookieDomain\n : `.${globalThis.cookieDomain}`\n : getDomainName();\n\n if (\"oid\" in jwtData) {\n setCookie(`customer.${jwtData.oid}`, customerNumber, {\n path: \"/\",\n domain: cookieDomain,\n });\n }\n\n if (location.hostname === \"localhost\") {\n setCookie(\"localhost-last-customer\", customerNumber);\n }\n};\n","export const getDomainName = () => {\n const domainMatch = location.hostname.match(/\\.[^.]*?(\\.\\w{1,3})?\\.\\w+$/);\n return (domainMatch && domainMatch.length ? domainMatch[0] : location.hostname).replace(\n /^\\./,\n \"\"\n );\n};\n","/**\n * @internal\n * @category Cookie\n */\nexport const decodeCookieParts = (part) => part.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n","/**\n * Detect if the user is using **touch** or a **mouse** as an input device.\n */\nexport class DetectInputMethod {\n mouseMoveCount;\n settings;\n constructor(options) {\n this.mouseMoveCount = 0;\n this.settings = {\n touchClass: \"touch-input\",\n mouseClass: \"mouse-input\",\n mouseMoveThreshold: 5,\n continuousDetection: false,\n setClassOnElement: document.documentElement,\n ...options,\n };\n document.addEventListener(\"touchstart\", this.touchFired);\n document.addEventListener(\"mousemove\", this.mouseMoved);\n }\n touchFired = () => {\n this.mouseMoveCount = 0;\n if (!this.settings.continuousDetection) {\n this.unbind();\n }\n const element = this.settings.setClassOnElement;\n if (element) {\n element.classList.remove(this.settings.mouseClass || \"\");\n element.classList.add(this.settings.touchClass || \"\");\n }\n if (this.settings.callback) {\n this.settings.callback({\n isMouse: false,\n isTouch: true,\n });\n }\n };\n mouseMoved = () => {\n this.mouseMoveCount += 1;\n if (this.mouseMoveCount >= (this.settings.mouseMoveThreshold || 5)) {\n if (!this.settings.continuousDetection) {\n this.unbind();\n }\n const element = this.settings.setClassOnElement;\n if (element) {\n element.classList.remove(this.settings.touchClass || \"\");\n element.classList.add(this.settings.mouseClass || \"\");\n }\n if (this.settings.callback) {\n this.settings.callback({\n isMouse: true,\n isTouch: false,\n });\n }\n }\n };\n unbind = () => {\n document.removeEventListener(\"touchstart\", this.touchFired);\n document.removeEventListener(\"mousemove\", this.mouseMoved);\n };\n}\n","export class CustomError extends Error {\n response: Response;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(message: string, response: Response, data: any) {\n super(message);\n Object.setPrototypeOf(this, CustomError.prototype); // Necessary when extending built-ins\n this.name = \"CustomError\";\n this.response = response;\n this.data = data;\n }\n}\n","export const isSSR = !(\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement\n);\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport {\n getBearerToken,\n getBearerTokenB2B,\n} from \"@danishagro/shared/src/helpers/getBearerToken.helper\";\nimport { setCustomerNumberCookie } from \"@danishagro/shared/src/helpers/setCustomerNumberCookie.helper\";\nimport { getCookie, DetectInputMethod } from \"@baggie/core\";\nimport { DA_GlobalVariables } from \"@danishagro/shared/src/interfaces/sharedGlobalVariables.interface\";\nimport { useNavigate } from \"react-router-dom\";\nimport { HeroObj } from \"@danishagro/shared/src/interfaces/HeroObj.interface\";\nimport { CustomError } from \"@danishagro/shared/src/utils/CustomError\";\nimport { isSSR as isSSRHelper } from \"../helpers/isSSR.helper\";\nimport { DA_UserInformation } from \"../interfaces/userInformation.interface\";\nimport { DA_SiteVariant } from \"../interfaces/siteVariant.interface\";\nimport { SITE_VARIANTS } from \"../constants/siteVariants.constants\";\nimport { isSafari } from \"../helpers/isSafari.helper\";\nimport { useToastMessage } from \"../hooks/useToastMessage.hook\";\nimport { DA_BasicLink } from \"../components/atoms/BasicLink/BasicLink.component\";\nimport { getUrl } from \"../helpers/getUrl.helper\";\n\ntype SiteName = \"B2B\" | \"MYFARM\" | \"CMS\";\n\ninterface AppDataHook extends DA_GlobalVariables {\n acceptedPolicy: string;\n changeCustomer: (customerNumber: string, forceNew?: boolean) => Promise<void>;\n currentSite: SiteName;\n customerNumber: string;\n cvrNumber: string;\n fetchWithAuth: (url: RequestInfo, options?: RequestInit) => Promise<Response>;\n fetchWithAuthB2b: (\n url: RequestInfo,\n customerNumber: string,\n options?: RequestInit\n ) => Promise<Response>;\n isAppFunctional: boolean;\n isAppReady: boolean;\n isSSR: boolean;\n showError: (message: string) => void;\n showLoginLink: boolean;\n showPrices: boolean;\n showOnlyUniversalMenu: boolean;\n isFarmInTimeEnabled: boolean;\n isCheckoutDeliveryEnabled: boolean;\n isCheckoutDeliveryDatepickerEnabled: boolean;\n isCheckoutAdditionalInformationEnabled: boolean;\n isCheckoutAdditionalInformationPhoneNumberEnabled: boolean;\n deliveryOptionDeliveryModeCode: string;\n deliveryOptionPickupModeCode: string;\n allowContractDeductionsOnFutureContracts: boolean;\n siteVariant: DA_SiteVariant;\n updateContentObj: (key: string, value: Record<string, string> | undefined) => void;\n updateDictionaryObj: (key: string, value: Record<string, string> | undefined) => void;\n updateGlobalVariables: () => Promise<unknown>;\n updateName: (data: Pick<DA_UserInformation, \"firstName\" | \"lastName\">) => void;\n displayFavoritesList: boolean;\n showStockStatus: boolean;\n heroObj?: HeroObj;\n}\n\nconst AppDataContext = React.createContext<AppDataHook>({} as AppDataHook);\n\ntype Props = {\n children: React.ReactNode;\n currentSite: SiteName;\n getGlobalVariables: (\n customerNumber?: string,\n forceNew?: boolean\n ) => Promise<DA_GlobalVariables>;\n};\n\nlet setViewportThrottle: number;\n\nconst setViewport = (): void => {\n window.clearTimeout(setViewportThrottle);\n setViewportThrottle = window.setTimeout(() => {\n if (\n !document.activeElement ||\n (document.activeElement.tagName !== \"INPUT\" &&\n document.activeElement.tagName !== \"TEXTAREA\")\n ) {\n const viewHeight = window.innerHeight;\n let viewport = document.querySelector(\"meta[name=viewport]\");\n if (!viewport) {\n viewport = document.createElement(\"meta\");\n viewport.setAttribute(\"name\", \"viewport\");\n }\n viewport.setAttribute(\n \"content\",\n `height=${viewHeight}, width=device-width, initial-scale=1.0, viewport-fit=cover`\n );\n }\n }, 300);\n};\n\nconst onResizeVisualViewport = (): void => {\n document.documentElement.style.setProperty(\n \"--keyboard-height\",\n `${window.innerHeight - window.visualViewport.height}px`\n );\n};\n\nexport const AppDataProvider = ({\n currentSite,\n getGlobalVariables,\n children,\n}: Props): JSX.Element => {\n const [isAppReady, setIsAppReady] = useState(false);\n const [isAppFunctional, setIsAppFunctional] = useState(false);\n const [isImpersonator, setIsImpersonator] = useState(false);\n const [isSSR, setIsSSR] = useState(true);\n const [customerNumber, setCustomerNumber] = useState(\"\");\n const [cvrNumber, setCvrNumber] = useState<string>();\n const [acceptedPolicy, setAcceptedPolicy] = useState(\"UNKNOWN\");\n const [globalVariables, setGlobalVariables] = useState<DA_GlobalVariables>();\n const [heroObj, setHeroObj] = useState<HeroObj | null>(globalThis.heroObj as HeroObj | null);\n const [showLoginLink, setShowLoginLink] = useState(false);\n const [showPrices, setShowPrices] = useState(true);\n\n const [allowContractDeductionsOnFutureContracts, _setAllowContractDeductionsOnFutureContracts] =\n useState(globalThis.allowContractDeductionsOnFutureContracts ?? false);\n const [showOnlyUniversalMenu, _setShowOnlyUniversalMenu] = useState(\n globalThis.showOnlyUmbracoUniversalMenu ?? false\n );\n const [isCheckoutDeliveryEnabled, _setIsCheckoutDeliveryEnabled] = useState(\n globalThis.isCheckoutDeliveryEnabled ?? false\n );\n const [isCheckoutDeliveryDatepickerEnabled, _setisCheckoutDeliveryDatepickerEnabled] = useState(\n globalThis.isCheckoutDeliveryDatepickerEnabled ?? false\n );\n const [isCheckoutAdditionalInformationEnabled, _setisCheckoutAdditionalInformationEnabled] =\n useState(globalThis.isCheckoutAdditionalInformationEnabled ?? false);\n const [\n isCheckoutAdditionalInformationPhoneNumberEnabled,\n _setisCheckoutAdditionalInformationPhoneNumberEnabled,\n ] = useState(globalThis.isCheckoutAdditionalInformationPhoneNumberEnabled ?? false);\n const [deliveryOptionDeliveryModeCode, _setDeliveryOptionDeliveryModeCode] = useState(\n globalThis.deliveryOptionDeliveryModeCode ?? \"70\"\n );\n const [deliveryOptionPickupModeCode, _setDeliveryOptionPickupModeCode] = useState(\n globalThis.deliveryOptionPickupModeCode ?? \"40\"\n );\n const [isFarmInTimeEnabled, _setIsFarmInTimeEnabled] = useState(\n globalThis.isFarmInTimeEnabled ?? true\n );\n const [displayFavoritesList, _setDisplayFavoritesList] = useState(\n globalThis.showFavoritesList ?? false\n );\n const [showStockStatus, _setShowStockStatus] = useState(globalThis.showStockStatus ?? false);\n\n const [siteVariant, setSiteVariant] = useState<DA_SiteVariant>(\n SITE_VARIANTS.find(({ alias }) => alias === globalThis.siteVariant) || SITE_VARIANTS[0]\n );\n const navigate = useNavigate();\n const toastMessage = useToastMessage();\n\n const showError = useCallback(\n (message: string) => {\n console.error(message);\n toastMessage({\n type: \"error\",\n title: <strong>Noget gik galt</strong>,\n message: (\n <>\n Du kan evt.{\" \"}\n <DA_BasicLink href={getUrl(\"contact\")}>kontakte kundeservice</DA_BasicLink>\n </>\n ),\n });\n },\n [toastMessage]\n );\n\n const updateDictionaryObj = useCallback(\n (key: string, value: Record<string, string> | undefined) => {\n if (value) {\n setGlobalVariables({\n ...globalVariables,\n dictionaryObj: {\n ...globalVariables.dictionaryObj,\n translations: {\n ...globalVariables.dictionaryObj.translations,\n [key]: value[globalVariables.currentCulture],\n },\n },\n });\n globalThis.dictionaryObj.translations = {\n ...globalThis.dictionaryObj.translations,\n [key]: value[globalVariables.currentCulture],\n };\n } else {\n const newTranslations = {\n ...globalVariables.dictionaryObj.translations,\n };\n delete newTranslations[key];\n\n setGlobalVariables({\n ...globalVariables,\n dictionaryObj: {\n ...globalVariables.dictionaryObj,\n translations: {\n ...newTranslations,\n },\n },\n });\n globalThis.dictionaryObj.translations = {\n ...newTranslations,\n };\n }\n },\n [globalVariables]\n );\n\n const updateContentObj = useCallback(\n (key: string, value: Record<string, string> | undefined) => {\n if (value) {\n setGlobalVariables({\n ...globalVariables,\n contentObj: {\n ...globalVariables.contentObj,\n translations: {\n ...globalVariables.contentObj.translations,\n [key]: value[globalVariables.currentCulture],\n },\n },\n });\n globalThis.contentObj.translations = {\n ...globalThis.contentObj.translations,\n [key]: value[globalVariables.currentCulture],\n };\n } else {\n const newTranslations = {\n ...globalVariables.contentObj.translations,\n };\n delete newTranslations[key];\n\n setGlobalVariables({\n ...globalVariables,\n contentObj: {\n ...globalVariables.contentObj,\n translations: {\n ...newTranslations,\n },\n },\n });\n globalThis.contentObj.translations = {\n ...newTranslations,\n };\n }\n },\n [globalVariables]\n );\n\n const acceptedPrivacyPolicy = useCallback(\n (customerNumber: string) => {\n globalVariables?.cvrAndCustomerNumbers?.accounts?.map((account) => {\n const currentCustomerObject = account.customers.find(\n (x) => x.number === customerNumber\n );\n\n if (currentCustomerObject?.hasAcceptedPrivacyPolicy) {\n setAcceptedPolicy(\"ACCEPTED\");\n } else if (currentCustomerObject) {\n setAcceptedPolicy(\"UNDECIDED\");\n }\n });\n },\n [globalVariables]\n );\n\n useEffect(() => {\n acceptedPrivacyPolicy(customerNumber);\n }, [acceptedPrivacyPolicy, customerNumber]);\n\n const fetchWithAuth = useCallback(\n (url: RequestInfo, options?: RequestInit) =>\n getBearerToken().then((accessToken) => {\n globalThis.accessToken = accessToken;\n\n return fetch(url, {\n ...options,\n headers: {\n Authorization: \"Bearer \" + accessToken,\n ...(options?.headers || {}),\n },\n }).then((response) => {\n if (!response.ok) {\n return response.text().then((text) => {\n let errorData = null;\n let errorMessage = text;\n\n try {\n errorData = JSON.parse(text);\n if (errorData && errorData.message) {\n errorMessage = errorData.message;\n }\n } catch (e) {\n // Text is not JSON\n }\n\n // Display the error message\n showError(errorMessage);\n\n // Create a custom error object\n const error = new CustomError(errorMessage, response, errorData);\n throw error;\n });\n }\n return response;\n });\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [showError]\n );\n\n const fetchWithAuthB2b = useCallback(\n (url: RequestInfo, customerNumber: string, options?: RequestInit) =>\n getBearerTokenB2B(customerNumber).then((dwToken) => {\n // Update global DW token and expiration time\n globalThis.dwToken = dwToken;\n\n return fetch(url, {\n ...options,\n headers: {\n Authorization: \"Bearer \" + dwToken,\n ...(options?.headers || {}),\n },\n }).then((response) => {\n if (response?.ok === false) {\n response.text().then((message) => showError(message));\n }\n return response;\n });\n }),\n [showError]\n );\n\n const changeCustomer = useCallback(\n async (newCustomerNumber: string, forceNew = false) => {\n const number =\n newCustomerNumber ||\n (location.hostname === \"localhost\"\n ? getCookie(\"localhost-last-customer\", true)\n : \"\") ||\n \"\";\n try {\n const variables = await getGlobalVariables(number, forceNew);\n\n if (newCustomerNumber) globalThis.dwToken = undefined;\n\n setGlobalVariables({\n ...variables,\n cvrAndCustomerNumbers: {\n ...variables.cvrAndCustomerNumbers,\n defaultCustomerNumber:\n number || variables.cvrAndCustomerNumbers?.defaultCustomerNumber || \"\",\n },\n });\n\n // Fetch heroObj based on currentSite\n if (number) {\n let fetchedHeroObj: HeroObj | null = null;\n const headers = {\n Authorization: \"Bearer \" + globalThis.accessToken,\n };\n\n const fetchHeroObj = (url: string): Promise<HeroObj | null> => {\n return fetch(url, {\n credentials: \"include\",\n headers,\n })\n .then((res) => res.json() as Promise<HeroObj>)\n .catch(() => null);\n };\n\n switch (currentSite) {\n case \"B2B\": {\n const b2bUrl = `${globalThis.b2bFrontendUrl}api/hero?customerNumber=${number}`;\n fetchedHeroObj = await fetchHeroObj(b2bUrl);\n break;\n }\n case \"MYFARM\": {\n const myfarmUrl = `${globalThis.myfarmFrontendUrl}api/hero?customerNumber=${number}`;\n fetchedHeroObj = await fetchHeroObj(myfarmUrl);\n break;\n }\n default: {\n // For CMS or any other site, do not fetch heroObj\n fetchedHeroObj = null;\n break;\n }\n }\n\n setHeroObj(fetchedHeroObj);\n globalThis.heroObj = fetchedHeroObj;\n }\n\n setAcceptedPolicy(\"UNKNOWN\");\n if (number) {\n setCustomerNumber(number);\n } else if (variables.cvrAndCustomerNumbers?.defaultCustomerNumber) {\n setCustomerNumber(variables.cvrAndCustomerNumbers.defaultCustomerNumber);\n }\n setIsAppReady(true);\n setIsImpersonator(globalThis.isImpersonator);\n setIsAppFunctional(\n typeof globalThis.dictionaryObj?.translations !== \"undefined\" &&\n Array.isArray(globalThis.navigationObj) &&\n globalThis.navigationObj.length > 0\n );\n\n if (newCustomerNumber) {\n setCustomerNumberCookie(globalThis.accessToken, newCustomerNumber);\n }\n } catch (err) {\n console.log(err);\n if (location.hostname === \"localhost\") {\n setShowLoginLink(true);\n } else {\n globalThis.showServerError = true;\n setIsAppReady(true);\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [getGlobalVariables]\n );\n\n const updateName: AppDataHook[\"updateName\"] = useCallback(\n ({ firstName, lastName }) => {\n if (currentSite !== \"MYFARM\") throw \"You can only update your name on MyFarm\";\n setGlobalVariables((current) => ({\n ...current,\n cvrAndCustomerNumbers: { ...current.cvrAndCustomerNumbers, firstName, lastName },\n }));\n },\n [currentSite]\n );\n\n const updateGlobalVariables = useCallback(\n () =>\n new Promise((resolve, reject) =>\n getGlobalVariables(customerNumber, true)\n .then((variables) => {\n setGlobalVariables(variables);\n fetch(\"/clearUserCache\")\n .then(() => resolve(null))\n .catch((err) => reject(err));\n })\n .catch((err) => reject(err))\n ),\n [customerNumber, getGlobalVariables]\n );\n\n useEffect(() => {\n if (\n customerNumber &&\n globalVariables?.cvrAndCustomerNumbers?.accounts &&\n globalVariables.cvrAndCustomerNumbers.accounts.length\n ) {\n const customer = globalVariables.cvrAndCustomerNumbers.accounts.find((account) =>\n account.customers.find((customer) => customer.number === customerNumber)\n );\n\n if (customer?.cvr) {\n setCvrNumber(customer.cvr);\n }\n }\n }, [customerNumber, globalVariables]);\n\n useEffect(() => {\n setShowPrices(\n globalThis.isPriceServiceEnabled !== undefined ? globalThis.isPriceServiceEnabled : true\n );\n }, []);\n\n useEffect(() => {\n const themeClass = document.body.className\n .replace(/\\s+/, \"\")\n .split(\" \")\n .find((className) => className.startsWith(\"theme--\"));\n\n if (themeClass) {\n document.body.classList.replace(themeClass, `theme--${siteVariant.alias}`);\n } else {\n document.body.classList.add(`theme--${siteVariant.alias}`);\n }\n }, [siteVariant]);\n\n useEffect(() => {\n const bodyClick = (event: MouseEvent) => {\n const target = event.target as HTMLAnchorElement;\n if (target.hasAttribute(\"data-internal-link-from-string\")) {\n event.preventDefault();\n navigate(target.getAttribute(\"href\") || \"\");\n }\n };\n document.body.addEventListener(\"click\", bodyClick);\n return () => document.body.removeEventListener(\"click\", bodyClick);\n }, [navigate]);\n\n useEffect(() => {\n setViewport();\n const inputMethod = new DetectInputMethod({\n continuousDetection: true,\n });\n window.addEventListener(\"resize\", setViewport);\n\n if (window.visualViewport) {\n window.visualViewport.addEventListener(\"resize\", onResizeVisualViewport);\n }\n\n if (isSafari()) {\n document.documentElement.classList.add(\"is-safari\");\n }\n\n return () => {\n inputMethod.unbind();\n window.removeEventListener(\"resize\", setViewport);\n\n if (window.visualViewport) {\n window.visualViewport.removeEventListener(\"resize\", onResizeVisualViewport);\n }\n };\n }, []);\n\n useEffect(() => {\n // This should really only ever be triggered in Storybook\n const observer = new MutationObserver((mutations: MutationRecord[]) => {\n mutations.forEach((mutation) => {\n if (mutation.type === \"attributes\" && mutation.attributeName === \"class\") {\n const classes = document.body.className.replace(/\\s+/g, \" \").split(\" \");\n const themeClass = classes.find((className) => className.startsWith(\"theme--\"));\n const newSiteVariantAlias = themeClass?.replace(\"theme--\", \"\");\n\n if (newSiteVariantAlias !== siteVariant.alias) {\n const newSiteVariant = SITE_VARIANTS.filter(\n ({ alias }) => alias === newSiteVariantAlias\n );\n\n if (newSiteVariant.length) {\n setSiteVariant(newSiteVariant[0]);\n }\n }\n }\n });\n });\n\n observer.observe(document.body, { attributes: true });\n\n return () => observer.disconnect();\n }, [siteVariant]);\n\n // useEffects don't run on servers - let's take advantage of that\n useEffect(() => {\n if (!isSSRHelper) {\n setIsSSR(false);\n }\n }, []);\n\n useEffect(() => {\n changeCustomer(\"\", false);\n }, [changeCustomer]);\n\n return (\n <AppDataContext.Provider\n value={{\n ...globalVariables,\n acceptedPolicy,\n changeCustomer,\n currentSite,\n customerNumber,\n cvrNumber,\n fetchWithAuth,\n fetchWithAuthB2b,\n isAppFunctional,\n isAppReady,\n isImpersonator,\n isSSR,\n showError,\n showLoginLink,\n showPrices,\n showOnlyUniversalMenu,\n isFarmInTimeEnabled,\n isCheckoutDeliveryEnabled,\n isCheckoutDeliveryDatepickerEnabled,\n isCheckoutAdditionalInformationEnabled,\n isCheckoutAdditionalInformationPhoneNumberEnabled,\n deliveryOptionDeliveryModeCode,\n deliveryOptionPickupModeCode,\n allowContractDeductionsOnFutureContracts,\n siteVariant,\n updateContentObj,\n updateDictionaryObj,\n updateGlobalVariables,\n updateName,\n displayFavoritesList,\n showStockStatus,\n heroObj,\n }}\n >\n {children}\n </AppDataContext.Provider>\n );\n};\n\nexport const useAppData = (): AppDataHook => React.useContext(AppDataContext);\n","import React, { useCallback } from \"react\";\nimport toast from \"react-hot-toast\";\nimport { DA_Toast } from \"../components/molecules/Toast/Toast.component\";\nimport { DA_ToastProps } from \"../components/molecules/Toast/Toast.props\";\n\ninterface Props extends DA_ToastProps {\n title?: React.ReactNode;\n}\n\nexport const useToastMessage = () =>\n useCallback(\n ({ title, message, ...props }: Props) =>\n toast.custom(\n () => (\n <DA_Toast\n {...props}\n message={\n <>\n {title && <div>{title}</div>}\n <div className=\"break-all\">{message}</div>\n </>\n }\n />\n ),\n {\n ariaProps: {\n role: props.type === \"error\" ? \"alert\" : \"status\",\n \"aria-live\": props.type === \"error\" ? \"assertive\" : \"polite\",\n },\n }\n ),\n []\n );\n","import { decodeCookieParts } from \"./_helpers/decodeCookiePart.helper\";\n/**\n * Get a cookie.\n *\n * Be default the value will be parsed using `JSON.parse()`, but if you want to\n * keep it a string (even though it might look like a number, an array or an\n * object), set the parameter `dontParseCookie` to `true`.\n */\nexport const getCookie = (name, dontParseCookie = false) => {\n // Object for storing cookies\n const cookieJar = {};\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n const cookies = document.cookie ? document.cookie.split(\"; \") : [];\n cookies.forEach((cookie) => {\n // Search for cookie or loop through all cookies if no name is defined.\n // If the defined cookie name is already found, skip all of this.\n if (!name || typeof cookieJar[name] === \"undefined\") {\n // Split string into name and value\n const parts = cookie.split(\"=\");\n const cookieName = parts[0];\n let cookieValue = parts.slice(1).join(\"=\");\n // If cookie value is a string and shouldn't be parsed, just remove the surrounding quotes\n if (dontParseCookie && cookieValue.charAt(0) === `\"`) {\n cookieValue = cookieValue.slice(1, -1);\n }\n // Decode cookie name and value\n try {\n const decodedName = decodeCookieParts(cookieName);\n cookieValue = decodeCookieParts(cookieValue);\n if (!dontParseCookie) {\n // Try parsing cookie\n try {\n cookieValue = JSON.parse(cookieValue);\n }\n catch (error) {\n // Cookie value could not be parsed - return unparsed string\n }\n }\n // Add cookie to cookie jar\n cookieJar[decodedName] = cookieValue;\n }\n catch (error) {\n // Failed retrieving or decoding cookie - return undefined\n }\n }\n });\n // Return specific cookie if a name is defined - otherwise return all cookies in an object\n return name ? cookieJar[name] : cookieJar;\n};\n","export const isSafari = () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n","import React, { Suspense, useCallback, useEffect, useRef, useState } from \"react\";\nimport { animated, useTransition } from \"react-spring\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { blurActiveElement } from \"../helpers/blurActiveElement.helper\";\n\nexport enum ModalSize {\n XS = 360,\n SM = 480,\n MD = 580,\n LG = 720,\n XL = 840,\n XXL = 1000,\n}\n\ntype ContentType = React.ReactNode | string;\n\nexport interface ModalOptions {\n size?: ModalSize;\n shouldCloseOnOverlayClick?: boolean;\n shouldCloseOnEsc?: boolean;\n onClose?: () => void;\n}\n\ninterface ModalHook {\n showModal: (content: ContentType, options?: ModalOptions) => void;\n closeModal: () => void;\n isModalShowing: boolean;\n scrollToTop: () => void;\n}\n\nconst ModalContext = React.createContext<ModalHook>({\n showModal: () => null,\n closeModal: () => null,\n isModalShowing: false,\n scrollToTop: () => null,\n});\n\ntype Props = {\n children: React.ReactNode;\n};\n\nconst ReactModal = React.lazy(() => import(\"react-modal\"));\n\nexport const ModalProvider = ({ children }: Props): JSX.Element => {\n const [shouldCloseOnOverlayClick, setShouldCloseOnOverlayClick] = useState(true);\n const [shouldCloseOnEsc, setShouldCloseOnEsc] = useState(true);\n const [content, setContent] = useState<ContentType>();\n const [isShowing, setIsShowing] = useState(false);\n const [size, setSize] = useState<ModalSize>(ModalSize.SM);\n const onCloseCallback = useRef<(() => void) | null>(null);\n const heightChangeCount = useRef(0);\n\n const contentWrapperRef = useRef<HTMLDivElement | null>(null);\n\n const transition = useTransition(isShowing, {\n from: { opacity: 0, transform: \"translate3d(0, -30px, 0)\" },\n enter: { opacity: 1, transform: \"translate3d(0, 0px, 0)\" },\n leave: { opacity: 0, transform: \"translate3d(0, 30px, 0)\" },\n delay: isShowing ? 100 : 0,\n config: { friction: 24 },\n onDestroyed: () => {\n if (!isShowing) {\n setContent(undefined);\n heightChangeCount.current = 0;\n // When the modal closes, focus returns to the element that opened the modal.\n // This is good - but we don't want to draw attention to this element,\n // so let's blur it to remove the outline.\n setTimeout(() => blurActiveElement(), 0);\n }\n },\n });\n\n const showModal = useCallback((content: ContentType, options?: ModalOptions) => {\n const {\n shouldCloseOnOverlayClick = true,\n shouldCloseOnEsc = true,\n onClose,\n } = options || {};\n setShouldCloseOnOverlayClick(shouldCloseOnOverlayClick);\n setShouldCloseOnEsc(shouldCloseOnEsc);\n\n setSize(options?.size || ModalSize.SM);\n if (typeof onClose === \"function\") {\n onCloseCallback.current = onClose;\n }\n setContent(content);\n }, []);\n\n const closeModal = useCallback(() => {\n setIsShowing(false);\n\n if (onCloseCallback.current) {\n onCloseCallback.current();\n onCloseCallback.current = null;\n }\n }, [onCloseCallback]);\n\n const scrollToTop = useCallback(() => {\n contentWrapperRef?.current.scrollTo({ top: 0, behavior: \"smooth\" });\n }, [contentWrapperRef]);\n\n useEffect(() => {\n if (content) {\n setIsShowing(true);\n }\n }, [content]);\n\n return (\n <ModalContext.Provider\n value={{\n showModal,\n closeModal,\n isModalShowing: typeof content !== \"undefined\",\n scrollToTop,\n }}\n >\n {children}\n\n {/** Modal */}\n <Suspense>\n <ReactModal\n isOpen={typeof content !== \"undefined\"}\n onRequestClose={closeModal}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\n overlayClassName=\"modal-container\"\n className=\"modal-content\"\n style={{\n content: {\n maxWidth: `${size}px`,\n },\n }}\n appElement={document.body}\n parentSelector={() => document.body}\n overlayElement={(props, contentEl) => (\n <div {...props}>\n <div\n className={cn(\"modal-overlay\", isShowing && \"modal-overlay--show\")}\n />\n {contentEl}\n </div>\n )}\n >\n {transition(({ transform, opacity }, state) =>\n state ? (\n <animated.div style={{ transform, opacity }}>\n <animated.div\n ref={contentWrapperRef}\n className=\"modal-content-inside\"\n >\n {content}\n </animated.div>\n </animated.div>\n ) : null\n )}\n </ReactModal>\n </Suspense>\n </ModalContext.Provider>\n );\n};\n\nexport const useModal = (): ModalHook => React.useContext(ModalContext);\n","import { useEffect, useState } from 'react';\nimport { isBrowser } from './misc/util';\nvar getInitialState = function (query, defaultState) {\n // Prevent a React hydration mismatch when a default value is provided by not defaulting to window.matchMedia(query).matches.\n if (defaultState !== undefined) {\n return defaultState;\n }\n if (isBrowser) {\n return window.matchMedia(query).matches;\n }\n // A default value has not been provided, and you are rendering on the server, warn of a possible hydration mismatch when defaulting to false.\n if (process.env.NODE_ENV !== 'production') {\n console.warn('`useMedia` When server side rendering, defaultState should be defined to prevent a hydration mismatches.');\n }\n return false;\n};\nvar useMedia = function (query, defaultState) {\n var _a = useState(getInitialState(query, defaultState)), state = _a[0], setState = _a[1];\n useEffect(function () {\n var mounted = true;\n var mql = window.matchMedia(query);\n var onChange = function () {\n if (!mounted) {\n return;\n }\n setState(!!mql.matches);\n };\n mql.addListener(onChange);\n setState(mql.matches);\n return function () {\n mounted = false;\n mql.removeListener(onChange);\n };\n }, [query]);\n return state;\n};\nexport default useMedia;\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { useMedia } from \"react-use\";\n\nexport enum SCREEN_SIZES {\n XXS = 1,\n XS = 512,\n SM = 768,\n MD = 992,\n LG = 1220,\n XL = 1540,\n XXL = 1840,\n}\n\ninterface ScreenHook {\n screenSize: SCREEN_SIZES;\n isMobile: boolean;\n isMobileOrTablet: boolean;\n isMinLg: boolean;\n isMinXs: boolean;\n isScrollLocked: boolean;\n toggleScrollLock: (state?: boolean) => void;\n scrollLockOffset: number;\n scrollTo: (to: number | Element, instant?: boolean) => void;\n}\n\nconst ScreenContext = React.createContext<ScreenHook>({\n screenSize: SCREEN_SIZES.XXS,\n isMobile: true,\n isMobileOrTablet: true,\n isMinLg: false,\n isMinXs: false,\n isScrollLocked: false,\n toggleScrollLock: () => null,\n scrollLockOffset: 0,\n scrollTo: () => null,\n});\n\ntype Props = {\n children: React.ReactNode;\n};\n\nexport const ScreenProvider = ({ children }: Props): JSX.Element => {\n const [isScrollLocked, setIsScrollLocked] = useState(false);\n const [scrollLockOffset, setScrollLockOffset] = useState(0);\n const [screenSize, setScreenSize] = useState(SCREEN_SIZES.XXS);\n\n const toggleScrollLock = useCallback(\n (state?: boolean) => {\n const newState = typeof state === \"boolean\" ? state : !isScrollLocked;\n setIsScrollLocked(newState);\n setScrollLockOffset(newState ? window.scrollY : 0);\n },\n [isScrollLocked]\n );\n\n const isMinXs = useMedia(`(min-width: ${SCREEN_SIZES.XS}px)`);\n const isMinSm = useMedia(`(min-width: ${SCREEN_SIZES.SM}px)`);\n const isMinMd = useMedia(`(min-width: ${SCREEN_SIZES.MD}px)`);\n const isMinLg = useMedia(`(min-width: ${SCREEN_SIZES.LG}px)`);\n const isMinXl = useMedia(`(min-width: ${SCREEN_SIZES.XL}px)`);\n const isMinXxl = useMedia(`(min-width: ${SCREEN_SIZES.XXL}px)`);\n\n const scrollTo = useCallback(\n (to: number | Element, instant = false) => {\n const y =\n typeof to === \"number\"\n ? to\n : to.getBoundingClientRect().top + document.documentElement.scrollTop;\n const top = Math.max(0, y - (isMinLg ? 189 : isMinMd ? 177 : isMinSm ? 89 : 46));\n\n setTimeout(\n // @ts-ignore\n () => window.scrollTo({ top, behavior: instant ? \"instant\" : \"smooth\" }),\n 0\n );\n },\n [isMinLg, isMinMd, isMinSm]\n );\n\n useEffect(() => {\n let newScreenSize = SCREEN_SIZES.XXS;\n if (isMinXxl) {\n newScreenSize = SCREEN_SIZES.XXL;\n } else if (isMinXl) {\n newScreenSize = SCREEN_SIZES.XL;\n } else if (isMinLg) {\n newScreenSize = SCREEN_SIZES.LG;\n } else if (isMinMd) {\n newScreenSize = SCREEN_SIZES.MD;\n } else if (isMinSm) {\n newScreenSize = SCREEN_SIZES.SM;\n } else if (isMinXs) {\n newScreenSize = SCREEN_SIZES.XS;\n }\n setScreenSize(newScreenSize);\n }, [isMinXs, isMinSm, isMinMd, isMinLg, isMinXl, isMinXxl]);\n\n return (\n <ScreenContext.Provider\n value={{\n screenSize,\n isMobile: !isMinSm,\n isMobileOrTablet: !isMinMd,\n isMinLg,\n isMinXs,\n isScrollLocked,\n toggleScrollLock,\n scrollLockOffset,\n scrollTo,\n }}\n >\n {children}\n </ScreenContext.Provider>\n );\n};\n\nexport const useScreen = (): ScreenHook => React.useContext(ScreenContext);\n","import React, { useState } from \"react\";\nimport { DA_ContentBox } from \"../../components/atoms/ContentBox/ContentBox.component\";\nimport { DA_Spinner } from \"../../components/atoms/Spinner/Spinner.component\";\nimport { DA_TranslationType } from \"../../interfaces/translations.interface\";\nimport { ModalSize, useModal } from \"../modal.context\";\n\ninterface Item {\n alias: string;\n value: string;\n location: string;\n}\n\nconst TranslationModalLoader = ({\n alias,\n type,\n onSave,\n dictionaryLocation,\n chooseLocation = false,\n isCreatingNew,\n}: {\n alias: string;\n type: DA_TranslationType;\n onSave?: (updatedItem: Item) => void;\n dictionaryLocation?: string;\n chooseLocation?: boolean;\n isCreatingNew?: boolean;\n}) => {\n const Component = React.lazy(() =>\n import(`../../components/organisms/TranslationModal/TranslationModal.component`).then(\n (module) => ({\n default: module[\"DA_TranslationModal\"],\n })\n )\n );\n\n return (\n <React.Suspense\n fallback={\n <DA_ContentBox>\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n padding: \"50px\",\n }}\n >\n <DA_Spinner />\n </div>\n </DA_ContentBox>\n }\n >\n <Component\n alias={alias}\n type={type}\n dictionaryLocation={dictionaryLocation}\n onSave={onSave}\n chooseLocation={chooseLocation}\n isCreatingNew={isCreatingNew}\n />\n </React.Suspense>\n );\n};\n\ninterface EditButtonProps {\n alias: string;\n type: DA_TranslationType;\n alwaysVisible?: boolean;\n onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n onSave?: (updatedItem: Item) => void;\n dictionaryLocation?: string;\n chooseLocation?: boolean;\n isCreatingNew?: boolean;\n}\n\nexport const _DangerousEditButton = ({\n alias,\n type,\n onSave,\n dictionaryLocation,\n chooseLocation = false,\n isCreatingNew,\n onClick,\n ...buttonProps\n}: Omit<EditButtonProps, \"alwaysVisible\"> &\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\" | \"onClick\">): JSX.Element => {\n const { showModal } = useModal();\n\n const showEditorModal = (alias: string) =>\n showModal(\n <TranslationModalLoader\n alias={alias}\n type={type}\n dictionaryLocation={dictionaryLocation}\n chooseLocation={chooseLocation}\n onSave={onSave}\n isCreatingNew={isCreatingNew}\n />,\n {\n size: ModalSize.XXL,\n }\n );\n\n const handleOnClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (!onClick || onClick(event)) {\n event.stopPropagation();\n showEditorModal(alias);\n }\n };\n\n return <button type=\"button\" onClick={handleOnClick} tabIndex={-1} {...buttonProps} />;\n};\n\nexport const _EditButton = ({\n alias,\n type,\n alwaysVisible,\n dictionaryLocation,\n chooseLocation = false,\n isCreatingNew,\n}: EditButtonProps): JSX.Element => {\n const [hover, setHover] = useState(false);\n const [disabled, setDisabled] = useState(false);\n\n return (\n <_DangerousEditButton\n alias={alias}\n type={type}\n dictionaryLocation={dictionaryLocation}\n chooseLocation={chooseLocation}\n isCreatingNew={isCreatingNew}\n aria-hidden={true}\n onClick={(event) => {\n if (event.ctrlKey || event.metaKey) {\n event.preventDefault();\n if (confirm(\"Disable translation functionality?\")) {\n setDisabled(true);\n }\n return false;\n }\n return true;\n }}\n style={{\n appearance: \"none\",\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n margin: 0,\n padding: 0,\n opacity: !disabled && (alwaysVisible || hover) ? 0.333 : 0,\n pointerEvents: disabled ? \"none\" : \"auto\",\n background: \"#FFAC1C\",\n border: 0,\n cursor: \"pointer\",\n transition: \"opacity .1s ease-out\",\n }}\n onFocus={() => setHover(true)}\n onBlur={() => setHover(false)}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n />\n );\n};\n","import React, { useCallback, useMemo, useRef } from \"react\";\nimport {\n DA_ContentTranslationOptions,\n DA_DictionaryTranslationOptions,\n} from \"@danishagro/shared/src/interfaces/translations.interface\";\nimport {\n _getDictionaryString,\n handleTranslation,\n} from \"@danishagro/shared/src/helpers/getDictionaryString.helper\";\nimport { isDevMode } from \"@danishagro/shared/src/helpers/isDevMode.helper\";\nimport { useAppData } from \"../appData.context\";\nimport { ModalProvider } from \"../modal.context\";\nimport { _EditButton } from \"./EditButton.component\";\n\ninterface TranslationsHook {\n getDictionaryItem: (\n alias: string,\n options?: DA_DictionaryTranslationOptions\n ) => React.ReactNode;\n getDictionaryString: (alias: string, options?: DA_DictionaryTranslationOptions) => string;\n getTextItem: (alias: string, options?: DA_ContentTranslationOptions) => React.ReactNode;\n globalTranslations: {\n pageTitlePostfix: string;\n };\n}\n\nconst TranslationsContext = React.createContext<TranslationsHook>({\n getDictionaryItem: () => \"\",\n getDictionaryString: () => \"\",\n getTextItem: () => \"\",\n globalTranslations: {\n pageTitlePostfix: \"\",\n },\n});\n\ntype TranslationsProviderProps = {\n children: React.ReactNode;\n};\n\nexport const TranslationsProvider = ({ children }: TranslationsProviderProps): JSX.Element => {\n const { currentSite, dictionaryObj, contentObj, isMasterAdmin } = useAppData();\n\n const highlightMissingItems = useMemo(() => {\n return currentSite === \"CMS\"\n ? true\n : currentSite === \"B2B\"\n ? isDevMode\n : currentSite === \"MYFARM\"\n ? isMasterAdmin\n : false;\n }, [currentSite, isMasterAdmin]);\n\n const getDictionaryString = useCallback(\n (alias, options) =>\n _getDictionaryString(alias, highlightMissingItems, options).replace(/\\n/g, \"<br/>\"),\n [highlightMissingItems]\n );\n\n const getDictionaryItem = useCallback(\n (alias: string, options?: DA_DictionaryTranslationOptions): React.ReactNode => {\n if (currentSite !== \"MYFARM\") {\n return getDictionaryString(alias, options);\n }\n\n const lowerCaseAlias = alias.toLocaleLowerCase();\n const string = dictionaryObj?.translations\n ? dictionaryObj.translations[lowerCaseAlias]\n : \"\";\n const stringExist = typeof string !== \"undefined\";\n const returnString =\n !stringExist && options?.dontShowFallback\n ? \"\"\n : handleTranslation(alias, string, options);\n\n return (\n <span style={{ position: \"relative\", display: \"inline-block\" }}>\n {returnString}\n {highlightMissingItems && (\n <ModalProvider>\n <_EditButton\n alias={lowerCaseAlias}\n type=\"dictionary\"\n alwaysVisible={!stringExist}\n />\n </ModalProvider>\n )}\n </span>\n );\n },\n [dictionaryObj, highlightMissingItems, currentSite, getDictionaryString]\n );\n\n const getTextItem = useCallback(\n (alias: string, options: DA_ContentTranslationOptions = {}): React.ReactNode => {\n if (currentSite !== \"MYFARM\") throw \"getTextItem() only works on MyFarm\";\n\n const { disableEditor, ...replaceStrings } = options;\n const lowerCaseAlias = alias.toLocaleLowerCase();\n const string = contentObj?.translations ? contentObj.translations[lowerCaseAlias] : \"\";\n const stringExist = typeof string !== \"undefined\";\n const returnString = handleTranslation(alias, string, replaceStrings);\n\n return (\n <div style={{ position: \"relative\" }}>\n <div dangerouslySetInnerHTML={{ __html: returnString }} />\n {highlightMissingItems && !disableEditor && (\n <ModalProvider>\n <_EditButton\n alias={lowerCaseAlias}\n type=\"text\"\n alwaysVisible={!stringExist}\n />\n </ModalProvider>\n )}\n </div>\n );\n },\n [contentObj, highlightMissingItems, currentSite]\n );\n\n const globalTranslations = useRef({\n pageTitlePostfix: _getDictionaryString(`page-title-${globalThis.siteVariant}`, isDevMode),\n }).current;\n\n return (\n <TranslationsContext.Provider\n value={{\n getDictionaryItem,\n getDictionaryString,\n getTextItem,\n globalTranslations,\n }}\n >\n {children}\n </TranslationsContext.Provider>\n );\n};\n\nexport const useTranslations = (): TranslationsHook => React.useContext(TranslationsContext);\n","// GTM Tracking\nimport { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nconst PAGE_VIEW: string = \"page_view\";\n\ntype DataLayerEventType = typeof PAGE_VIEW | string;\n\ninterface BasicDataLayerObject {\n event?: DataLayerEventType;\n originalLocation?: string;\n}\n\ninterface ScrollDistanceDataLayerObject {\n event: string;\n scroll_distance: string;\n}\n\ninterface PageTypeDataLayerObject {\n pageType: string;\n}\n\ninterface GoogleAdsRemarketingDataLayerObject {\n event: string;\n ecomm_pagetype: string;\n ecomm_totalvalue: string | number;\n ecomm_prodid: string;\n}\n\ninterface AddAsFavoritesObject {\n event: string;\n product_name: string;\n}\n\ninterface EcommerceDataLayerObject {\n event?: string;\n ecommerce: {\n items?: Array<{\n item_id: string;\n item_name: string;\n // ... other properties you might need\n }>;\n };\n}\n\ntype EventDataLayerObject = {\n event: DataLayerEventType;\n};\n\ninterface PromotionDataLayerObject {\n event: \"select_promotion\";\n ecommerce: {\n creative_name: string;\n creative_slot: string;\n promotion_id: string;\n promotion_name: string;\n };\n}\n\ntype DataLayerObject =\n | ScrollDistanceDataLayerObject\n | BasicDataLayerObject\n | PageTypeDataLayerObject\n | EcommerceDataLayerObject\n | EventDataLayerObject\n | GoogleAdsRemarketingDataLayerObject\n | AddAsFavoritesObject\n | PromotionDataLayerObject;\n\n// Extend window object to recognize dataLayer for TypeScript\ndeclare global {\n interface Window {\n dataLayer: DataLayerObject[];\n }\n}\n\nconst MAX_DATA_LAYER_SIZE = 90;\n\nexport const pushToDataLayer = (data: DataLayerObject) => {\n if (window?.dataLayer?.length > MAX_DATA_LAYER_SIZE) {\n // trim old entries, keeping only the latest\n window.dataLayer?.splice(0, window.dataLayer?.length - MAX_DATA_LAYER_SIZE);\n }\n window.dataLayer?.push(data);\n};\n\nexport const pushEventToDataLayer = (eventType: DataLayerEventType) => {\n pushToDataLayer({ event: eventType });\n};\n\nconst useTrackPageView = (pageType?: string) => {\n const location = useLocation();\n\n useEffect(() => {\n // Push the initial page load to dataLayer\n pushToDataLayer({\n originalLocation:\n document.location.protocol +\n \"//\" +\n document.location.hostname +\n document.location.pathname +\n document.location.search,\n });\n\n // If pageType is provided, push it to dataLayer\n if (pageType) {\n pushToDataLayer({\n pageType: pageType,\n });\n }\n\n // The useLocation hook will cause re-renders on route changes, which will allow us to track page views.\n pushToDataLayer({\n event: PAGE_VIEW,\n originalLocation:\n document.location.protocol +\n \"//\" +\n document.location.hostname +\n location.pathname +\n location.search,\n });\n }, [location, pageType]);\n};\n\nexport default useTrackPageView;\n","export const blurActiveElement = () =>\n typeof document !== \"undefined\" &&\n typeof document.activeElement !== \"undefined\" &&\n (document.activeElement as HTMLInputElement).blur();\n","import classNames from \"classnames\";\n\nexport const cn = classNames;\n","interface Options {\n decimals?: number;\n}\n\nexport const formatNumber = (\n number: number | undefined,\n locale: string,\n options: Options = {}\n): string =>\n (typeof number === \"undefined\" ? 0 : number).toLocaleString([locale, \"en-GB\"], {\n minimumFractionDigits: options.decimals,\n maximumFractionDigits: options.decimals,\n });\n","export const getApiUrl = (\n base: string,\n path: string,\n parameters?: Record<string, unknown>\n): string => {\n const allParameters: Record<string, unknown> = { ...parameters };\n\n const query = Object.keys(allParameters)\n .map((key) =>\n typeof allParameters[key] === \"undefined\" || allParameters[key] === null\n ? \"\"\n : Array.isArray(allParameters[key])\n ? (allParameters[key] as string[])\n .map((arrayValue) => `${key}=${arrayValue}`)\n .join(\"&\")\n : `${key}=${\n typeof allParameters[key] === \"object\"\n ? JSON.stringify(allParameters[key])\n : String(allParameters[key])\n }`\n )\n .join(\"&\")\n .replace(/&+/g, \"&\")\n .replace(/(&|\\?&?)$/, \"\");\n\n return base + \"/\" + path.replace(/^\\/+/, \"\").replace(/\\/+$/, \"\") + (query ? `?${query}` : \"\");\n};\n","import jwtDecode from \"jwt-decode\";\nimport { MYFARM_SITE_ORIGIN } from \"@danishagro/shared/src/constants/urlRoot.constants\";\n\nconst BEARER_TOKEN_URL = `${MYFARM_SITE_ORIGIN}/gettoken`;\n// const B2B_BEARER_TOKEN_URL = `${API_GATEWAY_ROOT}/utility/dwtoken`;\nconst B2B_BEARER_TOKEN_URL = `${MYFARM_SITE_ORIGIN}/gettoken`;\n\nexport const getBearerToken = (forceNew = false): Promise<string> => {\n const globalToken = globalThis.accessToken;\n const expiration = globalToken\n ? (jwtDecode(globalToken) as Record<\"exp\", number>).exp * 1000\n : 0;\n const updateBearerToken =\n globalThis.isAuthenticated &&\n (forceNew || (typeof expiration === \"number\" ? expiration <= Date.now() : false));\n\n return !updateBearerToken\n ? Promise.resolve(globalToken)\n : fetch(BEARER_TOKEN_URL, {\n credentials: \"include\",\n })\n .then((res) => res.text())\n .then((token) => {\n globalThis.accessToken = token;\n return token;\n });\n};\n\n// export const getBearerTokenB2B = (customerNumber: string, forceNew = false): Promise<string> => {\n// const globalToken = globalThis.dwToken;\n// const expiration = globalToken\n// ? (jwtDecode(globalToken) as Record<\"exp\", number>).exp * 1000\n// : 0;\n// const updateBearerToken =\n// forceNew || (typeof expiration === \"number\" ? expiration <= Date.now() : false);\n\n// return !updateBearerToken\n// ? Promise.resolve(globalToken || undefined)\n// : fetch(`${B2B_BEARER_TOKEN_URL}?customerNumber=${customerNumber}`, {\n// credentials: \"include\",\n// headers: {\n// Authorization: \"Bearer \" + globalThis.accessToken,\n// },\n// })\n// .then((res) => res.json())\n// .then(({ token }) => {\n// globalThis.dwToken = token;\n// return token;\n// });\n// };\n\nexport const getBearerTokenB2B = (customerNumber: string, forceNew = false): Promise<string> => {\n const globalToken = globalThis.accessToken;\n const expiration = globalToken\n ? (jwtDecode(globalToken) as Record<\"exp\", number>).exp * 1000\n : 0;\n const updateBearerToken =\n forceNew || (typeof expiration === \"number\" ? expiration <= Date.now() : false);\n\n return !updateBearerToken\n ? Promise.resolve(globalToken || undefined)\n : fetch(`${B2B_BEARER_TOKEN_URL}?customerNumber=${customerNumber}`, {\n credentials: \"include\",\n headers: {\n Authorization: \"Bearer \" + globalThis.accessToken,\n },\n })\n .then((res) => res.json())\n .then(({ token }) => {\n // globalThis.dwToken = token;\n return token;\n });\n};\n","import { DA_DictionaryTranslationOptions } from \"../interfaces/translations.interface\";\nimport { uppercaseFirstLetter } from \"./uppercaseFirstLetter.helper\";\nimport { softHyphenate } from \"./softHyphenate.helper\";\nimport { markLinksFromString } from \"./markLinksFromStrings.helper\";\nimport { getUrl } from \"./getUrl.helper\";\n\nconst DICTIONARY_FALLBACK = { frontpage: \"Forside\" };\n\nconst replaceLinkAliases = (_match: string, newTab: string, group: string) => {\n // Split the grouped string into alias and text\n const [linkAlias, linkText] = group.split(\",\");\n\n // Get the URL from the url list\n const link = getUrl(linkAlias);\n\n // If newTab has a value, open in new tab\n const isTargetBlank = !!newTab;\n\n const attributes = [\n // Set href\n `href=\"${link || \"#\"}\"`,\n // If no href, mark link as unknown\n !link ? `class=\"unknown-link\" tabindex=\"-1\"` : \"\",\n // Open in new tab - or set a data-attribute telling us\n // to use the React Router if the link is internal\n isTargetBlank\n ? `target=\"_blank\"`\n : link?.startsWith(\"/\")\n ? `data-internal-link-from-string=\"true\"`\n : \"\",\n ];\n\n return `<a ${attributes.join(\" \")}>${linkText}</a>`;\n};\n\nexport const handleTranslation = (\n alias: string,\n string: string | undefined,\n options: DA_DictionaryTranslationOptions = {}\n): string => {\n const { uppercaseFirst, fallback, ...replaceStrings } = options;\n const fallbackString = fallback ?? alias ?? \"\";\n const regex = new RegExp(\"{{\" + Object.keys(replaceStrings).join(\"}}|{{\") + \"}}\", \"g\");\n\n const returnString1 =\n typeof string !== \"undefined\" ? markLinksFromString(softHyphenate(string)) : fallbackString;\n\n const returnString2 = returnString1\n .replace(/\\{\\{link(newtab)?:(.*?)}}/gi, replaceLinkAliases)\n .replace(regex, (match) => String(replaceStrings[match.slice(2, -2)]) || \"\");\n\n return uppercaseFirst ? uppercaseFirstLetter(returnString2) : returnString2;\n};\n\n// TODO: Optimize this to not re-render dictionary every time.\nconst toLowerKeys = (obj) =>\n Object.keys(obj).reduce((accumulator, key) => {\n accumulator[key.toLowerCase()] = obj[key];\n return accumulator;\n }, {});\n\nexport const _getDictionaryString = (\n alias: string,\n highlightMissingItems: boolean,\n options: DA_DictionaryTranslationOptions = {},\n translations?: { [key: string]: string }\n): string => {\n const dictionary = translations ?? globalThis.dictionaryObj?.translations;\n const lowercaseAlias = alias ? alias.toLowerCase() : \"\";\n const string = dictionary\n ? toLowerKeys(dictionary)[lowercaseAlias]\n : toLowerKeys(DICTIONARY_FALLBACK)[lowercaseAlias];\n const stringExist = typeof string !== \"undefined\";\n\n if (!stringExist && options?.dontShowFallback) {\n return \"\";\n }\n\n const returnString = handleTranslation(alias, string, {\n ...options,\n uppercaseFirst: !stringExist && highlightMissingItems ? false : options.uppercaseFirst,\n });\n\n return highlightMissingItems && !stringExist ? `{{${returnString}}}` : returnString;\n};\n","export const uppercaseFirstLetter = (string: string): string =>\n `${string.slice(0, 1).toLocaleUpperCase() + string.slice(1)}`;\n","export const getUrl = (alias: string) => globalThis.urlList?.[alias.toLowerCase()];\n","export const isAbsoluteUrl = (url: string) => /^(?:[a-z+]+:)?\\/\\//i.test(url);\n","/* globals process */\n\n/**\n * Returns true when WebPack runs in development mode.\n * When in production mode, code for development will be removed.\n */\nexport const isDevMode = process.env.NODE_ENV === \"development\";\n","export const markLinksFromString = (string) =>\n string.replace(\n /<a\\s+([^<]*\\s)?href=\"(?!https?:\\/\\/|mailto:|tel:)[^\"]+\".*?>.*?<\\/a>/g,\n (match) => match.replace(/^<a/, \"<a data-internal-link-from-string='true'\")\n );\n","import { SOFT_HYPHEN_SYMBOL } from \"../constants/softHyphen.constant\";\n\nexport const softHyphenate = (string: string) =>\n string.replace(new RegExp(SOFT_HYPHEN_SYMBOL, \"g\"), \"\\u00AD\");\n","export const GET_MYFARM_SITE_ORIGIN = (type: \"RELATIVE\" | \"ABSOLUTE\" = \"RELATIVE\") => {\n let url = globalThis.myfarmFrontendUrl;\n\n if (type === \"RELATIVE\") {\n url = url?.replace(window?.location?.origin, \"\");\n }\n\n return (\n url ||\n (location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\"\n ? \"https://myfarm-dev.danishagro.com\"\n : \"\")\n ).replace(/\\/$/, \"\");\n};\n\nexport const GET_B2B_SITE_ORIGIN = (type: \"RELATIVE\" | \"ABSOLUTE\" = \"RELATIVE\") => {\n let url = globalThis.b2bFrontendUrl;\n\n if (type === \"RELATIVE\") {\n url = url?.replace(window?.location?.origin, \"\");\n }\n\n return (\n url ||\n (location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\"\n ? \"https://b2bshop-dev.danishagro.com\"\n : \"\")\n ).replace(/\\/$/, \"\");\n};\n\nexport const GET_B2C_SITE_ORIGIN = (type: \"RELATIVE\" | \"ABSOLUTE\" = \"RELATIVE\") => {\n let url = globalThis.b2cFrontendUrl;\n\n if (type === \"RELATIVE\") {\n url = url?.replace(window?.location?.origin, \"\");\n }\n\n return (\n url ||\n (location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\"\n ? \"https://b2cshop-dev.danishagro.com\"\n : \"\")\n ).replace(/\\/$/, \"\");\n};\n\nexport const GET_CMS_SITE_ORIGIN = (type: \"RELATIVE\" | \"ABSOLUTE\" = \"RELATIVE\") => {\n let url = globalThis.cmsFrontendUrl;\n\n if (type === \"RELATIVE\") {\n url = url?.replace(window?.location?.origin, \"\");\n }\n\n return (\n url ||\n (location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\"\n ? \"https://app-danishagrobasesite-dev.azurewebsites.net\"\n : \"\")\n ).replace(/\\/$/, \"\");\n};\n\nexport const GET_ECOM_SITE_ORIGIN = (type: \"RELATIVE\" | \"ABSOLUTE\" = \"RELATIVE\") => {\n let url = globalThis.b2bUmbracoUrl;\n\n if (type === \"RELATIVE\") {\n url = url?.replace(window?.location?.origin, \"\");\n }\n\n return (\n url ||\n (location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\"\n ? \"https://webshop-danishagro-dk.euwest01.umbraco.io/\"\n : \"\")\n ).replace(/\\/$/, \"\");\n};\n","import { useEffect } from \"react\";\n\nexport const useOnClickOutside = (ref, callback: () => void, deps = []) => {\n useEffect(() => {\n if (deps.every((dep) => typeof dep !== \"undefined\" && dep !== false)) {\n const handleClickOutside = (event) => {\n if (Array.isArray(ref)) {\n let executeCallback = true;\n ref.forEach((thisRef) => {\n if (thisRef.current && thisRef.current.contains(event.target)) {\n executeCallback = false;\n }\n });\n\n if (executeCallback) {\n callback();\n }\n } else if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref, ...deps]);\n};\n","import { FetchOptions } from \"../interfaces/fetchOptions.interface\";\nimport { getApiUrl } from \"./getApiUrl.helper\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype QueryObject = Record<string, any>;\n\nexport const fetchHandler = (\n fetchWithAuth: (url: RequestInfo, options?: RequestInit) => Promise<Response>,\n rootUrl: string,\n method: \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\",\n path: string,\n parameters: QueryObject | string | number | boolean,\n options?: FetchOptions\n) =>\n fetchWithAuth(getApiUrl(rootUrl, path), {\n ...options,\n method,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n credentials: method === \"PATCH\" || method === \"DELETE\" ? \"include\" : undefined,\n body:\n typeof parameters === \"undefined\"\n ? undefined\n : typeof parameters === \"object\"\n ? JSON.stringify(parameters)\n : typeof parameters !== \"string\"\n ? parameters.toString()\n : parameters,\n });\n","import { useMemo } from \"react\";\nimport { FetchOptions } from \"../interfaces/fetchOptions.interface\";\nimport { getApiUrl } from \"../helpers/getApiUrl.helper\";\nimport { fetchHandler } from \"../helpers/fetchHandler.helper\";\nimport { useAppData } from \"../contexts/appData.context\";\nimport { API_GATEWAY_ROOT } from \"../constants/urlRoot.constants\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype QueryObject = Record<string, any>;\n\nexport const useRequest = () => {\n const { fetchWithAuth } = useAppData();\n\n return useMemo(\n () => ({\n get: async (\n path: string,\n parameters?: QueryObject,\n options?: FetchOptions,\n expectText?: boolean | string\n ) => {\n const response = await fetchWithAuth(\n getApiUrl(API_GATEWAY_ROOT, path, parameters),\n options\n );\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n if (response.status === 204 || response.headers.get(\"content-length\") === \"0\") {\n return null;\n }\n try {\n return expectText === \"blob\"\n ? await response.blob()\n : expectText === true\n ? await response.text()\n : await response.json();\n } catch (err) {\n console.error(\"Error parsing JSON:\", err);\n throw new Error(\"Error parsing JSON\");\n }\n },\n post: (\n path: string,\n parameters: QueryObject | string | number | boolean,\n options?: FetchOptions\n ) => fetchHandler(fetchWithAuth, API_GATEWAY_ROOT, \"POST\", path, parameters, options),\n put: (\n path: string,\n parameters: QueryObject | string | number | boolean,\n options?: FetchOptions\n ) => fetchHandler(fetchWithAuth, API_GATEWAY_ROOT, \"PUT\", path, parameters, options),\n delete: (\n path: string,\n parameters: QueryObject | string | number | boolean,\n options?: FetchOptions\n ) => fetchHandler(fetchWithAuth, API_GATEWAY_ROOT, \"DELETE\", path, parameters, options),\n patch: (\n path: string,\n parameters: QueryObject | string | number | boolean,\n options?: FetchOptions\n ) => fetchHandler(fetchWithAuth, API_GATEWAY_ROOT, \"PATCH\", path, parameters, options),\n }),\n [fetchWithAuth]\n );\n};\n","import { DataObject, DataValue, MultiCurrency, Multilingual, MultilingualCollectionValue } from './data-contracts';\n\nexport type DataValueTypes = 'String' | 'Double' | 'Boolean' | 'Multilingual' | 'Money' | 'MultiCurrency' | 'StringList' | 'DoubleList' | 'BooleanList' | 'MultilingualCollection' | 'Object' | 'ObjectList';\n\nexport abstract class DataValueBase<T> implements DataValue {\n constructor(type: DataValueTypes, value: T) {\n this.type = type;\n this.value = value;\n }\n\n type: DataValueTypes;\n value: T;\n\n readonly abstract isCollection: boolean;\n}\n\nexport interface CollectionWithType<T> {\n $type: string;\n $values: T[];\n}\n\nexport interface MultilingualCollectionWithType<T> {\n $type: string;\n values: T[];\n}\n\nexport interface MultiCurrencyWithType extends MultiCurrency {\n $type: string;\n}\n\nexport interface MultilingualWithType extends Multilingual {\n $type: string;\n}\n\nexport interface DataObjectWithType extends DataObject {\n $type: string;\n}\n\nexport class StringDataValue extends DataValueBase<string> {\n constructor(value: string) {\n super('String', value);\n }\n\n readonly isCollection = false;\n}\n\nexport class StringCollectionDataValue extends DataValueBase<CollectionWithType<string>> {\n constructor(value: string[]) {\n super('StringList',\n {\n $type: 'System.Collections.Generic.List`1[[System.String, System.Private.CoreLib]], System.Private.CoreLib',\n $values: value,\n });\n }\n\n readonly isCollection = true;\n}\n\nexport class MultilingualCollectionDataValue extends DataValueBase<MultilingualCollectionWithType<MultilingualCollectionValue>> {\n constructor(values: { values: string[], language: string }[]) {\n super('MultilingualCollection',\n {\n $type: 'Relewise.Client.DataTypes.MultilingualCollection, Relewise.Client',\n values: values.map(x => ({ values: x.values, language: { value: x.language } })),\n });\n }\n\n readonly isCollection = true;\n}\n\nexport class NumberDataValue extends DataValueBase<number> {\n constructor(value: number) {\n super('Double', value);\n }\n\n readonly isCollection = false;\n}\n\nexport class DoubleCollectionDataValue extends DataValueBase<CollectionWithType<number>> {\n constructor(value: number[]) {\n super('DoubleList',\n {\n $type: 'System.Collections.Generic.List`1[[System.Double, System.Private.CoreLib]], System.Private.CoreLib',\n $values: value,\n });\n }\n\n readonly isCollection = true;\n}\n\nexport class BooleanDataValue extends DataValueBase<boolean> {\n constructor(value: boolean) {\n super('Boolean', value);\n }\n\n readonly isCollection = false;\n}\n\nexport class BooleanCollectionDataValue extends DataValueBase<CollectionWithType<boolean>> {\n constructor(value: boolean[]) {\n super('BooleanList',\n {\n $type: 'System.Collections.Generic.List`1[[System.Boolean, System.Private.CoreLib]], System.Private.CoreLib',\n $values: value,\n });\n }\n\n readonly isCollection = true;\n}\n\nexport class MultiCurrencyDataValue extends DataValueBase<MultiCurrencyWithType> {\n constructor(values: { amount: number, currency: string }[]) {\n super('MultiCurrency',\n {\n $type: 'Relewise.Client.DataTypes.MultiCurrency, Relewise.Client',\n values: values.map(x => ({ amount: x.amount, currency: { value: x.currency } })),\n });\n }\n\n readonly isCollection = false;\n}\n\nexport class MultilingualDataValue extends DataValueBase<MultilingualWithType> {\n constructor(values: { value: string, language: string }[]) {\n super('Multilingual',\n {\n $type: 'Relewise.Client.DataTypes.Multilingual, Relewise.Client',\n values: values.map(x => ({ text: x.value, language: { value: x.language } })),\n });\n }\n\n readonly isCollection = false;\n}\n\nexport class ObjectDataValue extends DataValueBase<DataObjectWithType> {\n constructor(dataObject: { [key: string]: DataValue }) {\n super('Object',\n {\n $type: 'Relewise.Client.DataTypes.DataObject, Relewise.Client',\n data: dataObject,\n });\n }\n\n readonly isCollection = false;\n}\n\nexport class ObjectCollectionDataValue extends DataValueBase<CollectionWithType<DataObjectWithType>> {\n constructor(dataObjects: { [key: string]: DataValue }[]) {\n super('ObjectList',\n {\n $type: 'System.Collections.Generic.List`1[[Relewise.Client.DataTypes.DataObject, Relewise.Client]], System.Private.CoreLib',\n $values: dataObjects.map(x => ({ $type: 'Relewise.Client.DataTypes.DataObject, Relewise.Client', data: x })),\n });\n }\n\n readonly isCollection = true;\n}","import { ApplyFilterSettings, FilterScopes } from '../models/data-contracts';\n\nexport class FilterScopesBuilder {\n\n private fillScope: ApplyFilterSettings | undefined = undefined;\n private defaultScope: ApplyFilterSettings | undefined = undefined;\n\n public fill({ apply }: { apply: boolean; }): this {\n this.fillScope = {\n $type: 'Relewise.Client.Requests.Filters.Settings.ApplyFilterSettings, Relewise.Client',\n apply,\n };\n\n return this;\n }\n\n public default({ apply }: { apply: boolean; }): this {\n this.defaultScope = {\n $type: 'Relewise.Client.Requests.Filters.Settings.ApplyFilterSettings, Relewise.Client',\n apply,\n };\n\n return this;\n }\n\n public build(): FilterScopes | null {\n return this.fillScope || this.defaultScope\n ? {\n fill: this.fillScope,\n default: this.defaultScope,\n }\n : null;\n }\n}","import { FilterSettings } from '../models/data-contracts';\nimport { FilterScopesBuilder } from './filterScopesBuilder';\n\nexport class FilterSettingsBuilder {\n private scopesBuilder: FilterScopesBuilder = new FilterScopesBuilder();\n\n public scopes(builder: (builder: FilterScopesBuilder) => void): this {\n builder(this.scopesBuilder);\n\n return this;\n }\n\n public build(): FilterSettings | null {\n const scopes = this.scopesBuilder.build();\n return scopes\n ? { scopes: scopes }\n : null;\n }\n}","import { DoubleRange, DataValueBase, ObjectValueMinByCondition, ObjectValueMaxByCondition, ObjectValueContainsCondition, ObjectValueEqualsCondition, ObjectValueGreaterThanCondition, ObjectValueLessThanCondition, ObjectValueInRangeCondition, ObjectValueCondition } from '..';\n\nexport type DataObjectFilterConditions = \n | ObjectValueContainsCondition\n | ObjectValueEqualsCondition\n | ObjectValueGreaterThanCondition\n | ObjectValueInRangeCondition\n | ObjectValueLessThanCondition\n | ObjectValueMaxByCondition\n | ObjectValueMinByCondition;\n\nexport class DataObjectFilterConditionBuilder {\n conditions: DataObjectFilterConditions[] = [];\n\n public addContainsCondition<T>(key: string, value: DataValueBase<T>, mode: 'All' | 'Any' = 'All', objectPath?: string[], negated: boolean = false): this {\n const condition: ObjectValueContainsCondition = {\n $type: 'Relewise.Client.Requests.Filters.DataObjects.Conditions.ObjectValueContainsCondition, Relewise.Client',\n key: key,\n value: value,\n objectPath: objectPath,\n mode: mode,\n negated: negated,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addEqualsCondition<T>(key: string, value: DataValueBase<T>, objectPath?: string[], negated: boolean = false): this {\n const condition: ObjectValueEqualsCondition = {\n $type: 'Relewise.Client.Requests.Filters.DataObjects.Conditions.ObjectValueEqualsCondition, Relewise.Client',\n value: value,\n objectPath: objectPath,\n negated: negated,\n key: key,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addInRangeCondition(key: string, range: DoubleRange, objectPath?: string[], negated: boolean = false): this {\n const condition: ObjectValueInRangeCondition = {\n $type: 'Relewise.Client.Requests.Filters.DataObjects.Conditions.ObjectValueInRangeCondition, Relewise.Client',\n range: range,\n key: key,\n objectPath: objectPath,\n negated: negated,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addGreaterThanCondition(key: string, value: number, objectPath?: string[], negated: boolean = false): this {\n const condition: ObjectValueGreaterThanCondition = {\n $type: 'Relewise.Client.Requests.Filters.DataObjects.Conditions.ObjectValueGreaterThanCondition, Relewise.Client',\n value: value,\n negated: negated,\n key: key,\n objectPath: objectPath,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addLessThanCondition(key: string, value: number, objectPath?: string[], negated: boolean = false): this {\n const condition: ObjectValueLessThanCondition = {\n $type: 'Relewise.Client.Requests.Filters.DataObjects.Conditions.ObjectValueLessThanCondition, Relewise.Client',\n value: value,\n negated: negated,\n key: key,\n objectPath: objectPath,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addMinByCondition(key: string, objectPath?: string[], negated: boolean = false): this {\n const condition: ObjectValueMinByCondition = {\n $type: 'Relewise.Client.Requests.Filters.DataObjects.Conditions.ObjectValueMinByCondition, Relewise.Client',\n negated: negated,\n key: key,\n objectPath: objectPath,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addMaxByCondition(key: string, objectPath?: string[], negated: boolean = false): this {\n const condition: ObjectValueMaxByCondition = {\n $type: 'Relewise.Client.Requests.Filters.DataObjects.Conditions.ObjectValueMaxByCondition, Relewise.Client',\n negated: negated,\n key: key,\n objectPath: objectPath,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public build(): DataObjectFilterConditions[] | null {\n return this.conditions.length === 0\n ? null\n : this.conditions\n }\n}","import { ContainsCondition, DistinctCondition, EqualsCondition, GreaterThanCondition, LessThanCondition, ValueConditionCollection, DataValueBase, DataObjectFilter, DataObjectFilterConditionBuilder } from '..';\n\nexport type Conditions = ContainsCondition | DistinctCondition | EqualsCondition | GreaterThanCondition | LessThanCondition;\n\nexport class ConditionBuilder {\n conditions: Conditions[] = [];\n\n public addContainsCondition<T>(value: DataValueBase<T>, valueCollectionEvaluationMode: 'All' | 'Any' = 'All', negated: boolean = false): this {\n const condition: ContainsCondition = {\n $type: 'Relewise.Client.Requests.Conditions.ContainsCondition, Relewise.Client',\n value: value,\n valueCollectionEvaluationMode: valueCollectionEvaluationMode,\n negated: negated,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addDistinctCondition(numberOfOccurrencesAllowedWithTheSameValue: number, negated: boolean = false): this {\n const condition: DistinctCondition = {\n $type: 'Relewise.Client.Requests.Conditions.DistinctCondition, Relewise.Client',\n numberOfOccurrencesAllowedWithTheSameValue: numberOfOccurrencesAllowedWithTheSameValue,\n negated: negated,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addEqualsCondition<T>(value: DataValueBase<T>, negated: boolean = false): this {\n const condition: EqualsCondition = {\n $type: 'Relewise.Client.Requests.Conditions.EqualsCondition, Relewise.Client',\n value: value,\n negated: negated,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addGreaterThanCondition(value: number, negated: boolean = false): this {\n const condition: GreaterThanCondition = {\n $type: 'Relewise.Client.Requests.Conditions.GreaterThanCondition, Relewise.Client',\n value: value,\n negated: negated,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addLessThanCondition(value: number, negated: boolean = false): this {\n const condition: LessThanCondition = {\n $type: 'Relewise.Client.Requests.Conditions.LessThanCondition, Relewise.Client',\n value: value,\n negated: negated,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public addDataObjectCondition(conditions: (builder: DataObjectFilterConditionBuilder) => void, skip?: number, take?: number, negated: boolean = false): this {\n const conditionsBuilder = new DataObjectFilterConditionBuilder();\n conditions(conditionsBuilder);\n\n const condition: ContainsCondition = {\n $type: 'Relewise.Client.Requests.Conditions.ContainsCondition, Relewise.Client',\n objectFilter: { \n conditions: conditionsBuilder.build(), \n skip: skip, \n take: take,\n },\n valueCollectionEvaluationMode: 'All',\n negated: negated,\n };\n this.conditions.push(condition);\n\n return this;\n }\n\n public build(): ValueConditionCollection | null {\n return this.conditions.length === 0\n ? null\n : { items: this.conditions }\n }\n}","import { AndFilter, BrandAssortmentFilter, BrandDataFilter, BrandIdFilter, CartDataFilter, CompanyDataFilter, CompanyIdFilter, ContentAssortmentFilter, ContentCategoryAssortmentFilter, ContentCategoryDataFilter, ContentCategoryHasAncestorFilter, ContentCategoryHasChildFilter, ContentCategoryHasContentsFilter, ContentCategoryHasParentFilter, ContentCategoryIdFilter, ContentCategoryLevelFilter, ContentDataFilter, ContentIdFilter, Filter, FilterCollection, OrFilter, ProductAndVariantId, ProductAndVariantIdFilter, ProductAssortmentFilter, ProductCategoryAssortmentFilter, ProductCategoryDataFilter, ProductCategoryHasAncestorFilter, ProductCategoryHasChildFilter, ProductCategoryHasParentFilter, ProductCategoryHasProductsFilter, ProductCategoryIdFilter, ProductCategoryLevelFilter, ProductDataFilter, ProductDisplayNameFilter, ProductHasVariantsFilter, ProductIdFilter, ProductListPriceFilter, ProductRecentlyPurchasedByUserFilter, ProductRecentlyViewedByUserFilter, ProductSalesPriceFilter, VariantAssortmentFilter, VariantDataFilter, VariantIdFilter, VariantListPriceFilter, VariantSalesPriceFilter, VariantSpecificationFilter } from '../models/data-contracts';\nimport { FilterSettingsBuilder } from './filterSettingsBuilder';\nimport { ConditionBuilder } from './conditionBuilder';\n\nexport type FilterOptions = {\n filterSettings?: (builder: FilterSettingsBuilder) => void\n}\n\nexport type EntityDataFilterOptions = FilterOptions & {\n objectPath?: string[]\n};\n\nexport class FilterBuilder {\n private filters: (AndFilter\n | BrandAssortmentFilter\n | BrandDataFilter\n | BrandIdFilter\n | CartDataFilter\n | CompanyDataFilter\n | CompanyIdFilter\n | ContentAssortmentFilter\n | ContentCategoryAssortmentFilter\n | ContentCategoryDataFilter\n | ContentCategoryHasAncestorFilter\n | ContentCategoryHasChildFilter\n | ContentCategoryHasContentsFilter\n | ContentCategoryHasParentFilter\n | ContentCategoryIdFilter\n | ContentCategoryLevelFilter\n | ContentDataFilter\n | ContentIdFilter\n | OrFilter\n | ProductAndVariantIdFilter\n | ProductAssortmentFilter\n | ProductCategoryAssortmentFilter\n | ProductCategoryDataFilter\n | ProductCategoryHasAncestorFilter\n | ProductCategoryHasChildFilter\n | ProductCategoryHasParentFilter\n | ProductCategoryHasProductsFilter\n | ProductCategoryIdFilter\n | ProductCategoryLevelFilter\n | ProductDataFilter\n | ProductDisplayNameFilter\n | ProductHasVariantsFilter\n | ProductIdFilter\n | ProductListPriceFilter\n | ProductRecentlyPurchasedByUserFilter\n | ProductRecentlyViewedByUserFilter\n | ProductSalesPriceFilter\n | VariantAssortmentFilter\n | VariantDataFilter\n | VariantIdFilter\n | VariantListPriceFilter\n | VariantSalesPriceFilter\n | VariantSpecificationFilter)[] = [];\n\n /**\n * Adds a product assortment filter to the request\n * @param assortmentIds \n * @param negated \n */\n public addProductAssortmentFilter(assortmentIds: number[] | number, negated: boolean = false, options?: FilterOptions): this {\n const assortments: number[] = Array.isArray(assortmentIds)\n ? assortmentIds\n : [assortmentIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductAssortmentFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductAssortmentFilter, Relewise.Client',\n assortments: assortments,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a variant assortment filter to the request\n * @param assortmentIds \n * @param negated \n */\n public addVariantAssortmentFilter(assortmentIds: number[] | number, negated: boolean = false, options?: FilterOptions): this {\n const assortments: number[] = Array.isArray(assortmentIds)\n ? assortmentIds\n : [assortmentIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: VariantAssortmentFilter = {\n $type: 'Relewise.Client.Requests.Filters.VariantAssortmentFilter, Relewise.Client',\n assortments: assortments,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a brand assortment filter to the request\n * @param assortmentIds \n * @param negated \n */\n public addBrandAssortmentFilter(assortmentIds: number[] | number, negated: boolean = false, options?: FilterOptions): this {\n const assortments: number[] = Array.isArray(assortmentIds)\n ? assortmentIds\n : [assortmentIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: BrandAssortmentFilter = {\n $type: 'Relewise.Client.Requests.Filters.BrandAssortmentFilter, Relewise.Client',\n assortments: assortments,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n \n /**\n * Adds a content assortment filter to the request\n * @param assortmentIds \n * @param negated \n */\n public addContentAssortmentFilter(assortmentIds: number[] | number, negated: boolean = false, options?: FilterOptions): this {\n const assortments: number[] = Array.isArray(assortmentIds)\n ? assortmentIds\n : [assortmentIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ContentAssortmentFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentAssortmentFilter, Relewise.Client',\n assortments: assortments,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a content category assortment filter to the request\n * @param assortmentIds \n * @param negated \n */\n public addContentCategoryAssortmentFilter(assortmentIds: number[] | number, negated: boolean = false, options?: FilterOptions): this {\n const assortments: number[] = Array.isArray(assortmentIds)\n ? assortmentIds\n : [assortmentIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ContentCategoryAssortmentFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentCategoryAssortmentFilter, Relewise.Client',\n assortments: assortments,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a content category assortment filter to the request\n * @param assortmentIds \n * @param negated \n */\n public addProductCategoryAssortmentFilter(assortmentIds: number[] | number, negated: boolean = false, options?: FilterOptions): this {\n const assortments: number[] = Array.isArray(assortmentIds)\n ? assortmentIds\n : [assortmentIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductCategoryAssortmentFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductCategoryAssortmentFilter, Relewise.Client',\n assortments: assortments,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return products within the specificed categories\n * @param evaluationScope \n * @param categoryIds \n * @param negated \n */\n public addProductCategoryIdFilter(evaluationScope: 'ImmediateParent' | 'ImmediateParentOrItsParent' | 'Ancestor', categoryIds: string[] | string, negated: boolean = false, options?: FilterOptions): this {\n const ids: string[] = Array.isArray(categoryIds)\n ? categoryIds\n : [categoryIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductCategoryIdFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductCategoryIdFilter, Relewise.Client',\n evaluationScope: evaluationScope,\n categoryIds: ids,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return contents within the specificed categories\n * @param evaluationScope \n * @param categoryIds \n * @param negated \n */\n public addContentCategoryIdFilter(evaluationScope: 'ImmediateParent' | 'ImmediateParentOrItsParent' | 'Ancestor', categoryIds: string[] | string, negated: boolean = false, options?: FilterOptions): this {\n const ids: string[] = Array.isArray(categoryIds)\n ? categoryIds\n : [categoryIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n\n const filter: ContentCategoryIdFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentCategoryIdFilter, Relewise.Client',\n evaluationScope: evaluationScope,\n categoryIds: ids,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return the specificied products\n * @param productIds \n * @param negated \n */\n public addProductIdFilter(productIds: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const ids: string[] = Array.isArray(productIds)\n ? productIds\n : [productIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductIdFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductIdFilter, Relewise.Client',\n productIds: ids,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return the specificied variants\n * @param variantIds \n * @param negated \n */\n public addVariantIdFilter(variantIds: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const ids: string[] = Array.isArray(variantIds)\n ? variantIds\n : [variantIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: VariantIdFilter = {\n $type: 'Relewise.Client.Requests.Filters.VariantIdFilter, Relewise.Client',\n variantIds: ids,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return the specificied brands\n * @param brandIds \n * @param negated \n */\n public addBrandIdFilter(brandIds: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const ids: string[] = Array.isArray(brandIds)\n ? brandIds\n : [brandIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: BrandIdFilter = {\n $type: 'Relewise.Client.Requests.Filters.BrandIdFilter, Relewise.Client',\n brandIds: ids,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return the specificied contents\n * @param contentIds \n * @param negated \n */\n public addContentIdFilter(contentIds: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const ids: string[] = Array.isArray(contentIds)\n ? contentIds\n : [contentIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ContentIdFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentIdFilter, Relewise.Client',\n contentIds: ids,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return the specificied contents\n * @param companyIds \n * @param negated \n */\n public addCompanyIdFilter(companyIds: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const ids: string[] = Array.isArray(companyIds)\n ? companyIds\n : [companyIds];\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: CompanyIdFilter = {\n $type: 'Relewise.Client.Requests.Filters.CompanyIdFilter, Relewise.Client',\n companyIds: ids,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a range filter to the request ensuring the product has a certain range of variants\n * @param lowerBound \n * @param upperBound \n * @param negated \n */\n public addProductHasVariantsFilter(lowerBound?: number, upperBound?: number, negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductHasVariantsFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductHasVariantsFilter, Relewise.Client',\n numberOfVariants: {\n lowerBoundInclusive: lowerBound,\n upperBoundInclusive: upperBound,\n },\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return products purchased since a certain point in time\n * @param sinceUtc \n * @param negated \n */\n public addProductRecentlyPurchasedByUserFilter(sinceUtc: string, negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductRecentlyPurchasedByUserFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductRecentlyPurchasedByUserFilter, Relewise.Client',\n sinceUtc: sinceUtc,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return products viewed since a certain point in time\n * @param sinceUtc \n * @param negated \n */\n public addProductRecentlyViewedByUserFilter(sinceUtc: string, negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductRecentlyViewedByUserFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductRecentlyViewedByUserFilter, Relewise.Client',\n sinceUtc: sinceUtc,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return products within a certain SalesPrice-range\n * @param lowerBound \n * @param upperBound \n * @param negated \n */\n public addProductSalesPriceFilter(lowerBound?: number, upperBound?: number, negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductSalesPriceFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductSalesPriceFilter, Relewise.Client',\n range: {\n lowerBoundInclusive: lowerBound,\n upperBoundInclusive: upperBound,\n },\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return products within a certain ListPice-range\n * @param lowerBound \n * @param upperBound \n * @param negated \n */\n public addProductListPriceFilter(lowerBound?: number, upperBound?: number, negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductListPriceFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductListPriceFilter, Relewise.Client',\n range: {\n lowerBoundInclusive: lowerBound,\n upperBoundInclusive: upperBound,\n },\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return variants within a certain SalesPrice-range\n * @param lowerBound \n * @param upperBound \n * @param negated \n */\n public addVariantSalesPriceFilter(lowerBound?: number, upperBound?: number, negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: VariantSalesPriceFilter = {\n $type: 'Relewise.Client.Requests.Filters.VariantSalesPriceFilter, Relewise.Client',\n range: {\n lowerBoundInclusive: lowerBound,\n upperBoundInclusive: upperBound,\n },\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return variants within a certain ListPice-range\n * @param lowerBound \n * @param upperBound \n * @param negated \n */\n public addVariantListPriceFilter(lowerBound?: number, upperBound?: number, negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: VariantListPriceFilter = {\n $type: 'Relewise.Client.Requests.Filters.VariantListPriceFilter, Relewise.Client',\n range: {\n lowerBoundInclusive: lowerBound,\n upperBoundInclusive: upperBound,\n },\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Filters the request to only return variants with a certain specification\n * @param key \n * @param equalTo \n * @param filterOutIfKeyIsNotFound controls if variants with or without the key should be returned\n * @param negated \n */\n public addVariantSpecificationFilter(key: string, equalTo: string, filterOutIfKeyIsNotFound: boolean = true, negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: VariantSpecificationFilter = {\n $type: 'Relewise.Client.Requests.Filters.VariantSpecificationFilter, Relewise.Client',\n key: key,\n equalTo: equalTo,\n filterOutIfKeyIsNotFound: filterOutIfKeyIsNotFound,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n public and(filterBuilder: (builder: FilterBuilder) => void, negated: boolean = false, options?: FilterOptions): this {\n const builder = new FilterBuilder();\n filterBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filters = builder.build();\n if (filters === null || filters.items === undefined || filters.items === null || filters.items.length <= 0) {\n throw new Error('And-filters must contain atleast 1 filter');\n }\n\n const filter: AndFilter = {\n $type: 'Relewise.Client.Requests.Filters.AndFilter, Relewise.Client',\n filters: filters.items,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n public or(filterBuilder: (builder: FilterBuilder) => void, negated: boolean = false, options?: FilterOptions): this {\n const builder = new FilterBuilder();\n filterBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filters = builder.build();\n if (filters === null || filters.items === undefined || filters.items === null || filters.items.length <= 0) {\n throw new Error('Or-filters must contain atleast 1 filter');\n }\n\n const filter: OrFilter = {\n $type: 'Relewise.Client.Requests.Filters.OrFilter, Relewise.Client',\n filters: filters.items,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a product data filter to the request\n * @param key \n * @param conditionBuilder \n * @param mustMatchAllConditions \n * @param filterOutIfKeyIsNotFound \n * @param negated \n */\n public addProductDataFilter(key: string, conditionBuilder: (builder: ConditionBuilder) => void, mustMatchAllConditions: boolean = true, filterOutIfKeyIsNotFound: boolean = true, negated: boolean = false, options?: EntityDataFilterOptions): this {\n const builder = new ConditionBuilder();\n conditionBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n\n const filter: ProductDataFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductDataFilter, Relewise.Client',\n key: key,\n filterOutIfKeyIsNotFound: filterOutIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: builder.build(),\n negated: negated,\n objectPath: options?.objectPath,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a variant data filter to the request\n * @param key \n * @param conditionBuilder \n * @param mustMatchAllConditions \n * @param filterOutIfKeyIsNotFound \n * @param negated \n */\n public addVariantDataFilter(key: string, conditionBuilder: (builder: ConditionBuilder) => void, mustMatchAllConditions: boolean = true, filterOutIfKeyIsNotFound: boolean = true, negated: boolean = false, options?: EntityDataFilterOptions): this {\n const builder = new ConditionBuilder();\n conditionBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n\n const filter: VariantDataFilter = {\n $type: 'Relewise.Client.Requests.Filters.VariantDataFilter, Relewise.Client',\n key: key,\n filterOutIfKeyIsNotFound: filterOutIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: builder.build(),\n negated: negated,\n objectPath: options?.objectPath,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a brand data filter to the request\n * @param key \n * @param conditionBuilder \n * @param mustMatchAllConditions \n * @param filterOutIfKeyIsNotFound \n * @param negated \n */\n public addBrandDataFilter(key: string, conditionBuilder: (builder: ConditionBuilder) => void, mustMatchAllConditions: boolean = true, filterOutIfKeyIsNotFound: boolean = true, negated: boolean = false, options?: EntityDataFilterOptions): this {\n const builder = new ConditionBuilder();\n conditionBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n\n const filter: BrandDataFilter = {\n $type: 'Relewise.Client.Requests.Filters.BrandDataFilter, Relewise.Client',\n key: key,\n filterOutIfKeyIsNotFound: filterOutIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: builder.build(),\n negated: negated,\n objectPath: options?.objectPath,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a cart data filter to the request\n * @param key \n * @param conditionBuilder \n * @param mustMatchAllConditions \n * @param filterOutIfKeyIsNotFound \n * @param negated \n */\n public addCartDataFilter(key: string, conditionBuilder: (builder: ConditionBuilder) => void, mustMatchAllConditions: boolean = true, filterOutIfKeyIsNotFound: boolean = true, negated: boolean = false, options?: FilterOptions): this {\n const builder = new ConditionBuilder();\n conditionBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: CartDataFilter = {\n $type: 'Relewise.Client.Requests.Filters.CartDataFilter, Relewise.Client',\n key: key,\n filterOutIfKeyIsNotFound: filterOutIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: builder.build(),\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a cart data filter to the request\n * @param key \n * @param conditionBuilder \n * @param mustMatchAllConditions \n * @param filterOutIfKeyIsNotFound \n * @param negated \n */\n public addContentCategoryDataFilter(key: string, conditionBuilder: (builder: ConditionBuilder) => void, mustMatchAllConditions: boolean = true, filterOutIfKeyIsNotFound: boolean = true, negated: boolean = false, options?: EntityDataFilterOptions): this {\n const builder = new ConditionBuilder();\n conditionBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n\n const filter: ContentCategoryDataFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentCategoryDataFilter, Relewise.Client',\n key: key,\n filterOutIfKeyIsNotFound: filterOutIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: builder.build(),\n negated: negated,\n objectPath: options?.objectPath,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a content data filter to the request\n * @param key \n * @param conditionBuilder \n * @param mustMatchAllConditions \n * @param filterOutIfKeyIsNotFound \n * @param negated \n */\n public addContentDataFilter(key: string, conditionBuilder: (builder: ConditionBuilder) => void, mustMatchAllConditions: boolean = true, filterOutIfKeyIsNotFound: boolean = true, negated: boolean = false, options?: EntityDataFilterOptions): this {\n const builder = new ConditionBuilder();\n conditionBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n\n const filter: ContentDataFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentDataFilter, Relewise.Client',\n key: key,\n filterOutIfKeyIsNotFound: filterOutIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: builder.build(),\n negated: negated,\n objectPath: options?.objectPath,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a product category data filter to the request\n * @param key \n * @param conditionBuilder \n * @param mustMatchAllConditions \n * @param filterOutIfKeyIsNotFound \n * @param negated \n */\n public addProductCategoryDataFilter(key: string, conditionBuilder: (builder: ConditionBuilder) => void, mustMatchAllConditions: boolean = true, filterOutIfKeyIsNotFound: boolean = true, negated: boolean = false, options?: EntityDataFilterOptions): this {\n const builder = new ConditionBuilder();\n conditionBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n\n const filter: ProductCategoryDataFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductCategoryDataFilter, Relewise.Client',\n key: key,\n filterOutIfKeyIsNotFound: filterOutIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: builder.build(),\n negated: negated,\n objectPath: options?.objectPath,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a compnany data filter to the request\n * @param key \n * @param conditionBuilder \n * @param mustMatchAllConditions \n * @param filterOutIfKeyIsNotFound \n * @param negated \n */\n public addCompanyDataFilter(key: string, conditionBuilder: (builder: ConditionBuilder) => void, mustMatchAllConditions: boolean = true, filterOutIfKeyIsNotFound: boolean = true, negated: boolean = false, options?: EntityDataFilterOptions): this {\n const builder = new ConditionBuilder();\n conditionBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n\n const filter: CompanyDataFilter = {\n $type: 'Relewise.Client.Requests.Filters.CompanyDataFilter, Relewise.Client',\n key: key,\n filterOutIfKeyIsNotFound: filterOutIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: builder.build(),\n negated: negated,\n objectPath: options?.objectPath,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a product display name filter to the request\n * @param key \n * @param conditionBuilder \n * @param mustMatchAllConditions \n * @param filterOutIfKeyIsNotFound \n * @param negated \n */\n public addProductDisplayNameFilter(conditionBuilder: (builder: ConditionBuilder) => void, mustMatchAllConditions: boolean = true, negated: boolean = false, options?: FilterOptions): this {\n const builder = new ConditionBuilder();\n conditionBuilder(builder);\n\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductDisplayNameFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductDisplayNameFilter, Relewise.Client',\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: builder.build(),\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a product variant filter to the request\n * @param products \n * @param negated \n */\n public addProductAndVariantIdFilter(products: ProductAndVariantId | ProductAndVariantId[], negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductAndVariantIdFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductAndVariantIdFilter, Relewise.Client',\n productAndVariantIds: Array.isArray(products) ? products : [products],\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a product category level filter to the request\n * @param levels \n * @param negated \n */\n public addProductCategoryLevelFilter(levels: number | number[], negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductCategoryLevelFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductCategoryLevelFilter, Relewise.Client',\n levels: Array.isArray(levels) ? levels : [levels],\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a product category has parent filter to the request\n * @param categoryIds \n * @param negated \n */\n public addProductCategoryHasParentFilter(categoryIds?: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductCategoryHasParentFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductCategoryHasParentFilter, Relewise.Client',\n categoryIds: categoryIds ? (Array.isArray(categoryIds) ? categoryIds : [categoryIds]) : undefined,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a product category has child filter to the request\n * @param categoryIds \n * @param negated \n */\n public addProductCategoryHasChildFilter(categoryIds?: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductCategoryHasChildFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductCategoryHasChildFilter, Relewise.Client',\n categoryIds: categoryIds ? (Array.isArray(categoryIds) ? categoryIds : [categoryIds]) : undefined,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a product category has ancestor filter to the request\n * @param categoryIds \n * @param negated \n */\n public addProductCategoryHasAncestorFilter(categoryIds?: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductCategoryHasAncestorFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductCategoryHasAncestorFilter, Relewise.Client',\n categoryIds: categoryIds ? (Array.isArray(categoryIds) ? categoryIds : [categoryIds]) : undefined,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a content category level filter to the request\n * @param levels \n * @param negated \n */\n public addContentCategoryLevelFilter(levels: number | number[], negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ContentCategoryLevelFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentCategoryLevelFilter, Relewise.Client',\n levels: Array.isArray(levels) ? levels : [levels],\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a content category has parent filter to the request\n * @param categoryIds \n * @param negated \n */\n public addContentCategoryHasParentFilter(categoryIds?: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ContentCategoryHasParentFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentCategoryHasParentFilter, Relewise.Client',\n categoryIds: categoryIds ? (Array.isArray(categoryIds) ? categoryIds : [categoryIds]) : undefined,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a content category has child filter to the request\n * @param categoryIds \n * @param negated \n */\n public addContentCategoryHasChildFilter(categoryIds?: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ContentCategoryHasChildFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentCategoryHasChildFilter, Relewise.Client',\n categoryIds: categoryIds ? (Array.isArray(categoryIds) ? categoryIds : [categoryIds]) : undefined,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a content category has ancestor filter to the request\n * @param categoryIds \n * @param negated \n */\n public addContentCategoryHasAncestorFilter(categoryIds?: string | string[], negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ContentCategoryHasAncestorFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentCategoryHasAncestorFilter, Relewise.Client',\n categoryIds: categoryIds ? (Array.isArray(categoryIds) ? categoryIds : [categoryIds]) : undefined,\n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a product category has products filter to the request ensuring that only categories with products in them are returned\n * @param categoryIds \n * @param negated \n */\n public addProductCategoryHasProductsFilter(negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ProductCategoryHasProductsFilter = {\n $type: 'Relewise.Client.Requests.Filters.ProductCategoryHasProductsFilter, Relewise.Client',\n \n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n\n return this;\n }\n\n /**\n * Adds a content category has contents filter to the request ensuring that only categories with content in them are returned\n * @param categoryIds \n * @param negated \n */\n public addContentCategoryHasContentsFilter(negated: boolean = false, options?: FilterOptions): this {\n const internalSettingsBuilder = new FilterSettingsBuilder();\n options?.filterSettings?.(internalSettingsBuilder);\n \n const filter: ContentCategoryHasContentsFilter = {\n $type: 'Relewise.Client.Requests.Filters.ContentCategoryHasContentsFilter, Relewise.Client',\n \n negated: negated,\n settings: internalSettingsBuilder.build(),\n };\n this.filters.push(filter);\n \n return this;\n }\n\n public reset(): this {\n this.filters = [];\n\n return this;\n }\n\n public build(): FilterCollection | null {\n return this.filters.length === 0\n ? null\n : { items: this.filters }\n }\n}","export type Pagination = {\n take: number;\n skip: number;\n}\n\nexport class PaginationBuilder {\n private pageNumber: number = 1;\n private pageSize: number = 10;\n\n /**\n * Defines how many results to return\n * @param pageSize \n * @returns \n */\n public setPageSize(pageSize: number): this {\n if (pageSize < 0) {\n throw new Error('pageSize can not be below 0')\n }\n\n this.pageSize = pageSize;\n\n return this;\n }\n\n /**\n * Page starts at 1, so this to skip 'X' pages of results\n * @param pageNumber \n * @returns \n */\n public setPage(pageNumber: number): this {\n if (pageNumber < 1) {\n throw new Error('pageNumber can not be below 1')\n }\n\n this.pageNumber = pageNumber;\n\n return this;\n }\n\n build(): Pagination {\n return {\n take: this.pageSize,\n skip: (this.pageNumber - 1) * this.pageSize,\n }\n }\n}\n","import { BrandIdRelevanceModifier, ConditionBuilder, DataDoubleSelector, FilterBuilder, FixedDoubleValueSelector, ProductAssortmentRelevanceModifier, ProductCategoryIdRelevanceModifier, ProductDataRelevanceModifier, ProductIdRelevanceModifier, ProductListPriceRelevanceModifier, ProductRecentlyPurchasedByUserRelevanceModifier, ProductRecentlyViewedByUserRelevanceModifier, ProductSalesPriceRelevanceModifier, RelevanceModifierCollection, UserFavoriteProductRelevanceModifier, VariantAssortmentRelevanceModifier, VariantDataRelevanceModifier, VariantListPriceRelevanceModifier, VariantSalesPriceRelevanceModifier, VariantSpecificationsInCommonRelevanceModifier, VariantSpecificationValueRelevanceModifier } from '..';\n\nexport class RelevanceModifierBuilder {\n private modifiers: (\n | BrandIdRelevanceModifier\n | ProductAssortmentRelevanceModifier\n | ProductCategoryIdRelevanceModifier\n | ProductDataRelevanceModifier\n | ProductIdRelevanceModifier\n | ProductListPriceRelevanceModifier\n | ProductRecentlyPurchasedByUserRelevanceModifier\n | ProductRecentlyViewedByUserRelevanceModifier\n | ProductSalesPriceRelevanceModifier\n | UserFavoriteProductRelevanceModifier\n | VariantAssortmentRelevanceModifier\n | VariantDataRelevanceModifier\n | VariantListPriceRelevanceModifier\n | VariantSalesPriceRelevanceModifier\n | VariantSpecificationsInCommonRelevanceModifier\n | VariantSpecificationValueRelevanceModifier\n )[] = [];\n\n public addBrandIdRelevanceModifier(\n brandId: string,\n ifProductIsBrandMultiplyWeightBy: number = 1,\n ifProductIsNotBrandMultiplyWeightBy: number = 1,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: BrandIdRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.BrandIdRelevanceModifier, Relewise.Client',\n ifProductIsBrandMultiplyWeightBy: ifProductIsBrandMultiplyWeightBy,\n ifProductIsNotBrandMultiplyWeightBy: ifProductIsNotBrandMultiplyWeightBy,\n brandId: brandId,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addProductAssortmentRelevanceModifier(\n assortments: number[],\n multiplyWeightBy: number = 1,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: ProductAssortmentRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.ProductAssortmentRelevanceModifier, Relewise.Client',\n assortments: assortments,\n multiplyWeightBy: multiplyWeightBy,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addVariantAssortmentRelevanceModifier(\n assortments: number[],\n multiplyWeightBy: number = 1,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: VariantAssortmentRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.VariantAssortmentRelevanceModifier, Relewise.Client',\n assortments: assortments,\n multiplyWeightBy: multiplyWeightBy,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addProductCategoryIdRelevanceModifier(\n categoryId: string,\n evaluationScope: 'ImmediateParent' | 'ImmediateParentOrItsParent' | 'Ancestor',\n multiplyWeightBy: number = 1,\n negated: boolean = false,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: ProductCategoryIdRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.ProductCategoryIdRelevanceModifier, Relewise.Client',\n categoryId: categoryId,\n evaluationScope: evaluationScope,\n negated: negated,\n multiplyWeightBy: multiplyWeightBy,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addProductDataRelevanceModifier(\n key: string,\n conditions: (builder: ConditionBuilder) => void,\n multiplierSelector: DataDoubleSelector | FixedDoubleValueSelector,\n mustMatchAllConditions: boolean = true,\n considerAsMatchIfKeyIsNotFound: boolean = false,\n filter?: (builder: FilterBuilder) => void): this {\n\n const conditionBuilder = new ConditionBuilder();\n conditions(conditionBuilder);\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: ProductDataRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.ProductDataRelevanceModifier, Relewise.Client',\n key: key,\n considerAsMatchIfKeyIsNotFound: considerAsMatchIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: conditionBuilder.build()?.items,\n multiplierSelector: multiplierSelector,\n multiplyWeightBy: 0, // Obsolete, but required property\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addVariantDataRelevanceModifier(\n key: string,\n conditions: (builder: ConditionBuilder) => void,\n multiplierSelector: DataDoubleSelector | FixedDoubleValueSelector,\n mustMatchAllConditions: boolean = true,\n considerAsMatchIfKeyIsNotFound: boolean = false,\n filter?: (builder: FilterBuilder) => void): this {\n\n const conditionBuilder = new ConditionBuilder();\n conditions(conditionBuilder);\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: VariantDataRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.VariantDataRelevanceModifier, Relewise.Client',\n key: key,\n considerAsMatchIfKeyIsNotFound: considerAsMatchIfKeyIsNotFound,\n mustMatchAllConditions: mustMatchAllConditions,\n conditions: conditionBuilder.build()?.items,\n multiplierSelector: multiplierSelector,\n multiplyWeightBy: 0, // Obsolete, but required property\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addProductIdRelevanceModifier(\n productIds: string[],\n multiplyWeightBy: number = 1,\n negated: boolean = false,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: ProductIdRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.ProductIdRelevanceModifier, Relewise.Client',\n productIds: productIds,\n negated: negated,\n multiplyWeightBy: multiplyWeightBy,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addProductListPriceRelevanceModifier(\n currency: string,\n lowerBound: number | null | undefined,\n upperBound: number | null | undefined,\n multiplyWeightBy: number = 1,\n negated: boolean = false,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: ProductListPriceRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.ProductListPriceRelevanceModifier, Relewise.Client',\n range: { lowerBoundInclusive: lowerBound, upperBoundInclusive: upperBound },\n currency: { value: currency },\n negated: negated,\n multiplyWeightBy: multiplyWeightBy,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addProductSalesPriceRelevanceModifier(\n currency: string,\n lowerBound: number | null | undefined,\n upperBound: number | null | undefined,\n multiplyWeightBy: number = 1,\n negated: boolean = false,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: ProductSalesPriceRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.ProductSalesPriceRelevanceModifier, Relewise.Client',\n range: { lowerBoundInclusive: lowerBound, upperBoundInclusive: upperBound },\n currency: { value: currency },\n negated: negated,\n multiplyWeightBy: multiplyWeightBy,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addVariantListPriceRelevanceModifier(\n currency: string,\n lowerBound: number | null | undefined,\n upperBound: number | null | undefined,\n multiplyWeightBy: number = 1,\n negated: boolean = false,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: VariantListPriceRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.VariantListPriceRelevanceModifier, Relewise.Client',\n range: { lowerBoundInclusive: lowerBound, upperBoundInclusive: upperBound },\n currency: { value: currency },\n negated: negated,\n multiplyWeightBy: multiplyWeightBy,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addVariantSalesPriceRelevanceModifier(\n currency: string,\n lowerBound: number | null | undefined,\n upperBound: number | null | undefined,\n multiplyWeightBy: number = 1,\n negated: boolean = false,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: VariantSalesPriceRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.VariantSalesPriceRelevanceModifier, Relewise.Client',\n range: { lowerBoundInclusive: lowerBound, upperBoundInclusive: upperBound },\n currency: { value: currency },\n negated: negated,\n multiplyWeightBy: multiplyWeightBy,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n\n public addVariantSpecificationsInCommonRelevanceModifier(\n specificationKeysAndMultipliers: { key: string, multiplier: number }[],\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: VariantSpecificationsInCommonRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.VariantSpecificationsInCommonRelevanceModifier, Relewise.Client',\n specificationKeysAndMultipliers,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addVariantSpecificationValueRelevanceModifier(\n key: string,\n value: string,\n ifIdenticalMultiplyWeightBy: number = 1,\n ifNotIdenticalMultiplyWeightBy: number = 0,\n ifSpecificationKeyNotFoundApplyNotEqualMultiplier: boolean = false,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: VariantSpecificationValueRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.VariantSpecificationValueRelevanceModifier, Relewise.Client',\n key,\n value,\n ifIdenticalMultiplyWeightBy,\n ifNotIdenticalMultiplyWeightBy,\n ifSpecificationKeyNotFoundApplyNotEqualMultiplier,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addProductRecentlyPurchasedByUserRelevanceModifier(\n sinceUtc: Date,\n ifNotPreviouslyPurchasedByUserMultiplyWeightBy: number = 1,\n ifPreviouslyPurchasedByUserMultiplyWeightBy: number = 1,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: ProductRecentlyPurchasedByUserRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.ProductRecentlyPurchasedByUserRelevanceModifier, Relewise.Client',\n ifNotPreviouslyPurchasedByUserMultiplyWeightBy,\n ifPreviouslyPurchasedByUserMultiplyWeightBy,\n sinceUtc: sinceUtc.toJSON(),\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addProductRecentlyViewedByUserRelevanceModifier(\n sinceUtc: Date,\n ifNotPreviouslyViewedByUserMultiplyWeightBy: number = 1,\n ifPreviouslyViewedByUserMultiplyWeightBy: number = 1,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: ProductRecentlyViewedByUserRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.ProductRecentlyViewedByUserRelevanceModifier, Relewise.Client',\n ifNotPreviouslyViewedByUserMultiplyWeightBy,\n ifPreviouslyViewedByUserMultiplyWeightBy,\n sinceUtc: sinceUtc.toJSON(),\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public addUserFavoriteProductRelevanceModifier(\n sinceMinutesAgo: number,\n ifNotPurchasedBaseWeight: number = 1,\n mostRecentPurchaseWeight: number = 1,\n numberOfPurchasesWeight: number = 1,\n filter?: (builder: FilterBuilder) => void): this {\n\n const filterBuilder = new FilterBuilder();\n if (filter) {\n filter(filterBuilder);\n }\n\n const modifier: UserFavoriteProductRelevanceModifier = {\n $type: 'Relewise.Client.Requests.RelevanceModifiers.UserFavoriteProductRelevanceModifier, Relewise.Client',\n ifNotPurchasedBaseWeight,\n mostRecentPurchaseWeight,\n numberOfPurchasesWeight,\n sinceMinutesAgo: sinceMinutesAgo,\n filters: filterBuilder.build(),\n };\n this.modifiers.push(modifier);\n\n return this;\n }\n\n public build(): RelevanceModifierCollection | null {\n\n return this.modifiers.length === 0\n ? null\n : { items: this.modifiers };\n }\n}","import { DataObjectFacet, DataObjectBooleanValueFacet, DataObjectDoubleRangeFacet, DataObjectDoubleRangesFacet, DataObjectDoubleValueFacet, DataObjectStringValueFacet, FacetSettings } from '../../models/data-contracts';\nimport { DataObjectFilterConditionBuilder } from '../dataObjectFilterConditionBuilder';\n\n\nexport class DataObjectFacetBuilder {\n private facets: (\n DataObjectFacet |\n DataObjectDoubleRangeFacet |\n DataObjectDoubleRangesFacet |\n DataObjectStringValueFacet |\n DataObjectBooleanValueFacet |\n DataObjectDoubleValueFacet)[] = [];\n\n public addDataObjectFacet(\n key: string,\n builder?: (facets: DataObjectFacetBuilder) => void,\n filter?: {\n conditions?: (builder: DataObjectFilterConditionBuilder) => void,\n skip?: number,\n take?: number \n },\n facetSettings?: FacetSettings): this {\n\n const facetBuilder = new DataObjectFacetBuilder();\n if (builder) {\n builder(facetBuilder);\n }\n \n const conditionsBuilder = new DataObjectFilterConditionBuilder();\n if (filter?.conditions) {\n filter?.conditions(conditionsBuilder);\n }\n\n const facet: DataObjectFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.DataObjectFacet, Relewise.Client',\n field: 'Data',\n key: key,\n items: facetBuilder.build() ?? [],\n filter: {\n conditions: conditionsBuilder.build() ?? [],\n take: filter?.take,\n skip: filter?.skip,\n },\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addStringFacet(\n key: string,\n selectedValues: string[] | null = null,\n collectionFilterType?: 'Or' | 'And',\n facetSettings?: FacetSettings): this {\n\n const facet: DataObjectStringValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.DataObjectStringValueFacet, Relewise.Client',\n field: 'Data',\n key: key,\n selected: selectedValues,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addBooleanFacet(\n key: string,\n selectedValues: boolean[] | null = null,\n collectionFilterType?: 'Or' | 'And',\n facetSettings?: FacetSettings): this {\n\n const facet: DataObjectBooleanValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.DataObjectBooleanValueFacet, Relewise.Client',\n field: 'Data',\n key: key,\n selected: selectedValues,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addNumberFacet(\n key: string,\n selectedValues: number[] | null = null,\n collectionFilterType?: 'Or' | 'And',\n facetSettings?: FacetSettings): this {\n\n const facet: DataObjectDoubleValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.DataObjectDoubleValueFacet, Relewise.Client',\n field: 'Data',\n key: key,\n selected: selectedValues,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addNumberRangeFacet(\n key: string,\n lowerBound?: number | null, \n upperBound?: number | null,\n facetSettings?: FacetSettings): this {\n\n const facet: DataObjectDoubleRangeFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.DataObjectDoubleRangeFacet, Relewise.Client',\n field: 'Data',\n key: key,\n selected: {\n lowerBoundInclusive: lowerBound,\n upperBoundInclusive: upperBound,\n },\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addNumberRangesFacet(\n key: string,\n predefinedRanges?: {\n lowerBound?: number,\n upperBound?: number\n }[] | null,\n expandedRangeSize?: number | null,\n selectedValues: {\n lowerBound?: number,\n upperBound?: number\n }[] | null = null,\n facetSettings?: FacetSettings): this {\n\n const facet: DataObjectDoubleRangesFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.DataObjectDoubleRangesFacet, Relewise.Client',\n field: 'Data',\n key: key,\n settings: facetSettings,\n predefinedRanges: predefinedRanges?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n expandedRangeSize: expandedRangeSize,\n selected: selectedValues?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n };\n this.facets.push(facet);\n\n return this;\n }\n\n build() {\n return this.facets.length === 0\n ? null\n : this.facets;\n }\n}\n","import { ProductCategoryAssortmentFacet, BrandFacet, CategoryFacet, CategoryPath, CategoryHierarchyFacet, SelectedProductCategoryPropertiesSettings, SelectedContentCategoryPropertiesSettings, ContentAssortmentFacet, ContentDataBooleanValueFacet, ContentDataDoubleRangeFacet, ContentDataDoubleRangesFacet, ContentDataDoubleValueFacet, ContentDataStringValueFacet, FacetSettings, PriceRangeFacet, PriceRangesFacet, ProductAssortmentFacet, ProductCategoryDataBooleanValueFacet, ProductCategoryDataDoubleRangeFacet, ProductCategoryDataDoubleRangesFacet, ProductCategoryDataDoubleValueFacet, ProductCategoryDataStringValueFacet, ProductDataBooleanValueFacet, ProductDataDoubleRangeFacet, ProductDataDoubleRangesFacet, ProductDataDoubleValueFacet, ProductDataStringValueFacet, ProductFacetQuery, VariantSpecificationFacet, ProductDataObjectFacet, DoubleNullableRange } from '../../models/data-contracts';\nimport { DataObjectFilterConditionBuilder } from '../dataObjectFilterConditionBuilder';\nimport { DataObjectFacetBuilder } from './dataObjectFacetBuilder';\n\nexport class FacetBuilder {\n private facets: (\n | ContentAssortmentFacet\n | ProductAssortmentFacet\n | BrandFacet\n | CategoryFacet\n | CategoryHierarchyFacet\n | ContentDataDoubleRangeFacet\n | ContentDataStringValueFacet\n | ContentDataBooleanValueFacet\n | ContentDataDoubleValueFacet\n | ContentDataDoubleRangesFacet\n | PriceRangeFacet\n | PriceRangesFacet\n | ProductDataDoubleRangeFacet\n | ProductDataStringValueFacet\n | ProductDataBooleanValueFacet\n | ProductDataDoubleValueFacet\n | VariantSpecificationFacet\n | ProductDataDoubleRangesFacet\n | ProductCategoryAssortmentFacet\n | ProductCategoryDataDoubleRangeFacet\n | ProductCategoryDataStringValueFacet\n | ProductCategoryDataBooleanValueFacet\n | ProductCategoryDataDoubleValueFacet\n | ProductCategoryDataDoubleRangesFacet\n | ProductDataObjectFacet\n )[] = [];\n\n //#region Product\n public addCategoryFacet(categorySelectionStrategy: 'ImmediateParent' | 'Ancestors', selectedValues: string[] | null = null, facetSettings?: FacetSettings): this {\n const facet: CategoryFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.CategoryFacet, Relewise.Client',\n categorySelectionStrategy: categorySelectionStrategy,\n field: 'Category',\n selected: selectedValues,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductCategoryHierarchyFacet(categorySelectionStrategy: 'ImmediateParent' | 'Ancestors', selectedValues: CategoryPath[] | null = null, selectedPropertiesSettings?: Partial<SelectedProductCategoryPropertiesSettings>, facetSettings?: FacetSettings): this {\n const facet: CategoryHierarchyFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.CategoryHierarchyFacet, Relewise.Client',\n categorySelectionStrategy: categorySelectionStrategy,\n field: 'Category',\n selected: selectedValues,\n settings: facetSettings,\n selectedPropertiesSettings: selectedPropertiesSettings ? ({\n $type: 'Relewise.Client.Requests.Shared.SelectedProductCategoryPropertiesSettings, Relewise.Client',\n ...selectedPropertiesSettings,\n } as SelectedProductCategoryPropertiesSettings) : undefined,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addContentCategoryHierarchyFacet(categorySelectionStrategy: 'ImmediateParent' | 'Ancestors', selectedValues: CategoryPath[] | null = null, selectedPropertiesSettings?: Partial<SelectedContentCategoryPropertiesSettings>, facetSettings?: FacetSettings): this {\n const facet: CategoryHierarchyFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.CategoryHierarchyFacet, Relewise.Client',\n categorySelectionStrategy: categorySelectionStrategy,\n field: 'Category',\n selected: selectedValues,\n settings: facetSettings,\n selectedPropertiesSettings: selectedPropertiesSettings ? ({\n $type: 'Relewise.Client.Requests.Shared.SelectedContentCategoryPropertiesSettings, Relewise.Client',\n ...selectedPropertiesSettings,\n } as SelectedContentCategoryPropertiesSettings) : undefined,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addBrandFacet(selectedValues: string[] | null = null, facetSettings?: FacetSettings): this {\n const facet: BrandFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.BrandFacet, Relewise.Client',\n field: 'Brand',\n selected: selectedValues,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductAssortmentFacet(selectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant', selectedValues: number[] | null = null, facetSettings?: FacetSettings): this {\n const facet: ProductAssortmentFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductAssortmentFacet, Relewise.Client',\n field: 'Assortment',\n assortmentFilterType: 'Or',\n assortmentSelectionStrategy: selectionStrategy,\n selected: selectedValues,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addVariantSpecificationFacet(key: string, selectedValues: string[] | null = null, facetSettings?: FacetSettings): this {\n const facet: VariantSpecificationFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.VariantSpecificationFacet, Relewise.Client',\n field: 'VariantSpecification',\n key: key,\n selected: selectedValues,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductDataDoubleRangeFacet(key: string, selectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant', lowerBound?: number, upperBound?: number, facetSettings?: FacetSettings): this {\n const selected: DoubleNullableRange | null = this.mapSelectedDoubleRange(lowerBound, upperBound);\n\n const facet: ProductDataDoubleRangeFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductDataDoubleRangeFacet, Relewise.Client',\n field: 'Data',\n key: key,\n dataSelectionStrategy: selectionStrategy,\n selected: selected,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductDataDoubleRangesFacet(\n key: string,\n selectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant',\n predefinedRanges?: {\n lowerBound?: number,\n upperBound?: number\n }[] | null,\n expandedRangeSize?: number | null,\n selectedValues: {\n lowerBound?: number,\n upperBound?: number\n }[] | null = null,\n facetSettings?: FacetSettings): this {\n\n const facet: ProductDataDoubleRangesFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductDataDoubleRangesFacet, Relewise.Client',\n field: 'Data',\n key: key,\n predefinedRanges: predefinedRanges?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n expandedRangeSize: expandedRangeSize,\n selected: selectedValues?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n dataSelectionStrategy: selectionStrategy,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductDataStringValueFacet(\n key: string,\n selectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant',\n selectedValues: string[] | null = null,\n collectionFilterType?: 'Or' | 'And',\n facetSettings?: FacetSettings): this {\n\n const facet: ProductDataStringValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductDataStringValueFacet, Relewise.Client',\n field: 'Data',\n key: key,\n dataSelectionStrategy: selectionStrategy,\n selected: selectedValues,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductDataBooleanValueFacet(\n key: string,\n selectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant',\n selectedValues: boolean[] | null = null,\n collectionFilterType?: 'Or' | 'And',\n facetSettings?: FacetSettings): this {\n\n const facet: ProductDataBooleanValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductDataBooleanValueFacet, Relewise.Client',\n field: 'Data',\n key: key,\n dataSelectionStrategy: selectionStrategy,\n selected: selectedValues,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductDataDoubleValueFacet(\n key: string,\n selectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant',\n selectedValues: number[] | null = null,\n collectionFilterType?: 'Or' | 'And',\n facetSettings?: FacetSettings): this {\n\n const facet: ProductDataDoubleValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductDataDoubleValueFacet, Relewise.Client',\n field: 'Data',\n key: key,\n dataSelectionStrategy: selectionStrategy,\n selected: selectedValues,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addSalesPriceRangeFacet(\n priceSelectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant',\n lowerBound?: number,\n upperBound?: number,\n facetSettings?: FacetSettings): this {\n\n const selected: DoubleNullableRange | null = this.mapSelectedDoubleRange(lowerBound, upperBound);\n const facet: PriceRangeFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.PriceRangeFacet, Relewise.Client',\n field: 'SalesPrice',\n selected: selected,\n priceSelectionStrategy,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addSalesPriceRangesFacet(\n priceSelectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant',\n predefinedRanges?: {\n lowerBound?: number,\n upperBound?: number\n }[] | null,\n expandedRangeSize?: number | null,\n selectedValues: {\n lowerBound?: number,\n upperBound?: number\n }[] | null = null,\n facetSettings?: FacetSettings): this {\n\n const facet: PriceRangesFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.PriceRangesFacet, Relewise.Client',\n field: 'SalesPrice',\n predefinedRanges: predefinedRanges?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n expandedRangeSize: expandedRangeSize,\n selected: selectedValues?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n priceSelectionStrategy,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addListPriceRangeFacet(\n priceSelectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant',\n lowerBound?: number,\n upperBound?: number,\n facetSettings?: FacetSettings): this {\n\n const selected: DoubleNullableRange | null = this.mapSelectedDoubleRange(lowerBound, upperBound);\n const facet: PriceRangeFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.PriceRangeFacet, Relewise.Client',\n field: 'ListPrice',\n selected: selected,\n priceSelectionStrategy,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addListPriceRangesFacet(\n priceSelectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant',\n predefinedRanges?: {\n lowerBound?: number,\n upperBound?: number\n }[] | null,\n expandedRangeSize?: number | null,\n selectedValues: {\n lowerBound?: number,\n upperBound?: number\n }[] | null = null,\n facetSettings?: FacetSettings): this {\n\n const facet: PriceRangesFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.PriceRangesFacet, Relewise.Client',\n field: 'ListPrice',\n predefinedRanges: predefinedRanges?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n expandedRangeSize: expandedRangeSize,\n selected: selectedValues?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n priceSelectionStrategy,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductDataObjectFacet(\n key: string,\n selectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant',\n builder?: (facets: DataObjectFacetBuilder) => void,\n filter?: {\n conditions?: (builder: DataObjectFilterConditionBuilder) => void,\n skip?: number,\n take?: number\n },\n facetSettings?: FacetSettings): this {\n\n const facetBuilder = new DataObjectFacetBuilder();\n if (builder) {\n builder(facetBuilder);\n }\n\n const conditionsBuilder = new DataObjectFilterConditionBuilder();\n if (filter?.conditions) {\n filter?.conditions(conditionsBuilder);\n }\n\n const facet: ProductDataObjectFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductDataObjectFacet, Relewise.Client',\n field: 'Data',\n items: facetBuilder.build() ?? [],\n filter: {\n conditions: conditionsBuilder.build() ?? [],\n take: filter?.take,\n skip: filter?.skip,\n },\n dataSelectionStrategy: selectionStrategy,\n settings: facetSettings,\n key: key,\n };\n this.facets.push(facet);\n\n return this;\n }\n //#endregion\n\n //#region Content\n public addContentAssortmentFacet(selectedValues: number[] | null = null, facetSettings?: FacetSettings): this {\n const facet: ContentAssortmentFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ContentAssortmentFacet, Relewise.Client',\n field: 'Assortment',\n assortmentFilterType: 'Or',\n selected: selectedValues,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addContentDataDoubleRangeFacet(key: string, lowerBound?: number | null, upperBound?: number | null, facetSettings?: FacetSettings): this {\n const selected: DoubleNullableRange | null = this.mapSelectedDoubleRange(lowerBound, upperBound);\n\n const facet: ContentDataDoubleRangeFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ContentDataDoubleRangeFacet, Relewise.Client',\n field: 'Data',\n selected: selected,\n key: key,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addContentDataDoubleRangesFacet(\n key: string,\n predefinedRanges?: {\n lowerBound?: number,\n upperBound?: number\n }[] | null,\n expandedRangeSize?: number | null,\n selectedValues: {\n lowerBound?: number,\n upperBound?: number\n }[] | null = null,\n facetSettings?: FacetSettings): this {\n\n const facet: ContentDataDoubleRangesFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductDataDoubleRangesFacet, Relewise.Client',\n field: 'Data',\n key: key,\n predefinedRanges: predefinedRanges?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n expandedRangeSize: expandedRangeSize,\n selected: selectedValues?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addContentDataStringValueFacet(key: string, selectedValues: string[] | null = null, collectionFilterType?: 'Or' | 'And', facetSettings?: FacetSettings): this {\n const facet: ContentDataStringValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ContentDataStringValueFacet, Relewise.Client',\n field: 'Data',\n selected: selectedValues,\n key: key,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addContentDataBooleanValueFacet(key: string, selectedValues: boolean[] | null = null, collectionFilterType?: 'Or' | 'And', facetSettings?: FacetSettings): this {\n const facet: ContentDataBooleanValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ContentDataBooleanValueFacet, Relewise.Client',\n field: 'Data',\n selected: selectedValues,\n key: key,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addContentDataDoubleValueFacet(key: string, selectedValues: number[] | null = null, collectionFilterType?: 'Or' | 'And', facetSettings?: FacetSettings): this {\n const facet: ContentDataDoubleValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ContentDataDoubleValueFacet, Relewise.Client',\n field: 'Data',\n selected: selectedValues,\n key: key,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n //#endregion\n\n //#region ProductCategories\n public addProductCategoryAssortmentFacet(selectedValues: number[] | null = null, facetSettings?: FacetSettings): this {\n const facet: ProductCategoryAssortmentFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductCategoryAssortmentFacet, Relewise.Client',\n field: 'Assortment',\n assortmentFilterType: 'Or',\n selected: selectedValues,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductCategoryDataDoubleRangeFacet(key: string, lowerBound?: number | null, upperBound?: number | null, facetSettings?: FacetSettings): this {\n const selected: DoubleNullableRange | null = this.mapSelectedDoubleRange(lowerBound, upperBound);\n const facet: ProductCategoryDataDoubleRangeFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductCategoryDataDoubleRangeFacet, Relewise.Client',\n field: 'Data',\n selected: selected,\n key: key,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductCategoryDataDoubleRangesFacet(\n key: string,\n predefinedRanges?: {\n lowerBound?: number,\n upperBound?: number\n }[] | null,\n expandedRangeSize?: number | null,\n selectedValues: {\n lowerBound?: number,\n upperBound?: number\n }[] | null = null,\n facetSettings?: FacetSettings): this {\n\n const facet: ProductCategoryDataDoubleRangesFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductDataDoubleRangesFacet, Relewise.Client',\n field: 'Data',\n key: key,\n predefinedRanges: predefinedRanges?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n expandedRangeSize: expandedRangeSize,\n selected: selectedValues?.map(x => ({ lowerBoundInclusive: x.lowerBound, upperBoundExclusive: x.upperBound })),\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductCategoryDataStringValueFacet(key: string, selectedValues: string[] | null = null, collectionFilterType?: 'Or' | 'And', facetSettings?: FacetSettings): this {\n const facet: ProductCategoryDataStringValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductCategoryDataStringValueFacet, Relewise.Client',\n field: 'Data',\n selected: selectedValues,\n key: key,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductCategoryDataBooleanValueFacet(key: string, selectedValues: boolean[] | null = null, collectionFilterType?: 'Or' | 'And', facetSettings?: FacetSettings): this {\n const facet: ProductCategoryDataBooleanValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductCategoryDataBooleanValueFacet, Relewise.Client',\n field: 'Data',\n selected: selectedValues,\n key: key,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n\n public addProductCategoryDataDoubleValueFacet(key: string, selectedValues: number[] | null = null, collectionFilterType?: 'Or' | 'And', facetSettings?: FacetSettings): this {\n const facet: ProductCategoryDataDoubleValueFacet = {\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.ProductCategoryDataDoubleValueFacet, Relewise.Client',\n field: 'Data',\n selected: selectedValues,\n key: key,\n collectionFilterType: collectionFilterType,\n settings: facetSettings,\n };\n this.facets.push(facet);\n\n return this;\n }\n //#endregion\n\n build(): ProductFacetQuery | null {\n return this.facets.length === 0\n ? null\n : {\n items: this.facets,\n $type: 'Relewise.Client.DataTypes.Search.Facets.Queries.FacetQuery, Relewise.Client',\n }\n }\n\n private mapSelectedDoubleRange(lowerBound: number | undefined | null, upperBound: number | undefined| null) {\n let selected: DoubleNullableRange | null = null;\n const lowerBoundHasValue = lowerBound !== null && lowerBound !== undefined;\n const upperBoundHasValue = upperBound !== null && upperBound !== undefined;\n if (lowerBoundHasValue || upperBoundHasValue) {\n selected = {};\n if (lowerBoundHasValue) selected.lowerBoundInclusive = lowerBound;\n if (upperBoundHasValue) selected.upperBoundInclusive = upperBound;\n }\n return selected;\n }\n}\n\n","import { DataObjectFilter, DataObjectValueSelector } from '../..';\nimport { DataObjectFilterConditionBuilder } from '../dataObjectFilterConditionBuilder';\n\nexport class DataObjectValueSelectorBuilder {\n private key!: string;\n private filter?: DataObjectFilter;\n private childSelector?: DataObjectValueSelector;\n private fallbackSelector?: DataObjectValueSelector;\n\n public select(key: string, settings?: {\n filter?: {\n conditions?: (builder: DataObjectFilterConditionBuilder) => void,\n skip?: number,\n take?: number \n } | null, \n childSelector?: (childSelector: DataObjectValueSelectorBuilder) => void | null,\n fallbackSelector?: (childSelector: DataObjectValueSelectorBuilder) => void | null\n })\n {\n if (!key) \n throw new Error('DataObjectValueSelector key can\\'t be null or empty')\n\n this.key = key;\n \n if (settings) {\n if (settings.filter) {\n const conditionsBuilder = new DataObjectFilterConditionBuilder();\n if (settings.filter?.conditions) {\n settings.filter?.conditions(conditionsBuilder);\n }\n \n this.filter = {\n skip: settings.filter.skip,\n take: settings.filter.take, \n conditions: conditionsBuilder.build(),\n }\n }\n \n if (settings.childSelector) {\n const childSelector = new DataObjectValueSelectorBuilder();\n if (settings?.childSelector) {\n settings?.childSelector(childSelector);\n }\n this.childSelector = childSelector.build();\n }\n\n if (settings.fallbackSelector) {\n const fallbackSelector = new DataObjectValueSelectorBuilder();\n if (settings?.fallbackSelector) {\n settings?.fallbackSelector(fallbackSelector);\n }\n this.fallbackSelector = fallbackSelector.build();\n }\n }\n }\n\n public build(): DataObjectValueSelector {\n if (!this.key) \n throw new Error('DataObjectValueSelector key can\\'t be null or empty - did you forget to use .select(\\'key)?\\'')\n \n return {\n key: this.key,\n filter: this.filter,\n childSelector: this.childSelector,\n fallbackSelector: this.fallbackSelector,\n }\n }\n}","import { ProductAttributeSorting, ProductDataSorting, ProductDataObjectSorting, ProductPopularitySorting, ProductRelevanceSorting, ProductSortBySpecification, ProductVariantAttributeSorting, ProductVariantSpecificationSorting } from '../../models/data-contracts';\nimport { DataObjectValueSelectorBuilder } from './dataObjectValueSelectorBuilder';\n\nexport class ProductSortingBuilder {\n private value:\n | ProductAttributeSorting\n | ProductDataSorting\n | ProductPopularitySorting\n | ProductDataObjectSorting\n | ProductRelevanceSorting\n | ProductVariantAttributeSorting\n | ProductVariantSpecificationSorting\n | null = null;\n\n public sortByProductData(key: string, selectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant', order: 'Ascending' | 'Descending', thenBy?: (thenBy: ProductSortingBuilder) => void, mode: 'Auto' | 'Alphabetical' | 'Numerical' = 'Auto') {\n const sort: ProductDataSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Product.ProductDataSorting, Relewise.Client',\n dataSelectionStrategy: selectionStrategy,\n mode,\n order,\n key,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByProductDataObject(selectionStrategy: 'Product' | 'Variant' | 'VariantWithFallbackToProduct' | 'ProductWithFallbackToVariant', order: 'Ascending' | 'Descending', valueSelector: (valueSelector: DataObjectValueSelectorBuilder) => void, thenBy?: (thenBy: ProductSortingBuilder) => void, mode: 'Auto' | 'Alphabetical' | 'Numerical' = 'Auto') {\n const valueSelectorFactory = new DataObjectValueSelectorBuilder();\n valueSelector(valueSelectorFactory);\n \n const sort: ProductDataObjectSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Product.ProductDataObjectSorting, Relewise.Client',\n dataSelectionStrategy: selectionStrategy,\n mode,\n order,\n valueSelector: valueSelectorFactory.build(),\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByProductRelevance(order: 'Ascending' | 'Descending' = 'Descending', thenBy?: (thenBy: ProductSortingBuilder) => void) {\n const sort: ProductRelevanceSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Product.ProductRelevanceSorting, Relewise.Client',\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByProductPopularity(order: 'Ascending' | 'Descending' = 'Descending', thenBy?: (thenBy: ProductSortingBuilder) => void) {\n const sort: ProductPopularitySorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Product.ProductPopularitySorting, Relewise.Client',\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByProductAttribute(\n attribute: 'Id' | 'DisplayName' | 'BrandId' | 'BrandName' | 'ListPrice' | 'SalesPrice', \n order: 'Ascending' | 'Descending', \n thenBy?: (thenBy: ProductSortingBuilder) => void,\n mode: 'Auto' | 'Alphabetical' | 'Numerical' = 'Auto' ) {\n\n const sort: ProductAttributeSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Product.ProductAttributeSorting, Relewise.Client',\n attribute,\n mode,\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByProductVariantAttribute(\n attribute: 'Id' | 'DisplayName' | 'ListPrice' | 'SalesPrice', \n order: 'Ascending' | 'Descending', \n thenBy?: (thenBy: ProductSortingBuilder) => void, \n mode: 'Auto' | 'Alphabetical' | 'Numerical' = 'Auto') {\n\n const sort: ProductVariantAttributeSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Product.ProductVariantAttributeSorting, Relewise.Client',\n attribute,\n mode,\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByProductVariantSpecification(key: string, order: 'Ascending' | 'Descending', thenBy?: (thenBy: ProductSortingBuilder) => void, mode: 'Auto' | 'Alphabetical' | 'Numerical' = 'Auto') {\n const sort: ProductVariantSpecificationSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Product.ProductVariantSpecificationSorting, Relewise.Client',\n key,\n mode,\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n private thenBy(thenBy: ((thenBy: ProductSortingBuilder) => void) | undefined) {\n const thenByBuilder = new ProductSortingBuilder();\n if (thenBy) {\n thenBy(thenByBuilder);\n thenByBuilder.build();\n }\n return thenByBuilder;\n }\n\n public build(): ProductSortBySpecification | null {\n return this.value == null \n ? null\n : { value: this.value };\n }\n}\n","import { ContentAttributeSorting, ContentDataSorting, ContentPopularitySorting, ContentRelevanceSorting, ContentSortBySpecification } from '../../models/data-contracts';\n\nexport class ContentSortingBuilder {\n private value:\n | ContentAttributeSorting\n | ContentDataSorting\n | ContentPopularitySorting\n | ContentRelevanceSorting\n | null = null;\n\n public sortByContentData(key: string, order: 'Ascending' | 'Descending' = 'Descending', mode: 'Auto' | 'Alphabetical' | 'Numerical' = 'Auto', thenBy?: (thenBy: ContentSortingBuilder) => void) {\n const sort: ContentDataSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Content.ContentDataSorting, Relewise.Client',\n mode,\n order,\n key,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByContentRelevance(order: 'Ascending' | 'Descending' = 'Descending', thenBy?: (thenBy: ContentSortingBuilder) => void) {\n const sort: ContentRelevanceSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Content.ContentRelevanceSorting, Relewise.Client',\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByContentPopularity(order: 'Ascending' | 'Descending' = 'Descending', thenBy?: (thenBy: ContentSortingBuilder) => void) {\n const sort: ContentPopularitySorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Content.ContentPopularitySorting, Relewise.Client',\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByContentAttribute(\n attribute: 'Id' | 'DisplayName',\n order: 'Ascending' | 'Descending',\n mode: 'Auto' | 'Alphabetical' | 'Numerical' = 'Auto',\n thenBy?: (thenBy: ContentSortingBuilder) => void) {\n\n const sort: ContentAttributeSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.Content.ContentAttributeSorting, Relewise.Client',\n attribute,\n mode,\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n private thenBy(thenBy: ((thenBy: ContentSortingBuilder) => void) | undefined) {\n const thenByBuilder = new ContentSortingBuilder();\n if (thenBy) {\n thenBy(thenByBuilder);\n thenByBuilder.build();\n }\n return thenByBuilder;\n }\n\n public build(): ContentSortBySpecification | null {\n return this.value == null\n ? null\n : { value: this.value };\n }\n}\n","import { ProductCategoryAttributeSorting, ProductCategoryDataSorting, ProductCategoryPopularitySorting, ProductCategoryRelevanceSorting, ProductCategorySortBySpecification } from '../../models/data-contracts';\n\nexport class ProductCategorySortingBuilder {\n private value:\n | ProductCategoryAttributeSorting\n | ProductCategoryDataSorting\n | ProductCategoryPopularitySorting\n | ProductCategoryRelevanceSorting\n | null = null;\n\n public sortByProductCategoryData(key: string, order: 'Ascending' | 'Descending' = 'Descending', mode: 'Auto' | 'Alphabetical' | 'Numerical' = 'Auto', thenBy?: (thenBy: ProductCategorySortingBuilder) => void) {\n const sort: ProductCategoryDataSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.ProductCategory.ProductCategoryDataSorting, Relewise.Client',\n mode,\n order,\n key,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByProductCategoryRelevance(order: 'Ascending' | 'Descending' = 'Descending', thenBy?: (thenBy: ProductCategorySortingBuilder) => void) {\n const sort: ProductCategoryRelevanceSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.ProductCategory.ProductCategoryRelevanceSorting, Relewise.Client',\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByProductCategoryPopularity(order: 'Ascending' | 'Descending' = 'Descending', thenBy?: (thenBy: ProductCategorySortingBuilder) => void) {\n const sort: ProductCategoryPopularitySorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.ProductCategory.ProductCategoryPopularitySorting, Relewise.Client',\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n public sortByProductCategoryAttribute(\n attribute: 'Id' | 'DisplayName',\n order: 'Ascending' | 'Descending',\n mode: 'Auto' | 'Alphabetical' | 'Numerical' = 'Auto',\n thenBy?: (thenBy: ProductCategorySortingBuilder) => void) {\n\n const sort: ProductCategoryAttributeSorting = {\n $type: 'Relewise.Client.DataTypes.Search.Sorting.ProductCategory.ProductCategoryAttributeSorting, Relewise.Client',\n attribute,\n mode,\n order,\n thenBy: this.thenBy(thenBy)?.value,\n }\n\n this.value = sort;\n }\n\n private thenBy(thenBy: ((thenBy: ProductCategorySortingBuilder) => void) | undefined) {\n const thenByBuilder = new ProductCategorySortingBuilder();\n \n if (thenBy) { thenBy(thenByBuilder); }\n \n return thenByBuilder;\n }\n\n public build(): ProductCategorySortBySpecification | null {\n return this.value == null\n ? null\n : { value: this.value };\n }\n}\n","import { SearchRequest } from '../../models/data-contracts';\nimport { FilterBuilder } from '../filterBuilder';\nimport { RelevanceModifierBuilder } from '../relevanceModifierBuilder';\nimport { Settings } from '../settings';\n\nexport abstract class SearchRequestBuilder {\n private readonly filterBuilder: FilterBuilder = new FilterBuilder();\n private readonly postFilterBuilder: FilterBuilder = new FilterBuilder();\n private readonly relevanceModifiersBuilder: RelevanceModifierBuilder = new RelevanceModifierBuilder();\n private indexId: string | null | undefined;\n\n constructor(\n private readonly settings?: Settings) {\n }\n\n /**\n * Adds filters to the request\n * @param filterBuilder \n * @returns \n */\n public filters(filterBuilder: (builder: FilterBuilder) => void): this {\n filterBuilder(this.filterBuilder);\n\n return this;\n }\n\n /**\n * Adds post filters to the request\n * @param filterBuilder \n * @returns \n */\n public postFilters(filterBuilder: (builder: FilterBuilder) => void): this {\n filterBuilder(this.postFilterBuilder);\n\n return this;\n }\n\n public relevanceModifiers(relevanceModifiersBuilder: (builder: RelevanceModifierBuilder) => void): this {\n relevanceModifiersBuilder(this.relevanceModifiersBuilder);\n\n return this;\n }\n\n /**\n * Use only when a specific index different from the 'default'-index is needed\n * @param id \n * @returns \n */\n public setIndex(id?: string | null): this {\n this.indexId = id;\n\n return this;\n }\n\n protected baseBuild(): Omit<SearchRequest, '$type' | 'currency' | 'language' | 'displayedAtLocation'> {\n return {\n ...(this.settings && { \n currency: { value: this.settings.currency },\n language: { value: this.settings.language },\n displayedAtLocation: this.settings.displayedAtLocation,\n user: this.settings.user,\n }),\n filters: this.filterBuilder.build(),\n postFilters: this.postFilterBuilder.build(),\n relevanceModifiers: this.relevanceModifiersBuilder.build(),\n ...(this.indexId && { indexSelector: { id: this.indexId } }),\n };\n }\n}","import { ContentSearchRequest, ContentSearchSettings, RecommendationSettings, SelectedContentPropertiesSettings } from '../../models/data-contracts';\nimport { PaginationBuilder } from '../paginationBuilder';\nimport { Settings } from '../settings';\nimport { ContentSortingBuilder } from './contentSortingBuilder';\nimport { FacetBuilder } from './facetBuilder';\nimport { SearchBuilder } from './searchBuilder';\nimport { SearchRequestBuilder } from './searchRequestBuilder';\n\nexport class ContentSearchBuilder extends SearchRequestBuilder implements SearchBuilder {\n private facetBuilder: FacetBuilder = new FacetBuilder();\n private paginationBuilder: PaginationBuilder = new PaginationBuilder();\n private sortingBuilder: ContentSortingBuilder = new ContentSortingBuilder();\n private term: string | null | undefined;\n\n private searchSettings: ContentSearchSettings = {\n $type: 'Relewise.Client.Requests.Search.Settings.ContentSearchSettings, Relewise.Client',\n recommendations: {},\n };\n\n constructor(settings: Settings) {\n super(settings)\n }\n\n public setContentProperties(contentProperties: Partial<SelectedContentPropertiesSettings>): this {\n this.searchSettings.selectedContentProperties = contentProperties as SelectedContentPropertiesSettings;\n\n return this;\n }\n\n public setRecommendationSettings(settings: RecommendationSettings): this {\n this.searchSettings.recommendations = settings;\n\n return this;\n }\n\n public setTerm(term: string | null | undefined): this {\n this.term = term;\n\n return this;\n }\n\n public pagination(paginate: (pagination: PaginationBuilder) => void): this {\n paginate(this.paginationBuilder);\n\n return this;\n }\n\n public facets(facets: (pagination: FacetBuilder) => void): this {\n facets(this.facetBuilder);\n\n return this;\n }\n\n public sorting(sorting: (sortingBuilder: ContentSortingBuilder) => void): this {\n sorting(this.sortingBuilder);\n\n return this;\n }\n\n public build(): ContentSearchRequest {\n const { take, skip } = this.paginationBuilder.build();\n return {\n $type: 'Relewise.Client.Requests.Search.ContentSearchRequest, Relewise.Client', \n ...this.baseBuild(),\n \n settings: this.searchSettings,\n take,\n skip,\n\n term: this.term,\n\n facets: this.facetBuilder.build(),\n sorting: this.sortingBuilder.build(),\n } as ContentSearchRequest;\n }\n}","import { ProductCategorySearchRequest, ProductCategorySearchSettings, RecommendationSettings, SelectedProductCategoryPropertiesSettings } from '../../models/data-contracts';\nimport { PaginationBuilder } from '../paginationBuilder';\nimport { Settings } from '../settings';\nimport { FacetBuilder } from './facetBuilder';\nimport { ProductCategorySortingBuilder } from './productCategorySortingBuilder';\nimport { SearchBuilder } from './searchBuilder';\nimport { SearchRequestBuilder } from './searchRequestBuilder';\n\nexport class ProductCategorySearchBuilder extends SearchRequestBuilder implements SearchBuilder {\n private facetBuilder: FacetBuilder = new FacetBuilder();\n private paginationBuilder: PaginationBuilder = new PaginationBuilder();\n private sortingBuilder: ProductCategorySortingBuilder = new ProductCategorySortingBuilder();\n private term: string | null | undefined;\n\n private searchSettings: ProductCategorySearchSettings = {\n $type: 'Relewise.Client.Requests.Search.Settings.ProductCategorySearchSettings, Relewise.Client',\n recommendations: {},\n };\n\n constructor(settings: Settings) {\n super(settings)\n }\n\n public setSelectedCategoryProperties(productCategoryProperties: Partial<SelectedProductCategoryPropertiesSettings>): this {\n this.searchSettings.selectedCategoryProperties = productCategoryProperties as SelectedProductCategoryPropertiesSettings;\n\n return this;\n }\n\n public setRecommendationSettings(settings: RecommendationSettings): this {\n this.searchSettings.recommendations = settings;\n\n return this;\n }\n\n /**\n * Set the term used to filter product categories by\n */\n public setTerm(term: string | null | undefined): this {\n\n this.term = term;\n\n return this;\n }\n\n public pagination(paginate: (pagination: PaginationBuilder) => void): this {\n paginate(this.paginationBuilder);\n\n return this;\n }\n\n public facets(facets: (facets: FacetBuilder) => void): this {\n facets(this.facetBuilder);\n\n return this;\n }\n\n public sorting(sorting: (sortingBuilder: ProductCategorySortingBuilder) => void): this {\n sorting(this.sortingBuilder);\n\n return this;\n }\n\n public build(): ProductCategorySearchRequest {\n const { take, skip } = this.paginationBuilder.build();\n return {\n $type: 'Relewise.Client.Requests.Search.ProductCategorySearchRequest, Relewise.Client',\n ...this.baseBuild(),\n take,\n skip,\n\n term: this.term,\n\n facets: this.facetBuilder.build(),\n settings: this.searchSettings,\n sorting: this.sortingBuilder.build(),\n };\n }\n}","import { ProductSearchRequest, ProductSearchSettings, RecommendationSettings, SelectedBrandPropertiesSettings, SelectedProductPropertiesSettings, SelectedVariantPropertiesSettings, VariantSearchSettings } from '../../models/data-contracts';\nimport { PaginationBuilder } from '../paginationBuilder';\nimport { Settings } from '../settings';\nimport { FacetBuilder } from './facetBuilder';\nimport { ProductSortingBuilder } from './productSortingBuilder';\nimport { SearchBuilder } from './searchBuilder';\nimport { SearchRequestBuilder } from './searchRequestBuilder';\n\nexport class ProductSearchBuilder extends SearchRequestBuilder implements SearchBuilder {\n private facetBuilder: FacetBuilder = new FacetBuilder();\n private paginationBuilder: PaginationBuilder = new PaginationBuilder();\n private sortingBuilder: ProductSortingBuilder = new ProductSortingBuilder();\n private term: string | null | undefined;\n\n private searchSettings: ProductSearchSettings = {\n $type: 'Relewise.Client.Requests.Search.Settings.ProductSearchSettings, Relewise.Client',\n recommendations: {},\n };\n\n constructor(settings: Settings) {\n super(settings)\n }\n\n public setSelectedProductProperties(productProperties: Partial<SelectedProductPropertiesSettings>): this {\n this.searchSettings.selectedProductProperties = productProperties as SelectedProductPropertiesSettings;\n\n return this;\n }\n\n public setSelectedVariantProperties(variantProperties: Partial<SelectedVariantPropertiesSettings>): this {\n this.searchSettings.selectedVariantProperties = variantProperties as SelectedVariantPropertiesSettings;\n\n return this;\n }\n\n public setSelectedBrandProperties(brandProperties: Partial<SelectedBrandPropertiesSettings>): this {\n this.searchSettings.selectedBrandProperties = brandProperties as SelectedBrandPropertiesSettings;\n\n return this;\n }\n\n public setVariantSearchSettings(variantSearchSettings: Partial<VariantSearchSettings>): this {\n this.searchSettings.variantSettings = variantSearchSettings as VariantSearchSettings;\n\n return this;\n }\n\n public setExplodedVariants(count?: number | null): this {\n this.searchSettings.explodedVariants = count;\n\n return this;\n }\n\n public setRecommendationSettings(settings: RecommendationSettings): this {\n this.searchSettings.recommendations = settings;\n\n return this;\n }\n\n /**\n * Set the term used to filter products by\n */\n public setTerm(term: string | null | undefined): this {\n\n this.term = term;\n\n return this;\n }\n\n public pagination(paginate: (pagination: PaginationBuilder) => void): this {\n paginate(this.paginationBuilder);\n\n return this;\n }\n\n public facets(facets: (facets: FacetBuilder) => void): this {\n facets(this.facetBuilder);\n\n return this;\n }\n\n public sorting(sorting: (sortingBuilder: ProductSortingBuilder) => void): this {\n sorting(this.sortingBuilder);\n\n return this;\n }\n\n public build(): ProductSearchRequest {\n const { take, skip } = this.paginationBuilder.build();\n return {\n $type: 'Relewise.Client.Requests.Search.ProductSearchRequest, Relewise.Client',\n ...this.baseBuild(),\n take,\n skip,\n\n term: this.term,\n\n facets: this.facetBuilder.build(),\n settings: this.searchSettings,\n sorting: this.sortingBuilder.build(),\n } as ProductSearchRequest;\n }\n}","import { ContentSearchRequest, ProductSearchRequest, ProductCategorySearchRequest, SearchRequestCollection, SearchTermPredictionRequest } from '../../models/data-contracts';\nimport { Settings } from '../settings';\nimport { SearchRequestBuilder } from './searchRequestBuilder';\n\nexport class SearchCollectionBuilder extends SearchRequestBuilder {\n private requests: (ProductSearchRequest | ContentSearchRequest | ProductCategorySearchRequest | SearchTermPredictionRequest)[] = [];\n\n constructor(settings?: Settings) {\n super(settings)\n }\n\n public addRequest(request: ProductSearchRequest | ContentSearchRequest | ProductCategorySearchRequest | SearchTermPredictionRequest): this {\n this.requests.push(request);\n\n return this;\n }\n\n public build(): SearchRequestCollection {\n return {\n $type: 'Relewise.Client.Requests.Search.SearchRequestCollection, Relewise.Client',\n ...this.baseBuild(),\n requests: this.requests,\n };\n }\n}","import { SearchTermPredictionRequest } from '../../models/data-contracts';\nimport { Settings } from '../settings';\nimport { SearchRequestBuilder } from './searchRequestBuilder';\n\nexport class SearchTermPredictionBuilder extends SearchRequestBuilder {\n private count: number = 0;\n private term: string = '';\n private targetEntityTypes: ('Product' | 'Variant' | 'ProductCategory' | 'Brand' | 'Content' | 'ContentCategory')[] | null = null;\n\n constructor(settings: Settings) {\n super(settings)\n }\n\n public take(count: number): this {\n this.count = count;\n\n return this;\n }\n\n public setTerm(term: string): this {\n this.term = term;\n\n return this;\n }\n\n public addEntityType(...types: ('Product' | 'Variant' | 'ProductCategory' | 'Brand' | 'Content' | 'ContentCategory')[]): this {\n this.targetEntityTypes = types;\n\n return this;\n }\n\n public build(): SearchTermPredictionRequest {\n return {\n $type: 'Relewise.Client.Requests.Search.SearchTermPredictionRequest, Relewise.Client',\n ...this.baseBuild(),\n\n term: this.term,\n take: this.count,\n settings: {\n $type: 'Relewise.Client.Requests.Search.Settings.SearchTermPredictionSettings, Relewise.Client',\n targetEntityTypes: this.targetEntityTypes,\n },\n } as SearchTermPredictionRequest;\n }\n}","import { RecommendationRequest } from '../../models/data-contracts';\nimport { FilterBuilder } from '../filterBuilder';\nimport { RelevanceModifierBuilder } from '../relevanceModifierBuilder';\nimport { Settings } from '../settings';\n\nexport abstract class RecommendationRequestBuilder {\n private readonly filterBuilder: FilterBuilder = new FilterBuilder();\n private readonly relevanceModifiersBuilder: RelevanceModifierBuilder = new RelevanceModifierBuilder();\n\n constructor(\n private readonly settings: Settings) {\n }\n\n /**\n * Adds filters to the request\n * @param filterBuilder \n * @returns \n */\n public filters(filterBuilder: (builder: FilterBuilder) => void): this {\n filterBuilder(this.filterBuilder);\n\n return this;\n }\n\n public relevanceModifiers(relevanceModifiersBuilder: (builder: RelevanceModifierBuilder) => void): this {\n relevanceModifiersBuilder(this.relevanceModifiersBuilder);\n\n return this;\n }\n\n protected baseBuild(): Omit<RecommendationRequest, '$type'> {\n return {\n currency: { value: this.settings.currency },\n user: this.settings.user,\n language: { value: this.settings.language },\n displayedAtLocationType: this.settings.displayedAtLocation,\n filters: this.filterBuilder.build() ?? {},\n relevanceModifiers: this.relevanceModifiersBuilder.build() ?? {},\n };\n }\n}","import { Settings } from '../../../builders/settings';\nimport { ContentRecommendationRequestSettings, SelectedContentPropertiesSettings } from '../../../models/data-contracts';\nimport { RecommendationRequestBuilder } from '../recommendationRequestBuilder';\n\nexport class ContentSettingsRecommendationBuilder extends RecommendationRequestBuilder {\n protected recommendationSettings: ContentRecommendationRequestSettings = {\n allowFillIfNecessaryToReachNumberOfRecommendations: true,\n allowReplacingOfRecentlyShownRecommendations: true,\n numberOfRecommendations: 10,\n prioritizeDiversityBetweenRequests: false,\n };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public setSelectedContentProperties(contentProperties: Partial<SelectedContentPropertiesSettings>): this {\n this.recommendationSettings.selectedContentProperties = contentProperties as SelectedContentPropertiesSettings;\n\n return this;\n }\n\n public setNumberOfRecommendations(count: number): this {\n this.recommendationSettings.numberOfRecommendations = count;\n\n return this;\n }\n\n public allowFillIfNecessaryToReachNumberOfRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowFillIfNecessaryToReachNumberOfRecommendations = allowed;\n\n return this;\n }\n\n public allowReplacingOfRecentlyShownRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowReplacingOfRecentlyShownRecommendations = allowed;\n\n return this;\n }\n\n public prioritizeDiversityBetweenRequests(prioritize: boolean = true): this {\n this.recommendationSettings.prioritizeDiversityBetweenRequests = prioritize;\n\n return this;\n }\n}","import { ContentsViewedAfterViewingContentRequest, ContentsViewedAfterViewingMultipleContentsRequest, ContentsViewedAfterViewingMultipleProductsRequest, ContentsViewedAfterViewingProductRequest, PersonalContentRecommendationRequest, PopularContentsRequest, ContentRecommendationRequestCollection } from '../../../models/data-contracts';\n\nexport class ContentsRecommendationCollectionBuilder {\n private requests: (ContentsViewedAfterViewingContentRequest\n | ContentsViewedAfterViewingMultipleContentsRequest\n | ContentsViewedAfterViewingMultipleProductsRequest\n | ContentsViewedAfterViewingProductRequest\n | PersonalContentRecommendationRequest\n | PopularContentsRequest)[] = [];\n\n private distinctContentsAcrossResults: boolean = true;\n\n public addRequest(request: ContentsViewedAfterViewingContentRequest\n | ContentsViewedAfterViewingMultipleContentsRequest\n | ContentsViewedAfterViewingMultipleProductsRequest\n | ContentsViewedAfterViewingProductRequest\n | PersonalContentRecommendationRequest\n | PopularContentsRequest): this {\n this.requests.push(request);\n\n return this;\n }\n\n public requireDistinctContentsAcrossResults(distinctContentsAcrossResults: boolean = true): this {\n this.distinctContentsAcrossResults = distinctContentsAcrossResults;\n\n return this;\n }\n\n public build(): ContentRecommendationRequestCollection {\n return {\n $type: 'Relewise.Client.Requests.Recommendations.ContentRecommendationRequestCollection, Relewise.Client',\n requireDistinctContentsAcrossResults: this.distinctContentsAcrossResults,\n requests: this.requests,\n };\n }\n}","import { Settings } from '../../../builders/settings';\nimport { ContentsViewedAfterViewingContentRequest } from '../../../models/data-contracts';\nimport { ContentSettingsRecommendationBuilder } from './contentSettingsRecommendationBuilder';\nimport { ContentsRecommendationBuilder } from './contentsRecommendationBuilder';\n\nexport class ContentsViewedAfterViewingContentBuilder extends ContentSettingsRecommendationBuilder implements ContentsRecommendationBuilder<ContentsViewedAfterViewingContentRequest> {\n private id: string = '';\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n setContentId(contentId: string): this {\n this.id = contentId;\n\n return this;\n }\n\n public build() {\n const request: ContentsViewedAfterViewingContentRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.ContentsViewedAfterViewingContentRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n contentId: this.id,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { ContentsViewedAfterViewingMultipleContentsRequest } from '../../../models/data-contracts';\nimport { ContentSettingsRecommendationBuilder } from './contentSettingsRecommendationBuilder';\nimport { ContentsRecommendationBuilder } from './contentsRecommendationBuilder';\n\nexport class ContentsViewedAfterViewingMultipleContentsBuilder extends ContentSettingsRecommendationBuilder implements ContentsRecommendationBuilder<ContentsViewedAfterViewingMultipleContentsRequest> {\n private ids: string[] = [];\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n setContentIds(...ids: string[]): this {\n this.ids = ids;\n\n return this;\n }\n\n public build() {\n const request: ContentsViewedAfterViewingMultipleContentsRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.ContentsViewedAfterViewingMultipleContentsRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n contentIds: this.ids,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { ContentsViewedAfterViewingMultipleProductsRequest, ProductAndVariantId } from '../../../models/data-contracts';\nimport { ContentSettingsRecommendationBuilder } from './contentSettingsRecommendationBuilder';\nimport { ContentsRecommendationBuilder } from './contentsRecommendationBuilder';\n\nexport class ContentsViewedAfterViewingMultipleProductsBuilder extends ContentSettingsRecommendationBuilder implements ContentsRecommendationBuilder<ContentsViewedAfterViewingMultipleProductsRequest> {\n private products: ProductAndVariantId[] = [];\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public addProduct(product: { productId: string; variantId?: string; }): this {\n this.products.push(product);\n\n return this;\n }\n\n public addProducts(products: { productId: string; variantId?: string; }[]): this {\n products.forEach(x => this.products.push(x));\n\n return this;\n }\n\n public build() {\n const request: ContentsViewedAfterViewingMultipleProductsRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.ContentsViewedAfterViewingMultipleProductsRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n productAndVariantIds: this.products,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { ContentsViewedAfterViewingProductRequest, ProductAndVariantId } from '../../../models/data-contracts';\nimport { ContentSettingsRecommendationBuilder } from './contentSettingsRecommendationBuilder';\nimport { ContentsRecommendationBuilder } from './contentsRecommendationBuilder';\n\nexport class ContentsViewedAfterViewingProductBuilder extends ContentSettingsRecommendationBuilder implements ContentsRecommendationBuilder<ContentsViewedAfterViewingProductRequest> {\n private productAndVariantId: ProductAndVariantId = {\n productId: '',\n };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public product(product: { productId: string; variantId?: string; }): this {\n this.productAndVariantId = product;\n\n return this;\n }\n\n public build() {\n const request: ContentsViewedAfterViewingProductRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.ContentsViewedAfterViewingProductRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n productAndVariantId: this.productAndVariantId,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { PersonalContentRecommendationRequest } from '../../../models/data-contracts';\nimport { ContentSettingsRecommendationBuilder } from './contentSettingsRecommendationBuilder';\nimport { ContentsRecommendationBuilder } from './contentsRecommendationBuilder';\n\nexport class PersonalContentRecommendationBuilder extends ContentSettingsRecommendationBuilder implements ContentsRecommendationBuilder<PersonalContentRecommendationRequest> {\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public build() {\n const request: PersonalContentRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PersonalContentRecommendationRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { PopularContentsRequest } from '../../../models/data-contracts';\nimport { ContentSettingsRecommendationBuilder } from './contentSettingsRecommendationBuilder';\nimport { ContentsRecommendationBuilder } from './contentsRecommendationBuilder';\n\nexport class PopularContentsBuilder extends ContentSettingsRecommendationBuilder implements ContentsRecommendationBuilder<PopularContentsRequest> {\n private since: number = 0;\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public sinceMinutesAgo(sinceMinutesAgo: number): this {\n this.since = sinceMinutesAgo;\n\n return this;\n }\n\n public build() {\n const request: PopularContentsRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PopularContentsRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n sinceMinutesAgo: this.since,\n };\n\n return request;\n }\n}\n","import { PersonalContentCategoryRecommendationRequest, PopularContentCategoriesRecommendationRequest, ContentCategoryRecommendationRequestCollection } from '../../../models/data-contracts';\n\nexport class ContentCategoriesRecommendationCollectionBuilder {\n private requests: (PersonalContentCategoryRecommendationRequest | PopularContentCategoriesRecommendationRequest)[] = [];\n private distinctCategoriesAcrossResults: boolean = true;\n\n public addRequest(request: (PersonalContentCategoryRecommendationRequest | PopularContentCategoriesRecommendationRequest)): this {\n this.requests.push(request);\n\n return this;\n }\n\n public requireDistinctCategoriesAcrossResults(distinctCategoriesAcrossResults: boolean = true): this {\n this.distinctCategoriesAcrossResults = distinctCategoriesAcrossResults;\n\n return this;\n }\n\n public build(): ContentCategoryRecommendationRequestCollection {\n return {\n $type: 'Relewise.Client.Requests.Recommendations.ContentRecommendationRequestCollection, Relewise.Client',\n requireDistinctCategoriesAcrossResults: this.distinctCategoriesAcrossResults,\n requests: this.requests,\n }\n }\n}","import { Settings } from '../../../builders/settings';\nimport { ContentCategoryRecommendationRequestSettings, SelectedContentCategoryPropertiesSettings } from '../../../models/data-contracts';\nimport { RecommendationRequestBuilder } from '../recommendationRequestBuilder';\n\nexport class ContentCategorySettingsRecommendationBuilder extends RecommendationRequestBuilder {\n protected recommendationSettings: ContentCategoryRecommendationRequestSettings = {\n allowFillIfNecessaryToReachNumberOfRecommendations: true,\n allowReplacingOfRecentlyShownRecommendations: true,\n numberOfRecommendations: 10,\n prioritizeDiversityBetweenRequests: false,\n };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public setSelectedContentCategoryProperties(ContentCategoryProperties: Partial<SelectedContentCategoryPropertiesSettings>): this {\n this.recommendationSettings.selectedContentCategoryProperties = ContentCategoryProperties as SelectedContentCategoryPropertiesSettings;\n\n return this;\n }\n\n public setNumberOfRecommendations(count: number): this {\n this.recommendationSettings.numberOfRecommendations = count;\n\n return this;\n }\n\n public allowFillIfNecessaryToReachNumberOfRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowFillIfNecessaryToReachNumberOfRecommendations = allowed;\n\n return this;\n }\n\n public allowReplacingOfRecentlyShownRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowReplacingOfRecentlyShownRecommendations = allowed;\n\n return this;\n }\n\n public prioritizeDiversityBetweenRequests(prioritize: boolean = true): this {\n this.recommendationSettings.prioritizeDiversityBetweenRequests = prioritize;\n\n return this;\n }\n}","import { Settings } from '../../../builders/settings';\nimport { PersonalContentCategoryRecommendationRequest, ContentCategoryRecommendationWeights } from '../../../models/data-contracts';\nimport { ContentCategoriesRecommendationBuilder } from './contentCategoriesRecommendationBuilder';\nimport { ContentCategorySettingsRecommendationBuilder } from './contentCategorySettingsRecommendationBuilder';\n\nexport class PersonalContentCategoryRecommendationBuilder extends ContentCategorySettingsRecommendationBuilder implements ContentCategoriesRecommendationBuilder<PersonalContentCategoryRecommendationRequest> {\n private since: number = 0;\n private weights: ContentCategoryRecommendationWeights = { categoryViews: 1.0, contentViews: 1.0 };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public sinceMinutesAgo(sinceMinutesAgo: number): this {\n this.since = sinceMinutesAgo;\n\n return this;\n }\n\n public setWeights(weights: ContentCategoryRecommendationWeights): this {\n this.weights = weights;\n\n return this;\n }\n\n public build() {\n const request: PersonalContentCategoryRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PersonalContentCategoryRecommendationRequest, Relewise.Client',\n ...this.baseBuild(),\n sinceMinutesAgo: this.since,\n weights: this.weights,\n\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}","import { Settings } from '../../../builders/settings';\nimport { PopularContentCategoriesRecommendationRequest, ContentCategoryRecommendationWeights } from '../../../models/data-contracts';\nimport { ContentCategoriesRecommendationBuilder } from './contentCategoriesRecommendationBuilder';\nimport { ContentCategorySettingsRecommendationBuilder } from './contentCategorySettingsRecommendationBuilder';\n\nexport class PopularContentCategoriesRecommendationBuilder extends ContentCategorySettingsRecommendationBuilder implements ContentCategoriesRecommendationBuilder<PopularContentCategoriesRecommendationRequest> {\n private since: number = 0;\n private weights: ContentCategoryRecommendationWeights = { categoryViews: 1.0, contentViews: 1.0 };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public sinceMinutesAgo(sinceMinutesAgo: number): this {\n this.since = sinceMinutesAgo;\n\n return this;\n }\n\n public setWeights(weights: ContentCategoryRecommendationWeights): this {\n this.weights = weights;\n\n return this;\n }\n\n public build() {\n const request: PopularContentCategoriesRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PopularContentCategoriesRecommendationRequest, Relewise.Client',\n ...this.baseBuild(), \n sinceMinutesAgo: this.since,\n weights: this.weights,\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}","import { Settings } from '../../../builders/settings';\nimport { BrandRecommendationRequestSettings, SelectedBrandPropertiesSettings } from '../../../models/data-contracts';\nimport { RecommendationRequestBuilder } from '../recommendationRequestBuilder';\n\nexport class BrandSettingsRecommendationBuilder extends RecommendationRequestBuilder {\n protected recommendationSettings: BrandRecommendationRequestSettings = {\n allowFillIfNecessaryToReachNumberOfRecommendations: true,\n allowReplacingOfRecentlyShownRecommendations: true,\n numberOfRecommendations: 10,\n prioritizeDiversityBetweenRequests: false,\n };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public setSelectedBrandProperties(brandProperties: Partial<SelectedBrandPropertiesSettings>): this {\n this.recommendationSettings.selectedBrandProperties = brandProperties as SelectedBrandPropertiesSettings;\n\n return this;\n }\n\n public setNumberOfRecommendations(count: number): this {\n this.recommendationSettings.numberOfRecommendations = count;\n\n return this;\n }\n\n public allowFillIfNecessaryToReachNumberOfRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowFillIfNecessaryToReachNumberOfRecommendations = allowed;\n\n return this;\n }\n\n public allowReplacingOfRecentlyShownRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowReplacingOfRecentlyShownRecommendations = allowed;\n\n return this;\n }\n\n public prioritizeDiversityBetweenRequests(prioritize: boolean = true): this {\n this.recommendationSettings.prioritizeDiversityBetweenRequests = prioritize;\n\n return this;\n }\n}","import { Settings } from '../../../builders/settings';\nimport { PersonalBrandRecommendationRequest, BrandRecommendationWeights } from '../../../models/data-contracts';\nimport { BrandSettingsRecommendationBuilder } from './brandSettingsRecommendationBuilder';\nimport { BrandsRecommendationBuilder } from './brandsRecommendationBuilder';\n\nexport class PersonalBrandRecommendationBuilder extends BrandSettingsRecommendationBuilder implements BrandsRecommendationBuilder<PersonalBrandRecommendationRequest> {\n private since: number = 0;\n private weights: BrandRecommendationWeights = { brandViews: 1.0, productViews: 1.0, productPurchases: 1.0 };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public sinceMinutesAgo(sinceMinutesAgo: number): this {\n this.since = sinceMinutesAgo;\n\n return this;\n }\n\n public setWeights(weights: BrandRecommendationWeights): this {\n this.weights = weights;\n\n return this;\n }\n\n public build() {\n const request: PersonalBrandRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PersonalBrandRecommendationRequest, Relewise.Client',\n ...this.baseBuild(),\n sinceMinutesAgo: this.since,\n weights: this.weights,\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}","import { Settings } from '../../../builders/settings';\nimport { PopularBrandsRecommendationRequest, BrandRecommendationWeights } from '../../../models/data-contracts';\nimport { BrandSettingsRecommendationBuilder } from './brandSettingsRecommendationBuilder';\nimport { BrandsRecommendationBuilder } from './brandsRecommendationBuilder';\n\nexport class PopularBrandsRecommendationBuilder extends BrandSettingsRecommendationBuilder implements BrandsRecommendationBuilder<PopularBrandsRecommendationRequest> {\n private since: number = 0;\n private weights: BrandRecommendationWeights = { brandViews: 1.0, productViews: 1.0, productPurchases: 1.0 };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public sinceMinutesAgo(sinceMinutesAgo: number): this {\n this.since = sinceMinutesAgo;\n\n return this;\n }\n\n public setWeights(weights: BrandRecommendationWeights): this {\n this.weights = weights;\n\n return this;\n }\n\n public build() {\n const request: PopularBrandsRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PopularBrandsRecommendationRequest, Relewise.Client',\n ...this.baseBuild(),\n sinceMinutesAgo: this.since,\n weights: this.weights,\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}","import { Settings } from '../../../builders/settings';\nimport { ProductCategoryRecommendationRequestSettings, SelectedProductCategoryPropertiesSettings } from '../../../models/data-contracts';\nimport { RecommendationRequestBuilder } from '../recommendationRequestBuilder';\n\nexport class ProductCategorySettingsRecommendationBuilder extends RecommendationRequestBuilder {\n protected recommendationSettings: ProductCategoryRecommendationRequestSettings = {\n allowFillIfNecessaryToReachNumberOfRecommendations: true,\n allowReplacingOfRecentlyShownRecommendations: true,\n numberOfRecommendations: 10,\n prioritizeDiversityBetweenRequests: false,\n };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public setProductCategoryProperties(ProductCategoryProperties: Partial<SelectedProductCategoryPropertiesSettings>): this {\n this.recommendationSettings.selectedProductCategoryProperties = ProductCategoryProperties as SelectedProductCategoryPropertiesSettings;\n\n return this;\n }\n\n public setNumberOfRecommendations(count: number): this {\n this.recommendationSettings.numberOfRecommendations = count;\n\n return this;\n }\n\n public allowFillIfNecessaryToReachNumberOfRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowFillIfNecessaryToReachNumberOfRecommendations = allowed;\n\n return this;\n }\n\n public allowReplacingOfRecentlyShownRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowReplacingOfRecentlyShownRecommendations = allowed;\n\n return this;\n }\n\n public prioritizeDiversityBetweenRequests(prioritize: boolean = true): this {\n this.recommendationSettings.prioritizeDiversityBetweenRequests = prioritize;\n\n return this;\n }\n}","import { Settings } from '../../../builders/settings';\nimport { PersonalProductCategoryRecommendationRequest, ProductCategoryRecommendationWeights } from '../../../models/data-contracts';\nimport { ProductCategoriesRecommendationBuilder } from './productCategoriesRecommendationBuilder';\nimport { ProductCategorySettingsRecommendationBuilder } from './productCategorySettingsRecommendationBuilder';\n\nexport class PersonalProductCategoryRecommendationBuilder extends ProductCategorySettingsRecommendationBuilder implements ProductCategoriesRecommendationBuilder<PersonalProductCategoryRecommendationRequest> {\n private since: number = 0;\n private weights: ProductCategoryRecommendationWeights = { categoryViews: 1.0, productViews: 1.0, productPurchases: 1.0 };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public sinceMinutesAgo(sinceMinutesAgo: number): this {\n this.since = sinceMinutesAgo;\n\n return this;\n }\n\n public setWeights(weights: ProductCategoryRecommendationWeights): this {\n this.weights = weights;\n\n return this;\n }\n\n public build() {\n const request: PersonalProductCategoryRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PersonalProductCategoryRecommendationRequest, Relewise.Client',\n ...this.baseBuild(),\n sinceMinutesAgo: this.since,\n weights: this.weights,\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}","import { Settings } from '../../../builders/settings';\nimport { PopularProductCategoriesRecommendationRequest, ProductCategoryRecommendationWeights } from '../../../models/data-contracts';\nimport { ProductCategoriesRecommendationBuilder } from './productCategoriesRecommendationBuilder';\nimport { ProductCategorySettingsRecommendationBuilder } from './productCategorySettingsRecommendationBuilder';\n\nexport class PopularProductCategoriesRecommendationBuilder extends ProductCategorySettingsRecommendationBuilder implements ProductCategoriesRecommendationBuilder<PopularProductCategoriesRecommendationRequest> {\n private since: number = 0;\n private weights: ProductCategoryRecommendationWeights = { categoryViews: 1.0, productViews: 1.0, productPurchases: 1.0 };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public sinceMinutesAgo(sinceMinutesAgo: number): this {\n this.since = sinceMinutesAgo;\n\n return this;\n }\n\n public setWeights(weights: ProductCategoryRecommendationWeights): this {\n this.weights = weights;\n\n return this;\n }\n\n public build() {\n const request: PopularProductCategoriesRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PopularProductCategoriesRecommendationRequest, Relewise.Client',\n ...this.baseBuild(), \n sinceMinutesAgo: this.since,\n weights: this.weights,\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}","import { PersonalProductCategoryRecommendationRequest, PopularProductCategoriesRecommendationRequest, ProductCategoryRecommendationRequestCollection } from '../../../models/data-contracts';\n\nexport class ProductCategoriesRecommendationCollectionBuilder {\n private requests: (PersonalProductCategoryRecommendationRequest | PopularProductCategoriesRecommendationRequest)[] = [];\n private distinctCategoriesAcrossResults: boolean = true;\n\n public addRequest(request: (PersonalProductCategoryRecommendationRequest | PopularProductCategoriesRecommendationRequest)): this {\n this.requests.push(request);\n\n return this;\n }\n\n public requireDistinctCategoriesAcrossResults(distinctCategoriesAcrossResults: boolean = true): this {\n this.distinctCategoriesAcrossResults = distinctCategoriesAcrossResults;\n\n return this;\n }\n\n public build(): ProductCategoryRecommendationRequestCollection {\n return {\n $type: 'Relewise.Client.Requests.Recommendations.ProductCategoryRecommendationRequestCollection, Relewise.Client',\n requireDistinctCategoriesAcrossResults: this.distinctCategoriesAcrossResults,\n requests: this.requests,\n }\n }\n}","import { Settings } from '../../../builders/settings';\nimport { ProductRecommendationRequestSettings, SelectedProductPropertiesSettings, SelectedVariantPropertiesSettings, SelectedBrandPropertiesSettings } from '../../../models/data-contracts';\nimport { RecommendationRequestBuilder } from '../recommendationRequestBuilder';\n\nexport class ProductSettingsRecommendationBuilder extends RecommendationRequestBuilder {\n protected recommendationSettings: ProductRecommendationRequestSettings = {\n allowFillIfNecessaryToReachNumberOfRecommendations: true,\n allowReplacingOfRecentlyShownRecommendations: true,\n recommendVariant: true,\n numberOfRecommendations: 10,\n prioritizeDiversityBetweenRequests: false,\n };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public setSelectedProductProperties(productProperties: Partial<SelectedProductPropertiesSettings>): this {\n this.recommendationSettings.selectedProductProperties = productProperties as SelectedProductPropertiesSettings;\n\n return this;\n }\n\n public setSelectedVariantProperties(variantProperties: Partial<SelectedVariantPropertiesSettings>): this {\n this.recommendationSettings.selectedVariantProperties = variantProperties as SelectedVariantPropertiesSettings;\n\n return this;\n }\n\n public setSelectedBrandProperties(brandProperties: Partial<SelectedBrandPropertiesSettings>): this {\n this.recommendationSettings.selectedBrandProperties = brandProperties as SelectedBrandPropertiesSettings;\n\n return this;\n }\n\n public setNumberOfRecommendations(count: number): this {\n this.recommendationSettings.numberOfRecommendations = count;\n\n return this;\n }\n\n public allowFillIfNecessaryToReachNumberOfRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowFillIfNecessaryToReachNumberOfRecommendations = allowed;\n\n return this;\n }\n\n public allowReplacingOfRecentlyShownRecommendations(allowed: boolean = true): this {\n this.recommendationSettings.allowReplacingOfRecentlyShownRecommendations = allowed;\n\n return this;\n }\n\n public allowProductsCurrentlyInCart(allowed: boolean = true): this {\n this.recommendationSettings.allowProductsCurrentlyInCart = allowed;\n\n return this;\n }\n\n public prioritizeDiversityBetweenRequests(prioritize: boolean = true): this {\n this.recommendationSettings.prioritizeDiversityBetweenRequests = prioritize;\n\n return this;\n }\n\n public recommendVariant(recommend: boolean = true): this {\n this.recommendationSettings.recommendVariant = recommend;\n\n return this;\n }\n}","import { Settings } from '../../../builders/settings';\nimport { PurchasedWithCurrentCartRequest } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class PurchasedWithCurrentCartBuilder extends ProductSettingsRecommendationBuilder implements ProductsRecommendationBuilder<PurchasedWithCurrentCartRequest> {\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public build() {\n const request: PurchasedWithCurrentCartRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PurchasedWithCurrentCartRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { ProductAndVariantId } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\n\nexport class BySingleProductRecommendationBuilder extends ProductSettingsRecommendationBuilder {\n protected productAndVariantId: ProductAndVariantId | null = null;\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public product(product: { productId: string; variantId?: string; }): this {\n this.productAndVariantId = product;\n\n return this;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { ProductsViewedAfterViewingProductRequest } from '../../../models/data-contracts';\nimport { BySingleProductRecommendationBuilder } from './bySingleProductRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class ProductsViewedAfterViewingProductBuilder extends BySingleProductRecommendationBuilder implements ProductsRecommendationBuilder<ProductsViewedAfterViewingProductRequest> {\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public build() {\n if (this.productAndVariantId === null) {\n throw new Error('Must specificy a product');\n }\n\n const request: ProductsViewedAfterViewingProductRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.ProductsViewedAfterViewingProductRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n productAndVariantId: this.productAndVariantId,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { ProductsViewedAfterViewingContentRequest } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class ProductsViewedAfterViewingContentBuilder extends ProductSettingsRecommendationBuilder implements ProductsRecommendationBuilder<ProductsViewedAfterViewingContentRequest> {\n private id: string = '';\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n setContentId(contentId: string): this {\n this.id = contentId;\n\n return this;\n }\n\n public build() {\n const request: ProductsViewedAfterViewingContentRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.ProductsViewedAfterViewingContentRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n contentId: this.id,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { PersonalProductRecommendationRequest } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class PersonalProductRecommendationBuilder extends ProductSettingsRecommendationBuilder implements ProductsRecommendationBuilder<PersonalProductRecommendationRequest> {\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public build() {\n const request: PersonalProductRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PersonalProductRecommendationRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { PopularProductsRequest } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class PopularProductsBuilder extends ProductSettingsRecommendationBuilder implements ProductsRecommendationBuilder<PopularProductsRequest> {\n private since: number = 0;\n private basedOnSelection: 'MostPurchased' | 'MostViewed' = 'MostPurchased';\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public basedOn(basedOn: 'MostPurchased' | 'MostViewed'): this {\n this.basedOnSelection = basedOn;\n\n return this;\n }\n\n public sinceMinutesAgo(sinceMinutesAgo: number): this {\n this.since = sinceMinutesAgo;\n\n return this;\n }\n\n public build() {\n const request: PopularProductsRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PopularProductsRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n basedOn: this.basedOnSelection,\n sinceMinutesAgo: this.since,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { RecentlyViewedProductsRequest } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class RecentlyViewedProductsBuilder extends ProductSettingsRecommendationBuilder implements ProductsRecommendationBuilder<RecentlyViewedProductsRequest> {\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public build() {\n const request: RecentlyViewedProductsRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.RecentlyViewedProductsRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}\n","\nimport { Settings } from '../../settings';\nimport { SortVariantsRequest } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class SortVariantsBuilder extends ProductSettingsRecommendationBuilder implements ProductsRecommendationBuilder<SortVariantsRequest> {\n private id: string = '';\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public setProductId(productId: string): this {\n this.id = productId;\n\n return this;\n }\n\n public build() {\n const request: SortVariantsRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.SortVariantsRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n productId: this.id,\n };\n\n return request;\n }\n}\n","import { CustomProductRecommendationRequest, PersonalProductRecommendationRequest, PopularProductsRequest, ProductsViewedAfterViewingContentRequest, ProductsViewedAfterViewingProductRequest, PurchasedWithCurrentCartRequest, PurchasedWithMultipleProductsRequest, PurchasedWithProductRequest, RecentlyViewedProductsRequest, SearchTermBasedProductRecommendationRequest, SimilarProductsRequest, SortProductsRequest, SortVariantsRequest, ProductRecommendationRequestCollection } from '../../../models/data-contracts';\n\nexport class ProductsRecommendationCollectionBuilder {\n private requests: (CustomProductRecommendationRequest\n | PersonalProductRecommendationRequest\n | PopularProductsRequest\n | ProductsViewedAfterViewingContentRequest\n | ProductsViewedAfterViewingProductRequest\n | PurchasedWithCurrentCartRequest\n | PurchasedWithMultipleProductsRequest\n | PurchasedWithProductRequest\n | RecentlyViewedProductsRequest\n | SearchTermBasedProductRecommendationRequest\n | SimilarProductsRequest\n | SortProductsRequest\n | SortVariantsRequest)[] = [];\n\n private distinctProductsAcrossResults: boolean = true;\n\n public addRequest(request: CustomProductRecommendationRequest\n | PersonalProductRecommendationRequest\n | PopularProductsRequest\n | ProductsViewedAfterViewingContentRequest\n | ProductsViewedAfterViewingProductRequest\n | PurchasedWithCurrentCartRequest\n | PurchasedWithMultipleProductsRequest\n | PurchasedWithProductRequest\n | RecentlyViewedProductsRequest\n | SearchTermBasedProductRecommendationRequest\n | SimilarProductsRequest\n | SortProductsRequest\n | SortVariantsRequest): this {\n this.requests.push(request);\n\n return this;\n }\n\n public requireDistinctProductsAcrossResults(distinctProductsAcrossResults: boolean = true): this {\n this.distinctProductsAcrossResults = distinctProductsAcrossResults;\n\n return this;\n }\n\n public build(): ProductRecommendationRequestCollection {\n return {\n $type: 'Relewise.Client.Requests.Recommendations.ProductRecommendationRequestCollection, Relewise.Client',\n requireDistinctProductsAcrossResults: this.distinctProductsAcrossResults,\n requests: this.requests,\n };\n }\n}","import { Settings } from '../../../builders/settings';\nimport { PurchasedWithMultipleProductsRequest, ProductAndVariantId } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class PurchasedWithMultipleProductsBuilder extends ProductSettingsRecommendationBuilder implements ProductsRecommendationBuilder<PurchasedWithMultipleProductsRequest> {\n private products: ProductAndVariantId[] = [];\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public addProduct(product: { productId: string; variantId?: string; }): this {\n this.products.push(product);\n\n return this;\n }\n\n public addProducts(products: { productId: string; variantId?: string; }[]): this {\n products.forEach(x => this.products.push(x));\n\n return this;\n }\n\n public build() {\n const request: PurchasedWithMultipleProductsRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PurchasedWithMultipleProductsRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n productAndVariantIds: this.products,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { PurchasedWithProductRequest } from '../../../models/data-contracts';\nimport { BySingleProductRecommendationBuilder } from './bySingleProductRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class PurchasedWithProductBuilder extends BySingleProductRecommendationBuilder implements ProductsRecommendationBuilder<PurchasedWithProductRequest> {\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public build() {\n if (this.productAndVariantId === null) {\n throw new Error('Must specificy a product');\n }\n\n const request: PurchasedWithProductRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PurchasedWithProductRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n productAndVariantId: this.productAndVariantId!,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { SearchTermBasedProductRecommendationRequest } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class SearchTermBasedProductRecommendationBuilder extends ProductSettingsRecommendationBuilder implements ProductsRecommendationBuilder<SearchTermBasedProductRecommendationRequest> {\n private term: string = '';\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n setTerm(term: string): this {\n this.term = term;\n\n return this;\n }\n\n public build() {\n const request: SearchTermBasedProductRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.SearchTermBasedProductRecommendationRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n term: this.term,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { SortProductsRequest } from '../../../models/data-contracts';\nimport { ProductSettingsRecommendationBuilder } from './productSettingsRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class SortProductsBuilder extends ProductSettingsRecommendationBuilder implements ProductsRecommendationBuilder<SortProductsRequest> {\n private ids: string[] = [];\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public setProductIds(productIds: string[]): this {\n this.ids = productIds;\n\n return this;\n }\n\n public build() {\n const request: SortProductsRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.SortProductsRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n productIds: this.ids,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { SimilarProductsRequest, SimilarProductsEvaluationSettings, Product } from '../../../models/data-contracts';\nimport { BySingleProductRecommendationBuilder } from './bySingleProductRecommendationBuilder';\nimport { ProductsRecommendationBuilder } from './productsRecommendationBuilder';\n\nexport class SimilarProductsProductBuilder extends BySingleProductRecommendationBuilder implements ProductsRecommendationBuilder<SimilarProductsRequest> {\n private evaluationSettings: SimilarProductsEvaluationSettings | null = null;\n private considerAlreadyKnownInformationAboutProduct: boolean = false;\n private productData: Product | null = null;\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public setSimilarProductsEvaluationSettings(settings: SimilarProductsEvaluationSettings): this {\n this.evaluationSettings = settings;\n\n return this;\n }\n\n public build() {\n const request: SimilarProductsRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.SimilarProductsRequest, Relewise.Client',\n ...this.baseBuild(),\n settings: this.recommendationSettings,\n existingProductId: this.productAndVariantId,\n considerAlreadyKnownInformationAboutProduct: this.considerAlreadyKnownInformationAboutProduct,\n productData: this.productData,\n evaluationSettings: this.evaluationSettings,\n };\n\n return request;\n }\n}\n","import { Settings } from '../../../builders/settings';\nimport { RecommendPopularSearchTermSettings, PopularSearchTermsRecommendationRequest } from '../../../models/data-contracts';\nimport { RecommendationRequestBuilder } from '../recommendationRequestBuilder';\n\nexport class PopularSearchTermsRecommendationBuilder extends RecommendationRequestBuilder {\n term: string | null | undefined;\n\n recommendationSettings: RecommendPopularSearchTermSettings = {\n numberOfRecommendations: 10,\n };\n\n constructor(\n settings: Settings) {\n super(settings);\n }\n\n public setTerm(term: string | null | undefined): this {\n this.term = term;\n\n return this;\n }\n\n public addEntityType(...types: ('Product' | 'Variant' | 'ProductCategory' | 'Brand' | 'Content' | 'ContentCategory')[]): this {\n this.recommendationSettings.targetEntityTypes = types;\n\n return this;\n }\n\n public build() {\n const request: PopularSearchTermsRecommendationRequest = {\n $type: 'Relewise.Client.Requests.Recommendations.PopularSearchTermsRecommendationRequest, Relewise.Client',\n ...this.baseBuild(),\n term: this.term,\n settings: this.recommendationSettings,\n };\n\n return request;\n }\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export default { tag: 'client@1.24.0' };\n","import fetch from 'cross-fetch';\nimport version from './version';\n\nexport interface RelewiseClientOptions {\n serverUrl?: string;\n}\n\nexport interface RelewiseRequestOptions {\n abortSignal?: AbortSignal\n}\n\nexport class ProblemDetailsError extends Error {\n private _details?: HttpProblemDetails;\n\n public get details(): HttpProblemDetails | undefined {\n return this._details;\n }\n\n constructor(message: string, details?: HttpProblemDetails) {\n super(message);\n this._details = details;\n }\n}\n\nexport interface HttpProblemDetails {\n type: string;\n title: string;\n status: number;\n traceId: string;\n detail?: string;\n errors?: Record<string, string>;\n}\n\nexport abstract class RelewiseClient {\n private readonly _serverUrl: string = 'https://api.relewise.com';\n private readonly _urlPath: string = 'v1';\n private readonly _apiKeyHeader: string;\n\n constructor(protected readonly datasetId: string, protected readonly apiKey: string, options?: RelewiseClientOptions) {\n if (!datasetId) throw new Error('Dataset id cannot be null or empty. Please contact Relewise if you don\\'t have an account already or would like a free demo license');\n if (!apiKey) throw new Error('API Key secret cannot be null or empty. Please contact Relewise support if you don\\'t know the apiKeySecret for your datasetId.');\n\n this._apiKeyHeader = `APIKey ${this.apiKey}`;\n\n if (options?.serverUrl) {\n this._serverUrl = options.serverUrl;\n }\n }\n\n public get serverUrl(): string {\n return this._serverUrl;\n }\n\n protected async request<TRequest, TResponse>(name: string, data: TRequest, options?: RelewiseRequestOptions): Promise<TResponse | undefined> {\n const requestUrl = this.createRequestUrl(this._serverUrl, this.datasetId, this._urlPath, name);\n\n const response = await fetch(requestUrl, {\n method: 'POST',\n headers: {\n Authorization: this._apiKeyHeader,\n 'Content-Type': 'application/json',\n 'X-Relewise-Version': version.tag,\n },\n body: JSON.stringify(data),\n signal: options?.abortSignal,\n });\n\n if (!response.ok) {\n let responseMessage = null;\n try { \n responseMessage = await response.json();\n } catch (_) { \n }\n\n throw new ProblemDetailsError('Error when calling the Relewise API. Read more in the details property if there is error response or look in the network tab.', responseMessage);\n }\n\n try {\n const responseMessage = await response.json();\n\n return responseMessage as TResponse;\n } catch (err) {\n return undefined;\n }\n }\n\n private createRequestUrl(baseUrl: string, ...segments: string[]) {\n const joinedSegments = segments.join('/');\n return baseUrl.endsWith('/')\n ? baseUrl.concat(joinedSegments)\n : baseUrl.concat('/', joinedSegments);\n }\n}","import { RelewiseClient, RelewiseClientOptions, RelewiseRequestOptions } from './relewise.client';\nimport { \n TrackOrderRequest, TrackCartRequest, TrackProductViewRequest, TrackProductCategoryViewRequest, TrackContentViewRequest, TrackContentCategoryViewRequest,\n TrackBrandViewRequest, User, TrackSearchTermRequest, TrackUserUpdateRequest, DataValue,\n} from './models/data-contracts';\n\nexport class Tracker extends RelewiseClient {\n constructor(protected readonly datasetId: string, protected readonly apiKey: string, options?: RelewiseClientOptions) {\n super(datasetId, apiKey, options);\n }\n\n public async trackOrder({ user, subtotal, orderNumber, lineItems, cartName = 'default', trackingNumber, data }: {\n user: User,\n subtotal: { currency: string, amount: number },\n orderNumber: string,\n /** @deprecated Use orderNumber instead. */\n trackingNumber?: string,\n lineItems: { productId: string, variantId?: string, lineTotal: number, quantity: number, data?: Record<string, DataValue> }[], \n data?: Record<string, DataValue>, \n cartName?: string\n }, options?: RelewiseRequestOptions): Promise<void | undefined> {\n return this.request<TrackOrderRequest, void>('TrackOrderRequest', {\n $type: 'Relewise.Client.Requests.Tracking.TrackOrderRequest, Relewise.Client',\n order: {\n $type: 'Relewise.Client.DataTypes.Order, Relewise.Client',\n lineItems: lineItems.map(l => ({\n product: {\n id: l.productId,\n },\n ...(l.variantId && { variant: { id: l.variantId }}),\n lineTotal: l.lineTotal,\n quantity: l.quantity,\n data: l.data,\n })),\n subtotal: { amount: subtotal.amount, currency: { value: subtotal.currency }},\n orderNumber: orderNumber,\n trackingNumber: trackingNumber,\n cartName: cartName,\n data: data,\n user: user,\n },\n }, options);\n }\n\n public async trackCart({ user, subtotal, lineItems, data, cartName = 'default' }: { \n user?: User, \n subtotal: { currency: string, amount: number }, \n lineItems: { productId: string, variantId?: string, lineTotal: number, quantity: number, data?: Record<string, DataValue> }[], \n data?: Record<string, DataValue>, \n cartName?: string \n }, options?: RelewiseRequestOptions): Promise<void | undefined> {\n return this.request<TrackCartRequest, void>('TrackCartRequest', {\n $type: 'Relewise.Client.Requests.Tracking.TrackCartRequest, Relewise.Client',\n cart: {\n $type: 'Relewise.Client.DataTypes.Cart, Relewise.Client',\n lineItems: lineItems.map(l => ({\n product: {\n id: l.productId,\n },\n ...(l.variantId && { variant: { id: l.variantId }}),\n lineTotal: l.lineTotal,\n quantity: l.quantity,\n data: l.data,\n })),\n subtotal: { amount: subtotal.amount, currency: { value: subtotal.currency }},\n name: cartName,\n user: user,\n data: data,\n },\n }, options);\n }\n\n public async trackProductView({ productId, variantId, user }: { productId: string, variantId?: string, user: User }, options?: RelewiseRequestOptions): Promise<void | undefined> {\n return this.request<TrackProductViewRequest, void>('TrackProductViewRequest', {\n $type: 'Relewise.Client.Requests.Tracking.TrackProductViewRequest, Relewise.Client',\n productView: {\n $type: 'Relewise.Client.DataTypes.ProductView, Relewise.Client',\n product: {\n id: productId,\n },\n ...(variantId && { variant: { id: variantId }}),\n user: user,\n },\n }, options);\n }\n\n public async trackProductCategoryView({ idPath, user }: { idPath: string[], user: User }, options?: RelewiseRequestOptions): Promise<void | undefined> {\n return this.request<TrackProductCategoryViewRequest, void>('TrackProductCategoryViewRequest', {\n $type: 'Relewise.Client.Requests.Tracking.TrackProductCategoryViewRequest, Relewise.Client',\n productCategoryView: {\n $type: 'Relewise.Client.DataTypes.ProductCategoryView, Relewise.Client',\n idPath: idPath,\n user: user,\n },\n }, options);\n }\n\n public async trackContentView({ contentId, user }: { contentId: string, user: User }, options?: RelewiseRequestOptions): Promise<void | undefined> {\n return this.request<TrackContentViewRequest, void>('TrackContentViewRequest', {\n $type: 'Relewise.Client.Requests.Tracking.TrackContentViewRequest, Relewise.Client',\n contentView: {\n $type: 'Relewise.Client.DataTypes.ContentView, Relewise.Client',\n content: {\n id: contentId,\n },\n user: user,\n },\n }, options);\n }\n\n public async trackContentCategoryView({ idPath, user }: { idPath: string[], user: User }, options?: RelewiseRequestOptions): Promise<void | undefined> {\n return this.request<TrackContentCategoryViewRequest, void>('TrackContentCategoryViewRequest', {\n $type: 'Relewise.Client.Requests.Tracking.TrackContentCategoryViewRequest, Relewise.Client',\n contentCategoryView: {\n $type: 'Relewise.Client.DataTypes.ContentCategoryView, Relewise.Client',\n idPath: idPath,\n user: user,\n },\n }, options);\n }\n\n public async trackBrandView({ brandId, user }: { brandId: string, user: User }, options?: RelewiseRequestOptions): Promise<void | undefined> {\n return this.request<TrackBrandViewRequest, void>('TrackBrandViewRequest', {\n $type: 'Relewise.Client.Requests.Tracking.TrackBrandViewRequest, Relewise.Client',\n brandView: {\n $type: 'Relewise.Client.DataTypes.BrandView, Relewise.Client',\n brand: {\n id: brandId,\n },\n user: user,\n },\n }, options);\n }\n\n public async trackSearchTerm({ term, language, user }: { term: string, user: User, language: string }, options?: RelewiseRequestOptions): Promise<void | undefined> {\n return this.request<TrackSearchTermRequest, void>('TrackSearchTermRequest', {\n $type: 'Relewise.Client.Requests.Tracking.TrackSearchTermRequest, Relewise.Client',\n searchTerm: {\n $type: 'Relewise.Client.DataTypes.SearchTerm, Relewise.Client',\n language: {\n value: language,\n },\n term: term,\n user: user,\n },\n }, options);\n }\n\n public async trackUserUpdate({ user, updateKind = 'UpdateAndAppend' }: { user: User, updateKind?: 'None' | 'UpdateAndAppend' | 'ReplaceProvidedProperties' | 'ClearAndReplace' }, options?: RelewiseRequestOptions): Promise<void | undefined> {\n return this.request<TrackUserUpdateRequest, void>('TrackUserUpdateRequest', {\n $type: 'Relewise.Client.Requests.Tracking.TrackUserUpdateRequest, Relewise.Client',\n userUpdate: {\n $type: 'Relewise.Client.DataTypes.UserUpdate, Relewise.Client',\n user: user,\n kind: updateKind,\n },\n }, options);\n }\n}\n","import { RelewiseClient, RelewiseClientOptions, RelewiseRequestOptions } from './relewise.client';\nimport { \n SearchRequestCollection, \n SearchResponseCollection, \n ProductSearchRequest, \n ProductSearchResponse,\n ProductCategorySearchRequest, \n ProductCategorySearchResponse,\n ContentSearchRequest,\n ContentSearchResponse,\n SearchTermPredictionRequest,\n SearchTermPredictionResponse,\n} from './models/data-contracts';\n\nexport class Searcher extends RelewiseClient {\n constructor(protected readonly datasetId: string, protected readonly apiKey: string, options?: RelewiseClientOptions) {\n super(datasetId, apiKey, options);\n }\n\n public async searchProducts(request: ProductSearchRequest, options?: RelewiseRequestOptions): Promise<ProductSearchResponse | undefined> {\n return this.request<ProductSearchRequest, ProductSearchResponse>('ProductSearchRequest', request, options);\n }\n\n public async searchProductCategories(request: ProductCategorySearchRequest, options?: RelewiseRequestOptions): Promise<ProductCategorySearchResponse | undefined> {\n return this.request<ProductCategorySearchRequest, ProductCategorySearchResponse>('ProductCategorySearchRequest', request, options);\n }\n\n public async searchContents(request: ContentSearchRequest, options?: RelewiseRequestOptions): Promise<ContentSearchResponse | undefined> {\n return this.request<ContentSearchRequest, ContentSearchResponse>('ContentSearchRequest', request, options);\n }\n\n public async searchTermPrediction(request: SearchTermPredictionRequest, options?: RelewiseRequestOptions): Promise<SearchTermPredictionResponse | undefined> {\n return this.request<SearchTermPredictionRequest, SearchTermPredictionResponse>('SearchTermPredictionRequest', request, options);\n }\n\n public async batch(requestCollections: SearchRequestCollection, options?: RelewiseRequestOptions): Promise<SearchResponseCollection | undefined> {\n return this.request<SearchRequestCollection, SearchResponseCollection>('SearchRequestCollection', requestCollections, options);\n }\n}","import { RelewiseClient, RelewiseClientOptions, RelewiseRequestOptions } from './relewise.client';\nimport {\n ProductRecommendationResponse,\n ContentRecommendationResponse,\n ProductRecommendationResponseCollection,\n ProductRecommendationRequestCollection,\n ContentRecommendationResponseCollection,\n ContentRecommendationRequestCollection,\n PopularSearchTermsRecommendationRequest,\n SearchTermRecommendationResponse,\n ContentCategoryRecommendationRequestCollection,\n ContentCategoryRecommendationResponseCollection,\n ProductCategoryRecommendationRequestCollection,\n ProductCategoryRecommendationResponseCollection,\n PopularBrandsRecommendationRequest,\n BrandRecommendationResponse,\n PersonalBrandRecommendationRequest,\n PurchasedWithProductRequest,\n PersonalContentCategoryRecommendationRequest,\n PopularContentCategoriesRecommendationRequest,\n ContentCategoryRecommendationResponse,\n PersonalProductCategoryRecommendationRequest,\n PopularProductCategoriesRecommendationRequest,\n ProductCategoryRecommendationResponse,\n PopularContentsRequest,\n PersonalContentRecommendationRequest,\n ContentsViewedAfterViewingProductRequest,\n ContentsViewedAfterViewingMultipleProductsRequest,\n ContentsViewedAfterViewingMultipleContentsRequest,\n ContentsViewedAfterViewingContentRequest,\n SortVariantsRequest,\n SortProductsRequest,\n SimilarProductsRequest,\n SearchTermBasedProductRecommendationRequest,\n RecentlyViewedProductsRequest,\n PurchasedWithMultipleProductsRequest,\n PurchasedWithCurrentCartRequest,\n ProductsViewedAfterViewingProductRequest,\n ProductsViewedAfterViewingContentRequest,\n PopularProductsRequest,\n PersonalProductRecommendationRequest,\n} from './models/data-contracts';\n\nexport class Recommender extends RelewiseClient {\n constructor(protected readonly datasetId: string, protected readonly apiKey: string, options?: RelewiseClientOptions) {\n super(datasetId, apiKey, options);\n }\n\n public async recommendPopularSearchTerms(request: PopularSearchTermsRecommendationRequest, options?: RelewiseRequestOptions): Promise<SearchTermRecommendationResponse | undefined> {\n return this.request<PopularSearchTermsRecommendationRequest, SearchTermRecommendationResponse>('PopularSearchTermsRecommendationRequest', request, options);\n }\n\n //#region Brands\n\n public async recommendPersonalBrands(request: PersonalBrandRecommendationRequest, options?: RelewiseRequestOptions): Promise<BrandRecommendationResponse | undefined> {\n return this.request<PersonalBrandRecommendationRequest, BrandRecommendationResponse>('PersonalBrandRecommendationRequest', request, options);\n }\n\n public async recommendPopularBrands(request: PopularBrandsRecommendationRequest, options?: RelewiseRequestOptions): Promise<BrandRecommendationResponse | undefined> {\n return this.request<PopularBrandsRecommendationRequest, BrandRecommendationResponse>('PopularBrandsRecommendationRequest', request, options);\n }\n\n //#endregion\n\n //#region Content Categories\n public async recommendPersonalContentCategories(request: PersonalContentCategoryRecommendationRequest, options?: RelewiseRequestOptions): Promise<ContentCategoryRecommendationResponse | undefined> {\n return this.request<PersonalContentCategoryRecommendationRequest, ContentCategoryRecommendationResponse>('PersonalContentCategoryRecommendationRequest', request, options);\n }\n\n public async recommendPopularContentCategories(request: PopularContentCategoriesRecommendationRequest, options?: RelewiseRequestOptions): Promise<ContentCategoryRecommendationResponse | undefined> {\n return this.request<PopularContentCategoriesRecommendationRequest, ContentCategoryRecommendationResponse>('PopularContentCategoriesRecommendationRequest', request, options);\n }\n\n //#endregion\n\n //#region Product Categories\n public async recommendPersonalProductCategories(request: PersonalProductCategoryRecommendationRequest, options?: RelewiseRequestOptions): Promise<ProductCategoryRecommendationResponse | undefined> {\n return this.request<PersonalProductCategoryRecommendationRequest, ProductCategoryRecommendationResponse>('PersonalProductCategoryRecommendationRequest', request, options);\n }\n\n public async recommendPopularProductCategories(request: PopularProductCategoriesRecommendationRequest, options?: RelewiseRequestOptions): Promise<ProductCategoryRecommendationResponse | undefined> {\n return this.request<PopularProductCategoriesRecommendationRequest, ProductCategoryRecommendationResponse>('PopularProductCategoriesRecommendationRequest', request, options);\n }\n\n //#endregion\n\n //#region Products\n\n public async recommendPurchasedWithProduct(request: PurchasedWithProductRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<PurchasedWithProductRequest, ProductRecommendationResponse>('PurchasedWithProductRequest', request, options);\n }\n\n public async recommendPurchasedWithMultipleProducts(request: PurchasedWithMultipleProductsRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<PurchasedWithMultipleProductsRequest, ProductRecommendationResponse>('PurchasedWithMultipleProductsRequest', request, options);\n }\n\n public async sortVariants(request: SortVariantsRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<SortVariantsRequest, ProductRecommendationResponse>('SortVariantsRequest', request, options);\n }\n\n public async sortProducts(request: SortProductsRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<SortProductsRequest, ProductRecommendationResponse>('SortProductsRequest', request, options);\n }\n\n public async recommendSimilarProducts(request: SimilarProductsRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<SimilarProductsRequest, ProductRecommendationResponse>('SimilarProductsRequest', request, options);\n }\n\n public async recommendSearchTermBasedProducts(request: SearchTermBasedProductRecommendationRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<SearchTermBasedProductRecommendationRequest, ProductRecommendationResponse>('SearchTermBasedProductRecommendationRequest', request, options);\n }\n\n public async recentlyViewedProducts(request: RecentlyViewedProductsRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<RecentlyViewedProductsRequest, ProductRecommendationResponse>('RecentlyViewedProductsRequest', request, options);\n }\n\n public async recommendPurchasedWithCurrentCart(request: PurchasedWithCurrentCartRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<PurchasedWithCurrentCartRequest, ProductRecommendationResponse>('PurchasedWithCurrentCartRequest', request, options);\n }\n\n public async recommendProductsViewedAfterViewingProduct(request: ProductsViewedAfterViewingProductRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<ProductsViewedAfterViewingProductRequest, ProductRecommendationResponse>('ProductsViewedAfterViewingProductRequest', request, options);\n }\n\n public async recommendProductsViewedAfterViewingContent(request: ProductsViewedAfterViewingContentRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<ProductsViewedAfterViewingContentRequest, ProductRecommendationResponse>('ProductsViewedAfterViewingContentRequest', request, options);\n }\n\n public async recommendPopularProducts(request: PopularProductsRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<PopularProductsRequest, ProductRecommendationResponse>('PopularProductsRequest', request, options);\n }\n\n public async recommendPersonalProducts(request: PersonalProductRecommendationRequest, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponse | undefined> {\n return this.request<PersonalProductRecommendationRequest, ProductRecommendationResponse>('PersonalProductRecommendationRequest', request, options);\n }\n\n //#endregion\n\n //#region Content\n\n public async recommendPopularContents(request: PopularContentsRequest, options?: RelewiseRequestOptions): Promise<ContentRecommendationResponse | undefined> {\n return this.request<PopularContentsRequest, ContentRecommendationResponse>('PopularContentsRequest', request, options);\n }\n\n public async recommendPersonalContents(request: PersonalContentRecommendationRequest, options?: RelewiseRequestOptions): Promise<ContentRecommendationResponse | undefined> {\n return this.request<PersonalContentRecommendationRequest, ContentRecommendationResponse>('PopularContentsRequest', request, options);\n }\n\n public async recommendContentsViewedAfterViewingProduct(request: ContentsViewedAfterViewingProductRequest, options?: RelewiseRequestOptions): Promise<ContentRecommendationResponse | undefined> {\n return this.request<ContentsViewedAfterViewingProductRequest, ContentRecommendationResponse>('ContentsViewedAfterViewingProductRequest', request, options);\n }\n\n public async recommendContentsViewedAfterViewingMultipleProducts(request: ContentsViewedAfterViewingMultipleProductsRequest, options?: RelewiseRequestOptions): Promise<ContentRecommendationResponse | undefined> {\n return this.request<ContentsViewedAfterViewingMultipleProductsRequest, ContentRecommendationResponse>('ContentsViewedAfterViewingProductRequest', request, options);\n }\n\n public async recommendContentsViewedAfterViewingMultipleContents(request: ContentsViewedAfterViewingMultipleContentsRequest, options?: RelewiseRequestOptions): Promise<ContentRecommendationResponse | undefined> {\n return this.request<ContentsViewedAfterViewingMultipleContentsRequest, ContentRecommendationResponse>('ContentsViewedAfterViewingMultipleContentsRequest', request, options);\n }\n\n public async recommendContentsViewedAfterViewingContent(request: ContentsViewedAfterViewingContentRequest, options?: RelewiseRequestOptions): Promise<ContentRecommendationResponse | undefined> {\n return this.request<ContentsViewedAfterViewingContentRequest, ContentRecommendationResponse>('ContentsViewedAfterViewingContentRequest', request, options);\n }\n\n //#endregion\n\n //#region Batching \n public async batchProductRecommendations(request: ProductRecommendationRequestCollection, options?: RelewiseRequestOptions): Promise<ProductRecommendationResponseCollection | undefined> {\n return this.request<ProductRecommendationRequestCollection, ProductRecommendationResponseCollection>('ProductRecommendationRequestCollection', request, options);\n }\n\n public async batchContentRecommendations(request: ContentRecommendationRequestCollection, options?: RelewiseRequestOptions): Promise<ContentRecommendationResponseCollection | undefined> {\n return this.request<ContentRecommendationRequestCollection, ContentRecommendationResponseCollection>('ContentRecommendationRequestCollection', request, options);\n }\n\n public async batchContentCategoryRecommendations(request: ContentCategoryRecommendationRequestCollection, options?: RelewiseRequestOptions): Promise<ContentCategoryRecommendationResponseCollection | undefined> {\n return this.request<ContentCategoryRecommendationRequestCollection, ContentCategoryRecommendationResponseCollection>('ContentCategoryRecommendationRequestCollection', request, options);\n }\n\n public async batchProductCategoryRecommendations(request: ProductCategoryRecommendationRequestCollection, options?: RelewiseRequestOptions): Promise<ProductCategoryRecommendationResponseCollection | undefined> {\n return this.request<ProductCategoryRecommendationRequestCollection, ProductCategoryRecommendationResponseCollection>('ProductCategoryRecommendationRequestCollection', request, options);\n }\n\n //#endregion\n}","import { User } from '../models/data-contracts';\n\nexport type PartialUser<TKeys extends string> = Omit<User, TKeys>;\n\nexport class UserFactory {\n static anonymous(user?: PartialUser<'temporaryId'|'fingerprint'|'authenticatedId'>): User {\n return { ...user };\n }\n \n static byAuthenticatedId(authenticatedId: string, temporaryId?: string, user?: PartialUser<'temporaryId'|'authenticatedId'>): User {\n return { authenticatedId, ...(temporaryId && { temporaryId }), ...user };\n }\n \n static byTemporaryId(temporaryId: string, user?: PartialUser<'temporaryId'>): User {\n return { ...user, temporaryId };\n }\n \n static byIdentifier(key: string, value: string, user?: PartialUser<'identifiers'>): User {\n return { ...user, identifiers: { [key]: value } };\n }\n \n static byIdentifiers(identifiers: Record<string, string>, user?: PartialUser<'identifiers'>): User {\n return { identifiers, ...user };\n }\n \n static byEmail(email: string, user?: PartialUser<'email'>): User {\n return { email, ...user };\n }\n\n static byFingerprint(fingerprint: string, user?: PartialUser<'fingerprint'>): User {\n return { fingerprint, ...user };\n }\n}","import { StringDataValue, StringCollectionDataValue, NumberDataValue, DoubleCollectionDataValue, BooleanDataValue, BooleanCollectionDataValue, MultiCurrencyDataValue, MultilingualDataValue, ObjectDataValue, ObjectCollectionDataValue, DataValue, MultilingualCollectionDataValue } from '..';\n\nexport class DataValueFactory {\n static string(value: string): StringDataValue {\n return new StringDataValue(value);\n }\n\n static stringCollection(collection: string[]): StringCollectionDataValue {\n return new StringCollectionDataValue(collection);\n }\n\n static number(value: number): NumberDataValue {\n return new NumberDataValue(value);\n }\n\n static doubleCollection(collection: number[]): DoubleCollectionDataValue {\n return new DoubleCollectionDataValue(collection);\n }\n\n static boolean(value: boolean): BooleanDataValue {\n return new BooleanDataValue(value);\n }\n\n static booleanCollection(collection: boolean[]): BooleanCollectionDataValue {\n return new BooleanCollectionDataValue(collection);\n }\n\n static multiCurrency(values: { amount: number, currency: string }[]): MultiCurrencyDataValue {\n return new MultiCurrencyDataValue(values);\n }\n\n static multilingual(values: { value: string, language: string }[]): MultilingualDataValue {\n return new MultilingualDataValue(values);\n }\n\n static multilingualCollection(values: { values: string[], language: string }[]): MultilingualCollectionDataValue {\n return new MultilingualCollectionDataValue(values);\n }\n\n static object(data: { [key: string]: DataValue }): ObjectDataValue {\n return new ObjectDataValue(data);\n }\n\n static objectCollection(objects: { [key: string]: DataValue }[]): ObjectCollectionDataValue {\n return new ObjectCollectionDataValue(objects);\n }\n}","import { DataDoubleSelector, FixedDoubleValueSelector } from '..';\n\nexport class ValueSelectorFactory {\n static dataDoubleSelector(key: string): DataDoubleSelector {\n return {\n $type: 'Relewise.Client.Requests.ValueSelectors.DataDoubleSelector, Relewise.Client',\n key: key,\n };\n }\n\n static fixedDoubleValueSelector(value: number): FixedDoubleValueSelector {\n return {\n $type: 'Relewise.Client.Requests.ValueSelectors.FixedDoubleValueSelector, Relewise.Client',\n value: value,\n };\n }\n}","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: any;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. May be either a URL or the pieces of a\n * URL path.\n */\nexport type To = string | Partial<Path>;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an <a href> attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial<Location>;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant<T>(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly<Location> {\n let location: Readonly<Location> = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial<Path>) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial<Path> {\n let parsedPath: Partial<Path> = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { warning, invariant, parsePath } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase<LowerCaseFormMethod>;\n\n/**\n * Users can specify either lowercase or uppercase form methods on <Form>,\n * useSubmit(), <fetcher.Form>, etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude<FormMethod, \"get\">;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude<V7_FormMethod, \"GET\">;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"application/json\"\n | \"text/plain\";\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport type Submission =\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n json: undefined;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: JsonValue;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: undefined;\n text: string;\n };\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: any;\n}\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return). Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable<unknown> | null;\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs): Promise<DataFunctionValue> | DataFunctionValue;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs): Promise<DataFunctionValue> | DataFunctionValue;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n text?: Submission[\"text\"];\n formData?: Submission[\"formData\"];\n json?: Submission[\"json\"];\n actionResult?: DataResult;\n defaultShouldRevalidate: boolean;\n }): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n (route: AgnosticRouteObject): {\n hasErrorBoundary: boolean;\n } & Record<string, any>;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set<ImmutableRouteKey>([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction<R extends AgnosticRouteObject> {\n (): Promise<Omit<R, ImmutableRouteKey>>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction<AgnosticBaseRouteObject>;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record<string, AgnosticDataRouteObject | undefined>;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam<Path extends string> =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam<L> | _PathParam<R>\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam<Path extends string> =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam<Rest>\n : // look for params in the absence of wildcards\n _PathParam<Path>;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey<Segment extends string> =\n // if could not find path params, fallback to `string`\n [PathParam<Segment>] extends [never] ? string : PathParam<Segment>;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch<string, AgnosticDataRouteObject> {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n mapRouteProperties: MapRoutePropertiesFunction,\n parentPath: number[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial<Location> | string,\n basename = \"/\"\n): AgnosticRouteMatch<string, RouteObjectType>[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch<string, RouteObjectType>(\n branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname)\n );\n }\n\n return matches;\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta<RouteObjectType>[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch<RouteObjectType>[] = [],\n parentsMeta: RouteMeta<RouteObjectType>[] = [],\n parentPath = \"\"\n): RouteBranch<RouteObjectType>[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta<RouteObjectType> = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explodes _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch<RouteObjectType>,\n pathname: string\n): AgnosticRouteMatch<ParamKey, RouteObjectType>[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch<ParamKey, RouteObjectType>[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params<ParamKey>,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nexport function generatePath<Path extends string>(\n originalPath: Path,\n params: {\n [key in PathParam<Path>]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const stringify = (p: any) =>\n p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam<Path>;\n // Apply the splat\n return stringify(params[star]);\n }\n\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam<Path>];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern<Path extends string = string> {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch<ParamKey extends string = string> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable<T> = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(\n pattern: PathPattern<Path> | Path,\n pathname: string\n): PathMatch<ParamKey> | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce<Mutable<Params>>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"/([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURI(value: string) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial<Path>\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in <Link to=\"...\"> and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\" element={<Link to=\"..\"}>\n * </Route>\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\">\n * <Route element={<AccountsLayout />}> // <-- Does not contribute\n * <Route index element={<Link to=\"..\"} /> // <-- Does not contribute\n * </Route\n * </Route>\n * </Route>\n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial<Path>;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `<Link to>` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how <a href> works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = <Data>(\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise<any> {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set<string> = new Set<string>();\n private controller: AbortController;\n private abortPromise: Promise<void>;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record<string, unknown>;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record<string, unknown>, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise<unknown> | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, null, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n if (error) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record<string, unknown>,\n init?: number | ResponseInit\n) => DeferredData;\n\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n error?: Error;\n internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n DataResult,\n DeferredData,\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DeferredResult,\n ErrorResult,\n FormEncType,\n FormMethod,\n DetectErrorBoundaryFunction,\n RedirectResult,\n RouteData,\n AgnosticRouteObject,\n Submission,\n SuccessResult,\n AgnosticRouteMatch,\n ShouldRevalidateFunction,\n RouteManifest,\n ImmutableRouteKey,\n ActionFunction,\n LoaderFunction,\n V7_MutationFormMethod,\n V7_FormMethod,\n HTMLFormMethod,\n MutationFormMethod,\n MapRoutePropertiesFunction,\n} from \"./utils\";\nimport {\n ErrorResponse,\n ResultType,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record<string, number>,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise<void>;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To | null, opts?: RouterNavigateOptions): Promise<void>;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher<TData = any>(key?: string): Fetcher<TData>;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key?: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map<string, AbortController>;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map<string, DeferredData>;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map<string, Fetcher>;\n\n /**\n * Map of current blockers\n */\n blockers: Map<string, Blocker>;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick<RouterState, \"loaderData\" | \"actionData\" | \"errors\">\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_normalizeFormMethod: boolean;\n v7_prependBasename: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial<FutureConfig>;\n hydrationData?: HydrationState;\n window?: Window;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record<string, Headers>;\n actionHeaders: Record<string, Headers>;\n activeDeferreds: Record<string, DeferredData> | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: { requestContext?: unknown }\n ): Promise<StaticHandlerContext | Response>;\n queryRoute(\n request: Request,\n opts?: { routeId?: string; requestContext?: unknown }\n ): Promise<any>;\n}\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (state: RouterState): void;\n}\n\ninterface UseMatchesMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: unknown;\n handle: unknown;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UseMatchesMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\n// Allowed for any navigation or fetch\ntype BaseNavigateOrFetchOptions = {\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n replace?: boolean;\n state?: any;\n fromRouteId?: string;\n};\n\n// Only allowed for submission navigations\ntype BaseSubmissionOptions = {\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n} & (\n | { formData: FormData; body?: undefined }\n | { formData?: undefined; body: any }\n);\n\n/**\n * Options for a navigate() call for a normal (non-submission) navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a submission navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to navigate() for a navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options for a fetch() load\n */\ntype LoadFetchOptions = BaseNavigateOrFetchOptions;\n\n/**\n * Options for a fetch() submission\n */\ntype SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n json: undefined;\n text: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n text: Submission[\"text\"] | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n text: Submission[\"text\"];\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates<TData = any> = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n text: undefined;\n formData: undefined;\n json: undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Loading: {\n state: \"loading\";\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n text: Submission[\"text\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n text: Submission[\"text\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n};\n\nexport type Fetcher<TData = any> =\n FetcherStates<TData>[keyof FetcherStates<TData>];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Error thrown from the current action, keyed by the route containing the\n * error boundary to render the error. To be committed to the state after\n * loaders have completed\n */\n pendingActionError?: RouteData;\n /**\n * Data returned from the current action, keyed by the route owning the action.\n * To be committed to the state after loaders have completed\n */\n pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n controller: AbortController | null;\n}\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n type: ResultType.data | ResultType.error;\n response: Response;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set<MutationFormMethod>(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set<FormMethod>(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n const routerWindow = init.window\n ? init.window\n : typeof window !== \"undefined\"\n ? window\n : undefined;\n const isBrowser =\n typeof routerWindow !== \"undefined\" &&\n typeof routerWindow.document !== \"undefined\" &&\n typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_normalizeFormMethod: false,\n v7_prependBasename: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set<RouterSubscriber>();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record<string, number> | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from <ScrollRestoration /> until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n let initialized =\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n !initialMatches.some((m) => m.route.lazy) &&\n // And we have to either have no loaders or have been provided hydrationData\n (!initialMatches.some((m) => m.route.loader) || init.hydrationData != null);\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: string[] = [];\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map<string, AbortController>();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map<string, number>();\n\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set<string>();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map<string, FetchLoadMatch>();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map<string, DeferredData>();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map<string, BlockerFunction>();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location);\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(newState: Partial<RouterState>): void {\n state = {\n ...state,\n ...newState,\n };\n subscribers.forEach((subscriber) => subscriber(state));\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial<Omit<RouterState, \"action\" | \"location\" | \"navigation\">>\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n updateState({\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers,\n });\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To | null,\n opts?: RouterNavigateOptions\n ): Promise<void> {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n to,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n false,\n normalizedPath,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n { overrideNavigation: state.navigation }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponse;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n }\n ): Promise<void> {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n });\n return;\n }\n\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\". For example, on /page#hash and submit a <Form method=\"post\">\n // which will default to a navigation to /page\n if (\n state.initialized &&\n !isRevalidationRequired &&\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionData: RouteData | undefined;\n let pendingError: RouteData | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError,\n };\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n { replace: opts.replace }\n );\n\n if (actionOutput.shortCircuited) {\n return;\n }\n\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n\n // Create a GET request for the loaders\n request = new Request(request.url, { signal: request.signal });\n }\n\n // Call loaders\n let { shortCircuited, loaderData, errors } = await handleLoaders(\n request,\n location,\n matches,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n pendingActionData,\n pendingError\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n opts: { replace?: boolean } = {}\n ): Promise<HandleActionResult> {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation });\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace =\n result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, { submission, replace });\n return { shortCircuited: true };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: { [boundaryMatch.route.id]: result.error },\n };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n return {\n pendingActionData: { [actionMatch.route.id]: result.data },\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n ): Promise<HandleLoadersResult> {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation =\n overrideNavigation || getLoadingNavigation(location, submission);\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission ||\n fetcherSubmission ||\n getSubmissionFromNavigation(loadingNavigation);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionData,\n pendingError\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n });\n return { shortCircuited: true };\n }\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n fetcher ? fetcher.data : undefined\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState({\n navigation: loadingNavigation,\n ...(actionData\n ? Object.keys(actionData).length === 0\n ? { actionData: null }\n : { actionData }\n : {}),\n ...(revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n }\n\n pendingNavigationLoadId = ++incrementingLoadId;\n revalidatingFetchers.forEach((rf) => {\n if (fetchControllers.has(rf.key)) {\n abortFetcher(rf.key);\n }\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n await startRedirectNavigation(state, redirect, { replace });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n matchesToLoad,\n loaderResults,\n pendingError,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers =\n updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n return {\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n };\n }\n\n function getFetcher<TData = any>(key: string): Fetcher<TData> {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n if (fetchControllers.has(key)) abortFetcher(key);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n href,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath })\n );\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n true,\n normalizedPath,\n opts\n );\n\n if (error) {\n setFetcherError(key, routeId, error);\n return;\n }\n\n let match = getTargetMatch(matches, path);\n\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error);\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher = getSubmittingFetcher(submission, existingFetcher);\n state.fetchers.set(key, fetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n fetchControllers.set(key, abortController);\n\n let actionResult = await callLoaderOrAction(\n \"action\",\n fetchRequest,\n match,\n requestMatches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n fetchRedirectIds.add(key);\n let loadingFetcher = getLoadingFetcher(submission);\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n return startRedirectNavigation(state, actionResult, {\n submission,\n isFetchActionRedirect: true,\n });\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n { [match.route.id]: actionResult.data },\n undefined // No need to send through errors since we short circuit above\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (fetchControllers.has(staleKey)) {\n abortFetcher(staleKey);\n }\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(results);\n if (redirect) {\n return startRedirectNavigation(state, redirect);\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n state.matches,\n matchesToLoad,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n ...(didAbortFetchLoads || revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher = getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n fetchControllers.set(key, abortController);\n\n let result: DataResult = await callLoaderOrAction(\n \"loader\",\n fetchRequest,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n });\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n state: RouterState,\n redirect: RedirectResult,\n {\n submission,\n replace,\n isFetchActionRedirect,\n }: {\n submission?: Submission;\n replace?: boolean;\n isFetchActionRedirect?: boolean;\n } = {}\n ) {\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n\n let redirectLocation = createLocation(\n state.location,\n redirect.location,\n // TODO: This can be removed once we get rid of useTransition in Remix v2\n {\n _isRedirect: true,\n ...(isFetchActionRedirect ? { _isFetchActionRedirect: true } : {}),\n }\n );\n invariant(\n redirectLocation,\n \"Expected a location on the redirect navigation\"\n );\n // Check if this an absolute external redirect that goes to a new origin\n if (ABSOLUTE_URL_REGEX.test(redirect.location) && isBrowser) {\n let url = init.history.createURL(redirect.location);\n let isDifferentBasename = stripBasename(url.pathname, basename) == null;\n\n if (routerWindow.location.origin !== url.origin || isDifferentBasename) {\n if (replace) {\n routerWindow.location.replace(redirect.location);\n } else {\n routerWindow.location.assign(redirect.location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let activeSubmission =\n submission || getSubmissionFromNavigation(state.navigation);\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n if (\n redirectPreserveMethodStatusCodes.has(redirect.status) &&\n activeSubmission &&\n isMutationMethod(activeSubmission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: redirect.location,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else if (isFetchActionRedirect) {\n // For a fetch action redirect, we kick off a new loading navigation\n // without the fetcher submission, but we send it along for shouldRevalidate\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation: getLoadingNavigation(redirectLocation),\n fetcherSubmission: activeSubmission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else {\n // If we have a submission, we will preserve it through the redirect navigation\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n activeSubmission\n );\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n }\n }\n\n async function callLoadersAndMaybeResolveData(\n currentMatches: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n )\n ),\n ...fetchersToLoad.map((f) => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\n \"loader\",\n createClientSideRequest(init.history, f.path, f.controller.signal),\n f.match,\n f.matches,\n manifest,\n mapRouteProperties,\n basename\n );\n } else {\n let error: ErrorResult = {\n type: ResultType.error,\n error: getInternalRouterError(404, { pathname: f.path }),\n };\n return error;\n }\n }),\n ]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n\n await Promise.all([\n resolveDeferredResults(\n currentMatches,\n matchesToLoad,\n loaderResults,\n loaderResults.map(() => request.signal),\n false,\n state.loaderData\n ),\n resolveDeferredResults(\n currentMatches,\n fetchersToLoad.map((f) => f.match),\n fetcherResults,\n fetchersToLoad.map((f) => (f.controller ? f.controller.signal : null)),\n true\n ),\n ]);\n\n return { results, loaderResults, fetcherResults };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n\n function setFetcherError(key: string, routeId: string, error: any) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n });\n }\n\n function deleteFetcher(key: string): void {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (\n fetchControllers.has(key) &&\n !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))\n ) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n invariant(controller, `Expected fetch controller: ${key}`);\n controller.abort();\n fetchControllers.delete(key);\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): boolean {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the <ScrollRestoration> component\n function enableScrollRestoration(\n positions: Record<string, number>,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered <ScrollRestoration/>\n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function getScrollKey(location: Location, matches: AgnosticDataRouteMatch[]) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(\n location,\n matches.map((m) => createUseMatchesMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties,\n undefined,\n manifest\n );\n }\n\n router = {\n get basename() {\n return basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (opts?.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts?.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(\n request: Request,\n { requestContext }: { requestContext?: unknown } = {}\n ): Promise<StaticHandlerContext | Response> {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n }: { requestContext?: unknown; routeId?: string } = {}\n ): Promise<any> {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch\n ): Promise<Omit<StaticHandlerContext, \"location\" | \"basename\"> | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error && !isRedirectResponse(e.response)) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n isRouteRequest: boolean\n ): Promise<Omit<StaticHandlerContext, \"location\" | \"basename\"> | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n { isStaticRequest: true, isRouteRequest, requestContext }\n );\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(\n request,\n matches,\n requestContext,\n undefined,\n {\n [boundaryMatch.route.id]: result.error,\n }\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n\n return {\n ...context,\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch,\n pendingActionError?: RouteData\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(pendingActionError || {})[0]\n );\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n { isStaticRequest: true, isRouteRequest, requestContext }\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map<string, DeferredData>();\n let context = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingActionError,\n activeDeferreds\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set<string>(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction isSubmissionNavigation(\n opts: RouterNavigateOptions\n): opts is SubmissionNavigateOptions {\n return (\n opts != null &&\n ((\"formData\" in opts && opts.formData != null) ||\n (\"body\" in opts && opts.body !== undefined))\n );\n}\n\nfunction normalizeTo(\n location: Path,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n prependBasename: boolean,\n to: To | null,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId != null && relative !== \"path\") {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route. When using relative:path,\n // fromRouteId is ignored since that is always relative to the current\n // location path\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n\n // Resolve the relative path\n let path = resolveTo(\n to ? to : \".\",\n getPathContributingMatches(contextualMatches).map((m) => m.pathnameBase),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n\n // Add an ?index param for matched index routes if we don't already have one\n if (\n (to == null || to === \"\" || to === \".\") &&\n activeRouteMatch &&\n activeRouteMatch.route.index &&\n !hasNakedIndexQuery(path.search)\n ) {\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n }\n\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n normalizeFormMethod: boolean,\n isFetcher: boolean,\n path: string,\n opts?: RouterNavigateOptions\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponse;\n} {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" }),\n });\n\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod\n ? (rawFormMethod.toUpperCase() as V7_FormMethod)\n : (rawFormMethod.toLowerCase() as FormMethod);\n let formAction = stripHashFromPath(path);\n\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n let text =\n typeof opts.body === \"string\"\n ? opts.body\n : opts.body instanceof FormData ||\n opts.body instanceof URLSearchParams\n ? // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\\n`,\n \"\"\n )\n : String(opts.body);\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text,\n },\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n try {\n let json =\n typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined,\n },\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n\n let searchParams: URLSearchParams;\n let formData: FormData;\n\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n\n let submission: Submission = {\n formMethod,\n formAction,\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId?: string\n) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n fetchLoadMatches: Map<string, FetchLoadMatch>,\n fetchRedirectIds: Set<string>,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingError\n ? Object.values(pendingError)[0]\n : pendingActionData\n ? Object.values(pendingActionData)[0]\n : undefined;\n\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (match.route.loader == null) {\n return false;\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search ===\n nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some((m) => m.route.id === f.routeId)) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They only set `defaultShouldRevalidate` on\n // explicit revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n //\n // They automatically revalidate without even calling shouldRevalidate if:\n // - They were cancelled\n // - They're in the middle of their first load and therefore this is still\n // an initial load and not a revalidation\n //\n // If neither of those is true, then they _always_ check shouldRevalidate\n let fetcher = state.fetchers.get(key);\n let isPerformingInitialLoad =\n fetcher &&\n fetcher.state !== \"idle\" &&\n fetcher.data === undefined &&\n // If a fetcher.load redirected then it'll be \"loading\" without any data\n // so ensure we're not processing the redirect from this fetcher\n !fetchRedirectIds.has(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n let shouldRevalidate =\n cancelledFetcherLoads.includes(key) ||\n isPerformingInitialLoad ||\n shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n defaultShouldRevalidate: isRevalidationRequired,\n });\n\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: Parameters<ShouldRevalidateFunction>[0]\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n mapRouteProperties: MapRoutePropertiesFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record<string, any> = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n // the logic will differ between frameworks.\n ...mapRouteProperties(routeToUpdate),\n lazy: undefined,\n });\n}\n\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction,\n basename: string,\n opts: {\n isStaticRequest?: boolean;\n isRouteRequest?: boolean;\n requestContext?: unknown;\n } = {}\n): Promise<DataResult> {\n let resultType;\n let result;\n let onReject: (() => void) | undefined;\n\n let runHandler = (handler: ActionFunction | LoaderFunction) => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([\n handler({\n request,\n params: match.params,\n context: opts.requestContext,\n }),\n abortPromise,\n ]);\n };\n\n try {\n let handler = match.route[type];\n\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let values = await Promise.all([\n runHandler(handler),\n loadLazyRouteModule(match.route, mapRouteProperties, manifest),\n ]);\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, data: undefined };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname,\n });\n } else {\n result = await runHandler(handler);\n }\n\n invariant(\n result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n if (isResponse(result)) {\n let status = result.status;\n\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(\n new URL(request.url),\n matches.slice(0, matches.indexOf(match) + 1),\n basename,\n true,\n location\n );\n } else if (!opts.isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\")\n ? new URL(currentUrl.protocol + location)\n : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (opts.isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n };\n }\n\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (opts.isRouteRequest) {\n // eslint-disable-next-line no-throw-literal\n throw {\n type: resultType || ResultType.data,\n response: result,\n };\n }\n\n let data: any;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponse(status, result.statusText, data),\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (resultType === ResultType.error) {\n return { type: resultType, error: result };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (\n formEncType === \"application/x-www-form-urlencoded\" &&\n submission.formData\n ) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n\n return searchParams;\n}\n\nfunction convertSearchParamsToFormData(\n searchParams: URLSearchParams\n): FormData {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n activeDeferreds: Map<string, DeferredData>\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record<string, Headers>;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record<string, Headers> = {};\n\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: DataResult[],\n activeDeferreds: Map<string, DeferredData>\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingError,\n activeDeferreds\n );\n\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, match, controller } = revalidatingFetchers[index];\n invariant(\n fetcherResults !== undefined && fetcherResults[index] !== undefined,\n \"Did not find corresponding fetcher result\"\n );\n let result = fetcherResults[index];\n\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\" | \"invalid-body\";\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponse(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results: DataResult[]): RedirectResult | undefined {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return result;\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n return (\n obj &&\n isResponse(obj.response) &&\n (obj.type === ResultType.data || ResultType.error)\n );\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveDeferredResults(\n currentMatches: AgnosticDataRouteMatch[],\n matchesToLoad: (AgnosticDataRouteMatch | null)[],\n results: DataResult[],\n signals: (AbortSignal | null)[],\n isFetcher: boolean,\n currentLoaderData?: RouteData\n) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(\n signal,\n \"Expected an AbortSignal for revalidating fetcher deferred result\"\n );\n await resolveDeferredData(result, signal, isFetcher).then((result) => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise<SuccessResult | ErrorResult | undefined> {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\n// Note: This should match the format exported by useMatches, so if you change\n// this please also change that :) Eventually we'll DRY this up\nfunction createUseMatchesMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UseMatchesMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id] as unknown,\n handle: route.handle as unknown,\n };\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n\nfunction getSubmissionFromNavigation(\n navigation: Navigation\n): Submission | undefined {\n let { formMethod, formAction, formEncType, text, formData, json } =\n navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text,\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined,\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined,\n };\n }\n}\n\nfunction getLoadingNavigation(\n location: Location,\n submission?: Submission\n): NavigationStates[\"Loading\"] {\n if (submission) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n } else {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n };\n return navigation;\n }\n}\n\nfunction getSubmittingNavigation(\n location: Location,\n submission: Submission\n): NavigationStates[\"Submitting\"] {\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n}\n\nfunction getLoadingFetcher(\n submission?: Submission,\n data?: Fetcher[\"data\"]\n): FetcherStates[\"Loading\"] {\n if (submission) {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data,\n \" _hasFetcherDoneAnything \": true,\n };\n return fetcher;\n } else {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n \" _hasFetcherDoneAnything \": true,\n };\n return fetcher;\n }\n}\n\nfunction getSubmittingFetcher(\n submission: Submission,\n existingFetcher?: Fetcher\n): FetcherStates[\"Submitting\"] {\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n return fetcher;\n}\n\nfunction getDoneFetcher(data: Fetcher[\"data\"]): FetcherStates[\"Idle\"] {\n let fetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n \" _hasFetcherDoneAnything \": true,\n };\n return fetcher;\n}\n//#endregion\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;","var defaultOptions = {};\nexport function getDefaultOptions() {\n return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}","var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n var dateTimeFormat;\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n var number = Number(dirtyNumber);\n if (isNaN(number)) {\n return number;\n }\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n case 'aaa':\n return dayPeriodEnumValue;\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = getUTCWeek(date, options);\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n return lightFormatters.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n if (timezoneOffset === 0) {\n return 'Z';\n }\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\nexport default formatters;","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > âš ï¸ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n var formatter = formatters[firstCharacter];\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n return substring;\n }).join('');\n return result;\n}\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n if (!matched) {\n return input;\n }\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}","export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n if (!matchResult) {\n return null;\n }\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n return undefined;\n}\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}","export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n case 2:\n return number + 'nd';\n case 3:\n return number + 'rd';\n }\n }\n return number + 'th';\n};\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n // eslint-disable-next-line no-console\n console.warn(new Error().stack);\n }\n return new Date(NaN);\n }\n}","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/**\n * The code was extracted from:\n * https://github.com/davidchambers/Base64.js\n */\n\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\nfunction InvalidCharacterError(message) {\n this.message = message;\n}\n\nInvalidCharacterError.prototype = new Error();\nInvalidCharacterError.prototype.name = \"InvalidCharacterError\";\n\nfunction polyfill(input) {\n var str = String(input).replace(/=+$/, \"\");\n if (str.length % 4 == 1) {\n throw new InvalidCharacterError(\n \"'atob' failed: The string to be decoded is not correctly encoded.\"\n );\n }\n for (\n // initialize result and counters\n var bc = 0, bs, buffer, idx = 0, output = \"\";\n // get next character\n (buffer = str.charAt(idx++));\n // character found in table? initialize bit storage and add its ascii value;\n ~buffer &&\n ((bs = bc % 4 ? bs * 64 + buffer : buffer),\n // and if not first of each 4 characters,\n // convert the first 8 bits to one ascii character\n bc++ % 4) ?\n (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6)))) :\n 0\n ) {\n // try to find character in table (0-63, not found => -1)\n buffer = chars.indexOf(buffer);\n }\n return output;\n}\n\nexport default (typeof window !== \"undefined\" &&\n window.atob &&\n window.atob.bind(window)) ||\npolyfill;","import atob from \"./atob\";\n\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(\n atob(str).replace(/(.)/g, function(m, p) {\n var code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n })\n );\n}\n\nexport default function(str) {\n var output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n\n try {\n return b64DecodeUnicode(output);\n } catch (err) {\n return atob(output);\n }\n}","\"use strict\";\n\nimport base64_url_decode from \"./base64_url_decode\";\n\nexport function InvalidTokenError(message) {\n this.message = message;\n}\n\nInvalidTokenError.prototype = new Error();\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\n\nexport default function(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified\");\n }\n\n options = options || {};\n var pos = options.header === true ? 0 : 1;\n try {\n return JSON.parse(base64_url_decode(token.split(\".\")[pos]));\n } catch (e) {\n throw new InvalidTokenError(\"Invalid token specified: \" + e.message);\n }\n}","\nmodule.exports = function load (src, opts, cb) {\n var head = document.head || document.getElementsByTagName('head')[0]\n var script = document.createElement('script')\n\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n opts = opts || {}\n cb = cb || function() {}\n\n script.type = opts.type || 'text/javascript'\n script.charset = opts.charset || 'utf8';\n script.async = 'async' in opts ? !!opts.async : true\n script.src = src\n\n if (opts.attrs) {\n setAttributes(script, opts.attrs)\n }\n\n if (opts.text) {\n script.text = '' + opts.text\n }\n\n var onend = 'onload' in script ? stdOnEnd : ieOnEnd\n onend(script, cb)\n\n // some good legacy browsers (firefox) fail the 'in' detection above\n // so as a fallback we always set onload\n // old IE will ignore this and new IE will set onload\n if (!script.onload) {\n stdOnEnd(script, cb);\n }\n\n head.appendChild(script)\n}\n\nfunction setAttributes(script, attrs) {\n for (var attr in attrs) {\n script.setAttribute(attr, attrs[attr]);\n }\n}\n\nfunction stdOnEnd (script, cb) {\n script.onload = function () {\n this.onerror = this.onload = null\n cb(null, script)\n }\n script.onerror = function () {\n // this.onload = null here is necessary\n // because even IE9 works not like others\n this.onerror = this.onload = null\n cb(new Error('Failed to load ' + this.src), script)\n }\n}\n\nfunction ieOnEnd (script, cb) {\n script.onreadystatechange = function () {\n if (this.readyState != 'complete' && this.readyState != 'loaded') return\n this.onreadystatechange = null\n cb(null, script) // there is no way to catch loading errors in IE8\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue || null, function (newValue) { return refs.forEach(function (ref) { return assignRef(ref, newValue); }); });\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true // focus-lock sidecar is not required on the server\n // however, it might be required for JSDOM tests\n // ssr: true,\n\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { useEffect } from 'react';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n useEffect(function () {\n if (!disabled) {\n // cleanup return focus on trap deactivation\n // sideEffect/returnFocus should happen by this time\n originalFocusedElement.current = null;\n }\n }, []);\n var returnFocus = React.useCallback(function (allowDefer) {\n var returnFocusTo = originalFocusedElement.current;\n\n if (returnFocusTo && returnFocusTo.focus) {\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n // report incorrect integration - https://github.com/theKashey/react-focus-lock/issues/123\n if (!observed.current && typeof Container !== 'string') {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), // first tabbed element guard\n hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n focusOptions: undefined,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n hasPositiveIndices: undefined,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\nexport var getFirst = function (a) { return (Array.isArray(a) ? a[0] : a); };\n","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n if (!b.tabIndex) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) { return ({\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : node.tabIndex,\n }); })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n return toArray((parent.shadowRoot || parent).children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nvar getFocusablesWithIFrame = function (parent, withGuards) {\n var _a;\n // contentDocument of iframe will be null if current origin cannot access it\n if (parent instanceof HTMLIFrameElement && ((_a = parent.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n return getFocusables([parent.contentDocument.body], withGuards);\n }\n return [parent];\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n var _a;\n var focusableWithShadowDom = getFocusablesWithShadowDom(parent, withGuards);\n var focusableWithIframes = (_a = []).concat.apply(_a, focusableWithShadowDom.map(function (node) { return getFocusablesWithIFrame(node, withGuards); }));\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n focusableWithIframes, \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * !__WARNING__! Low level API.\n * @returns all tabbable nodes\n *\n * @see {@link getFocusableNodes} to get any focusable element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * !__WARNING__! Low level API.\n *\n * @returns anything \"focusable\", not only tabbable. The difference is in `tabIndex=-1`\n * (without guards, as long as they are not expected to be ever focused)\n *\n * @see {@link getTabbableNodes} to get only tabble nodes element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getFocusableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n if (scope.shadowRoot) {\n return contains(scope.shadowRoot, element);\n }\n else {\n if (Object.getPrototypeOf(scope).contains !== undefined &&\n Object.getPrototypeOf(scope).contains.call(scope, element)) {\n return true;\n }\n return toArray(scope.children).some(function (child) {\n var _a;\n if (child instanceof HTMLIFrameElement) {\n var iframeBody = (_a = child.contentDocument) === null || _a === void 0 ? void 0 : _a.body;\n if (iframeBody) {\n return contains(iframeBody, element);\n }\n return false;\n }\n return contains(child, element);\n });\n }\n};\n","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\n/**\n * returns current active element. If the active element is a \"container\" itself(shadowRoot or iframe) returns active element inside it\n * @param [inDocument]\n */\nexport var getActiveElement = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n if (!inDocument || !inDocument.activeElement) {\n return undefined;\n }\n var activeElement = inDocument.activeElement;\n return (activeElement.shadowRoot\n ? getActiveElement(activeElement.shadowRoot)\n : activeElement instanceof HTMLIFrameElement && safeProbe(function () { return activeElement.contentWindow.document; })\n ? getActiveElement(activeElement.contentWindow.document)\n : activeElement);\n};\n","export var safeProbe = function (cb) {\n try {\n return cb();\n }\n catch (e) {\n return undefined;\n }\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node - node or nodes to look inside\n * @returns Element[]\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getFirst, toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame, activeElement) { return frame === activeElement; };\nvar focusInsideIframe = function (topNode, activeElement) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node, activeElement); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes.\n * Supports nodes hidden inside shadowDom\n */\nexport var focusInside = function (topNode, activeElement) {\n // const activeElement = document && getActiveElement();\n if (activeElement === void 0) { activeElement = getActiveElement(getFirst(topNode).ownerDocument); }\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) {\n return contains(node, activeElement) || focusInsideIframe(node, activeElement);\n });\n};\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var correctedIndexDiff = correctedIndex - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n","import { filterAutoFocusable } from './DOMutils';\nimport { pickFirstFocus } from './firstFocus';\nimport { getDataset } from './is';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) {\n var _a;\n var autofocus = (_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus;\n return (\n // @ts-expect-error\n node.autofocus ||\n //\n (autofocus !== undefined && autofocus !== 'false') ||\n //\n autoFocusables.indexOf(node) >= 0);\n };\n};\nexport var pickAutofocus = function (nodesIndexes, orderedNodes, groups) {\n var nodes = nodesIndexes.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var autoFocusable = filterAutoFocusable(nodes.filter(findAutoFocused(groups)));\n if (autoFocusable && autoFocusable.length) {\n return pickFirstFocus(autoFocusable);\n }\n return pickFirstFocus(filterAutoFocusable(orderedNodes));\n};\n","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { getFocusableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { asArray, getFirst } from './utils/array';\nimport { pickAutofocus } from './utils/auto-focus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * contains the main logic of the `focus-lock` package.\n *\n * ! you probably dont need this function !\n *\n * given top node(s) and the last active element returns the element to be focused next\n * @returns element which should be focused to move focus inside\n * @param topNode\n * @param lastNode\n */\nexport var focusSolver = function (topNode, lastNode) {\n var activeElement = getActiveElement(asArray(topNode).length > 0 ? document : getFirst(topNode).ownerDocument);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getFocusableNodes(entries, visibilityCache);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n var outerNodes = getFocusableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var focusNode = pickAutofocus(anyFocusable, innerNodes, allParentAutofocusables(entries, visibilityCache));\n if (focusNode) {\n return { node: focusNode };\n }\n else {\n console.warn('focus-lock: cannot find any node to move focus into');\n return undefined;\n }\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { focusOn } from './commands';\nimport { focusSolver } from './focusSolver';\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * The main functionality of the focus-lock package\n *\n * Contains focus at a given node.\n * The last focused element will help to determine which element(first or last) should be focused.\n * The found element will be focused.\n *\n * This is one time action (move), not a persistent focus-lock\n *\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @see {@link focusSolver} for the same functionality without autofocus\n */\nexport var moveFocusInside = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = focusSolver(topNode, lastNode);\n // global local side effect to countain recursive lock activation and resolve focus-fighting\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n /** +FOCUS-FIGHTING prevention **/\n if (guardCount > 2) {\n // we have recursive entered back the lock activation\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};\n","export var focusOn = function (target, focusOptions) {\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\n","export function deferAction(action) {\n setTimeout(action, 1);\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","/* eslint-disable no-mixed-operators */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport { moveFocusInside, focusInside, focusIsHidden, expandFocusableNodes } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && ( // find host equal to active element and check nested active element\n el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) // dive up\n || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\n\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !( // active element is \"inside\" working area\n focusInside(workingArea) || // check for shadow-dom contained elements\n activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = expandFocusableNodes(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n deferAction(function () {\n focusWasOutsideWindow = 'meanwhile';\n });\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * checks if focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n *\n * This is a utility function coupled with {@link FOCUS_ALLOW} constant\n *\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n var activeElement = getActiveElement(inDocument);\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(inDocument.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","import { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * @returns list of focusable elements inside a given top node\n * @see {@link getFocusableNodes} for lower level access\n */\nexport var expandFocusableNodes = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var visibilityCache = new Map();\n var outerNodes = getTabbableNodes([commonParent], visibilityCache, true);\n var innerElements = getTabbableNodes(entries, visibilityCache)\n .filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n })\n .map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\n/* that would be a BREAKING CHANGE!\n// delaying sidecar execution till the first usage\nconst RequireSideCar = (props) => {\n // eslint-disable-next-line global-require\n const SideCar = require('./Trap').default;\n return <SideCar {...props} />;\n};\n*/\n\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\n\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\n\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\n\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\n\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\n\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\n\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\n\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\n\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\n\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n });\n\n // Update seen tags with tags from this instance\n var keys = Object.keys(instanceSeenTags);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n\n var addedTags = {};\n var removedTags = {};\n\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n cb && cb();\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\");\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps;\n\n // assigning into an array to define toString function on it\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n\n\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\n\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\n\nexport default HelmetExport;\nexport { HelmetExport as Helmet };\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import type {\n FormEncType,\n HTMLFormMethod,\n RelativeRoutingType,\n} from \"@remix-run/router\";\nimport { stripBasename, UNSAFE_warning as warning } from \"@remix-run/router\";\n\nexport const defaultMethod: HTMLFormMethod = \"get\";\nconst defaultEncType: FormEncType = \"application/x-www-form-urlencoded\";\n\nexport function isHtmlElement(object: any): object is HTMLElement {\n return object != null && typeof object.tagName === \"string\";\n}\n\nexport function isButtonElement(object: any): object is HTMLButtonElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\n\nexport function isFormElement(object: any): object is HTMLFormElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\n\nexport function isInputElement(object: any): object is HTMLInputElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\n\ntype LimitedMouseEvent = Pick<\n MouseEvent,\n \"button\" | \"metaKey\" | \"altKey\" | \"ctrlKey\" | \"shiftKey\"\n>;\n\nfunction isModifiedEvent(event: LimitedMouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport function shouldProcessLinkClick(\n event: LimitedMouseEvent,\n target?: string\n) {\n return (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n );\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record<string, string | string[]>\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n\nexport function getSearchParamsForLocation(\n locationSearch: string,\n defaultSearchParams: URLSearchParams | null\n) {\n let searchParams = createSearchParams(locationSearch);\n\n if (defaultSearchParams) {\n for (let key of defaultSearchParams.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n }\n\n return searchParams;\n}\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\nexport type SubmitTarget =\n | HTMLFormElement\n | HTMLButtonElement\n | HTMLInputElement\n | FormData\n | URLSearchParams\n | JsonValue\n | null;\n\n// One-time check for submitter support\nlet _formDataSupportsSubmitter: boolean | null = null;\n\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(\n document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0\n );\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\n\nexport interface SubmitOptions {\n /**\n * The HTTP method used to submit the form. Overrides `<form method>`.\n * Defaults to \"GET\".\n */\n method?: HTMLFormMethod;\n\n /**\n * The action URL path used to submit the form. Overrides `<form action>`.\n * Defaults to the path of the current route.\n */\n action?: string;\n\n /**\n * The encoding used to submit the form. Overrides `<form encType>`.\n * Defaults to \"application/x-www-form-urlencoded\".\n */\n encType?: FormEncType;\n\n /**\n * Set `true` to replace the current entry in the browser's history stack\n * instead of creating a new one (i.e. stay on \"the same page\"). Defaults\n * to `false`.\n */\n replace?: boolean;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * In browser-based environments, prevent resetting scroll after this\n * navigation when using the <ScrollRestoration> component\n */\n preventScrollReset?: boolean;\n}\n\nconst supportedFormEncTypes: Set<FormEncType> = new Set([\n \"application/x-www-form-urlencoded\",\n \"multipart/form-data\",\n \"text/plain\",\n]);\n\nfunction getFormEncType(encType: string | null) {\n if (encType != null && !supportedFormEncTypes.has(encType as FormEncType)) {\n warning(\n false,\n `\"${encType}\" is not a valid \\`encType\\` for \\`<Form>\\`/\\`<fetcher.Form>\\` ` +\n `and will default to \"${defaultEncType}\"`\n );\n\n return null;\n }\n return encType;\n}\n\nexport function getFormSubmissionInfo(\n target: SubmitTarget,\n basename: string\n): {\n action: string | null;\n method: string;\n encType: string;\n formData: FormData | undefined;\n body: any;\n} {\n let method: string;\n let action: string | null;\n let encType: string;\n let formData: FormData | undefined;\n let body: any;\n\n if (isFormElement(target)) {\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n\n formData = new FormData(target);\n } else if (\n isButtonElement(target) ||\n (isInputElement(target) &&\n (target.type === \"submit\" || target.type === \"image\"))\n ) {\n let form = target.form;\n\n if (form == null) {\n throw new Error(\n `Cannot submit a <button> or <input type=\"submit\"> without a <form>`\n );\n }\n\n // <button>/<input type=\"submit\"> may override attributes of <form>\n\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n\n method =\n target.getAttribute(\"formmethod\") ||\n form.getAttribute(\"method\") ||\n defaultMethod;\n encType =\n getFormEncType(target.getAttribute(\"formenctype\")) ||\n getFormEncType(form.getAttribute(\"enctype\")) ||\n defaultEncType;\n\n // Build a FormData object populated from a form and submitter\n formData = new FormData(form, target);\n\n // If this browser doesn't support the `FormData(el, submitter)` format,\n // then tack on the submitter value at the end. This is a lightweight\n // solution that is not 100% spec compliant. For complete support in older\n // browsers, consider using the `formdata-submitter-polyfill` package\n if (!isFormDataSubmitterSupported()) {\n let { name, type, value } = target;\n if (type === \"image\") {\n let prefix = name ? `${name}.` : \"\";\n formData.append(`${prefix}x`, \"0\");\n formData.append(`${prefix}y`, \"0\");\n } else if (name) {\n formData.append(name, value);\n }\n }\n } else if (isHtmlElement(target)) {\n throw new Error(\n `Cannot submit element that is not <form>, <button>, or ` +\n `<input type=\"submit|image\">`\n );\n } else {\n method = defaultMethod;\n action = null;\n encType = defaultEncType;\n body = target;\n }\n\n // Send body for <Form encType=\"text/plain\" so we encode it into text\n if (formData && encType === \"text/plain\") {\n body = formData;\n formData = undefined;\n }\n\n return { action, method: method.toLowerCase(), encType, formData, body };\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type {\n FutureConfig,\n Location,\n NavigateOptions,\n NavigationType,\n RelativeRoutingType,\n RouteObject,\n To,\n} from \"react-router\";\nimport {\n Router,\n createPath,\n useHref,\n useLocation,\n useMatches,\n useNavigate,\n useNavigation,\n useResolvedPath,\n unstable_useBlocker as useBlocker,\n UNSAFE_DataRouterContext as DataRouterContext,\n UNSAFE_DataRouterStateContext as DataRouterStateContext,\n UNSAFE_NavigationContext as NavigationContext,\n UNSAFE_RouteContext as RouteContext,\n UNSAFE_mapRouteProperties as mapRouteProperties,\n UNSAFE_useRouteId as useRouteId,\n} from \"react-router\";\nimport type {\n BrowserHistory,\n Fetcher,\n FormEncType,\n FormMethod,\n FutureConfig as RouterFutureConfig,\n GetScrollRestorationKeyFunction,\n HashHistory,\n History,\n HTMLFormMethod,\n HydrationState,\n Router as RemixRouter,\n V7_FormMethod,\n} from \"@remix-run/router\";\nimport {\n createRouter,\n createBrowserHistory,\n createHashHistory,\n joinPaths,\n stripBasename,\n ErrorResponse,\n UNSAFE_invariant as invariant,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n SubmitOptions,\n ParamKeyValuePair,\n URLSearchParamsInit,\n SubmitTarget,\n} from \"./dom\";\nimport {\n createSearchParams,\n defaultMethod,\n getFormSubmissionInfo,\n getSearchParamsForLocation,\n shouldProcessLinkClick,\n} from \"./dom\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Re-exports\n////////////////////////////////////////////////////////////////////////////////\n\nexport type {\n FormEncType,\n FormMethod,\n GetScrollRestorationKeyFunction,\n ParamKeyValuePair,\n SubmitOptions,\n URLSearchParamsInit,\n V7_FormMethod,\n};\nexport { createSearchParams };\n\n// Note: Keep in sync with react-router exports!\nexport type {\n ActionFunction,\n ActionFunctionArgs,\n AwaitProps,\n unstable_Blocker,\n unstable_BlockerFunction,\n DataRouteMatch,\n DataRouteObject,\n Fetcher,\n Hash,\n IndexRouteObject,\n IndexRouteProps,\n JsonFunction,\n LazyRouteFunction,\n LayoutRouteProps,\n LoaderFunction,\n LoaderFunctionArgs,\n Location,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigation,\n Navigator,\n NonIndexRouteObject,\n OutletProps,\n Params,\n ParamParseKey,\n Path,\n PathMatch,\n Pathname,\n PathPattern,\n PathRouteProps,\n RedirectFunction,\n RelativeRoutingType,\n RouteMatch,\n RouteObject,\n RouteProps,\n RouterProps,\n RouterProviderProps,\n RoutesProps,\n Search,\n ShouldRevalidateFunction,\n To,\n} from \"react-router\";\nexport {\n AbortedDeferredError,\n Await,\n MemoryRouter,\n Navigate,\n NavigationType,\n Outlet,\n Route,\n Router,\n RouterProvider,\n Routes,\n createMemoryRouter,\n createPath,\n createRoutesFromChildren,\n createRoutesFromElements,\n defer,\n isRouteErrorResponse,\n generatePath,\n json,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n renderMatches,\n resolvePath,\n useActionData,\n useAsyncError,\n useAsyncValue,\n unstable_useBlocker,\n useHref,\n useInRouterContext,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_DataRouterContext,\n UNSAFE_DataRouterStateContext,\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n UNSAFE_useRouteId,\n} from \"react-router\";\n//#endregion\n\ndeclare global {\n var __staticRouterHydrationData: HydrationState | undefined;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Routers\n////////////////////////////////////////////////////////////////////////////////\n\ninterface DOMRouterOpts {\n basename?: string;\n future?: Partial<Omit<RouterFutureConfig, \"v7_prependBasename\">>;\n hydrationData?: HydrationState;\n window?: Window;\n}\n\nexport function createBrowserRouter(\n routes: RouteObject[],\n opts?: DOMRouterOpts\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n future: {\n ...opts?.future,\n v7_prependBasename: true,\n },\n history: createBrowserHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes,\n mapRouteProperties,\n }).initialize();\n}\n\nexport function createHashRouter(\n routes: RouteObject[],\n opts?: DOMRouterOpts\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n future: {\n ...opts?.future,\n v7_prependBasename: true,\n },\n history: createHashHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes,\n mapRouteProperties,\n }).initialize();\n}\n\nfunction parseHydrationData(): HydrationState | undefined {\n let state = window?.__staticRouterHydrationData;\n if (state && state.errors) {\n state = {\n ...state,\n errors: deserializeErrors(state.errors),\n };\n }\n return state;\n}\n\nfunction deserializeErrors(\n errors: RemixRouter[\"state\"][\"errors\"]\n): RemixRouter[\"state\"][\"errors\"] {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized: RemixRouter[\"state\"][\"errors\"] = {};\n for (let [key, val] of entries) {\n // Hey you! If you change this, please change the corresponding logic in\n // serializeErrors in react-router-dom/server.tsx :)\n if (val && val.__type === \"RouteErrorResponse\") {\n serialized[key] = new ErrorResponse(\n val.status,\n val.statusText,\n val.data,\n val.internal === true\n );\n } else if (val && val.__type === \"Error\") {\n let error = new Error(val.message);\n // Wipe away the client-side stack trace. Nothing to fill it in with\n // because we don't serialize SSR stack traces for security reasons\n error.stack = \"\";\n serialized[key] = error;\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n future?: FutureConfig;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n future,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef<BrowserHistory>();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window, v5Compat: true });\n }\n\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location,\n });\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: { action: NavigationType; location: Location }) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n future?: FutureConfig;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({\n basename,\n children,\n future,\n window,\n}: HashRouterProps) {\n let historyRef = React.useRef<HashHistory>();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window, v5Compat: true });\n }\n\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location,\n });\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: { action: NavigationType; location: Location }) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n future?: FutureConfig;\n history: History;\n}\n\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({\n basename,\n children,\n future,\n history,\n}: HistoryRouterProps) {\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location,\n });\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: { action: NavigationType; location: Location }) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nexport interface LinkProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n to: To;\n}\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\";\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n function LinkWithRef(\n {\n onClick,\n relative,\n reloadDocument,\n replace,\n state,\n target,\n to,\n preventScrollReset,\n ...rest\n },\n ref\n ) {\n let { basename } = React.useContext(NavigationContext);\n\n // Rendered into <a href> for absolute URLs\n let absoluteHref;\n let isExternal = false;\n\n if (typeof to === \"string\" && ABSOLUTE_URL_REGEX.test(to)) {\n // Render the absolute href server- and client-side\n absoluteHref = to;\n\n // Only check for external origins client-side\n if (isBrowser) {\n try {\n let currentUrl = new URL(window.location.href);\n let targetUrl = to.startsWith(\"//\")\n ? new URL(currentUrl.protocol + to)\n : new URL(to);\n let path = stripBasename(targetUrl.pathname, basename);\n\n if (targetUrl.origin === currentUrl.origin && path != null) {\n // Strip the protocol/origin/basename for same-origin absolute URLs\n to = path + targetUrl.search + targetUrl.hash;\n } else {\n isExternal = true;\n }\n } catch (e) {\n // We can't do external URL detection without a valid URL\n warning(\n false,\n `<Link to=\"${to}\"> contains an invalid URL which will probably break ` +\n `when clicked - please update to a valid URL path.`\n );\n }\n }\n }\n\n // Rendered into <a href> for relative URLs\n let href = useHref(to, { relative });\n\n let internalOnClick = useLinkClickHandler(to, {\n replace,\n state,\n target,\n preventScrollReset,\n relative,\n });\n function handleClick(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n <a\n {...rest}\n href={absoluteHref || href}\n onClick={isExternal || reloadDocument ? onClick : handleClick}\n ref={ref}\n target={target}\n />\n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit<LinkProps, \"className\" | \"style\" | \"children\"> {\n children?:\n | React.ReactNode\n | ((props: { isActive: boolean; isPending: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?:\n | string\n | ((props: {\n isActive: boolean;\n isPending: boolean;\n }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: {\n isActive: boolean;\n isPending: boolean;\n }) => React.CSSProperties | undefined);\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef<HTMLAnchorElement, NavLinkProps>(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let path = useResolvedPath(to, { relative: rest.relative });\n let location = useLocation();\n let routerState = React.useContext(DataRouterStateContext);\n let { navigator } = React.useContext(NavigationContext);\n\n let toPathname = navigator.encodeLocation\n ? navigator.encodeLocation(path).pathname\n : path.pathname;\n let locationPathname = location.pathname;\n let nextLocationPathname =\n routerState && routerState.navigation && routerState.navigation.location\n ? routerState.navigation.location.pathname\n : null;\n\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n nextLocationPathname = nextLocationPathname\n ? nextLocationPathname.toLowerCase()\n : null;\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let isPending =\n nextLocationPathname != null &&\n (nextLocationPathname === toPathname ||\n (!end &&\n nextLocationPathname.startsWith(toPathname) &&\n nextLocationPathname.charAt(toPathname.length) === \"/\"));\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive, isPending });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for <NavLink />s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [\n classNameProp,\n isActive ? \"active\" : null,\n isPending ? \"pending\" : null,\n ]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\"\n ? styleProp({ isActive, isPending })\n : styleProp;\n\n return (\n <Link\n {...rest}\n aria-current={ariaCurrent}\n className={className}\n ref={ref}\n style={style}\n to={to}\n >\n {typeof children === \"function\"\n ? children({ isActive, isPending })\n : children}\n </Link>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\nexport interface FormProps extends React.FormHTMLAttributes<HTMLFormElement> {\n /**\n * The HTTP verb to use when the form is submit. Supports \"get\", \"post\",\n * \"put\", \"delete\", \"patch\".\n */\n method?: HTMLFormMethod;\n\n /**\n * `<form encType>` - enhancing beyond the normal string type and limiting\n * to the built-in browser supported values\n */\n encType?:\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"text/plain\";\n\n /**\n * Normal `<form action>` but supports React Router's relative paths.\n */\n action?: string;\n\n /**\n * Forces a full document navigation instead of a fetch.\n */\n reloadDocument?: boolean;\n\n /**\n * Replaces the current entry in the browser history stack when the form\n * navigates. Use this if you don't want the user to be able to click \"back\"\n * to the page with the form on it.\n */\n replace?: boolean;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * Prevent the scroll position from resetting to the top of the viewport on\n * completion of the navigation when using the <ScrollRestoration> component\n */\n preventScrollReset?: boolean;\n\n /**\n * A function to call when the form is submitted. If you call\n * `event.preventDefault()` then this form will not do anything.\n */\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n}\n\n/**\n * A `@remix-run/router`-aware `<form>`. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nexport const Form = React.forwardRef<HTMLFormElement, FormProps>(\n (props, ref) => {\n let submit = useSubmit();\n return <FormImpl {...props} submit={submit} ref={ref} />;\n }\n);\n\nif (__DEV__) {\n Form.displayName = \"Form\";\n}\n\ntype HTMLSubmitEvent = React.BaseSyntheticEvent<\n SubmitEvent,\n Event,\n HTMLFormElement\n>;\n\ntype HTMLFormSubmitter = HTMLButtonElement | HTMLInputElement;\n\ninterface FormImplProps extends FormProps {\n submit: SubmitFunction | FetcherSubmitFunction;\n}\n\nconst FormImpl = React.forwardRef<HTMLFormElement, FormImplProps>(\n (\n {\n reloadDocument,\n replace,\n method = defaultMethod,\n action,\n onSubmit,\n submit,\n relative,\n preventScrollReset,\n ...props\n },\n forwardedRef\n ) => {\n let formMethod: HTMLFormMethod =\n method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n let formAction = useFormAction(action, { relative });\n let submitHandler: React.FormEventHandler<HTMLFormElement> = (event) => {\n onSubmit && onSubmit(event);\n if (event.defaultPrevented) return;\n event.preventDefault();\n\n let submitter = (event as unknown as HTMLSubmitEvent).nativeEvent\n .submitter as HTMLFormSubmitter | null;\n\n let submitMethod =\n (submitter?.getAttribute(\"formmethod\") as HTMLFormMethod | undefined) ||\n method;\n\n submit(submitter || event.currentTarget, {\n method: submitMethod,\n replace,\n relative,\n preventScrollReset,\n });\n };\n\n return (\n <form\n ref={forwardedRef}\n method={formMethod}\n action={formAction}\n onSubmit={reloadDocument ? onSubmit : submitHandler}\n {...props}\n />\n );\n }\n);\n\nif (__DEV__) {\n FormImpl.displayName = \"FormImpl\";\n}\n\nexport interface ScrollRestorationProps {\n getKey?: GetScrollRestorationKeyFunction;\n storageKey?: string;\n}\n\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nexport function ScrollRestoration({\n getKey,\n storageKey,\n}: ScrollRestorationProps) {\n useScrollRestoration({ getKey, storageKey });\n return null;\n}\n\nif (__DEV__) {\n ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\n\nenum DataRouterHook {\n UseScrollRestoration = \"useScrollRestoration\",\n UseSubmit = \"useSubmit\",\n UseSubmitFetcher = \"useSubmitFetcher\",\n UseFetcher = \"useFetcher\",\n}\n\nenum DataRouterStateHook {\n UseFetchers = \"useFetchers\",\n UseScrollRestoration = \"useScrollRestoration\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nexport function useLinkClickHandler<E extends Element = HTMLAnchorElement>(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n preventScrollReset,\n relative,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n } = {}\n): (event: React.MouseEvent<E, MouseEvent>) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to, { relative });\n\n return React.useCallback(\n (event: React.MouseEvent<E, MouseEvent>) => {\n if (shouldProcessLinkClick(event, target)) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular <a> will do a replace instead of\n // a push, so do the same here unless the replace prop is explicitly set\n let replace =\n replaceProp !== undefined\n ? replaceProp\n : createPath(location) === createPath(path);\n\n navigate(to, { replace, state, preventScrollReset, relative });\n }\n },\n [\n location,\n navigate,\n path,\n replaceProp,\n state,\n target,\n to,\n preventScrollReset,\n relative,\n ]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(\n defaultInit?: URLSearchParamsInit\n): [URLSearchParams, SetURLSearchParams] {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n let hasSetSearchParamsRef = React.useRef(false);\n\n let location = useLocation();\n let searchParams = React.useMemo(\n () =>\n // Only merge in the defaults if we haven't yet called setSearchParams.\n // Once we call that we want those to take precedence, otherwise you can't\n // remove a param with setSearchParams({}) if it has an initial value\n getSearchParamsForLocation(\n location.search,\n hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current\n ),\n [location.search]\n );\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback<SetURLSearchParams>(\n (nextInit, navigateOptions) => {\n const newSearchParams = createSearchParams(\n typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit\n );\n hasSetSearchParamsRef.current = true;\n navigate(\"?\" + newSearchParams, navigateOptions);\n },\n [navigate, searchParams]\n );\n\n return [searchParams, setSearchParams];\n}\n\nexport type SetURLSearchParams = (\n nextInit?:\n | URLSearchParamsInit\n | ((prev: URLSearchParams) => URLSearchParamsInit),\n navigateOpts?: NavigateOptions\n) => void;\n\n/**\n * Submits a HTML `<form>` to the server without reloading the page.\n */\nexport interface SubmitFunction {\n (\n /**\n * Specifies the `<form>` to be submitted to the server, a specific\n * `<button>` or `<input type=\"submit\">` to use to submit the form, or some\n * arbitrary data to submit.\n *\n * Note: When using a `<button>` its `name` and `value` will also be\n * included in the form data that is submitted.\n */\n target: SubmitTarget,\n\n /**\n * Options that override the `<form>`'s own attributes. Required when\n * submitting arbitrary data without a backing `<form>`.\n */\n options?: SubmitOptions\n ): void;\n}\n\n/**\n * Submits a fetcher `<form>` to the server without reloading the page.\n */\nexport interface FetcherSubmitFunction {\n (\n target: SubmitTarget,\n // Fetchers cannot replace because they are not navigation events\n options?: Omit<SubmitOptions, \"replace\">\n ): void;\n}\n\nfunction validateClientSideSubmission() {\n if (typeof document === \"undefined\") {\n throw new Error(\n \"You are calling submit during the server render. \" +\n \"Try calling submit within a `useEffect` or callback instead.\"\n );\n }\n}\n\n/**\n * Returns a function that may be used to programmatically submit a form (or\n * some arbitrary data) to the server.\n */\nexport function useSubmit(): SubmitFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseSubmit);\n let { basename } = React.useContext(NavigationContext);\n let currentRouteId = useRouteId();\n\n return React.useCallback<SubmitFunction>(\n (target, options = {}) => {\n validateClientSideSubmission();\n\n let { action, method, encType, formData, body } = getFormSubmissionInfo(\n target,\n basename\n );\n\n router.navigate(options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || (method as HTMLFormMethod),\n formEncType: options.encType || (encType as FormEncType),\n replace: options.replace,\n fromRouteId: currentRouteId,\n });\n },\n [router, basename, currentRouteId]\n );\n}\n\n/**\n * Returns the implementation for fetcher.submit\n */\nfunction useSubmitFetcher(\n fetcherKey: string,\n fetcherRouteId: string\n): FetcherSubmitFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseSubmitFetcher);\n let { basename } = React.useContext(NavigationContext);\n\n return React.useCallback<FetcherSubmitFunction>(\n (target, options = {}) => {\n validateClientSideSubmission();\n\n let { action, method, encType, formData, body } = getFormSubmissionInfo(\n target,\n basename\n );\n\n invariant(\n fetcherRouteId != null,\n \"No routeId available for useFetcher()\"\n );\n router.fetch(fetcherKey, fetcherRouteId, options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || (method as HTMLFormMethod),\n formEncType: options.encType || (encType as FormEncType),\n });\n },\n [router, basename, fetcherKey, fetcherRouteId]\n );\n}\n\n// v7: Eventually we should deprecate this entirely in favor of using the\n// router method directly?\nexport function useFormAction(\n action?: string,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n let { basename } = React.useContext(NavigationContext);\n let routeContext = React.useContext(RouteContext);\n invariant(routeContext, \"useFormAction must be used inside a RouteContext\");\n\n let [match] = routeContext.matches.slice(-1);\n // Shallow clone path so we can modify it below, otherwise we modify the\n // object referenced by useMemo inside useResolvedPath\n let path = { ...useResolvedPath(action ? action : \".\", { relative }) };\n\n // Previously we set the default action to \".\". The problem with this is that\n // `useResolvedPath(\".\")` excludes search params and the hash of the resolved\n // URL. This is the intended behavior of when \".\" is specifically provided as\n // the form action, but inconsistent w/ browsers when the action is omitted.\n // https://github.com/remix-run/remix/issues/927\n let location = useLocation();\n if (action == null) {\n // Safe to write to these directly here since if action was undefined, we\n // would have called useResolvedPath(\".\") which will never include a search\n // or hash\n path.search = location.search;\n path.hash = location.hash;\n\n // When grabbing search params from the URL, remove the automatically\n // inserted ?index param so we match the useResolvedPath search behavior\n // which would not include ?index\n if (match.route.index) {\n let params = new URLSearchParams(path.search);\n params.delete(\"index\");\n path.search = params.toString() ? `?${params.toString()}` : \"\";\n }\n }\n\n if ((!action || action === \".\") && match.route.index) {\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n }\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the form action. If this is a root navigation, then just use\n // the raw basename which allows the basename to have full control over the\n // presence of a trailing slash on root actions\n if (basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\nfunction createFetcherForm(fetcherKey: string, routeId: string) {\n let FetcherForm = React.forwardRef<HTMLFormElement, FormProps>(\n (props, ref) => {\n let submit = useSubmitFetcher(fetcherKey, routeId);\n return <FormImpl {...props} ref={ref} submit={submit} />;\n }\n );\n if (__DEV__) {\n FetcherForm.displayName = \"fetcher.Form\";\n }\n return FetcherForm;\n}\n\nlet fetcherId = 0;\n\nexport type FetcherWithComponents<TData> = Fetcher<TData> & {\n Form: ReturnType<typeof createFetcherForm>;\n submit: FetcherSubmitFunction;\n load: (href: string) => void;\n};\n\n/**\n * Interacts with route loaders and actions without causing a navigation. Great\n * for any interaction that stays on the same page.\n */\nexport function useFetcher<TData = any>(): FetcherWithComponents<TData> {\n let { router } = useDataRouterContext(DataRouterHook.UseFetcher);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useFetcher must be used inside a RouteContext`);\n\n let routeId = route.matches[route.matches.length - 1]?.route.id;\n invariant(\n routeId != null,\n `useFetcher can only be used on routes that contain a unique \"id\"`\n );\n\n let [fetcherKey] = React.useState(() => String(++fetcherId));\n let [Form] = React.useState(() => {\n invariant(routeId, `No routeId available for fetcher.Form()`);\n return createFetcherForm(fetcherKey, routeId);\n });\n let [load] = React.useState(() => (href: string) => {\n invariant(router, \"No router available for fetcher.load()\");\n invariant(routeId, \"No routeId available for fetcher.load()\");\n router.fetch(fetcherKey, routeId, href);\n });\n let submit = useSubmitFetcher(fetcherKey, routeId);\n\n let fetcher = router.getFetcher<TData>(fetcherKey);\n\n let fetcherWithComponents = React.useMemo(\n () => ({\n Form,\n submit,\n load,\n ...fetcher,\n }),\n [fetcher, Form, submit, load]\n );\n\n React.useEffect(() => {\n // Is this busted when the React team gets real weird and calls effects\n // twice on mount? We really just need to garbage collect here when this\n // fetcher is no longer around.\n return () => {\n if (!router) {\n console.warn(`No router available to clean up from useFetcher()`);\n return;\n }\n router.deleteFetcher(fetcherKey);\n };\n }, [router, fetcherKey]);\n\n return fetcherWithComponents;\n}\n\n/**\n * Provides all fetchers currently on the page. Useful for layouts and parent\n * routes that need to provide pending/optimistic UI regarding the fetch.\n */\nexport function useFetchers(): Fetcher[] {\n let state = useDataRouterState(DataRouterStateHook.UseFetchers);\n return [...state.fetchers.values()];\n}\n\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions: Record<string, number> = {};\n\n/**\n * When rendered inside a RouterProvider, will restore scroll positions on navigations\n */\nfunction useScrollRestoration({\n getKey,\n storageKey,\n}: {\n getKey?: GetScrollRestorationKeyFunction;\n storageKey?: string;\n} = {}) {\n let { router } = useDataRouterContext(DataRouterHook.UseScrollRestoration);\n let { restoreScrollPosition, preventScrollReset } = useDataRouterState(\n DataRouterStateHook.UseScrollRestoration\n );\n let { basename } = React.useContext(NavigationContext);\n let location = useLocation();\n let matches = useMatches();\n let navigation = useNavigation();\n\n // Trigger manual scroll restoration while we're active\n React.useEffect(() => {\n window.history.scrollRestoration = \"manual\";\n return () => {\n window.history.scrollRestoration = \"auto\";\n };\n }, []);\n\n // Save positions on pagehide\n usePageHide(\n React.useCallback(() => {\n if (navigation.state === \"idle\") {\n let key = (getKey ? getKey(location, matches) : null) || location.key;\n savedScrollPositions[key] = window.scrollY;\n }\n sessionStorage.setItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY,\n JSON.stringify(savedScrollPositions)\n );\n window.history.scrollRestoration = \"auto\";\n }, [storageKey, getKey, navigation.state, location, matches])\n );\n\n // Read in any saved scroll locations\n if (typeof document !== \"undefined\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n try {\n let sessionPositions = sessionStorage.getItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY\n );\n if (sessionPositions) {\n savedScrollPositions = JSON.parse(sessionPositions);\n }\n } catch (e) {\n // no-op, use default empty object\n }\n }, [storageKey]);\n\n // Enable scroll restoration in the router\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n let getKeyWithoutBasename: GetScrollRestorationKeyFunction | undefined =\n getKey && basename !== \"/\"\n ? (location, matches) =>\n getKey(\n // Strip the basename to match useLocation()\n {\n ...location,\n pathname:\n stripBasename(location.pathname, basename) ||\n location.pathname,\n },\n matches\n )\n : getKey;\n let disableScrollRestoration = router?.enableScrollRestoration(\n savedScrollPositions,\n () => window.scrollY,\n getKeyWithoutBasename\n );\n return () => disableScrollRestoration && disableScrollRestoration();\n }, [router, basename, getKey]);\n\n // Restore scrolling when state.restoreScrollPosition changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n // Explicit false means don't do anything (used for submissions)\n if (restoreScrollPosition === false) {\n return;\n }\n\n // been here before, scroll to it\n if (typeof restoreScrollPosition === \"number\") {\n window.scrollTo(0, restoreScrollPosition);\n return;\n }\n\n // try to scroll to the hash\n if (location.hash) {\n let el = document.getElementById(location.hash.slice(1));\n if (el) {\n el.scrollIntoView();\n return;\n }\n }\n\n // Don't reset if this navigation opted out\n if (preventScrollReset === true) {\n return;\n }\n\n // otherwise go to the top on new locations\n window.scrollTo(0, 0);\n }, [location, restoreScrollPosition, preventScrollReset]);\n }\n}\n\nexport { useScrollRestoration as UNSAFE_useScrollRestoration };\n\n/**\n * Setup a callback to be fired on the window's `beforeunload` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nexport function useBeforeUnload(\n callback: (event: BeforeUnloadEvent) => any,\n options?: { capture?: boolean }\n): void {\n let { capture } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? { capture } : undefined;\n window.addEventListener(\"beforeunload\", callback, opts);\n return () => {\n window.removeEventListener(\"beforeunload\", callback, opts);\n };\n }, [callback, capture]);\n}\n\n/**\n * Setup a callback to be fired on the window's `pagehide` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes. This event is better supported than beforeunload across browsers.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction usePageHide(\n callback: (event: PageTransitionEvent) => any,\n options?: { capture?: boolean }\n): void {\n let { capture } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? { capture } : undefined;\n window.addEventListener(\"pagehide\", callback, opts);\n return () => {\n window.removeEventListener(\"pagehide\", callback, opts);\n };\n }, [callback, capture]);\n}\n\n/**\n * Wrapper around useBlocker to show a window.confirm prompt to users instead\n * of building a custom UI with useBlocker.\n *\n * Warning: This has *a lot of rough edges* and behaves very differently (and\n * very incorrectly in some cases) across browsers if user click addition\n * back/forward navigations while the confirm is open. Use at your own risk.\n */\nfunction usePrompt({ when, message }: { when: boolean; message: string }) {\n let blocker = useBlocker(when);\n\n React.useEffect(() => {\n if (blocker.state === \"blocked\" && !when) {\n blocker.reset();\n }\n }, [blocker, when]);\n\n React.useEffect(() => {\n if (blocker.state === \"blocked\") {\n let proceed = window.confirm(message);\n if (proceed) {\n setTimeout(blocker.proceed, 0);\n } else {\n blocker.reset();\n }\n }\n }, [blocker, message]);\n}\n\nexport { usePrompt as unstable_usePrompt };\n\n//#endregion\n","import * as React from \"react\";\nimport type {\n AgnosticRouteMatch,\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n History,\n Location,\n RelativeRoutingType,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n LazyRouteFunction,\n} from \"@remix-run/router\";\nimport type { Action as NavigationType } from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction<IndexRouteObject>;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction<NonIndexRouteObject>;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch<ParamKey, RouteObjectType> {}\n\nexport interface DataRouteMatch extends RouteMatch<string, DataRouteObject> {}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext<DataRouterContextObject | null>(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext<TrackedPromise | null>(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level <Router> API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext<NavigationContextObject>(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext<LocationContextObject>(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n isDataRoute: boolean;\n}\n\nexport const RouteContext = React.createContext<RouteContextObject>({\n outlet: null,\n matches: [],\n isDataRoute: false,\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext<any>(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n RelativeRoutingType,\n Router as RemixRouter,\n RevalidationState,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n stripBasename,\n IDLE_BLOCKER,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n DataRouteMatch,\n} from \"./context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n AwaitContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a <Router> component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a <Router>.\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a <Router> component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * <NavLink>.\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(pattern: PathPattern<Path> | Path): PathMatch<ParamKey> | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a <Router> component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath<ParamKey, Path>(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nconst navigateEffectWarning =\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`;\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(\n cb: Parameters<typeof React.useLayoutEffect>[0]\n) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by <Link>s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n let { isDataRoute } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\n\nfunction useNavigateUnstable(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a <Router> component.`\n );\n\n let dataRouterContext = React.useContext(DataRouterContext);\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator,\n routePathnamesJson,\n locationPathname,\n dataRouterContext,\n ]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext<unknown>(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nexport function useOutletContext<Context = unknown>(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by <Outlet> to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n <OutletContext.Provider value={context}>{outlet}</OutletContext.Provider>\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record<string, string | undefined> = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params<ParamsOrKey> : Partial<ParamsOrKey>\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an <Outlet> to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial<Location> | string\n): React.ReactElement | null {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nexport function useRoutesImpl(\n routes: RouteObject[],\n locationArg?: Partial<Location> | string,\n dataRouterState?: RemixRouter[\"state\"]\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a <Router> component.`\n );\n\n let { navigator } = React.useContext(NavigationContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different <Routes> under a <Route>\n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // <Routes>\n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // <Route path=\"blog\" element={<Blog />} />\n // <Route path=\"blog/feed\" element={<BlogFeed />} />\n // </Routes>\n //\n // function Blog() {\n // return (\n // <Routes>\n // <Route path=\"post/:id\" element={<Post />} />\n // </Routes>\n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant <Routes> (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under <Route path=\"${parentPath}\">) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent <Route path=\"${parentPath}\"> to <Route ` +\n `path=\"${parentPath === \"/\" ? \"*\" : `${parentPath}/*`}\">.`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`<Routes location>\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined ||\n matches[matches.length - 1].route.Component !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n `does not have an element or Component. This means it will render an <Outlet /> with a ` +\n `null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterState\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n <LocationContext.Provider\n value={{\n location: {\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\",\n ...location,\n },\n navigationType: NavigationType.Pop,\n }}\n >\n {renderedMatches}\n </LocationContext.Provider>\n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n\n devInfo = (\n <>\n <p>💿 Hey developer 👋</p>\n <p>\n You can provide a way better UX than this when your app throws errors\n by providing your own <code style={codeStyles}>ErrorBoundary</code> or{\" \"}\n <code style={codeStyles}>errorElement</code> prop on your route.\n </p>\n </>\n );\n }\n\n return (\n <>\n <h2>Unexpected Application Error!</h2>\n <h3 style={{ fontStyle: \"italic\" }}>{message}</h3>\n {stack ? <pre style={preStyles}>{stack}</pre> : null}\n {devInfo}\n </>\n );\n}\n\nconst defaultErrorElement = <DefaultErrorComponent />;\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n revalidation: RevalidationState;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n revalidation: RevalidationState;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (\n state.location !== props.location ||\n (state.revalidation !== \"idle\" && props.revalidation === \"idle\")\n ) {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n <RouteContext.Provider value={this.props.routeContext}>\n <RouteErrorContext.Provider\n value={this.state.error}\n children={this.props.component}\n />\n </RouteContext.Provider>\n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch<string, RouteObject>;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n (match.route.errorElement || match.route.ErrorBoundary)\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n <RouteContext.Provider value={routeContext}>\n {children}\n </RouteContext.Provider>\n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState: RemixRouter[\"state\"] | null = null\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement: React.ReactNode | null = null;\n if (dataRouterState) {\n errorElement = match.route.errorElement || defaultErrorElement;\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children: React.ReactNode;\n if (error) {\n children = errorElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `<Route Component={...}>` in `<Routes>` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = <match.route.Component />;\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return (\n <RenderedRoute\n match={match}\n routeContext={{\n outlet,\n matches,\n isDataRoute: dataRouterState != null,\n }}\n children={children}\n />\n );\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState &&\n (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n <RenderErrorBoundary\n location={dataRouterState.location}\n revalidation={dataRouterState.revalidation}\n component={errorElement}\n error={error}\n children={getChildren()}\n routeContext={{ outlet: null, matches, isDataRoute: true }}\n />\n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n}\n\nenum DataRouterStateHook {\n UseBlocker = \"useBlocker\",\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n UseRouteId = \"useRouteId\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nexport function useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n };\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches() {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () =>\n matches.map((match) => {\n let { pathname, params } = match;\n // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id] as unknown,\n handle: match.route.handle as unknown,\n };\n }),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor <Await /> value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor <Await /> value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router, basename } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback<BlockerFunction>(\n (arg) => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let { currentLocation, nextLocation, historyAction } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname:\n stripBasename(currentLocation.pathname, basename) ||\n currentLocation.pathname,\n },\n nextLocation: {\n ...nextLocation,\n pathname:\n stripBasename(nextLocation.pathname, basename) ||\n nextLocation.pathname,\n },\n historyAction,\n });\n },\n [basename, shouldBlock]\n );\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey)\n ? state.blockers.get(blockerKey)!\n : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable(): NavigateFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n\n return navigate;\n}\n\nconst alreadyWarned: Record<string, boolean> = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import * as React from \"react\";\nimport type {\n TrackedPromise,\n InitialEntry,\n Location,\n MemoryHistory,\n Router as RemixRouter,\n To,\n LazyRouteFunction,\n RelativeRoutingType,\n RouterState,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n AbortedDeferredError,\n createMemoryHistory,\n UNSAFE_invariant as invariant,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n} from \"@remix-run/router\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n RouteMatch,\n RouteObject,\n Navigator,\n NonIndexRouteObject,\n} from \"./context\";\nimport {\n LocationContext,\n NavigationContext,\n DataRouterContext,\n DataRouterStateContext,\n AwaitContext,\n RouteContext,\n} from \"./context\";\nimport {\n useAsyncValue,\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n useRoutesImpl,\n useLocation,\n} from \"./hooks\";\n\nexport interface FutureConfig {\n v7_startTransition: boolean;\n}\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n future?: FutureConfig;\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n future,\n}: RouterProviderProps): React.ReactElement {\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n let [state, setStateImpl] = React.useState(router.state);\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: RouterState) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a <script> here\n // containing the hydrated server-side staticContext (from StaticRouterProvider).\n // useId relies on the component tree structure to generate deterministic id's\n // so we need to ensure it remains the same on the client even though\n // we don't need the <script> tag\n return (\n <>\n <DataRouterContext.Provider value={dataRouterContext}>\n <DataRouterStateContext.Provider value={state}>\n <Router\n basename={basename}\n location={state.location}\n navigationType={state.historyAction}\n navigator={navigator}\n >\n {state.initialized ? (\n <DataRoutes routes={router.routes} state={state} />\n ) : (\n fallbackElement\n )}\n </Router>\n </DataRouterStateContext.Provider>\n </DataRouterContext.Provider>\n {null}\n </>\n );\n}\n\nfunction DataRoutes({\n routes,\n state,\n}: {\n routes: DataRouteObject[];\n state: RouterState;\n}): React.ReactElement | null {\n return useRoutesImpl(routes, undefined, state);\n}\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n future?: FutureConfig;\n}\n\n/**\n * A <Router> that stores all entries in memory.\n *\n * @see https://reactrouter.com/router-components/memory-router\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n future,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef<MemoryHistory>();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true,\n });\n }\n\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location,\n });\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: { action: NavigationType; location: Location }) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n relative?: RelativeRoutingType;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/components/navigate\n */\nexport function Navigate({\n to,\n replace,\n state,\n relative,\n}: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n `<Navigate> may be used only in the context of a <Router> component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n `<Navigate> must not be used on the initial render in a <StaticRouter>. ` +\n `This is a no-op, but you should modify your code so the <Navigate> is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let navigate = useNavigate();\n\n // Resolve the path outside of the effect so that when effects run twice in\n // StrictMode they navigate to the same place\n let path = resolveTo(\n to,\n getPathContributingMatches(matches).map((match) => match.pathnameBase),\n locationPathname,\n relative === \"path\"\n );\n let jsonPath = JSON.stringify(path);\n\n React.useEffect(\n () => navigate(JSON.parse(jsonPath), { replace, state, relative }),\n [navigate, jsonPath, relative, replace, state]\n );\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/components/outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface PathRouteProps {\n caseSensitive?: NonIndexRouteObject[\"caseSensitive\"];\n path?: NonIndexRouteObject[\"path\"];\n id?: NonIndexRouteObject[\"id\"];\n lazy?: LazyRouteFunction<NonIndexRouteObject>;\n loader?: NonIndexRouteObject[\"loader\"];\n action?: NonIndexRouteObject[\"action\"];\n hasErrorBoundary?: NonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: NonIndexRouteObject[\"shouldRevalidate\"];\n handle?: NonIndexRouteObject[\"handle\"];\n index?: false;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n}\n\nexport interface LayoutRouteProps extends PathRouteProps {}\n\nexport interface IndexRouteProps {\n caseSensitive?: IndexRouteObject[\"caseSensitive\"];\n path?: IndexRouteObject[\"path\"];\n id?: IndexRouteObject[\"id\"];\n lazy?: LazyRouteFunction<IndexRouteObject>;\n loader?: IndexRouteObject[\"loader\"];\n action?: IndexRouteObject[\"action\"];\n hasErrorBoundary?: IndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: IndexRouteObject[\"shouldRevalidate\"];\n handle?: IndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n}\n\nexport type RouteProps = PathRouteProps | LayoutRouteProps | IndexRouteProps;\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/components/route\n */\nexport function Route(_props: RouteProps): React.ReactElement | null {\n invariant(\n false,\n `A <Route> is only ever to be used as the child of <Routes> element, ` +\n `never rendered directly. Please wrap your <Route> in a <Routes>.`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial<Location> | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a <Router> directly. Instead, you'll render a\n * router that is more specific to your environment such as a <BrowserRouter>\n * in web browsers or a <StaticRouter> for server rendering.\n *\n * @see https://reactrouter.com/router-components/router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a <Router> inside another <Router>.` +\n ` You should never have more than one in your app.`\n );\n\n // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let locationContext = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n location: {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n },\n navigationType,\n };\n }, [basename, pathname, search, hash, state, key, navigationType]);\n\n warning(\n locationContext != null,\n `<Router basename=\"${basename}\"> is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the <Router> won't render anything.`\n );\n\n if (locationContext == null) {\n return null;\n }\n\n return (\n <NavigationContext.Provider value={navigationContext}>\n <LocationContext.Provider children={children} value={locationContext} />\n </NavigationContext.Provider>\n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial<Location> | string;\n}\n\n/**\n * A container for a nested tree of <Route> elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/components/routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\nexport interface AwaitResolveRenderFunction {\n (data: Awaited<any>): React.ReactNode;\n}\n\nexport interface AwaitProps {\n children: React.ReactNode | AwaitResolveRenderFunction;\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}\n\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nexport function Await({ children, errorElement, resolve }: AwaitProps) {\n return (\n <AwaitErrorBoundary resolve={resolve} errorElement={errorElement}>\n <ResolveAwait>{children}</ResolveAwait>\n </AwaitErrorBoundary>\n );\n}\n\ntype AwaitErrorBoundaryProps = React.PropsWithChildren<{\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}>;\n\ntype AwaitErrorBoundaryState = {\n error: any;\n};\n\nenum AwaitRenderStatus {\n pending,\n success,\n error,\n}\n\nconst neverSettledPromise = new Promise(() => {});\n\nclass AwaitErrorBoundary extends React.Component<\n AwaitErrorBoundaryProps,\n AwaitErrorBoundaryState\n> {\n constructor(props: AwaitErrorBoundaryProps) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"<Await> caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n let { children, errorElement, resolve } = this.props;\n\n let promise: TrackedPromise | null = null;\n let status: AwaitRenderStatus = AwaitRenderStatus.pending;\n\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_data\", { get: () => resolve });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_error\", { get: () => renderError });\n } else if ((resolve as TrackedPromise)._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status =\n promise._error !== undefined\n ? AwaitRenderStatus.error\n : promise._data !== undefined\n ? AwaitRenderStatus.success\n : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", { get: () => true });\n promise = resolve.then(\n (data: any) =>\n Object.defineProperty(resolve, \"_data\", { get: () => data }),\n (error: any) =>\n Object.defineProperty(resolve, \"_error\", { get: () => error })\n );\n }\n\n if (\n status === AwaitRenderStatus.error &&\n promise._error instanceof AbortedDeferredError\n ) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return <AwaitContext.Provider value={promise} children={errorElement} />;\n }\n\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return <AwaitContext.Provider value={promise} children={children} />;\n }\n\n // Throw to the suspense boundary\n throw promise;\n }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on <Await>\n */\nfunction ResolveAwait({\n children,\n}: {\n children: React.ReactNode | AwaitResolveRenderFunction;\n}) {\n let data = useAsyncValue();\n let toRender = typeof children === \"function\" ? children(data) : children;\n return <>{toRender}</>;\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/utils/create-routes-from-children\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode,\n parentPath: number[] = []\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element, index) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n let treePath = [...parentPath, index];\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children, treePath)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`\n );\n\n invariant(\n !element.props.index || !element.props.children,\n \"An index route cannot have child routes.\"\n );\n\n let route: RouteObject = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n Component: element.props.Component,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n ErrorBoundary: element.props.ErrorBoundary,\n hasErrorBoundary:\n element.props.ErrorBoundary != null ||\n element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n lazy: element.props.lazy,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(\n element.props.children,\n treePath\n );\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect =\n /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n","/* eslint-disable vars-on-top, no-var, prefer-template */\nvar isRegExp = function (re) { \n return re instanceof RegExp;\n};\nvar escapeRegExp = function escapeRegExp(string) {\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n};\nvar isString = function (value) {\n return typeof value === 'string';\n};\nvar flatten = function (array) {\n var newArray = [];\n\n array.forEach(function (item) {\n if (Array.isArray(item)) {\n newArray = newArray.concat(item);\n } else {\n newArray.push(item);\n }\n });\n\n return newArray;\n};\n\n/**\n * Given a string, replace every substring that is matched by the `match` regex\n * with the result of calling `fn` on matched substring. The result will be an\n * array with all odd indexed elements containing the replacements. The primary\n * use case is similar to using String.prototype.replace except for React.\n *\n * React will happily render an array as children of a react element, which\n * makes this approach very useful for tasks like surrounding certain text\n * within a string with react elements.\n *\n * Example:\n * matchReplace(\n * 'Emphasize all phone numbers like 884-555-4443.',\n * /([\\d|-]+)/g,\n * (number, i) => <strong key={i}>{number}</strong>\n * );\n * // => ['Emphasize all phone numbers like ', <strong>884-555-4443</strong>, '.'\n *\n * @param {string} str\n * @param {RegExp|str} match Must contain a matching group\n * @param {function} fn\n * @return {array}\n */\nfunction replaceString(str, match, fn) {\n var curCharStart = 0;\n var curCharLen = 0;\n\n if (str === '') {\n return str;\n } else if (!str || !isString(str)) {\n throw new TypeError('First argument to react-string-replace#replaceString must be a string');\n }\n\n var re = match;\n\n if (!isRegExp(re)) {\n re = new RegExp('(' + escapeRegExp(re) + ')', 'gi');\n }\n\n var result = str.split(re);\n\n // Apply fn to all odd elements\n for (var i = 1, length = result.length; i < length; i += 2) {\n /** @see {@link https://github.com/iansinnott/react-string-replace/issues/74} */\n if (result[i] === undefined || result[i - 1] === undefined) {\n console.warn('reactStringReplace: Encountered undefined value during string replacement. Your RegExp may not be working the way you expect.');\n continue;\n }\n\n curCharLen = result[i].length;\n curCharStart += result[i - 1].length;\n result[i] = fn(result[i], i, curCharStart);\n curCharStart += curCharLen;\n }\n\n return result;\n}\n\nmodule.exports = function reactStringReplace(source, match, fn) {\n if (!Array.isArray(source)) source = [source];\n\n return flatten(source.map(function(x) {\n return isString(x) ? replaceString(x, match, fn) : x;\n }));\n};\n","export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nvar Sister;\n\n/**\n* @link https://github.com/gajus/sister for the canonical source repository\n* @license https://github.com/gajus/sister/blob/master/LICENSE BSD 3-Clause\n*/\nSister = function () {\n var sister = {},\n events = {};\n\n /**\n * @name handler\n * @function\n * @param {Object} data Event data.\n */\n\n /**\n * @param {String} name Event name.\n * @param {handler} handler\n * @return {listener}\n */\n sister.on = function (name, handler) {\n var listener = {name: name, handler: handler};\n events[name] = events[name] || [];\n events[name].unshift(listener);\n return listener;\n };\n\n /**\n * @param {listener}\n */\n sister.off = function (listener) {\n var index = events[listener.name].indexOf(listener);\n\n if (index !== -1) {\n events[listener.name].splice(index, 1);\n }\n };\n\n /**\n * @param {String} name Event name.\n * @param {Object} data Event data.\n */\n sister.trigger = function (name, data) {\n var listeners = events[name],\n i;\n\n if (listeners) {\n i = listeners.length;\n while (i--) {\n listeners[i].handler(data);\n }\n }\n };\n\n return sister;\n};\n\nmodule.exports = Sister;\n","import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport default index;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _PlayerStates = require('./constants/PlayerStates');\n\nvar _PlayerStates2 = _interopRequireDefault(_PlayerStates);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n pauseVideo: {\n acceptableStates: [_PlayerStates2.default.ENDED, _PlayerStates2.default.PAUSED],\n stateChangeRequired: false\n },\n playVideo: {\n acceptableStates: [_PlayerStates2.default.ENDED, _PlayerStates2.default.PLAYING],\n stateChangeRequired: false\n },\n seekTo: {\n acceptableStates: [_PlayerStates2.default.ENDED, _PlayerStates2.default.PLAYING, _PlayerStates2.default.PAUSED],\n stateChangeRequired: true,\n\n // TRICKY: `seekTo` may not cause a state change if no buffering is\n // required.\n timeout: 3000\n }\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _debug = require('debug');\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nvar _functionNames = require('./functionNames');\n\nvar _functionNames2 = _interopRequireDefault(_functionNames);\n\nvar _eventNames = require('./eventNames');\n\nvar _eventNames2 = _interopRequireDefault(_eventNames);\n\nvar _FunctionStateMap = require('./FunctionStateMap');\n\nvar _FunctionStateMap2 = _interopRequireDefault(_FunctionStateMap);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint-disable promise/prefer-await-to-then */\n\nvar debug = (0, _debug2.default)('youtube-player');\n\nvar YouTubePlayer = {};\n\n/**\n * Construct an object that defines an event handler for all of the YouTube\n * player events. Proxy captured events through an event emitter.\n *\n * @todo Capture event parameters.\n * @see https://developers.google.com/youtube/iframe_api_reference#Events\n */\nYouTubePlayer.proxyEvents = function (emitter) {\n var events = {};\n\n var _loop = function _loop(eventName) {\n var onEventName = 'on' + eventName.slice(0, 1).toUpperCase() + eventName.slice(1);\n\n events[onEventName] = function (event) {\n debug('event \"%s\"', onEventName, event);\n\n emitter.trigger(eventName, event);\n };\n };\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = _eventNames2.default[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var eventName = _step.value;\n\n _loop(eventName);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return events;\n};\n\n/**\n * Delays player API method execution until player state is ready.\n *\n * @todo Proxy all of the methods using Object.keys.\n * @todo See TRICKY below.\n * @param playerAPIReady Promise that resolves when player is ready.\n * @param strictState A flag designating whether or not to wait for\n * an acceptable state when calling supported functions.\n * @returns {Object}\n */\nYouTubePlayer.promisifyPlayer = function (playerAPIReady) {\n var strictState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var functions = {};\n\n var _loop2 = function _loop2(functionName) {\n if (strictState && _FunctionStateMap2.default[functionName]) {\n functions[functionName] = function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return playerAPIReady.then(function (player) {\n var stateInfo = _FunctionStateMap2.default[functionName];\n var playerState = player.getPlayerState();\n\n // eslint-disable-next-line no-warning-comments\n // TODO: Just spread the args into the function once Babel is fixed:\n // https://github.com/babel/babel/issues/4270\n //\n // eslint-disable-next-line prefer-spread\n var value = player[functionName].apply(player, args);\n\n // TRICKY: For functions like `seekTo`, a change in state must be\n // triggered given that the resulting state could match the initial\n // state.\n if (stateInfo.stateChangeRequired ||\n\n // eslint-disable-next-line no-extra-parens\n Array.isArray(stateInfo.acceptableStates) && stateInfo.acceptableStates.indexOf(playerState) === -1) {\n return new Promise(function (resolve) {\n var onPlayerStateChange = function onPlayerStateChange() {\n var playerStateAfterChange = player.getPlayerState();\n\n var timeout = void 0;\n\n if (typeof stateInfo.timeout === 'number') {\n timeout = setTimeout(function () {\n player.removeEventListener('onStateChange', onPlayerStateChange);\n\n resolve();\n }, stateInfo.timeout);\n }\n\n if (Array.isArray(stateInfo.acceptableStates) && stateInfo.acceptableStates.indexOf(playerStateAfterChange) !== -1) {\n player.removeEventListener('onStateChange', onPlayerStateChange);\n\n clearTimeout(timeout);\n\n resolve();\n }\n };\n\n player.addEventListener('onStateChange', onPlayerStateChange);\n }).then(function () {\n return value;\n });\n }\n\n return value;\n });\n };\n } else {\n functions[functionName] = function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return playerAPIReady.then(function (player) {\n // eslint-disable-next-line no-warning-comments\n // TODO: Just spread the args into the function once Babel is fixed:\n // https://github.com/babel/babel/issues/4270\n //\n // eslint-disable-next-line prefer-spread\n return player[functionName].apply(player, args);\n });\n };\n }\n };\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _functionNames2.default[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var functionName = _step2.value;\n\n _loop2(functionName);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return functions;\n};\n\nexports.default = YouTubePlayer;\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n BUFFERING: 3,\n ENDED: 0,\n PAUSED: 2,\n PLAYING: 1,\n UNSTARTED: -1,\n VIDEO_CUED: 5\n};\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n/**\n * @see https://developers.google.com/youtube/iframe_api_reference#Events\n * `volumeChange` is not officially supported but seems to work\n * it emits an object: `{volume: 82.6923076923077, muted: false}`\n */\nexports.default = ['ready', 'stateChange', 'playbackQualityChange', 'playbackRateChange', 'error', 'apiChange', 'volumeChange'];\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n/**\n * @see https://developers.google.com/youtube/iframe_api_reference#Functions\n */\nexports.default = ['cueVideoById', 'loadVideoById', 'cueVideoByUrl', 'loadVideoByUrl', 'playVideo', 'pauseVideo', 'stopVideo', 'getVideoLoadedFraction', 'cuePlaylist', 'loadPlaylist', 'nextVideo', 'previousVideo', 'playVideoAt', 'setShuffle', 'setLoop', 'getPlaylist', 'getPlaylistIndex', 'setOption', 'mute', 'unMute', 'isMuted', 'setVolume', 'getVolume', 'seekTo', 'getPlayerState', 'getPlaybackRate', 'setPlaybackRate', 'getAvailablePlaybackRates', 'getPlaybackQuality', 'setPlaybackQuality', 'getAvailableQualityLevels', 'getCurrentTime', 'getDuration', 'removeEventListener', 'getVideoUrl', 'getVideoEmbedCode', 'getOptions', 'getOption', 'addEventListener', 'destroy', 'setSize', 'getIframe'];\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _sister = require('sister');\n\nvar _sister2 = _interopRequireDefault(_sister);\n\nvar _loadYouTubeIframeApi = require('./loadYouTubeIframeApi');\n\nvar _loadYouTubeIframeApi2 = _interopRequireDefault(_loadYouTubeIframeApi);\n\nvar _YouTubePlayer = require('./YouTubePlayer');\n\nvar _YouTubePlayer2 = _interopRequireDefault(_YouTubePlayer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @typedef YT.Player\n * @see https://developers.google.com/youtube/iframe_api_reference\n * */\n\n/**\n * @see https://developers.google.com/youtube/iframe_api_reference#Loading_a_Video_Player\n */\nvar youtubeIframeAPI = void 0;\n\n/**\n * A factory function used to produce an instance of YT.Player and queue function calls and proxy events of the resulting object.\n *\n * @param maybeElementId Either An existing YT.Player instance,\n * the DOM element or the id of the HTML element where the API will insert an <iframe>.\n * @param options See `options` (Ignored when using an existing YT.Player instance).\n * @param strictState A flag designating whether or not to wait for\n * an acceptable state when calling supported functions. Default: `false`.\n * See `FunctionStateMap.js` for supported functions and acceptable states.\n */\n\nexports.default = function (maybeElementId) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var strictState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var emitter = (0, _sister2.default)();\n\n if (!youtubeIframeAPI) {\n youtubeIframeAPI = (0, _loadYouTubeIframeApi2.default)(emitter);\n }\n\n if (options.events) {\n throw new Error('Event handlers cannot be overwritten.');\n }\n\n if (typeof maybeElementId === 'string' && !document.getElementById(maybeElementId)) {\n throw new Error('Element \"' + maybeElementId + '\" does not exist.');\n }\n\n options.events = _YouTubePlayer2.default.proxyEvents(emitter);\n\n var playerAPIReady = new Promise(function (resolve) {\n if ((typeof maybeElementId === 'undefined' ? 'undefined' : _typeof(maybeElementId)) === 'object' && maybeElementId.playVideo instanceof Function) {\n var player = maybeElementId;\n\n resolve(player);\n } else {\n // asume maybeElementId can be rendered inside\n // eslint-disable-next-line promise/catch-or-return\n youtubeIframeAPI.then(function (YT) {\n // eslint-disable-line promise/prefer-await-to-then\n var player = new YT.Player(maybeElementId, options);\n\n emitter.on('ready', function () {\n resolve(player);\n });\n\n return null;\n });\n }\n });\n\n var playerApi = _YouTubePlayer2.default.promisifyPlayer(playerAPIReady, strictState);\n\n playerApi.on = emitter.on;\n playerApi.off = emitter.off;\n\n return playerApi;\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _loadScript = require('load-script');\n\nvar _loadScript2 = _interopRequireDefault(_loadScript);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (emitter) {\n /**\n * A promise that is resolved when window.onYouTubeIframeAPIReady is called.\n * The promise is resolved with a reference to window.YT object.\n */\n var iframeAPIReady = new Promise(function (resolve) {\n if (window.YT && window.YT.Player && window.YT.Player instanceof Function) {\n resolve(window.YT);\n\n return;\n } else {\n var protocol = window.location.protocol === 'http:' ? 'http:' : 'https:';\n\n (0, _loadScript2.default)(protocol + '//www.youtube.com/iframe_api', function (error) {\n if (error) {\n emitter.trigger('error', error);\n }\n });\n }\n\n var previous = window.onYouTubeIframeAPIReady;\n\n // The API will call this function when page has finished downloading\n // the JavaScript for the player API.\n window.onYouTubeIframeAPIReady = function () {\n if (previous) {\n previous();\n }\n\n resolve(window.YT);\n };\n });\n\n return iframeAPIReady;\n};\n\nmodule.exports = exports['default'];","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n 'lightseagreen',\n 'forestgreen',\n 'goldenrod',\n 'dodgerblue',\n 'darkorchid',\n 'crimson'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n","var map = {\n\t\"./AdvancedTable/AdvancedTable.component\": [\n\t\t8437,\n\t\t8601\n\t],\n\t\"./ContentList/ContentList.component\": [\n\t\t8600,\n\t\t9566\n\t],\n\t\"./ContentList/components/Card/Card.component\": [\n\t\t4108,\n\t\t4664\n\t],\n\t\"./CustomForm/CustomForm.component\": [\n\t\t3499,\n\t\t2711,\n\t\t1647,\n\t\t4105,\n\t\t7088\n\t],\n\t\"./CustomForm/components/Form/Form.component\": [\n\t\t3486,\n\t\t2711,\n\t\t1647,\n\t\t4105,\n\t\t5193\n\t],\n\t\"./CustomForm/components/Form/InternCustomForm.component\": [\n\t\t5169,\n\t\t2711,\n\t\t1647,\n\t\t5349\n\t],\n\t\"./CustomForm/components/Form/components/DynamicField.component\": [\n\t\t13,\n\t\t2711,\n\t\t7614\n\t],\n\t\"./CustomForm/components/Receipt/Receipt.component\": [\n\t\t2637,\n\t\t1120\n\t],\n\t\"./DepartmentMap/DepartmentMap.component\": [\n\t\t7049,\n\t\t2711,\n\t\t2277,\n\t\t33\n\t],\n\t\"./DepartmentMap/components/Department/Department.component\": [\n\t\t6233,\n\t\t5556\n\t],\n\t\"./DepartmentMap/components/Map/Map.component\": [\n\t\t6142,\n\t\t2277,\n\t\t9083\n\t],\n\t\"./DepartmentsList/DepartmentsList.component\": [\n\t\t833,\n\t\t2711,\n\t\t5151\n\t],\n\t\"./DepartmentsList/components/Department/Department.component\": [\n\t\t8300,\n\t\t2481\n\t],\n\t\"./Embed/Embed.component\": [\n\t\t7259,\n\t\t2711,\n\t\t964,\n\t\t2345,\n\t\t3646\n\t],\n\t\"./Employees/Employees.component\": [\n\t\t8118,\n\t\t9775\n\t],\n\t\"./Employees/components/Employee/Employee.component\": [\n\t\t1033,\n\t\t1427\n\t],\n\t\"./EventsSlider/EventsSlider.component\": [\n\t\t6836,\n\t\t4055\n\t],\n\t\"./EventsSlider/components/Events/Events.component\": [\n\t\t7124,\n\t\t2883\n\t],\n\t\"./Hero/Hero.component\": [\n\t\t6251\n\t],\n\t\"./Image/Image.component\": [\n\t\t4297,\n\t\t5437\n\t],\n\t\"./NewsSlider/NewsSlider.component\": [\n\t\t6800,\n\t\t2356\n\t],\n\t\"./NewsSlider/components/News/News.component\": [\n\t\t7091,\n\t\t535\n\t],\n\t\"./OilPriceHistory/OilPriceHistory.component\": [\n\t\t934,\n\t\t964,\n\t\t1974\n\t],\n\t\"./OilPriceHistory/components/Chart/Chart.component\": [\n\t\t1636,\n\t\t964,\n\t\t6082\n\t],\n\t\"./OilPriceTable/OilPriceTable.component\": [\n\t\t8446,\n\t\t2345,\n\t\t4396\n\t],\n\t\"./Quotes/Quotes.component\": [\n\t\t5446,\n\t\t5290\n\t],\n\t\"./RoutePlan/RoutePlan.component\": [\n\t\t9965,\n\t\t2711,\n\t\t2697\n\t],\n\t\"./SocialMediaSharing/SocialMediaSharing.component\": [\n\t\t9184\n\t],\n\t\"./Spots/Spots.component\": [\n\t\t3808,\n\t\t1009\n\t],\n\t\"./Spots/components/Spot.component\": [\n\t\t4586,\n\t\t977\n\t],\n\t\"./Spots/components/components/BasicLinkWrapper.component\": [\n\t\t4390,\n\t\t9813\n\t],\n\t\"./SupplierService/SupplierService.component\": [\n\t\t9970,\n\t\t2711,\n\t\t8334\n\t],\n\t\"./Tabs/Tabs.component\": [\n\t\t1626,\n\t\t2910\n\t],\n\t\"./Text/Text.component\": [\n\t\t3999,\n\t\t1441\n\t],\n\t\"./Text/forks/machinery/Text.component\": [\n\t\t8306,\n\t\t7855\n\t],\n\t\"./TextAccordions/TextAccordions.component\": [\n\t\t7057,\n\t\t7462\n\t],\n\t\"./TextAdvancedTable/TextAdvancedTable.component\": [\n\t\t4160,\n\t\t3627\n\t],\n\t\"./TextForm/TextForm.component\": [\n\t\t5255,\n\t\t2711,\n\t\t4921,\n\t\t2691,\n\t\t2616\n\t],\n\t\"./TextForm/components/Form/Form.component\": [\n\t\t1165,\n\t\t2711,\n\t\t4921,\n\t\t2691,\n\t\t1821\n\t],\n\t\"./TextForm/components/Form/components/DynamicField.component\": [\n\t\t9150,\n\t\t2711,\n\t\t4921,\n\t\t2691\n\t],\n\t\"./TextForm/components/Receipt/Receipt.component\": [\n\t\t4232,\n\t\t2740\n\t],\n\t\"./TextGraphics/TextGraphics.component\": [\n\t\t7342,\n\t\t5957,\n\t\t4580,\n\t\t7610\n\t],\n\t\"./TextGraphics/components/EuropeMap/EuropeMap.component\": [\n\t\t4580,\n\t\t4580,\n\t\t5597\n\t],\n\t\"./TextGraphics/components/EuropeMap/components/InfoWindow.component\": [\n\t\t6831,\n\t\t6693\n\t],\n\t\"./TextImage/TextImage.component\": [\n\t\t5405,\n\t\t5866\n\t],\n\t\"./TextImageBanner/TextImageBanner.component\": [\n\t\t6780,\n\t\t2241\n\t],\n\t\"./TextTable/TextTable.component\": [\n\t\t2950,\n\t\t2345,\n\t\t6255\n\t],\n\t\"./TextText/TextText.component\": [\n\t\t4064,\n\t\t7525\n\t],\n\t\"./TextText/components/Text/Text.component\": [\n\t\t7121,\n\t\t1155\n\t],\n\t\"./TextVideo/TextVideo.component\": [\n\t\t3574,\n\t\t7585\n\t],\n\t\"./Video/Video.component\": [\n\t\t1233,\n\t\t8190\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 3566;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./Text/forks/machinery/Text.component\": [\n\t\t8306,\n\t\t7855\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 5231;\nmodule.exports = webpackAsyncContext;","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","let e={data:\"\"},t=t=>\"object\"==typeof window?((t?t.querySelector(\"#_goober\"):window._goober)||Object.assign((t||document.head).appendChild(document.createElement(\"style\")),{innerHTML:\" \",id:\"_goober\"})).firstChild:t||e,r=e=>{let r=t(e),l=r.data;return r.data=\"\",l},l=/(?:([\\u0080-\\uFFFF\\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\\s*)/g,a=/\\/\\*[^]*?\\*\\/| +/g,n=/\\n+/g,o=(e,t)=>{let r=\"\",l=\"\",a=\"\";for(let n in e){let c=e[n];\"@\"==n[0]?\"i\"==n[1]?r=n+\" \"+c+\";\":l+=\"f\"==n[1]?o(c,n):n+\"{\"+o(c,\"k\"==n[1]?\"\":t)+\"}\":\"object\"==typeof c?l+=o(c,t?t.replace(/([^,])+/g,e=>n.replace(/(^:.*)|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+\" \"+t:t)):n):null!=c&&(n=/^--/.test(n)?n:n.replace(/[A-Z]/g,\"-$&\").toLowerCase(),a+=o.p?o.p(n,c):n+\":\"+c+\";\")}return r+(t&&a?t+\"{\"+a+\"}\":a)+l},c={},s=e=>{if(\"object\"==typeof e){let t=\"\";for(let r in e)t+=r+s(e[r]);return t}return e},i=(e,t,r,i,p)=>{let u=s(e),d=c[u]||(c[u]=(e=>{let t=0,r=11;for(;t<e.length;)r=101*r+e.charCodeAt(t++)>>>0;return\"go\"+r})(u));if(!c[d]){let t=u!==e?e:(e=>{let t,r,o=[{}];for(;t=l.exec(e.replace(a,\"\"));)t[4]?o.shift():t[3]?(r=t[3].replace(n,\" \").trim(),o.unshift(o[0][r]=o[0][r]||{})):o[0][t[1]]=t[2].replace(n,\" \").trim();return o[0]})(e);c[d]=o(p?{[\"@keyframes \"+d]:t}:t,r?\"\":\".\"+d)}let f=r&&c.g?c.g:null;return r&&(c.g=c[d]),((e,t,r,l)=>{l?t.data=t.data.replace(l,e):-1===t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e)})(c[d],t,i,f),d},p=(e,t,r)=>e.reduce((e,l,a)=>{let n=t[a];if(n&&n.call){let e=n(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;n=t?\".\"+t:e&&\"object\"==typeof e?e.props?\"\":o(e,\"\"):!1===e?\"\":e}return e+l+(null==n?\"\":n)},\"\");function u(e){let r=this||{},l=e.call?e(r.p):e;return i(l.unshift?l.raw?p(l,[].slice.call(arguments,1),r.p):l.reduce((e,t)=>Object.assign(e,t&&t.call?t(r.p):t),{}):l,t(r.target),r.g,r.o,r.k)}let d,f,g,b=u.bind({g:1}),h=u.bind({k:1});function m(e,t,r,l){o.p=t,d=e,f=r,g=l}function j(e,t){let r=this||{};return function(){let l=arguments;function a(n,o){let c=Object.assign({},n),s=c.className||a.className;r.p=Object.assign({theme:f&&f()},c),r.o=/ *go\\d+/.test(s),c.className=u.apply(r,l)+(s?\" \"+s:\"\"),t&&(c.ref=o);let i=e;return e[0]&&(i=c.as||e,delete c.as),g&&i[0]&&g(c),d(i,c)}return t?t(a):a}}export{u as css,r as extractCss,b as glob,h as keyframes,m as setup,j as styled};\n","import { CSSProperties } from 'react';\n\nexport type ToastType = 'success' | 'error' | 'loading' | 'blank' | 'custom';\nexport type ToastPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right';\n\nexport type Renderable = JSX.Element | string | null;\n\nexport interface IconTheme {\n primary: string;\n secondary: string;\n}\n\nexport type ValueFunction<TValue, TArg> = (arg: TArg) => TValue;\nexport type ValueOrFunction<TValue, TArg> =\n | TValue\n | ValueFunction<TValue, TArg>;\n\nconst isFunction = <TValue, TArg>(\n valOrFunction: ValueOrFunction<TValue, TArg>\n): valOrFunction is ValueFunction<TValue, TArg> =>\n typeof valOrFunction === 'function';\n\nexport const resolveValue = <TValue, TArg>(\n valOrFunction: ValueOrFunction<TValue, TArg>,\n arg: TArg\n): TValue => (isFunction(valOrFunction) ? valOrFunction(arg) : valOrFunction);\n\nexport interface Toast {\n type: ToastType;\n id: string;\n message: ValueOrFunction<Renderable, Toast>;\n icon?: Renderable;\n duration?: number;\n pauseDuration: number;\n position?: ToastPosition;\n\n ariaProps: {\n role: 'status' | 'alert';\n 'aria-live': 'assertive' | 'off' | 'polite';\n };\n\n style?: CSSProperties;\n className?: string;\n iconTheme?: IconTheme;\n\n createdAt: number;\n visible: boolean;\n height?: number;\n}\n\nexport type ToastOptions = Partial<\n Pick<\n Toast,\n | 'id'\n | 'icon'\n | 'duration'\n | 'ariaProps'\n | 'className'\n | 'style'\n | 'position'\n | 'iconTheme'\n >\n>;\n\nexport type DefaultToastOptions = ToastOptions & {\n [key in ToastType]?: ToastOptions;\n};\n\nexport interface ToasterProps {\n position?: ToastPosition;\n toastOptions?: DefaultToastOptions;\n reverseOrder?: boolean;\n gutter?: number;\n containerStyle?: React.CSSProperties;\n containerClassName?: string;\n children?: (toast: Toast) => JSX.Element;\n}\n\nexport interface ToastWrapperProps {\n id: string;\n className?: string;\n style?: React.CSSProperties;\n onHeightUpdate: (id: string, height: number) => void;\n children?: React.ReactNode;\n}\n","export const genId = (() => {\n let count = 0;\n return () => {\n return (++count).toString();\n };\n})();\n\nexport const prefersReducedMotion = (() => {\n // Cache result\n let shouldReduceMotion: boolean | undefined = undefined;\n\n return () => {\n if (shouldReduceMotion === undefined && typeof window !== 'undefined') {\n const mediaQuery = matchMedia('(prefers-reduced-motion: reduce)');\n shouldReduceMotion = !mediaQuery || mediaQuery.matches;\n }\n return shouldReduceMotion;\n };\n})();\n","import { useEffect, useState } from 'react';\nimport { DefaultToastOptions, Toast, ToastType } from './types';\n\nconst TOAST_LIMIT = 20;\n\nexport enum ActionType {\n ADD_TOAST,\n UPDATE_TOAST,\n UPSERT_TOAST,\n DISMISS_TOAST,\n REMOVE_TOAST,\n START_PAUSE,\n END_PAUSE,\n}\n\ntype Action =\n | {\n type: ActionType.ADD_TOAST;\n toast: Toast;\n }\n | {\n type: ActionType.UPSERT_TOAST;\n toast: Toast;\n }\n | {\n type: ActionType.UPDATE_TOAST;\n toast: Partial<Toast>;\n }\n | {\n type: ActionType.DISMISS_TOAST;\n toastId?: string;\n }\n | {\n type: ActionType.REMOVE_TOAST;\n toastId?: string;\n }\n | {\n type: ActionType.START_PAUSE;\n time: number;\n }\n | {\n type: ActionType.END_PAUSE;\n time: number;\n };\n\ninterface State {\n toasts: Toast[];\n pausedAt: number | undefined;\n}\n\nconst toastTimeouts = new Map<Toast['id'], ReturnType<typeof setTimeout>>();\n\nexport const TOAST_EXPIRE_DISMISS_DELAY = 1000;\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: ActionType.REMOVE_TOAST,\n toastId: toastId,\n });\n }, TOAST_EXPIRE_DISMISS_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nconst clearFromRemoveQueue = (toastId: string) => {\n const timeout = toastTimeouts.get(toastId);\n if (timeout) {\n clearTimeout(timeout);\n }\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case ActionType.ADD_TOAST:\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case ActionType.UPDATE_TOAST:\n // ! Side effects !\n if (action.toast.id) {\n clearFromRemoveQueue(action.toast.id);\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t\n ),\n };\n\n case ActionType.UPSERT_TOAST:\n const { toast } = action;\n return state.toasts.find((t) => t.id === toast.id)\n ? reducer(state, { type: ActionType.UPDATE_TOAST, toast })\n : reducer(state, { type: ActionType.ADD_TOAST, toast });\n\n case ActionType.DISMISS_TOAST:\n const { toastId } = action;\n\n // ! Side effects ! - This could be execrated into a dismissToast() action, but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n visible: false,\n }\n : t\n ),\n };\n case ActionType.REMOVE_TOAST:\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n\n case ActionType.START_PAUSE:\n return {\n ...state,\n pausedAt: action.time,\n };\n\n case ActionType.END_PAUSE:\n const diff = action.time - (state.pausedAt || 0);\n\n return {\n ...state,\n pausedAt: undefined,\n toasts: state.toasts.map((t) => ({\n ...t,\n pauseDuration: t.pauseDuration + diff,\n })),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [], pausedAt: undefined };\n\nexport const dispatch = (action: Action) => {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n};\n\nexport const defaultTimeouts: {\n [key in ToastType]: number;\n} = {\n blank: 4000,\n error: 4000,\n success: 2000,\n loading: Infinity,\n custom: 4000,\n};\n\nexport const useStore = (toastOptions: DefaultToastOptions = {}): State => {\n const [state, setState] = useState<State>(memoryState);\n useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n const mergedToasts = state.toasts.map((t) => ({\n ...toastOptions,\n ...toastOptions[t.type],\n ...t,\n duration:\n t.duration ||\n toastOptions[t.type]?.duration ||\n toastOptions?.duration ||\n defaultTimeouts[t.type],\n style: {\n ...toastOptions.style,\n ...toastOptions[t.type]?.style,\n ...t.style,\n },\n }));\n\n return {\n ...state,\n toasts: mergedToasts,\n };\n};\n","import {\n Renderable,\n Toast,\n ToastOptions,\n ToastType,\n DefaultToastOptions,\n ValueOrFunction,\n resolveValue,\n} from './types';\nimport { genId } from './utils';\nimport { dispatch, ActionType } from './store';\n\ntype Message = ValueOrFunction<Renderable, Toast>;\n\ntype ToastHandler = (message: Message, options?: ToastOptions) => string;\n\nconst createToast = (\n message: Message,\n type: ToastType = 'blank',\n opts?: ToastOptions\n): Toast => ({\n createdAt: Date.now(),\n visible: true,\n type,\n ariaProps: {\n role: 'status',\n 'aria-live': 'polite',\n },\n message,\n pauseDuration: 0,\n ...opts,\n id: opts?.id || genId(),\n});\n\nconst createHandler =\n (type?: ToastType): ToastHandler =>\n (message, options) => {\n const toast = createToast(message, type, options);\n dispatch({ type: ActionType.UPSERT_TOAST, toast });\n return toast.id;\n };\n\nconst toast = (message: Message, opts?: ToastOptions) =>\n createHandler('blank')(message, opts);\n\ntoast.error = createHandler('error');\ntoast.success = createHandler('success');\ntoast.loading = createHandler('loading');\ntoast.custom = createHandler('custom');\n\ntoast.dismiss = (toastId?: string) => {\n dispatch({\n type: ActionType.DISMISS_TOAST,\n toastId,\n });\n};\n\ntoast.remove = (toastId?: string) =>\n dispatch({ type: ActionType.REMOVE_TOAST, toastId });\n\ntoast.promise = <T>(\n promise: Promise<T>,\n msgs: {\n loading: Renderable;\n success: ValueOrFunction<Renderable, T>;\n error: ValueOrFunction<Renderable, any>;\n },\n opts?: DefaultToastOptions\n) => {\n const id = toast.loading(msgs.loading, { ...opts, ...opts?.loading });\n\n promise\n .then((p) => {\n toast.success(resolveValue(msgs.success, p), {\n id,\n ...opts,\n ...opts?.success,\n });\n return p;\n })\n .catch((e) => {\n toast.error(resolveValue(msgs.error, e), {\n id,\n ...opts,\n ...opts?.error,\n });\n });\n\n return promise;\n};\n\nexport { toast };\n","import { useEffect, useCallback } from 'react';\nimport { dispatch, ActionType, useStore } from './store';\nimport { toast } from './toast';\nimport { DefaultToastOptions, Toast, ToastPosition } from './types';\n\nconst updateHeight = (toastId: string, height: number) => {\n dispatch({\n type: ActionType.UPDATE_TOAST,\n toast: { id: toastId, height },\n });\n};\nconst startPause = () => {\n dispatch({\n type: ActionType.START_PAUSE,\n time: Date.now(),\n });\n};\n\nexport const useToaster = (toastOptions?: DefaultToastOptions) => {\n const { toasts, pausedAt } = useStore(toastOptions);\n\n useEffect(() => {\n if (pausedAt) {\n return;\n }\n\n const now = Date.now();\n const timeouts = toasts.map((t) => {\n if (t.duration === Infinity) {\n return;\n }\n\n const durationLeft =\n (t.duration || 0) + t.pauseDuration - (now - t.createdAt);\n\n if (durationLeft < 0) {\n if (t.visible) {\n toast.dismiss(t.id);\n }\n return;\n }\n return setTimeout(() => toast.dismiss(t.id), durationLeft);\n });\n\n return () => {\n timeouts.forEach((timeout) => timeout && clearTimeout(timeout));\n };\n }, [toasts, pausedAt]);\n\n const endPause = useCallback(() => {\n if (pausedAt) {\n dispatch({ type: ActionType.END_PAUSE, time: Date.now() });\n }\n }, [pausedAt]);\n\n const calculateOffset = useCallback(\n (\n toast: Toast,\n opts?: {\n reverseOrder?: boolean;\n gutter?: number;\n defaultPosition?: ToastPosition;\n }\n ) => {\n const { reverseOrder = false, gutter = 8, defaultPosition } = opts || {};\n\n const relevantToasts = toasts.filter(\n (t) =>\n (t.position || defaultPosition) ===\n (toast.position || defaultPosition) && t.height\n );\n const toastIndex = relevantToasts.findIndex((t) => t.id === toast.id);\n const toastsBefore = relevantToasts.filter(\n (toast, i) => i < toastIndex && toast.visible\n ).length;\n\n const offset = relevantToasts\n .filter((t) => t.visible)\n .slice(...(reverseOrder ? [toastsBefore + 1] : [0, toastsBefore]))\n .reduce((acc, t) => acc + (t.height || 0) + gutter, 0);\n\n return offset;\n },\n [toasts]\n );\n\n return {\n toasts,\n handlers: {\n updateHeight,\n startPause,\n endPause,\n calculateOffset,\n },\n };\n};\n","import { styled, keyframes } from 'goober';\n\nconst circleAnimation = keyframes`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n opacity: 1;\n}`;\n\nconst firstLineAnimation = keyframes`\nfrom {\n transform: scale(0);\n opacity: 0;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`;\n\nconst secondLineAnimation = keyframes`\nfrom {\n transform: scale(0) rotate(90deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(90deg);\n\topacity: 1;\n}`;\n\nexport interface ErrorTheme {\n primary?: string;\n secondary?: string;\n}\n\nexport const ErrorIcon = styled('div')<ErrorTheme>`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${(p) => p.primary || '#ff4b4b'};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${circleAnimation} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n\n &:after,\n &:before {\n content: '';\n animation: ${firstLineAnimation} 0.15s ease-out forwards;\n animation-delay: 150ms;\n position: absolute;\n border-radius: 3px;\n opacity: 0;\n background: ${(p) => p.secondary || '#fff'};\n bottom: 9px;\n left: 4px;\n height: 2px;\n width: 12px;\n }\n\n &:before {\n animation: ${secondLineAnimation} 0.15s ease-out forwards;\n animation-delay: 180ms;\n transform: rotate(90deg);\n }\n`;\n","import { styled, keyframes } from 'goober';\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`;\n\nexport interface LoaderTheme {\n primary?: string;\n secondary?: string;\n}\n\nexport const LoaderIcon = styled('div')<LoaderTheme>`\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: ${(p) => p.secondary || '#e0e0e0'};\n border-right-color: ${(p) => p.primary || '#616161'};\n animation: ${rotate} 1s linear infinite;\n`;\n","import { styled, keyframes } from 'goober';\n\nconst circleAnimation = keyframes`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n\topacity: 1;\n}`;\n\nconst checkmarkAnimation = keyframes`\n0% {\n\theight: 0;\n\twidth: 0;\n\topacity: 0;\n}\n40% {\n height: 0;\n\twidth: 6px;\n\topacity: 1;\n}\n100% {\n opacity: 1;\n height: 10px;\n}`;\n\nexport interface CheckmarkTheme {\n primary?: string;\n secondary?: string;\n}\n\nexport const CheckmarkIcon = styled('div')<CheckmarkTheme>`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${(p) => p.primary || '#61d345'};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${circleAnimation} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n &:after {\n content: '';\n box-sizing: border-box;\n animation: ${checkmarkAnimation} 0.2s ease-out forwards;\n opacity: 0;\n animation-delay: 200ms;\n position: absolute;\n border-right: 2px solid;\n border-bottom: 2px solid;\n border-color: ${(p) => p.secondary || '#fff'};\n bottom: 6px;\n left: 6px;\n height: 10px;\n width: 6px;\n }\n`;\n","import * as React from 'react';\nimport { styled, keyframes } from 'goober';\n\nimport { Toast } from '../core/types';\nimport { ErrorIcon, ErrorTheme } from './error';\nimport { LoaderIcon, LoaderTheme } from './loader';\nimport { CheckmarkIcon, CheckmarkTheme } from './checkmark';\n\nconst StatusWrapper = styled('div')`\n position: absolute;\n`;\n\nconst IndicatorWrapper = styled('div')`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: 20px;\n min-height: 20px;\n`;\n\nconst enter = keyframes`\nfrom {\n transform: scale(0.6);\n opacity: 0.4;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`;\n\nexport const AnimatedIconWrapper = styled('div')`\n position: relative;\n transform: scale(0.6);\n opacity: 0.4;\n min-width: 20px;\n animation: ${enter} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n`;\n\nexport type IconThemes = Partial<{\n success: CheckmarkTheme;\n error: ErrorTheme;\n loading: LoaderTheme;\n}>;\n\nexport const ToastIcon: React.FC<{\n toast: Toast;\n}> = ({ toast }) => {\n const { icon, type, iconTheme } = toast;\n if (icon !== undefined) {\n if (typeof icon === 'string') {\n return <AnimatedIconWrapper>{icon}</AnimatedIconWrapper>;\n } else {\n return icon;\n }\n }\n\n if (type === 'blank') {\n return null;\n }\n\n return (\n <IndicatorWrapper>\n <LoaderIcon {...iconTheme} />\n {type !== 'loading' && (\n <StatusWrapper>\n {type === 'error' ? (\n <ErrorIcon {...iconTheme} />\n ) : (\n <CheckmarkIcon {...iconTheme} />\n )}\n </StatusWrapper>\n )}\n </IndicatorWrapper>\n );\n};\n","import * as React from 'react';\nimport { styled, keyframes } from 'goober';\n\nimport { Toast, ToastPosition, resolveValue, Renderable } from '../core/types';\nimport { ToastIcon } from './toast-icon';\nimport { prefersReducedMotion } from '../core/utils';\n\nconst enterAnimation = (factor: number) => `\n0% {transform: translate3d(0,${factor * -200}%,0) scale(.6); opacity:.5;}\n100% {transform: translate3d(0,0,0) scale(1); opacity:1;}\n`;\n\nconst exitAnimation = (factor: number) => `\n0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}\n100% {transform: translate3d(0,${factor * -150}%,-1px) scale(.6); opacity:0;}\n`;\n\nconst fadeInAnimation = `0%{opacity:0;} 100%{opacity:1;}`;\nconst fadeOutAnimation = `0%{opacity:1;} 100%{opacity:0;}`;\n\nconst ToastBarBase = styled('div')`\n display: flex;\n align-items: center;\n background: #fff;\n color: #363636;\n line-height: 1.3;\n will-change: transform;\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);\n max-width: 350px;\n pointer-events: auto;\n padding: 8px 10px;\n border-radius: 8px;\n`;\n\nconst Message = styled('div')`\n display: flex;\n justify-content: center;\n margin: 4px 10px;\n color: inherit;\n flex: 1 1 auto;\n white-space: pre-line;\n`;\n\ninterface ToastBarProps {\n toast: Toast;\n position?: ToastPosition;\n style?: React.CSSProperties;\n children?: (components: {\n icon: Renderable;\n message: Renderable;\n }) => Renderable;\n}\n\nconst getAnimationStyle = (\n position: ToastPosition,\n visible: boolean\n): React.CSSProperties => {\n const top = position.includes('top');\n const factor = top ? 1 : -1;\n\n const [enter, exit] = prefersReducedMotion()\n ? [fadeInAnimation, fadeOutAnimation]\n : [enterAnimation(factor), exitAnimation(factor)];\n\n return {\n animation: visible\n ? `${keyframes(enter)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`\n : `${keyframes(exit)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`,\n };\n};\n\nexport const ToastBar: React.FC<ToastBarProps> = React.memo(\n ({ toast, position, style, children }) => {\n const animationStyle: React.CSSProperties = toast.height\n ? getAnimationStyle(\n toast.position || position || 'top-center',\n toast.visible\n )\n : { opacity: 0 };\n\n const icon = <ToastIcon toast={toast} />;\n const message = (\n <Message {...toast.ariaProps}>\n {resolveValue(toast.message, toast)}\n </Message>\n );\n\n return (\n <ToastBarBase\n className={toast.className}\n style={{\n ...animationStyle,\n ...style,\n ...toast.style,\n }}\n >\n {typeof children === 'function' ? (\n children({\n icon,\n message,\n })\n ) : (\n <>\n {icon}\n {message}\n </>\n )}\n </ToastBarBase>\n );\n }\n);\n","import { css, setup } from 'goober';\nimport * as React from 'react';\nimport {\n resolveValue,\n ToasterProps,\n ToastPosition,\n ToastWrapperProps,\n} from '../core/types';\nimport { useToaster } from '../core/use-toaster';\nimport { prefersReducedMotion } from '../core/utils';\nimport { ToastBar } from './toast-bar';\n\nsetup(React.createElement);\n\nconst ToastWrapper = ({\n id,\n className,\n style,\n onHeightUpdate,\n children,\n}: ToastWrapperProps) => {\n const ref = React.useCallback(\n (el: HTMLElement | null) => {\n if (el) {\n const updateHeight = () => {\n const height = el.getBoundingClientRect().height;\n onHeightUpdate(id, height);\n };\n updateHeight();\n new MutationObserver(updateHeight).observe(el, {\n subtree: true,\n childList: true,\n characterData: true,\n });\n }\n },\n [id, onHeightUpdate]\n );\n\n return (\n <div ref={ref} className={className} style={style}>\n {children}\n </div>\n );\n};\n\nconst getPositionStyle = (\n position: ToastPosition,\n offset: number\n): React.CSSProperties => {\n const top = position.includes('top');\n const verticalStyle: React.CSSProperties = top ? { top: 0 } : { bottom: 0 };\n const horizontalStyle: React.CSSProperties = position.includes('center')\n ? {\n justifyContent: 'center',\n }\n : position.includes('right')\n ? {\n justifyContent: 'flex-end',\n }\n : {};\n return {\n left: 0,\n right: 0,\n display: 'flex',\n position: 'absolute',\n transition: prefersReducedMotion()\n ? undefined\n : `all 230ms cubic-bezier(.21,1.02,.73,1)`,\n transform: `translateY(${offset * (top ? 1 : -1)}px)`,\n ...verticalStyle,\n ...horizontalStyle,\n };\n};\n\nconst activeClass = css`\n z-index: 9999;\n > * {\n pointer-events: auto;\n }\n`;\n\nconst DEFAULT_OFFSET = 16;\n\nexport const Toaster: React.FC<ToasterProps> = ({\n reverseOrder,\n position = 'top-center',\n toastOptions,\n gutter,\n children,\n containerStyle,\n containerClassName,\n}) => {\n const { toasts, handlers } = useToaster(toastOptions);\n\n return (\n <div\n style={{\n position: 'fixed',\n zIndex: 9999,\n top: DEFAULT_OFFSET,\n left: DEFAULT_OFFSET,\n right: DEFAULT_OFFSET,\n bottom: DEFAULT_OFFSET,\n pointerEvents: 'none',\n ...containerStyle,\n }}\n className={containerClassName}\n onMouseEnter={handlers.startPause}\n onMouseLeave={handlers.endPause}\n >\n {toasts.map((t) => {\n const toastPosition = t.position || position;\n const offset = handlers.calculateOffset(t, {\n reverseOrder,\n gutter,\n defaultPosition: position,\n });\n const positionStyle = getPositionStyle(toastPosition, offset);\n\n return (\n <ToastWrapper\n id={t.id}\n key={t.id}\n onHeightUpdate={handlers.updateHeight}\n className={t.visible ? activeClass : ''}\n style={positionStyle}\n >\n {t.type === 'custom' ? (\n resolveValue(t.message, t)\n ) : children ? (\n children(t)\n ) : (\n <ToastBar toast={t} position={toastPosition} />\n )}\n </ToastWrapper>\n );\n })}\n </div>\n );\n};\n","import { toast } from './core/toast';\n\nexport * from './headless';\n\nexport { ToastBar } from './components/toast-bar';\nexport { ToastIcon } from './components/toast-icon';\nexport { Toaster } from './components/toaster';\nexport { CheckmarkIcon } from './components/checkmark';\nexport { ErrorIcon } from './components/error';\nexport { LoaderIcon } from './components/loader';\n\nexport { toast };\nexport default toast;\n","import { raf, Rafz } from '@react-spring/rafz'\nimport {\n OneOrMore,\n InterpolatorConfig,\n InterpolatorArgs,\n} from '@react-spring/types'\n\nimport { FluidValue } from './fluids'\nimport type { OpaqueAnimation } from './FrameLoop'\nimport { noop } from './helpers'\n\n//\n// Required\n//\n\nexport let createStringInterpolator: (\n config: InterpolatorConfig<string>\n) => (input: number) => string\n\n//\n// Optional\n//\n\nexport let to: <Input, Output>(\n source: OneOrMore<FluidValue>,\n args: InterpolatorArgs<Input, Output>\n) => FluidValue<Output>\n\nexport let colors = null as { [key: string]: number } | null\n\nexport let skipAnimation = false as boolean\n\nexport let willAdvance: (animation: OpaqueAnimation) => void = noop\n\n//\n// Configuration\n//\n\nexport interface AnimatedGlobals {\n /** Returns a new `Interpolation` object */\n to?: typeof to\n /** Used to measure frame length. Read more [here](https://developer.mozilla.org/en-US/docs/Web/API/Performance/now) */\n now?: typeof raf.now\n /** Provide custom color names for interpolation */\n colors?: typeof colors\n /** Make all animations instant and skip the frameloop entirely */\n skipAnimation?: typeof skipAnimation\n /** Provide custom logic for string interpolation */\n createStringInterpolator?: typeof createStringInterpolator\n /** Schedule a function to run on the next frame */\n requestAnimationFrame?: (cb: () => void) => void\n /** Event props are called with `batchedUpdates` to reduce extraneous renders */\n batchedUpdates?: typeof raf.batchedUpdates\n /** @internal Exposed for testing purposes */\n willAdvance?: typeof willAdvance\n /** sets the global frameLoop setting for the global raf instance */\n frameLoop?: Rafz['frameLoop']\n}\n\nexport const assign = (globals: AnimatedGlobals) => {\n if (globals.to) to = globals.to\n if (globals.now) raf.now = globals.now\n if (globals.colors !== undefined) colors = globals.colors\n if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation\n if (globals.createStringInterpolator)\n createStringInterpolator = globals.createStringInterpolator\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame)\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates\n if (globals.willAdvance) willAdvance = globals.willAdvance\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop\n}\n","import type {\n FrameFn,\n FrameUpdateFn,\n NativeRaf,\n Rafz,\n Timeout,\n Throttled,\n} from './types'\n\nexport type { FrameFn, FrameUpdateFn, Timeout, Throttled, Rafz }\n\nlet updateQueue = makeQueue<FrameUpdateFn>()\n\n/**\n * Schedule an update for next frame.\n * Your function can return `true` to repeat next frame.\n */\nexport const raf: Rafz = fn => schedule(fn, updateQueue)\n\nlet writeQueue = makeQueue<FrameFn>()\nraf.write = fn => schedule(fn, writeQueue)\n\nlet onStartQueue = makeQueue<FrameFn>()\nraf.onStart = fn => schedule(fn, onStartQueue)\n\nlet onFrameQueue = makeQueue<FrameFn>()\nraf.onFrame = fn => schedule(fn, onFrameQueue)\n\nlet onFinishQueue = makeQueue<FrameFn>()\nraf.onFinish = fn => schedule(fn, onFinishQueue)\n\nlet timeouts: Timeout[] = []\nraf.setTimeout = (handler, ms) => {\n const time = raf.now() + ms\n const cancel = () => {\n const i = timeouts.findIndex(t => t.cancel == cancel)\n if (~i) timeouts.splice(i, 1)\n pendingCount -= ~i ? 1 : 0\n }\n\n const timeout: Timeout = { time, handler, cancel }\n timeouts.splice(findTimeout(time), 0, timeout)\n pendingCount += 1\n\n start()\n return timeout\n}\n\n/** Find the index where the given time is not greater. */\nconst findTimeout = (time: number) =>\n ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length)\n\nraf.cancel = fn => {\n onStartQueue.delete(fn)\n onFrameQueue.delete(fn)\n onFinishQueue.delete(fn)\n updateQueue.delete(fn)\n writeQueue.delete(fn)\n}\n\nraf.sync = fn => {\n sync = true\n raf.batchedUpdates(fn)\n sync = false\n}\n\nraf.throttle = fn => {\n let lastArgs: any\n function queuedFn() {\n try {\n fn(...lastArgs)\n } finally {\n lastArgs = null\n }\n }\n function throttled(...args: any) {\n lastArgs = args\n raf.onStart(queuedFn)\n }\n throttled.handler = fn\n throttled.cancel = () => {\n onStartQueue.delete(queuedFn)\n lastArgs = null\n }\n return throttled as any\n}\n\nlet nativeRaf =\n typeof window != 'undefined'\n ? (window.requestAnimationFrame as NativeRaf)\n : // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {}\n\nraf.use = impl => (nativeRaf = impl)\nraf.now = typeof performance != 'undefined' ? () => performance.now() : Date.now\nraf.batchedUpdates = fn => fn()\nraf.catch = console.error\n\nraf.frameLoop = 'always'\n\nraf.advance = () => {\n if (raf.frameLoop !== 'demand') {\n console.warn(\n 'Cannot call the manual advancement of rafz whilst frameLoop is not set as demand'\n )\n } else {\n update()\n }\n}\n\n/** The most recent timestamp. */\nlet ts = -1\n\n/** The number of pending tasks */\nlet pendingCount = 0\n\n/** When true, scheduling is disabled. */\nlet sync = false\n\nfunction schedule<T extends Function>(fn: T, queue: Queue<T>) {\n if (sync) {\n queue.delete(fn)\n fn(0)\n } else {\n queue.add(fn)\n start()\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0\n if (raf.frameLoop !== 'demand') {\n nativeRaf(loop)\n }\n }\n}\n\nfunction stop() {\n ts = -1\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop)\n raf.batchedUpdates(update)\n }\n}\n\nfunction update() {\n const prevTs = ts\n ts = raf.now()\n\n // Flush timeouts whose time is up.\n const count = findTimeout(ts)\n if (count) {\n eachSafely(timeouts.splice(0, count), t => t.handler())\n pendingCount -= count\n }\n\n if (!pendingCount) {\n stop()\n\n return\n }\n\n onStartQueue.flush()\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667)\n onFrameQueue.flush()\n writeQueue.flush()\n onFinishQueue.flush()\n}\n\ninterface Queue<T extends Function = any> {\n add: (fn: T) => void\n delete: (fn: T) => boolean\n flush: (arg?: any) => void\n}\n\nfunction makeQueue<T extends Function>(): Queue<T> {\n let next = new Set<T>()\n let current = next\n return {\n add(fn) {\n pendingCount += current == next && !next.has(fn) ? 1 : 0\n next.add(fn)\n },\n delete(fn) {\n pendingCount -= current == next && next.has(fn) ? 1 : 0\n return next.delete(fn)\n },\n flush(arg) {\n if (current.size) {\n next = new Set()\n pendingCount -= current.size\n eachSafely(current, fn => fn(arg) && next.add(fn))\n pendingCount += next.size\n current = next\n }\n },\n }\n}\n\ninterface Eachable<T> {\n forEach(cb: (value: T) => void): void\n}\n\nfunction eachSafely<T>(values: Eachable<T>, each: (value: T) => void) {\n values.forEach(value => {\n try {\n each(value)\n } catch (e) {\n raf.catch(e as Error)\n }\n })\n}\n\n/** Tree-shakable state for testing purposes */\nexport const __raf = {\n /** The number of pending tasks */\n count(): number {\n return pendingCount\n },\n /** Whether there's a raf update loop running */\n isRunning(): boolean {\n return ts >= 0\n },\n /** Clear internal state. Never call from update loop! */\n clear() {\n ts = -1\n timeouts = []\n onStartQueue = makeQueue()\n updateQueue = makeQueue()\n onFrameQueue = makeQueue()\n writeQueue = makeQueue()\n onFinishQueue = makeQueue()\n pendingCount = 0\n },\n}\n","import { Lookup, Arrify, AnyFn, Any } from '@react-spring/types'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n\nexport const defineHidden = (obj: any, key: any, value: any) =>\n Object.defineProperty(obj, key, { value, writable: true, configurable: true })\n\ntype IsType<U> = <T>(arg: T & any) => arg is Narrow<T, U>\ntype Narrow<T, U> = [T] extends [Any] ? U : [T] extends [U] ? Extract<T, U> : U\n\ntype PlainObject<T> = Exclude<T & Lookup, Function | readonly any[]>\n\nexport const is = {\n arr: Array.isArray as IsType<readonly any[]>,\n obj: <T>(a: T & any): a is PlainObject<T> =>\n !!a && a.constructor.name === 'Object',\n fun: ((a: unknown) => typeof a === 'function') as IsType<Function>,\n str: (a: unknown): a is string => typeof a === 'string',\n num: (a: unknown): a is number => typeof a === 'number',\n und: (a: unknown): a is undefined => a === undefined,\n}\n\n/** Compare animatable values */\nexport function isEqual(a: any, b: any) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false\n }\n return true\n }\n return a === b\n}\n\ntype EachFn<Value, Key, This> = (this: This, value: Value, key: Key) => void\ntype Eachable<Value = any, Key = any, This = any> = {\n forEach(cb: EachFn<Value, Key, This>, ctx?: This): void\n}\n\n/** Minifiable `.forEach` call */\nexport const each = <Value, Key, This>(\n obj: Eachable<Value, Key, This>,\n fn: EachFn<Value, Key, This>\n) => obj.forEach(fn)\n\n/** Iterate the properties of an object */\nexport function eachProp<T extends object, This>(\n obj: T,\n fn: (\n this: This,\n value: T extends any[] ? T[number] : T[keyof T],\n key: string\n ) => void,\n ctx?: This\n) {\n if (is.arr(obj)) {\n for (let i = 0; i < obj.length; i++) {\n fn.call(ctx as any, obj[i] as any, `${i}`)\n }\n return\n }\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx as any, obj[key] as any, key)\n }\n }\n}\n\nexport const toArray = <T>(a: T): Arrify<Exclude<T, void>> =>\n is.und(a) ? [] : is.arr(a) ? (a as any) : [a]\n\n/** Copy the `queue`, then iterate it after the `queue` is cleared */\nexport function flush<P, T>(\n queue: Map<P, T>,\n iterator: (entry: [P, T]) => void\n): void\nexport function flush<T>(queue: Set<T>, iterator: (value: T) => void): void\nexport function flush(queue: any, iterator: any) {\n if (queue.size) {\n const items = Array.from(queue)\n queue.clear()\n each(items, iterator)\n }\n}\n\n/** Call every function in the queue with the same arguments. */\nexport const flushCalls = <T extends AnyFn>(\n queue: Set<T>,\n ...args: Parameters<T>\n) => flush(queue, fn => fn(...args))\n\n// For server-side rendering: https://github.com/react-spring/zustand/pull/34\n// Deno support: https://github.com/pmndrs/zustand/issues/347\n\nexport const isSSR = () =>\n typeof window === 'undefined' ||\n !window.navigator ||\n /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent)\n","import { raf } from '@react-spring/rafz'\nimport * as G from './globals'\n\nexport interface OpaqueAnimation {\n idle: boolean\n priority: number\n advance(dt: number): void\n}\n\n// Animations starting on the next frame\nconst startQueue = new Set<OpaqueAnimation>()\n\n// The animations being updated in the current frame, sorted by lowest\n// priority first. These two arrays are swapped at the end of each frame.\nlet currentFrame: OpaqueAnimation[] = []\nlet prevFrame: OpaqueAnimation[] = []\n\n// The priority of the currently advancing animation.\n// To protect against a race condition whenever a frame is being processed,\n// where the filtering of `animations` is corrupted with a shifting index,\n// causing animations to potentially advance 2x faster than intended.\nlet priority = 0\n\n/**\n * The frameloop executes its animations in order of lowest priority first.\n * Animations are retained until idle.\n */\nexport const frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length\n },\n\n /** Advance the given animation on every frame until idle. */\n start(animation: OpaqueAnimation) {\n // An animation can be added while a frame is being processed,\n // unless its priority is lower than the animation last updated.\n if (priority > animation.priority) {\n startQueue.add(animation)\n raf.onStart(flushStartQueue)\n } else {\n startSafely(animation)\n raf(advance)\n }\n },\n\n /** Advance all animations by the given time. */\n advance,\n\n /** Call this when an animation's priority changes. */\n sort(animation: OpaqueAnimation) {\n if (priority) {\n raf.onFrame(() => frameLoop.sort(animation))\n } else {\n const prevIndex = currentFrame.indexOf(animation)\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1)\n startUnsafely(animation)\n }\n }\n },\n\n /**\n * Clear all animations. For testing purposes.\n *\n * â˜ ï¸ Never call this from within the frameloop.\n */\n clear() {\n currentFrame = []\n startQueue.clear()\n },\n}\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely)\n startQueue.clear()\n raf(advance)\n}\n\nfunction startSafely(animation: OpaqueAnimation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation)\n}\n\nfunction startUnsafely(animation: OpaqueAnimation) {\n currentFrame.splice(\n findIndex(currentFrame, other => other.priority > animation.priority),\n 0,\n animation\n )\n}\n\nfunction advance(dt: number) {\n const nextFrame = prevFrame\n\n for (let i = 0; i < currentFrame.length; i++) {\n const animation = currentFrame[i]\n priority = animation.priority\n\n // Animations may go idle before advancing.\n if (!animation.idle) {\n G.willAdvance(animation)\n animation.advance(dt)\n if (!animation.idle) {\n nextFrame.push(animation)\n }\n }\n }\n priority = 0\n\n // Reuse the `currentFrame` array to avoid garbage collection.\n prevFrame = currentFrame\n prevFrame.length = 0\n\n // Set `currentFrame` for next frame, so the `start` function\n // adds new animations to the proper array.\n currentFrame = nextFrame\n\n return currentFrame.length > 0\n}\n\n/** Like `Array.prototype.findIndex` but returns `arr.length` instead of `-1` */\nfunction findIndex<T>(arr: T[], test: (value: T) => boolean) {\n const index = arr.findIndex(test)\n return index < 0 ? arr.length : index\n}\n","export const clamp = (min: number, max: number, v: number) =>\n Math.min(Math.max(v, min), max)\n","// const INTEGER = '[-+]?\\\\d+';\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+'\nconst PERCENTAGE = NUMBER + '%'\n\nfunction call(...parts: string[]) {\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)'\n}\n\nexport const rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER))\nexport const rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER))\nexport const hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE))\nexport const hsla = new RegExp(\n 'hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)\n)\nexport const hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/\nexport const hex4 =\n /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/\nexport const hex6 = /^#([0-9a-fA-F]{6})$/\nexport const hex8 = /^#([0-9a-fA-F]{8})$/\n","/*\nhttps://github.com/react-community/normalize-css-color\n\nBSD 3-Clause License\n\nCopyright (c) 2016, React Community\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\nimport * as matchers from './colorMatchers'\nimport * as G from './globals'\n\nexport function normalizeColor(color: number | string) {\n let match\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff\n ? color\n : null\n }\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers.hex6.exec(color)))\n return parseInt(match[1] + 'ff', 16) >>> 0\n\n if (G.colors && G.colors[color] !== undefined) {\n return G.colors[color]\n }\n\n if ((match = matchers.rgb.exec(color))) {\n return (\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) | // b\n 0x000000ff) >>> // a\n 0\n )\n }\n\n if ((match = matchers.rgba.exec(color))) {\n return (\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) | // b\n parse1(match[4])) >>> // a\n 0\n )\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16\n ) >>> 0\n )\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers.hex8.exec(color))) return parseInt(match[1], 16) >>> 0\n\n if ((match = matchers.hex4.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16\n ) >>> 0\n )\n }\n\n if ((match = matchers.hsl.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n 0x000000ff) >>> // a\n 0\n )\n }\n\n if ((match = matchers.hsla.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n parse1(match[4])) >>> // a\n 0\n )\n }\n return null\n}\n\nfunction hue2rgb(p: number, q: number, t: number) {\n if (t < 0) t += 1\n if (t > 1) t -= 1\n if (t < 1 / 6) return p + (q - p) * 6 * t\n if (t < 1 / 2) return q\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6\n return p\n}\n\nfunction hslToRgb(h: number, s: number, l: number) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s\n const p = 2 * l - q\n const r = hue2rgb(p, q, h + 1 / 3)\n const g = hue2rgb(p, q, h)\n const b = hue2rgb(p, q, h - 1 / 3)\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n )\n}\n\nfunction parse255(str: string) {\n const int = parseInt(str, 10)\n if (int < 0) return 0\n if (int > 255) return 255\n return int\n}\n\nfunction parse360(str: string) {\n const int = parseFloat(str)\n return (((int % 360) + 360) % 360) / 360\n}\n\nfunction parse1(str: string) {\n const num = parseFloat(str)\n if (num < 0) return 0\n if (num > 1) return 255\n return Math.round(num * 255)\n}\n\nfunction parsePercentage(str: string) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str)\n if (int < 0) return 0\n if (int > 100) return 1\n return int / 100\n}\n","import { normalizeColor } from './normalizeColor'\n\nexport function colorToRgba(input: string) {\n let int32Color = normalizeColor(input)\n if (int32Color === null) return input\n int32Color = int32Color || 0\n const r = (int32Color & 0xff000000) >>> 24\n const g = (int32Color & 0x00ff0000) >>> 16\n const b = (int32Color & 0x0000ff00) >>> 8\n const a = (int32Color & 0x000000ff) / 255\n return `rgba(${r}, ${g}, ${b}, ${a})`\n}\n","import * as G from './globals'\nimport { is } from './helpers'\nimport {\n Animatable,\n InterpolatorFn,\n EasingFunction,\n ExtrapolateType,\n InterpolatorConfig,\n InterpolatorFactory,\n} from '@react-spring/types'\n\nexport const createInterpolator: InterpolatorFactory = (\n range: readonly number[] | InterpolatorFn<any, any> | InterpolatorConfig<any>,\n output?: readonly Animatable[],\n extrapolate?: ExtrapolateType\n) => {\n if (is.fun(range)) {\n return range\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range,\n output: output!,\n extrapolate,\n })\n }\n\n if (is.str(range.output[0])) {\n return G.createStringInterpolator(range as any) as any\n }\n\n const config = range as InterpolatorConfig<number>\n const outputRange = config.output\n const inputRange = config.range || [0, 1]\n\n const extrapolateLeft =\n config.extrapolateLeft || config.extrapolate || 'extend'\n const extrapolateRight =\n config.extrapolateRight || config.extrapolate || 'extend'\n const easing = config.easing || (t => t)\n\n return (input: number) => {\n const range = findRange(input, inputRange)\n return interpolate(\n input,\n inputRange[range],\n inputRange[range + 1],\n outputRange[range],\n outputRange[range + 1],\n easing,\n extrapolateLeft,\n extrapolateRight,\n config.map\n )\n }\n}\n\nfunction interpolate(\n input: number,\n inputMin: number,\n inputMax: number,\n outputMin: number,\n outputMax: number,\n easing: EasingFunction,\n extrapolateLeft: ExtrapolateType,\n extrapolateRight: ExtrapolateType,\n map?: (x: number) => number\n) {\n let result = map ? map(input) : input\n // Extrapolate\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result\n else if (extrapolateLeft === 'clamp') result = inputMin\n }\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result\n else if (extrapolateRight === 'clamp') result = inputMax\n }\n if (outputMin === outputMax) return outputMin\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax\n // Input Range\n if (inputMin === -Infinity) result = -result\n else if (inputMax === Infinity) result = result - inputMin\n else result = (result - inputMin) / (inputMax - inputMin)\n // Easing\n result = easing(result)\n // Output Range\n if (outputMin === -Infinity) result = -result\n else if (outputMax === Infinity) result = result + outputMin\n else result = result * (outputMax - outputMin) + outputMin\n return result\n}\n\nfunction findRange(input: number, inputRange: readonly number[]) {\n // eslint-disable-next-line no-var\n for (var i = 1; i < inputRange.length - 1; ++i)\n if (inputRange[i] >= input) break\n return i - 1\n}\n","import { EasingFunction } from '@react-spring/types'\n\nimport { clamp } from './clamp'\n\nexport type Direction = 'start' | 'end'\n\ntype StepsEasing = (steps: number, direction?: Direction) => EasingFunction\n\nconst steps: StepsEasing =\n (steps: number, direction: Direction = 'end') =>\n (progress: number) => {\n progress =\n direction === 'end'\n ? Math.min(progress, 0.999)\n : Math.max(progress, 0.001)\n const expanded = progress * steps\n const rounded =\n direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded)\n\n return clamp(0, 1, rounded / steps)\n }\n\n/**\n * With thanks to ai easings.net\n * https://github.com/ai/easings.net/blob/master/src/easings/easingsFunctions.ts\n */\ninterface EasingDictionary {\n linear: (t: number) => number\n easeInQuad: (t: number) => number\n easeOutQuad: (t: number) => number\n easeInOutQuad: (t: number) => number\n easeInCubic: (t: number) => number\n easeOutCubic: (t: number) => number\n easeInOutCubic: (t: number) => number\n easeInQuart: (t: number) => number\n easeOutQuart: (t: number) => number\n easeInOutQuart: (t: number) => number\n easeInQuint: (t: number) => number\n easeOutQuint: (t: number) => number\n easeInOutQuint: (t: number) => number\n easeInSine: (t: number) => number\n easeOutSine: (t: number) => number\n easeInOutSine: (t: number) => number\n easeInExpo: (t: number) => number\n easeOutExpo: (t: number) => number\n easeInOutExpo: (t: number) => number\n easeInCirc: (t: number) => number\n easeOutCirc: (t: number) => number\n easeInOutCirc: (t: number) => number\n easeInBack: (t: number) => number\n easeOutBack: (t: number) => number\n easeInOutBack: (t: number) => number\n easeInElastic: (t: number) => number\n easeOutElastic: (t: number) => number\n easeInOutElastic: (t: number) => number\n easeInBounce: (t: number) => number\n easeOutBounce: (t: number) => number\n easeInOutBounce: (t: number) => number\n steps: StepsEasing\n}\n\nconst c1 = 1.70158\nconst c2 = c1 * 1.525\nconst c3 = c1 + 1\nconst c4 = (2 * Math.PI) / 3\nconst c5 = (2 * Math.PI) / 4.5\n\nconst bounceOut: EasingFunction = x => {\n const n1 = 7.5625\n const d1 = 2.75\n\n if (x < 1 / d1) {\n return n1 * x * x\n } else if (x < 2 / d1) {\n return n1 * (x -= 1.5 / d1) * x + 0.75\n } else if (x < 2.5 / d1) {\n return n1 * (x -= 2.25 / d1) * x + 0.9375\n } else {\n return n1 * (x -= 2.625 / d1) * x + 0.984375\n }\n}\n\nexport const easings: EasingDictionary = {\n linear: x => x,\n easeInQuad: x => x * x,\n easeOutQuad: x => 1 - (1 - x) * (1 - x),\n easeInOutQuad: x => (x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2),\n easeInCubic: x => x * x * x,\n easeOutCubic: x => 1 - Math.pow(1 - x, 3),\n easeInOutCubic: x =>\n x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2,\n easeInQuart: x => x * x * x * x,\n easeOutQuart: x => 1 - Math.pow(1 - x, 4),\n easeInOutQuart: x =>\n x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2,\n easeInQuint: x => x * x * x * x * x,\n easeOutQuint: x => 1 - Math.pow(1 - x, 5),\n easeInOutQuint: x =>\n x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2,\n easeInSine: x => 1 - Math.cos((x * Math.PI) / 2),\n easeOutSine: x => Math.sin((x * Math.PI) / 2),\n easeInOutSine: x => -(Math.cos(Math.PI * x) - 1) / 2,\n easeInExpo: x => (x === 0 ? 0 : Math.pow(2, 10 * x - 10)),\n easeOutExpo: x => (x === 1 ? 1 : 1 - Math.pow(2, -10 * x)),\n easeInOutExpo: x =>\n x === 0\n ? 0\n : x === 1\n ? 1\n : x < 0.5\n ? Math.pow(2, 20 * x - 10) / 2\n : (2 - Math.pow(2, -20 * x + 10)) / 2,\n easeInCirc: x => 1 - Math.sqrt(1 - Math.pow(x, 2)),\n easeOutCirc: x => Math.sqrt(1 - Math.pow(x - 1, 2)),\n easeInOutCirc: x =>\n x < 0.5\n ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2\n : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2,\n easeInBack: x => c3 * x * x * x - c1 * x * x,\n easeOutBack: x => 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2),\n easeInOutBack: x =>\n x < 0.5\n ? (Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2)) / 2\n : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2,\n easeInElastic: x =>\n x === 0\n ? 0\n : x === 1\n ? 1\n : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4),\n easeOutElastic: x =>\n x === 0\n ? 0\n : x === 1\n ? 1\n : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1,\n easeInOutElastic: x =>\n x === 0\n ? 0\n : x === 1\n ? 1\n : x < 0.5\n ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2\n : (Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5)) / 2 + 1,\n easeInBounce: x => 1 - bounceOut(1 - x),\n easeOutBounce: bounceOut,\n easeInOutBounce: x =>\n x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2,\n steps,\n} as const\n","/**\n * MIT License\n * Copyright (c) Alec Larson\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nconst $get = Symbol.for('FluidValue.get')\nconst $observers = Symbol.for('FluidValue.observers')\n\nexport {\n FluidValue,\n hasFluidValue,\n getFluidValue,\n getFluidObservers,\n callFluidObserver,\n callFluidObservers,\n // Mutations\n setFluidGetter,\n addFluidObserver,\n removeFluidObserver,\n}\n\n/** Returns true if `arg` can be observed. */\nconst hasFluidValue = (arg: any): arg is FluidValue => Boolean(arg && arg[$get])\n\n/**\n * Get the current value.\n * If `arg` is not observable, `arg` is returned.\n */\nconst getFluidValue: GetFluidValue = (arg: any) =>\n arg && arg[$get] ? arg[$get]() : arg\n\n/** Get the current observer set. Never mutate it directly! */\nconst getFluidObservers: GetFluidObservers = (target: any) =>\n target[$observers] || null\n\n/** Send an event to an observer. */\nfunction callFluidObserver<E extends FluidEvent>(\n observer: FluidObserver<E>,\n event: E\n): void\n\nfunction callFluidObserver(observer: any, event: FluidEvent) {\n if (observer.eventObserved) {\n observer.eventObserved(event)\n } else {\n observer(event)\n }\n}\n\n/** Send an event to all observers. */\nfunction callFluidObservers<E extends FluidEvent>(\n target: FluidValue<any, E>,\n event: E\n): void\n\nfunction callFluidObservers(target: object, event: FluidEvent): void\n\nfunction callFluidObservers(target: any, event: FluidEvent) {\n const observers: Set<FluidObserver> = target[$observers]\n if (observers) {\n observers.forEach(observer => {\n callFluidObserver(observer, event)\n })\n }\n}\n\ntype GetFluidValue = {\n <T, U = never>(target: T | FluidValue<U>): Exclude<T, FluidValue> | U\n}\n\ntype GetFluidObservers = {\n <E extends FluidEvent>(target: FluidValue<any, E>): ReadonlySet<\n FluidObserver<E>\n > | null\n (target: object): ReadonlySet<FluidObserver> | null\n}\n\n/** An event sent to `FluidObserver` objects. */\nexport interface FluidEvent<T = any> {\n type: string\n parent: FluidValue<T>\n}\n\n/**\n * Extend this class for automatic TypeScript support when passing this\n * value to `fluids`-compatible libraries.\n */\nabstract class FluidValue<T = any, E extends FluidEvent<T> = any> {\n // @ts-expect-error (TS 4.4)\n private [$get]: () => T\n // @ts-expect-error (TS 4.4)\n private [$observers]?: Set<FluidObserver<E>>\n\n constructor(get?: () => T) {\n if (!get && !(get = this.get)) {\n throw Error('Unknown getter')\n }\n setFluidGetter(this, get)\n }\n\n /** Get the current value. */\n protected get?(): T\n /** Called after an observer is added. */\n protected observerAdded?(count: number, observer: FluidObserver<E>): void\n /** Called after an observer is removed. */\n protected observerRemoved?(count: number, observer: FluidObserver<E>): void\n}\n\n/** An observer of `FluidValue` objects. */\nexport type FluidObserver<E extends FluidEvent = any> =\n | { eventObserved(event: E): void }\n | { (event: E): void }\n\n/** Add the `FluidValue` type to every property. */\nexport type FluidProps<T> = T extends object\n ? { [P in keyof T]: T[P] | FluidValue<Exclude<T[P], void>> }\n : unknown\n\n/** Remove the `FluidValue` type from every property. */\nexport type StaticProps<T extends object> = {\n [P in keyof T]: T[P] extends FluidValue<infer U> ? U : T[P]\n}\n\n/** Define the getter called by `getFluidValue`. */\nconst setFluidGetter = (target: object, get: () => any) =>\n setHidden(target, $get, get)\n\n/** Observe a `fluids`-compatible object. */\nfunction addFluidObserver<T, E extends FluidEvent>(\n target: FluidValue<T, E>,\n observer: FluidObserver<E>\n): typeof observer\n\nfunction addFluidObserver<E extends FluidEvent>(\n target: object,\n observer: FluidObserver<E>\n): typeof observer\n\nfunction addFluidObserver(target: any, observer: FluidObserver) {\n if (target[$get]) {\n let observers: Set<FluidObserver> = target[$observers]\n if (!observers) {\n setHidden(target, $observers, (observers = new Set()))\n }\n if (!observers.has(observer)) {\n observers.add(observer)\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer)\n }\n }\n }\n return observer\n}\n\n/** Stop observing a `fluids`-compatible object. */\nfunction removeFluidObserver<E extends FluidEvent>(\n target: FluidValue<any, E>,\n observer: FluidObserver<E>\n): void\n\nfunction removeFluidObserver<E extends FluidEvent>(\n target: object,\n observer: FluidObserver<E>\n): void\n\nfunction removeFluidObserver(target: any, observer: FluidObserver) {\n const observers: Set<FluidObserver> = target[$observers]\n if (observers && observers.has(observer)) {\n const count = observers.size - 1\n if (count) {\n observers.delete(observer)\n } else {\n target[$observers] = null\n }\n if (target.observerRemoved) {\n target.observerRemoved(count, observer)\n }\n }\n}\n\nconst setHidden = (target: any, key: any, value: any) =>\n Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true,\n })\n","import { InterpolatorConfig } from '@react-spring/types'\n\nimport { getFluidValue } from './fluids'\nimport { createInterpolator } from './createInterpolator'\nimport { colorToRgba } from './colorToRgba'\nimport * as G from './globals'\nimport {\n cssVariableRegex,\n colorRegex,\n unitRegex,\n numberRegex,\n rgbaRegex,\n} from './regexs'\nimport { variableToRgba } from './variableToRgba'\n\n// Covers color names (transparent, blue, etc.)\nlet namedColorRegex: RegExp\n\n// rgba requires that the r,g,b are integers.... so we want to round them,\n// but we *dont* want to round the opacity (4th column).\nconst rgbaRound = (_: any, p1: number, p2: number, p3: number, p4: number) =>\n `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`\n\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * \"rgba(123, 42, 99, 0.36)\" // colors\n * \"-45deg\" // values with units\n * \"0 2px 2px 0px rgba(0, 0, 0, 0.12)\" // CSS box-shadows\n * \"rotate(0deg) translate(2px, 3px)\" // CSS transforms\n */\nexport const createStringInterpolator = (\n config: InterpolatorConfig<string>\n) => {\n if (!namedColorRegex)\n namedColorRegex = G.colors\n ? // match color names, ignore partial matches\n new RegExp(`(${Object.keys(G.colors).join('|')})(?!\\\\w)`, 'g')\n : // never match\n /^\\b$/\n\n // Convert colors to rgba(...)\n const output = config.output.map(value => {\n return getFluidValue(value)\n .replace(cssVariableRegex, variableToRgba)\n .replace(colorRegex, colorToRgba)\n .replace(namedColorRegex, colorToRgba)\n })\n\n // Convert [\"1px 2px\", \"0px 0px\"] into [[1, 2], [0, 0]]\n const keyframes = output.map(value => value.match(numberRegex)!.map(Number))\n\n // Convert [\"1px 2px\", \"0px 0px\"] into [[1, 0], [2, 0]]\n const outputRanges = keyframes[0].map((_, i) =>\n keyframes.map(values => {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal')\n }\n return values[i]\n })\n )\n\n // Create an interpolator for each animated number\n const interpolators = outputRanges.map(output =>\n createInterpolator({ ...config, output })\n )\n\n // Use the first `output` as a template for each call\n return (input: number) => {\n // Convert numbers to units if available (allows for [\"0\", \"100%\"])\n const missingUnit =\n !unitRegex.test(output[0]) &&\n output.find(value => unitRegex.test(value))?.replace(numberRegex, '')\n\n let i = 0\n return output[0]\n .replace(\n numberRegex,\n () => `${interpolators[i++](input)}${missingUnit || ''}`\n )\n .replace(rgbaRegex, rgbaRound)\n }\n}\n","// Problem: https://github.com/animatedjs/animated/pull/102\n// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662\nexport const numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g\n\n// Covers rgb, rgba, hsl, hsla\n// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e\nexport const colorRegex =\n /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi\n\n// Gets numbers with units when specified\nexport const unitRegex = new RegExp(`(${numberRegex.source})(%|[a-z]+)`, 'i')\n\n// get values of rgba string\nexport const rgbaRegex =\n /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi\n\n/**\n * Parse special CSS variable format into a CSS token and a fallback.\n *\n * ```\n * `var(--foo, #fff)` => [`--foo`, '#fff']\n * ```\n *\n */\nexport const cssVariableRegex =\n /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/\n","import { isSSR } from './helpers'\nimport { cssVariableRegex } from './regexs'\n\n/**\n * takes a CSS variable and attempts\n * to turn it into a RGBA value\n *\n * ```\n * 'var(--white)' => 'rgba(255,255,255,1)'\n * ```\n *\n * @param input string\n * @returns string\n */\nexport const variableToRgba = (input: string): string => {\n const [token, fallback] = parseCSSVariable(input)\n\n if (!token || isSSR()) {\n return input\n }\n\n const value = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue(token)\n\n if (value) {\n /**\n * We have a valid variable returned\n * trim and return\n */\n return value.trim()\n } else if (fallback && fallback.startsWith('--')) {\n /**\n * fallback is something like --my-variable\n * so we try get property value\n */\n const value = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue(fallback)\n\n /**\n * if it exists, return else nothing was found so just return the input\n */\n if (value) {\n return value\n } else {\n return input\n }\n } else if (fallback && cssVariableRegex.test(fallback)) {\n /**\n * We have a fallback and it's another CSS variable\n */\n return variableToRgba(fallback)\n } else if (fallback) {\n /**\n * We have a fallback and it's not a CSS variable\n */\n return fallback\n }\n\n /**\n * Nothing worked so just return the input\n * like our other FluidValue replace functions do\n */\n return input\n}\n\nconst parseCSSVariable = (current: string) => {\n const match = cssVariableRegex.exec(current)\n if (!match) return [,]\n\n const [, token, fallback] = match\n return [token, fallback]\n}\n","declare const console: any\n\nexport const prefix = 'react-spring: '\n\nexport const once = <TFunc extends (...args: any) => any>(fn: TFunc) => {\n const func = fn\n let called = false\n\n if (typeof func != 'function') {\n throw new TypeError(`${prefix}once requires a function parameter`)\n }\n\n return (...args: any) => {\n if (!called) {\n func(...args)\n called = true\n }\n }\n}\n\nconst warnInterpolate = once(console.warn)\nexport function deprecateInterpolate() {\n warnInterpolate(\n `${prefix}The \"interpolate\" function is deprecated in v9 (use \"to\" instead)`\n )\n}\n\nconst warnDirectCall = once(console.warn)\nexport function deprecateDirectCall() {\n warnDirectCall(\n `${prefix}Directly calling start instead of using the api object is deprecated in v9 (use \".start\" instead), this will be removed in later 0.X.0 versions`\n )\n}\n","import * as G from './globals'\nimport { is, isSSR } from './helpers'\nimport { cssVariableRegex } from './regexs'\n\n// Not all strings can be animated (eg: {display: \"none\"})\nexport function isAnimatedString(value: unknown): value is string {\n return (\n is.str(value) &&\n (value[0] == '#' ||\n /\\d/.test(value) ||\n // Do not identify a CSS variable as an AnimatedString if its SSR\n (!isSSR() && cssVariableRegex.test(value)) ||\n value in (G.colors || {}))\n )\n}\n","import { useEffect, useLayoutEffect } from 'react'\n\nimport { isSSR } from '../helpers'\n\n/**\n * Use this to read layout from the DOM and synchronously\n * re-render if the isSSR returns true. Updates scheduled\n * inside `useIsomorphicLayoutEffect` will be flushed\n * synchronously in the browser, before the browser has\n * a chance to paint.\n */\nexport const useIsomorphicLayoutEffect = isSSR() ? useEffect : useLayoutEffect\n","import { useRef } from 'react'\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'\n\nexport const useIsMounted = () => {\n const isMounted = useRef(false)\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true\n\n return () => {\n isMounted.current = false\n }\n }, [])\n\n return isMounted\n}\n","import { useState } from 'react'\nimport { useIsMounted } from './useIsMounted'\n\n/** Return a function that re-renders this component, if still mounted */\nexport function useForceUpdate() {\n const update = useState<any>()[1]\n const isMounted = useIsMounted()\n return () => {\n if (isMounted.current) {\n update(Math.random())\n }\n }\n}\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, EffectCallback } from 'react'\n\nexport const useOnce = (effect: EffectCallback) => useEffect(effect, emptyDeps)\n\nconst emptyDeps: any[] = []\n","import { useEffect, useRef } from 'react'\n\n/** Use a value from the previous render */\nexport function usePrev<T>(value: T): T | undefined {\n const prevRef = useRef<any>()\n useEffect(() => {\n prevRef.current = value\n })\n return prevRef.current\n}\n","import { useState } from 'react'\n\nimport { assign } from '../globals'\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'\n\n/**\n * Returns `boolean` or `null`, used to automatically\n * set skipAnimations to the value of the user's\n * `prefers-reduced-motion` query.\n *\n * The return value, post-effect, is the value of their prefered setting\n */\nexport const useReducedMotion = () => {\n const [reducedMotion, setReducedMotion] = useState<boolean | null>(null)\n\n useIsomorphicLayoutEffect(() => {\n const mql = window.matchMedia('(prefers-reduced-motion)')\n\n const handleMediaChange = (e: MediaQueryListEvent | MediaQueryList) => {\n setReducedMotion(e.matches)\n\n assign({\n skipAnimation: e.matches,\n })\n }\n\n handleMediaChange(mql)\n\n mql.addEventListener('change', handleMediaChange)\n\n return () => {\n mql.removeEventListener('change', handleMediaChange)\n }\n }, [])\n\n return reducedMotion\n}\n","import { defineHidden } from '@react-spring/shared'\nimport { AnimatedValue } from './AnimatedValue'\n\nconst $node: any = Symbol.for('Animated:node')\n\nexport const isAnimated = <T = any>(value: any): value is Animated<T> =>\n !!value && value[$node] === value\n\n/** Get the owner's `Animated` node. */\nexport const getAnimated = <T = any>(owner: any): Animated<T> | undefined =>\n owner && owner[$node]\n\n/** Set the owner's `Animated` node. */\nexport const setAnimated = (owner: any, node: Animated) =>\n defineHidden(owner, $node, node)\n\n/** Get every `AnimatedValue` in the owner's `Animated` node. */\nexport const getPayload = (owner: any): AnimatedValue[] | undefined =>\n owner && owner[$node] && owner[$node].getPayload()\n\nexport abstract class Animated<T = any> {\n /** The cache of animated values */\n protected payload?: Payload\n\n constructor() {\n // This makes \"isAnimated\" return true.\n setAnimated(this, this)\n }\n\n /** Get the current value. Pass `true` for only animated values. */\n abstract getValue(animated?: boolean): T\n\n /** Set the current value. Returns `true` if the value changed. */\n abstract setValue(value: T): boolean | void\n\n /** Reset any animation state. */\n abstract reset(goal?: T): void\n\n /** Get every `AnimatedValue` used by this node. */\n getPayload(): Payload {\n return this.payload || []\n }\n}\n\nexport type Payload = readonly AnimatedValue[]\n","import { is } from '@react-spring/shared'\nimport { Animated, Payload } from './Animated'\n\n/** An animated number or a native attribute value */\nexport class AnimatedValue<T = any> extends Animated {\n done = true\n elapsedTime!: number\n lastPosition!: number\n lastVelocity?: number | null\n v0?: number | null\n durationProgress = 0\n\n constructor(protected _value: T) {\n super()\n if (is.num(this._value)) {\n this.lastPosition = this._value\n }\n }\n\n /** @internal */\n static create(value: any) {\n return new AnimatedValue(value)\n }\n\n getPayload(): Payload {\n return [this]\n }\n\n getValue() {\n return this._value\n }\n\n setValue(value: T, step?: number) {\n if (is.num(value)) {\n this.lastPosition = value\n if (step) {\n value = (Math.round(value / step) * step) as any\n if (this.done) {\n this.lastPosition = value as any\n }\n }\n }\n if (this._value === value) {\n return false\n }\n this._value = value\n return true\n }\n\n reset() {\n const { done } = this\n this.done = false\n if (is.num(this._value)) {\n this.elapsedTime = 0\n this.durationProgress = 0\n this.lastPosition = this._value\n if (done) this.lastVelocity = null\n this.v0 = null\n }\n }\n}\n","import { AnimatedValue } from './AnimatedValue'\nimport { is, createInterpolator } from '@react-spring/shared'\n\ntype Value = string | number\n\nexport class AnimatedString extends AnimatedValue<Value> {\n protected declare _value: number\n protected _string: string | null = null\n protected _toString: (input: number) => string\n\n constructor(value: string) {\n super(0)\n this._toString = createInterpolator({\n output: [value, value],\n })\n }\n\n /** @internal */\n static create(value: string) {\n return new AnimatedString(value)\n }\n\n getValue() {\n const value = this._string\n return value == null ? (this._string = this._toString(this._value)) : value\n }\n\n setValue(value: Value) {\n if (is.str(value)) {\n if (value == this._string) {\n return false\n }\n this._string = value\n this._value = 1\n } else if (super.setValue(value)) {\n this._string = null\n } else {\n return false\n }\n return true\n }\n\n reset(goal?: string) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal],\n })\n }\n this._value = 0\n super.reset()\n }\n}\n","import { FluidValue } from '@react-spring/shared'\n\nexport type TreeContext = {\n /**\n * Any animated values found when updating the payload of an `AnimatedObject`\n * are also added to this `Set` to be observed by an animated component.\n */\n dependencies: Set<FluidValue> | null\n}\n\nexport const TreeContext: TreeContext = { dependencies: null }\n","import { Lookup } from '@react-spring/types'\nimport {\n each,\n eachProp,\n getFluidValue,\n hasFluidValue,\n} from '@react-spring/shared'\nimport { Animated, isAnimated, getPayload } from './Animated'\nimport { AnimatedValue } from './AnimatedValue'\nimport { TreeContext } from './context'\n\n/** An object containing `Animated` nodes */\nexport class AnimatedObject extends Animated {\n constructor(protected source: Lookup) {\n super()\n this.setValue(source)\n }\n\n getValue(animated?: boolean) {\n const values: Lookup = {}\n eachProp(this.source, (source, key) => {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated)\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source)\n } else if (!animated) {\n values[key] = source\n }\n })\n return values\n }\n\n /** Replace the raw object data */\n setValue(source: Lookup) {\n this.source = source\n this.payload = this._makePayload(source)\n }\n\n reset() {\n if (this.payload) {\n each(this.payload, node => node.reset())\n }\n }\n\n /** Create a payload set. */\n protected _makePayload(source: Lookup) {\n if (source) {\n const payload = new Set<AnimatedValue>()\n eachProp(source, this._addToPayload, payload)\n return Array.from(payload)\n }\n }\n\n /** Add to a payload set. */\n protected _addToPayload(this: Set<AnimatedValue>, source: any) {\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source)\n }\n const payload = getPayload(source)\n if (payload) {\n each(payload, node => this.add(node))\n }\n }\n}\n","import { isAnimatedString } from '@react-spring/shared'\nimport { AnimatedObject } from './AnimatedObject'\nimport { AnimatedString } from './AnimatedString'\nimport { AnimatedValue } from './AnimatedValue'\n\ntype Value = number | string\ntype Source = AnimatedValue<Value>[]\n\n/** An array of animated nodes */\nexport class AnimatedArray<\n T extends ReadonlyArray<Value> = Value[]\n> extends AnimatedObject {\n protected declare source: Source\n constructor(source: T) {\n super(source)\n }\n\n /** @internal */\n static create<T extends ReadonlyArray<Value>>(source: T) {\n return new AnimatedArray(source)\n }\n\n getValue(): T {\n return this.source.map(node => node.getValue()) as any\n }\n\n setValue(source: T) {\n const payload = this.getPayload()\n // Reuse the payload when lengths are equal.\n if (source.length == payload.length) {\n return payload.map((node, i) => node.setValue(source[i])).some(Boolean)\n }\n // Remake the payload when length changes.\n super.setValue(source.map(makeAnimated))\n return true\n }\n}\n\nfunction makeAnimated(value: any) {\n const nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue\n return nodeType.create(value)\n}\n","import { is, isAnimatedString } from '@react-spring/shared'\nimport { AnimatedType } from './types'\nimport { AnimatedArray } from './AnimatedArray'\nimport { AnimatedString } from './AnimatedString'\nimport { AnimatedValue } from './AnimatedValue'\nimport { getAnimated } from './Animated'\n\n/** Return the `Animated` node constructor for a given value */\nexport function getAnimatedType(value: any): AnimatedType {\n const parentNode = getAnimated(value)\n return parentNode\n ? (parentNode.constructor as any)\n : is.arr(value)\n ? AnimatedArray\n : isAnimatedString(value)\n ? AnimatedString\n : AnimatedValue\n}\n","import * as React from 'react'\nimport { forwardRef, useRef, Ref, useCallback, useEffect } from 'react'\nimport {\n is,\n each,\n raf,\n useForceUpdate,\n useOnce,\n FluidEvent,\n FluidValue,\n addFluidObserver,\n removeFluidObserver,\n useIsomorphicLayoutEffect,\n} from '@react-spring/shared'\nimport { ElementType } from '@react-spring/types'\n\nimport { AnimatedObject } from './AnimatedObject'\nimport { TreeContext } from './context'\nimport { HostConfig } from './createHost'\n\nexport type AnimatableComponent = string | Exclude<ElementType, string>\n\nexport const withAnimated = (Component: any, host: HostConfig) => {\n const hasInstance: boolean =\n // Function components must use \"forwardRef\" to avoid being\n // re-rendered on every animation frame.\n !is.fun(Component) ||\n (Component.prototype && Component.prototype.isReactComponent)\n\n return forwardRef((givenProps: any, givenRef: Ref<any>) => {\n const instanceRef = useRef<any>(null)\n\n // The `hasInstance` value is constant, so we can safely avoid\n // the `useCallback` invocation when `hasInstance` is false.\n const ref =\n hasInstance &&\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useCallback(\n (value: any) => {\n instanceRef.current = updateRef(givenRef, value)\n },\n [givenRef]\n )\n\n const [props, deps] = getAnimatedState(givenProps, host)\n\n const forceUpdate = useForceUpdate()\n\n const callback = () => {\n const instance = instanceRef.current\n if (hasInstance && !instance) {\n // Either this component was unmounted before changes could be\n // applied, or the wrapped component forgot to forward its ref.\n return\n }\n\n const didUpdate = instance\n ? host.applyAnimatedValues(instance, props.getValue(true))\n : false\n\n // Re-render the component when native updates fail.\n if (didUpdate === false) {\n forceUpdate()\n }\n }\n\n const observer = new PropsObserver(callback, deps)\n\n const observerRef = useRef<PropsObserver>()\n useIsomorphicLayoutEffect(() => {\n observerRef.current = observer\n\n // Observe the latest dependencies.\n each(deps, dep => addFluidObserver(dep, observer))\n\n return () => {\n // Stop observing previous dependencies.\n if (observerRef.current) {\n each(observerRef.current.deps, dep =>\n removeFluidObserver(dep, observerRef.current!)\n )\n raf.cancel(observerRef.current.update)\n }\n }\n })\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(callback, [])\n // Stop observing on unmount.\n useOnce(() => () => {\n const observer = observerRef.current!\n each(observer.deps, dep => removeFluidObserver(dep, observer))\n })\n\n const usedProps = host.getComponentProps(props.getValue())\n return <Component {...usedProps} ref={ref} />\n })\n}\n\nclass PropsObserver {\n constructor(readonly update: () => void, readonly deps: Set<FluidValue>) {}\n eventObserved(event: FluidEvent) {\n if (event.type == 'change') {\n raf.write(this.update)\n }\n }\n}\n\ntype AnimatedState = [props: AnimatedObject, dependencies: Set<FluidValue>]\n\nfunction getAnimatedState(props: any, host: HostConfig): AnimatedState {\n const dependencies = new Set<FluidValue>()\n TreeContext.dependencies = dependencies\n\n // Search the style for dependencies.\n if (props.style)\n props = {\n ...props,\n style: host.createAnimatedStyle(props.style),\n }\n\n // Search the props for dependencies.\n props = new AnimatedObject(props)\n\n TreeContext.dependencies = null\n return [props, dependencies]\n}\n\nfunction updateRef<T>(ref: Ref<T>, value: T) {\n if (ref) {\n if (is.fun(ref)) ref(value)\n else (ref as any).current = value\n }\n return value\n}\n","import { Lookup } from '@react-spring/types'\nimport { is, eachProp } from '@react-spring/shared'\nimport { AnimatableComponent, withAnimated } from './withAnimated'\nimport { Animated } from './Animated'\nimport { AnimatedObject } from './AnimatedObject'\n\nexport interface HostConfig {\n /** Provide custom logic for native updates */\n applyAnimatedValues: (node: any, props: Lookup) => boolean | void\n /** Wrap the `style` prop with an animated node */\n createAnimatedStyle: (style: Lookup) => Animated\n /** Intercept props before they're passed to an animated component */\n getComponentProps: (props: Lookup) => typeof props\n}\n\n// A stub type that gets replaced by @react-spring/web and others.\ntype WithAnimated = {\n (Component: AnimatableComponent): any\n [key: string]: any\n}\n\n// For storing the animated version on the original component\nconst cacheKey = Symbol.for('AnimatedComponent')\n\nexport const createHost = (\n components: AnimatableComponent[] | { [key: string]: AnimatableComponent },\n {\n applyAnimatedValues = () => false,\n createAnimatedStyle = style => new AnimatedObject(style),\n getComponentProps = props => props,\n }: Partial<HostConfig> = {}\n) => {\n const hostConfig: HostConfig = {\n applyAnimatedValues,\n createAnimatedStyle,\n getComponentProps,\n }\n\n const animated: WithAnimated = (Component: any) => {\n const displayName = getDisplayName(Component) || 'Anonymous'\n\n if (is.str(Component)) {\n Component =\n animated[Component] ||\n (animated[Component] = withAnimated(Component, hostConfig))\n } else {\n Component =\n Component[cacheKey] ||\n (Component[cacheKey] = withAnimated(Component, hostConfig))\n }\n\n Component.displayName = `Animated(${displayName})`\n return Component\n }\n\n eachProp(components, (Component, key) => {\n if (is.arr(components)) {\n key = getDisplayName(Component)!\n }\n animated[key] = animated(Component)\n })\n\n return {\n animated,\n }\n}\n\nconst getDisplayName = (arg: AnimatableComponent) =>\n is.str(arg)\n ? arg\n : arg && is.str(arg.displayName)\n ? arg.displayName\n : (is.fun(arg) && arg.name) || null\n","import {\n is,\n toArray,\n eachProp,\n getFluidValue,\n isAnimatedString,\n FluidValue,\n Globals as G,\n} from '@react-spring/shared'\nimport { AnyFn, OneOrMore, Lookup } from '@react-spring/types'\nimport { ReservedProps, ForwardProps, InferTo } from './types'\nimport type { Controller } from './Controller'\nimport type { SpringRef } from './SpringRef'\n\nexport function callProp<T>(\n value: T,\n ...args: T extends AnyFn ? Parameters<T> : unknown[]\n): T extends AnyFn<any, infer U> ? U : T {\n return is.fun(value) ? value(...args) : value\n}\n\n/** Try to coerce the given value into a boolean using the given key */\nexport const matchProp = (\n value: boolean | OneOrMore<string> | ((key: any) => boolean) | undefined,\n key: string | undefined\n) =>\n value === true ||\n !!(\n key &&\n value &&\n (is.fun(value) ? value(key) : toArray(value).includes(key))\n )\n\nexport const resolveProp = <T>(\n prop: T | Lookup<T> | undefined,\n key: string | undefined\n) => (is.obj(prop) ? key && (prop as any)[key] : prop)\n\nexport const concatFn = <T extends AnyFn>(first: T | undefined, last: T) =>\n first ? (...args: Parameters<T>) => (first(...args), last(...args)) : last\n\n/** Returns `true` if the given prop is having its default value set. */\nexport const hasDefaultProp = <T extends Lookup>(props: T, key: keyof T) =>\n !is.und(getDefaultProp(props, key))\n\n/** Get the default value being set for the given `key` */\nexport const getDefaultProp = <T extends Lookup, P extends keyof T>(\n props: T,\n key: P\n): T[P] =>\n props.default === true\n ? props[key]\n : props.default\n ? props.default[key]\n : undefined\n\nconst noopTransform = (value: any) => value\n\n/**\n * Extract the default props from an update.\n *\n * When the `default` prop is falsy, this function still behaves as if\n * `default: true` was used. The `default` prop is always respected when\n * truthy.\n */\nexport const getDefaultProps = <T extends Lookup>(\n props: Lookup,\n transform: (value: any, key: string) => any = noopTransform\n): T => {\n let keys: readonly string[] = DEFAULT_PROPS\n if (props.default && props.default !== true) {\n props = props.default\n keys = Object.keys(props)\n }\n const defaults: any = {}\n for (const key of keys) {\n const value = transform(props[key], key)\n if (!is.und(value)) {\n defaults[key] = value\n }\n }\n return defaults\n}\n\n/**\n * These props are implicitly used as defaults when defined in a\n * declarative update (eg: render-based) or any update with `default: true`.\n *\n * Use `default: {}` or `default: false` to opt-out of these implicit defaults\n * for any given update.\n *\n * Note: These are not the only props with default values. For example, the\n * `pause`, `cancel`, and `immediate` props. But those must be updated with\n * the object syntax (eg: `default: { immediate: true }`).\n */\nexport const DEFAULT_PROPS = [\n 'config',\n 'onProps',\n 'onStart',\n 'onChange',\n 'onPause',\n 'onResume',\n 'onRest',\n] as const\n\nconst RESERVED_PROPS: {\n [key: string]: 1 | undefined\n} = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n default: 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n\n // Transition props\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n\n // Internal props\n keys: 1,\n callId: 1,\n parentId: 1,\n}\n\n/**\n * Extract any properties whose keys are *not* reserved for customizing your\n * animations. All hooks use this function, which means `useTransition` props\n * are reserved for `useSpring` calls, etc.\n */\nfunction getForwardProps<Props extends ReservedProps>(\n props: Props\n): ForwardProps<Props> | undefined {\n const forward: any = {}\n\n let count = 0\n eachProp(props, (value, prop) => {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value\n count++\n }\n })\n\n if (count) {\n return forward\n }\n}\n\n/**\n * Clone the given `props` and move all non-reserved props\n * into the `to` prop.\n */\nexport function inferTo<T extends object>(props: T): InferTo<T> {\n const to = getForwardProps(props)\n if (to) {\n const out: any = { to }\n eachProp(props, (val, key) => key in to || (out[key] = val))\n return out\n }\n return { ...props } as any\n}\n\n// Compute the goal value, converting \"red\" to \"rgba(255, 0, 0, 1)\" in the process\nexport function computeGoal<T>(value: T | FluidValue<T>): T {\n value = getFluidValue(value)\n return is.arr(value)\n ? value.map(computeGoal)\n : isAnimatedString(value)\n ? (G.createStringInterpolator({\n range: [0, 1],\n output: [value, value] as any,\n })(1) as any)\n : value\n}\n\nexport function hasProps(props: object) {\n for (const _ in props) return true\n return false\n}\n\nexport function isAsyncTo(to: any) {\n return is.fun(to) || (is.arr(to) && is.obj(to[0]))\n}\n\n/** Detach `ctrl` from `ctrl.ref` and (optionally) the given `ref` */\nexport function detachRefs(ctrl: Controller, ref?: SpringRef) {\n ctrl.ref?.delete(ctrl)\n ref?.delete(ctrl)\n}\n\n/** Replace `ctrl.ref` with the given `ref` (if defined) */\nexport function replaceRef(ctrl: Controller, ref?: SpringRef) {\n if (ref && ctrl.ref !== ref) {\n ctrl.ref?.delete(ctrl)\n ref.add(ctrl)\n ctrl.ref = ref\n }\n}\n","// The `mass` prop defaults to 1\nexport const config = {\n default: { tension: 170, friction: 26 },\n gentle: { tension: 120, friction: 14 },\n wobbly: { tension: 180, friction: 12 },\n stiff: { tension: 210, friction: 20 },\n slow: { tension: 280, friction: 60 },\n molasses: { tension: 280, friction: 120 },\n} as const\n","import { is, easings } from '@react-spring/shared'\nimport { EasingFunction } from '@react-spring/types'\nimport { config as configs } from './constants'\n\nconst defaults: any = {\n ...configs.default,\n mass: 1,\n damping: 1,\n easing: easings.linear,\n clamp: false,\n}\n\nexport class AnimationConfig {\n /**\n * With higher tension, the spring will resist bouncing and try harder to stop at its end value.\n *\n * When tension is zero, no animation occurs.\n *\n * @default 170\n */\n tension!: number\n\n /**\n * The damping ratio coefficient, or just the damping ratio when `speed` is defined.\n *\n * When `speed` is defined, this value should be between 0 and 1.\n *\n * Higher friction means the spring will slow down faster.\n *\n * @default 26\n */\n friction!: number\n\n /**\n * The natural frequency (in seconds), which dictates the number of bounces\n * per second when no damping exists.\n *\n * When defined, `tension` is derived from this, and `friction` is derived\n * from `tension` and `damping`.\n */\n frequency?: number\n\n /**\n * The damping ratio, which dictates how the spring slows down.\n *\n * Set to `0` to never slow down. Set to `1` to slow down without bouncing.\n * Between `0` and `1` is for you to explore.\n *\n * Only works when `frequency` is defined.\n *\n * @default 1\n */\n damping!: number\n\n /**\n * Higher mass means more friction is required to slow down.\n *\n * Defaults to 1, which works fine most of the time.\n *\n * @default 1\n */\n mass!: number\n\n /**\n * The initial velocity of one or more values.\n *\n * @default 0\n */\n velocity: number | number[] = 0\n\n /**\n * The smallest velocity before the animation is considered \"not moving\".\n *\n * When undefined, `precision` is used instead.\n */\n restVelocity?: number\n\n /**\n * The smallest distance from a value before that distance is essentially zero.\n *\n * This helps in deciding when a spring is \"at rest\". The spring must be within\n * this distance from its final value, and its velocity must be lower than this\n * value too (unless `restVelocity` is defined).\n *\n * @default 0.01\n */\n precision?: number\n\n /**\n * For `duration` animations only. Note: The `duration` is not affected\n * by this property.\n *\n * Defaults to `0`, which means \"start from the beginning\".\n *\n * Setting to `1+` makes an immediate animation.\n *\n * Setting to `0.5` means \"start from the middle of the easing function\".\n *\n * Any number `>= 0` and `<= 1` makes sense here.\n */\n progress?: number\n\n /**\n * Animation length in number of milliseconds.\n */\n duration?: number\n\n /**\n * The animation curve. Only used when `duration` is defined.\n *\n * Defaults to quadratic ease-in-out.\n */\n easing!: EasingFunction\n\n /**\n * Avoid overshooting by ending abruptly at the goal value.\n *\n * @default false\n */\n clamp!: boolean\n\n /**\n * When above zero, the spring will bounce instead of overshooting when\n * exceeding its goal value. Its velocity is multiplied by `-1 + bounce`\n * whenever its current value equals or exceeds its goal. For example,\n * setting `bounce` to `0.5` chops the velocity in half on each bounce,\n * in addition to any friction.\n */\n bounce?: number\n\n /**\n * \"Decay animations\" decelerate without an explicit goal value.\n * Useful for scrolling animations.\n *\n * Use `true` for the default exponential decay factor (`0.998`).\n *\n * When a `number` between `0` and `1` is given, a lower number makes the\n * animation slow down faster. And setting to `1` would make an unending\n * animation.\n *\n * @default false\n */\n decay?: boolean | number\n\n /**\n * While animating, round to the nearest multiple of this number.\n * The `from` and `to` values are never rounded, as well as any value\n * passed to the `set` method of an animated value.\n */\n round?: number\n\n constructor() {\n Object.assign(this, defaults)\n }\n}\n\nexport function mergeConfig(\n config: AnimationConfig,\n newConfig: Partial<AnimationConfig>,\n defaultConfig?: Partial<AnimationConfig>\n): typeof config\n\nexport function mergeConfig(\n config: any,\n newConfig: object,\n defaultConfig?: object\n) {\n if (defaultConfig) {\n defaultConfig = { ...defaultConfig }\n sanitizeConfig(defaultConfig, newConfig)\n newConfig = { ...defaultConfig, ...newConfig }\n }\n\n sanitizeConfig(config, newConfig)\n Object.assign(config, newConfig)\n\n for (const key in defaults) {\n if (config[key] == null) {\n config[key] = defaults[key]\n }\n }\n\n let { frequency, damping } = config\n const { mass } = config\n if (!is.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01\n if (damping < 0) damping = 0\n config.tension = Math.pow((2 * Math.PI) / frequency, 2) * mass\n config.friction = (4 * Math.PI * damping * mass) / frequency\n }\n\n return config\n}\n\n// Prevent a config from accidentally overriding new props.\n// This depends on which \"config\" props take precedence when defined.\nfunction sanitizeConfig(\n config: Partial<AnimationConfig>,\n props: Partial<AnimationConfig>\n) {\n if (!is.und(props.decay)) {\n config.duration = undefined\n } else {\n const isTensionConfig = !is.und(props.tension) || !is.und(props.friction)\n if (\n isTensionConfig ||\n !is.und(props.frequency) ||\n !is.und(props.damping) ||\n !is.und(props.mass)\n ) {\n config.duration = undefined\n config.decay = undefined\n }\n if (isTensionConfig) {\n config.frequency = undefined\n }\n }\n}\n","import { AnimatedValue } from '@react-spring/animated'\nimport { FluidValue } from '@react-spring/shared'\nimport { AnimationConfig } from './AnimationConfig'\nimport { PickEventFns } from './types/internal'\nimport { SpringProps } from './types'\n\nconst emptyArray: readonly any[] = []\n\n/** An animation being executed by the frameloop */\nexport class Animation<T = any> {\n changed = false\n values: readonly AnimatedValue[] = emptyArray\n toValues: readonly number[] | null = null\n fromValues: readonly number[] = emptyArray\n\n to!: T | FluidValue<T>\n from!: T | FluidValue<T>\n config = new AnimationConfig()\n immediate = false\n}\n\nexport interface Animation<T> extends PickEventFns<SpringProps<T>> {}\n","import { Timeout, is, raf, Globals as G } from '@react-spring/shared'\nimport { matchProp, callProp } from './helpers'\nimport { AsyncResult, MatchProp } from './types'\nimport { RunAsyncState, RunAsyncProps } from './runAsync'\nimport {\n AnimationResolver,\n AnimationTarget,\n InferProps,\n InferState,\n} from './types/internal'\n\n// The `scheduleProps` function only handles these defaults.\ntype DefaultProps<T> = { cancel?: MatchProp<T>; pause?: MatchProp<T> }\n\ninterface ScheduledProps<T extends AnimationTarget> {\n key?: string\n props: InferProps<T>\n defaultProps?: DefaultProps<InferState<T>>\n state: RunAsyncState<T>\n actions: {\n pause: () => void\n resume: () => void\n start: (props: RunAsyncProps<T>, resolve: AnimationResolver<T>) => void\n }\n}\n\n/**\n * This function sets a timeout if both the `delay` prop exists and\n * the `cancel` prop is not `true`.\n *\n * The `actions.start` function must handle the `cancel` prop itself,\n * but the `pause` prop is taken care of.\n */\nexport function scheduleProps<T extends AnimationTarget>(\n callId: number,\n { key, props, defaultProps, state, actions }: ScheduledProps<T>\n): AsyncResult<T> {\n return new Promise((resolve, reject) => {\n let delay: number\n let timeout: Timeout\n\n let cancel = matchProp(props.cancel ?? defaultProps?.cancel, key)\n if (cancel) {\n onStart()\n } else {\n // The `pause` prop updates the paused flag.\n if (!is.und(props.pause)) {\n state.paused = matchProp(props.pause, key)\n }\n // The default `pause` takes precedence when true,\n // which allows `SpringContext` to work as expected.\n let pause = defaultProps?.pause\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key)\n }\n\n delay = callProp(props.delay || 0, key)\n if (pause) {\n state.resumeQueue.add(onResume)\n actions.pause()\n } else {\n actions.resume()\n onResume()\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume)\n state.timeouts.delete(timeout)\n timeout.cancel()\n // Cache the remaining delay.\n delay = timeout.time - raf.now()\n }\n\n function onResume() {\n if (delay > 0 && !G.skipAnimation) {\n state.delayed = true\n timeout = raf.setTimeout(onStart, delay)\n state.pauseQueue.add(onPause)\n state.timeouts.add(timeout)\n } else {\n onStart()\n }\n }\n\n function onStart() {\n if (state.delayed) {\n state.delayed = false\n }\n\n state.pauseQueue.delete(onPause)\n state.timeouts.delete(timeout)\n\n // Maybe cancelled during its delay.\n if (callId <= (state.cancelId || 0)) {\n cancel = true\n }\n\n try {\n actions.start({ ...props, callId, cancel }, resolve)\n } catch (err) {\n reject(err)\n }\n }\n })\n}\n","import { AnimationResult } from './types'\nimport { Readable } from './types/internal'\n\n/** @internal */\nexport const getCombinedResult = <T extends Readable>(\n target: T,\n results: AnimationResult<T>[]\n): AnimationResult<T> =>\n results.length == 1\n ? results[0]\n : results.some(result => result.cancelled)\n ? getCancelledResult(target.get())\n : results.every(result => result.noop)\n ? getNoopResult(target.get())\n : getFinishedResult(\n target.get(),\n results.every(result => result.finished)\n )\n\n/** No-op results are for updates that never start an animation. */\nexport const getNoopResult = (value: any) => ({\n value,\n noop: true,\n finished: true,\n cancelled: false,\n})\n\nexport const getFinishedResult = (\n value: any,\n finished: boolean,\n cancelled = false\n) => ({\n value,\n finished,\n cancelled,\n})\n\nexport const getCancelledResult = (value: any) => ({\n value,\n cancelled: true,\n finished: false,\n})\n","import {\n is,\n raf,\n flush,\n eachProp,\n Timeout,\n Globals as G,\n} from '@react-spring/shared'\nimport { Falsy } from '@react-spring/types'\n\nimport { getDefaultProps } from './helpers'\nimport { AnimationTarget, InferState, InferProps } from './types/internal'\nimport { AnimationResult, AsyncResult, SpringChain, SpringToFn } from './types'\nimport { getCancelledResult, getFinishedResult } from './AnimationResult'\n\ntype AsyncTo<T> = SpringChain<T> | SpringToFn<T>\n\n/** @internal */\nexport type RunAsyncProps<T extends AnimationTarget = any> = InferProps<T> & {\n callId: number\n parentId?: number\n cancel: boolean\n to?: any\n}\n\n/** @internal */\nexport interface RunAsyncState<T extends AnimationTarget = any> {\n paused: boolean\n pauseQueue: Set<() => void>\n resumeQueue: Set<() => void>\n timeouts: Set<Timeout>\n delayed?: boolean\n asyncId?: number\n asyncTo?: AsyncTo<InferState<T>>\n promise?: AsyncResult<T>\n cancelId?: number\n}\n\n/**\n * Start an async chain or an async script.\n *\n * Always call `runAsync` in the action callback of a `scheduleProps` call.\n *\n * The `T` parameter can be a set of animated values (as an object type)\n * or a primitive type for a single animated value.\n */\nexport function runAsync<T extends AnimationTarget>(\n to: AsyncTo<InferState<T>>,\n props: RunAsyncProps<T>,\n state: RunAsyncState<T>,\n target: T\n): AsyncResult<T> {\n const { callId, parentId, onRest } = props\n const { asyncTo: prevTo, promise: prevPromise } = state\n\n if (!parentId && to === prevTo && !props.reset) {\n return prevPromise!\n }\n\n return (state.promise = (async () => {\n state.asyncId = callId\n state.asyncTo = to\n\n // The default props of any `animate` calls.\n const defaultProps = getDefaultProps<InferProps<T>>(props, (value, key) =>\n // The `onRest` prop is only called when the `runAsync` promise is resolved.\n key === 'onRest' ? undefined : value\n )\n\n let preventBail!: () => void\n let bail: (error: any) => void\n\n // This promise is rejected when the animation is interrupted.\n const bailPromise = new Promise<void>(\n (resolve, reject) => ((preventBail = resolve), (bail = reject))\n )\n\n const bailIfEnded = (bailSignal: BailSignal) => {\n const bailResult =\n // The `cancel` prop or `stop` method was used.\n (callId <= (state.cancelId || 0) && getCancelledResult(target)) ||\n // The async `to` prop was replaced.\n (callId !== state.asyncId && getFinishedResult(target, false))\n\n if (bailResult) {\n bailSignal.result = bailResult\n\n // Reject the `bailPromise` to ensure the `runAsync` promise\n // is not relying on the caller to rethrow the error for us.\n bail(bailSignal)\n throw bailSignal\n }\n }\n\n const animate: any = (arg1: any, arg2?: any) => {\n // Create the bail signal outside the returned promise,\n // so the generated stack trace is relevant.\n const bailSignal = new BailSignal()\n const skipAnimationSignal = new SkipAnimationSignal()\n\n return (async () => {\n if (G.skipAnimation) {\n /**\n * We need to stop animations if `skipAnimation`\n * is set in the Globals\n *\n */\n stopAsync(state)\n\n // create the rejection error that's handled gracefully\n skipAnimationSignal.result = getFinishedResult(target, false)\n bail(skipAnimationSignal)\n throw skipAnimationSignal\n }\n\n bailIfEnded(bailSignal)\n\n const props: any = is.obj(arg1) ? { ...arg1 } : { ...arg2, to: arg1 }\n props.parentId = callId\n\n eachProp(defaultProps, (value, key) => {\n if (is.und(props[key])) {\n props[key] = value\n }\n })\n\n const result = await target.start(props)\n bailIfEnded(bailSignal)\n\n if (state.paused) {\n await new Promise<void>(resume => {\n state.resumeQueue.add(resume)\n })\n }\n\n return result\n })()\n }\n\n let result!: AnimationResult<T>\n\n if (G.skipAnimation) {\n /**\n * We need to stop animations if `skipAnimation`\n * is set in the Globals\n */\n stopAsync(state)\n return getFinishedResult(target, false)\n }\n\n try {\n let animating!: Promise<void>\n\n // Async sequence\n if (is.arr(to)) {\n animating = (async (queue: any[]) => {\n for (const props of queue) {\n await animate(props)\n }\n })(to)\n }\n\n // Async script\n else {\n animating = Promise.resolve(to(animate, target.stop.bind(target)))\n }\n\n await Promise.all([animating.then(preventBail), bailPromise])\n result = getFinishedResult(target.get(), true, false)\n\n // Bail handling\n } catch (err) {\n if (err instanceof BailSignal) {\n result = err.result\n } else if (err instanceof SkipAnimationSignal) {\n result = err.result\n } else {\n throw err\n }\n\n // Reset the async state.\n } finally {\n if (callId == state.asyncId) {\n state.asyncId = parentId\n state.asyncTo = parentId ? prevTo : undefined\n state.promise = parentId ? prevPromise : undefined\n }\n }\n\n if (is.fun(onRest)) {\n raf.batchedUpdates(() => {\n onRest(result, target, target.item)\n })\n }\n\n return result\n })())\n}\n\n/** Stop the current `runAsync` call with `finished: false` (or with `cancelled: true` when `cancelId` is defined) */\nexport function stopAsync(state: RunAsyncState, cancelId?: number | Falsy) {\n flush(state.timeouts, t => t.cancel())\n state.pauseQueue.clear()\n state.resumeQueue.clear()\n state.asyncId = state.asyncTo = state.promise = undefined\n if (cancelId) state.cancelId = cancelId\n}\n\n/** This error is thrown to signal an interrupted async animation. */\nexport class BailSignal extends Error {\n result!: AnimationResult\n constructor() {\n super(\n 'An async animation has been interrupted. You see this error because you ' +\n 'forgot to use `await` or `.catch(...)` on its returned promise.'\n )\n }\n}\n\nexport class SkipAnimationSignal extends Error {\n result!: AnimationResult\n\n constructor() {\n super('SkipAnimationSignal')\n }\n}\n","import {\n deprecateInterpolate,\n frameLoop,\n FluidValue,\n Globals as G,\n callFluidObservers,\n} from '@react-spring/shared'\nimport { InterpolatorArgs } from '@react-spring/types'\nimport { getAnimated } from '@react-spring/animated'\n\nimport { Interpolation } from './Interpolation'\n\nexport const isFrameValue = (value: any): value is FrameValue =>\n value instanceof FrameValue\n\nlet nextId = 1\n\n/**\n * A kind of `FluidValue` that manages an `AnimatedValue` node.\n *\n * Its underlying value can be accessed and even observed.\n */\nexport abstract class FrameValue<T = any> extends FluidValue<\n T,\n FrameValue.Event<T>\n> {\n readonly id = nextId++\n\n abstract key?: string\n abstract get idle(): boolean\n\n protected _priority = 0\n\n get priority() {\n return this._priority\n }\n set priority(priority: number) {\n if (this._priority != priority) {\n this._priority = priority\n this._onPriorityChange(priority)\n }\n }\n\n /** Get the current value */\n get(): T {\n const node = getAnimated(this)\n return node && node.getValue()\n }\n\n /** Create a spring that maps our value to another value */\n to<Out>(...args: InterpolatorArgs<T, Out>) {\n return G.to(this, args) as Interpolation<T, Out>\n }\n\n /** @deprecated Use the `to` method instead. */\n interpolate<Out>(...args: InterpolatorArgs<T, Out>) {\n deprecateInterpolate()\n return G.to(this, args) as Interpolation<T, Out>\n }\n\n toJSON() {\n return this.get()\n }\n\n protected observerAdded(count: number) {\n if (count == 1) this._attach()\n }\n\n protected observerRemoved(count: number) {\n if (count == 0) this._detach()\n }\n\n /** @internal */\n abstract advance(dt: number): void\n\n /** @internal */\n abstract eventObserved(_event: FrameValue.Event): void\n\n /** Called when the first child is added. */\n protected _attach() {}\n\n /** Called when the last child is removed. */\n protected _detach() {}\n\n /** Tell our children about our new value */\n protected _onChange(value: T, idle = false) {\n callFluidObservers(this, {\n type: 'change',\n parent: this,\n value,\n idle,\n })\n }\n\n /** Tell our children about our new priority */\n protected _onPriorityChange(priority: number) {\n if (!this.idle) {\n frameLoop.sort(this)\n }\n callFluidObservers(this, {\n type: 'priority',\n parent: this,\n priority,\n })\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport declare namespace FrameValue {\n /** A parent changed its value */\n interface ChangeEvent<T = any> {\n parent: FrameValue<T>\n type: 'change'\n value: T\n idle: boolean\n }\n\n /** A parent changed its priority */\n interface PriorityEvent<T = any> {\n parent: FrameValue<T>\n type: 'priority'\n priority: number\n }\n\n /** A parent is done animating */\n interface IdleEvent<T = any> {\n parent: FrameValue<T>\n type: 'idle'\n }\n\n /** Events sent to children of `FrameValue` objects */\n export type Event<T = any> = ChangeEvent<T> | PriorityEvent<T> | IdleEvent<T>\n}\n","/** The property symbol of the current animation phase. */\nconst $P = Symbol.for('SpringPhase')\n\nconst HAS_ANIMATED = 1\nconst IS_ANIMATING = 2\nconst IS_PAUSED = 4\n\n/** Returns true if the `target` has ever animated. */\nexport const hasAnimated = (target: any) => (target[$P] & HAS_ANIMATED) > 0\n\n/** Returns true if the `target` is animating (even if paused). */\nexport const isAnimating = (target: any) => (target[$P] & IS_ANIMATING) > 0\n\n/** Returns true if the `target` is paused (even if idle). */\nexport const isPaused = (target: any) => (target[$P] & IS_PAUSED) > 0\n\n/** Set the active bit of the `target` phase. */\nexport const setActiveBit = (target: any, active: boolean) =>\n active\n ? (target[$P] |= IS_ANIMATING | HAS_ANIMATED)\n : (target[$P] &= ~IS_ANIMATING)\n\nexport const setPausedBit = (target: any, paused: boolean) =>\n paused ? (target[$P] |= IS_PAUSED) : (target[$P] &= ~IS_PAUSED)\n","import {\n is,\n raf,\n each,\n isEqual,\n toArray,\n eachProp,\n frameLoop,\n flushCalls,\n getFluidValue,\n isAnimatedString,\n FluidValue,\n Globals as G,\n callFluidObservers,\n hasFluidValue,\n addFluidObserver,\n removeFluidObserver,\n getFluidObservers,\n} from '@react-spring/shared'\nimport {\n Animated,\n AnimatedValue,\n AnimatedString,\n getPayload,\n getAnimated,\n setAnimated,\n getAnimatedType,\n} from '@react-spring/animated'\nimport { Lookup } from '@react-spring/types'\n\nimport { Animation } from './Animation'\nimport { mergeConfig } from './AnimationConfig'\nimport { scheduleProps } from './scheduleProps'\nimport { runAsync, RunAsyncState, RunAsyncProps, stopAsync } from './runAsync'\nimport {\n callProp,\n computeGoal,\n matchProp,\n inferTo,\n getDefaultProps,\n getDefaultProp,\n isAsyncTo,\n resolveProp,\n} from './helpers'\nimport { FrameValue, isFrameValue } from './FrameValue'\nimport {\n isAnimating,\n isPaused,\n setPausedBit,\n hasAnimated,\n setActiveBit,\n} from './SpringPhase'\nimport {\n AnimationRange,\n AnimationResolver,\n EventKey,\n PickEventFns,\n} from './types/internal'\nimport { AsyncResult, SpringUpdate, VelocityProp, SpringProps } from './types'\nimport {\n getCombinedResult,\n getCancelledResult,\n getFinishedResult,\n getNoopResult,\n} from './AnimationResult'\n\ndeclare const console: any\n\ninterface DefaultSpringProps<T>\n extends Pick<SpringProps<T>, 'pause' | 'cancel' | 'immediate' | 'config'>,\n PickEventFns<SpringProps<T>> {}\n\n/**\n * Only numbers, strings, and arrays of numbers/strings are supported.\n * Non-animatable strings are also supported.\n */\nexport class SpringValue<T = any> extends FrameValue<T> {\n /** The property name used when `to` or `from` is an object. Useful when debugging too. */\n key?: string\n\n /** The animation state */\n animation = new Animation<T>()\n\n /** The queue of pending props */\n queue?: SpringUpdate<T>[]\n\n /** Some props have customizable default values */\n defaultProps: DefaultSpringProps<T> = {}\n\n /** The state for `runAsync` calls */\n protected _state: RunAsyncState<SpringValue<T>> = {\n paused: false,\n delayed: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set(),\n }\n\n /** The promise resolvers of pending `start` calls */\n protected _pendingCalls = new Set<AnimationResolver<this>>()\n\n /** The counter for tracking `scheduleProps` calls */\n protected _lastCallId = 0\n\n /** The last `scheduleProps` call that changed the `to` prop */\n protected _lastToId = 0\n\n protected _memoizedDuration = 0\n\n constructor(from: Exclude<T, object>, props?: SpringUpdate<T>)\n constructor(props?: SpringUpdate<T>)\n constructor(arg1?: any, arg2?: any) {\n super()\n if (!is.und(arg1) || !is.und(arg2)) {\n const props = is.obj(arg1) ? { ...arg1 } : { ...arg2, from: arg1 }\n if (is.und(props.default)) {\n props.default = true\n }\n this.start(props)\n }\n }\n\n /** Equals true when not advancing on each frame. */\n get idle() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this)\n }\n\n get goal() {\n return getFluidValue(this.animation.to) as T\n }\n\n get velocity(): VelocityProp<T> {\n const node = getAnimated(this)!\n return (\n node instanceof AnimatedValue\n ? node.lastVelocity || 0\n : node.getPayload().map(node => node.lastVelocity || 0)\n ) as any\n }\n\n /**\n * When true, this value has been animated at least once.\n */\n get hasAnimated() {\n return hasAnimated(this)\n }\n\n /**\n * When true, this value has an unfinished animation,\n * which is either active or paused.\n */\n get isAnimating() {\n return isAnimating(this)\n }\n\n /**\n * When true, all current and future animations are paused.\n */\n get isPaused() {\n return isPaused(this)\n }\n\n /**\n *\n *\n */\n get isDelayed() {\n return this._state.delayed\n }\n\n /** Advance the current animation by a number of milliseconds */\n advance(dt: number) {\n let idle = true\n let changed = false\n\n const anim = this.animation\n let { toValues } = anim\n const { config } = anim\n\n const payload = getPayload(anim.to)\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray(getFluidValue(anim.to)) as any\n }\n\n anim.values.forEach((node, i) => {\n if (node.done) return\n\n const to =\n // Animated strings always go from 0 to 1.\n node.constructor == AnimatedString\n ? 1\n : payload\n ? payload[i].lastPosition\n : toValues![i]\n\n let finished = anim.immediate\n let position = to\n\n if (!finished) {\n position = node.lastPosition\n\n // Loose springs never move.\n if (config.tension <= 0) {\n node.done = true\n return\n }\n\n let elapsed = (node.elapsedTime += dt)\n const from = anim.fromValues[i]\n\n const v0 =\n node.v0 != null\n ? node.v0\n : (node.v0 = is.arr(config.velocity)\n ? config.velocity[i]\n : config.velocity)\n\n let velocity: number\n\n /** The smallest distance from a value before being treated like said value. */\n /**\n * TODO: make this value ~0.0001 by default in next breaking change\n * for more info see – https://github.com/pmndrs/react-spring/issues/1389\n */\n const precision =\n config.precision ||\n (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001))\n\n // Duration easing\n if (!is.und(config.duration)) {\n let p = 1\n if (config.duration > 0) {\n /**\n * Here we check if the duration has changed in the config\n * and if so update the elapsed time to the percentage\n * of completition so there is no jank in the animation\n * https://github.com/pmndrs/react-spring/issues/1163\n */\n if (this._memoizedDuration !== config.duration) {\n // update the memoized version to the new duration\n this._memoizedDuration = config.duration\n\n // if the value has started animating we need to update it\n if (node.durationProgress > 0) {\n // set elapsed time to be the same percentage of progress as the previous duration\n node.elapsedTime = config.duration * node.durationProgress\n // add the delta so the below updates work as expected\n elapsed = node.elapsedTime += dt\n }\n }\n\n // calculate the new progress\n p = (config.progress || 0) + elapsed / this._memoizedDuration\n // p is clamped between 0-1\n p = p > 1 ? 1 : p < 0 ? 0 : p\n // store our new progress\n node.durationProgress = p\n }\n\n position = from + config.easing(p) * (to - from)\n velocity = (position - node.lastPosition) / dt\n\n finished = p == 1\n }\n\n // Decay easing\n else if (config.decay) {\n const decay = config.decay === true ? 0.998 : config.decay\n const e = Math.exp(-(1 - decay) * elapsed)\n\n position = from + (v0 / (1 - decay)) * (1 - e)\n finished = Math.abs(node.lastPosition - position) <= precision\n\n // derivative of position\n velocity = v0 * e\n }\n\n // Spring easing\n else {\n velocity = node.lastVelocity == null ? v0 : node.lastVelocity\n\n /** The velocity at which movement is essentially none */\n const restVelocity = config.restVelocity || precision / 10\n\n // Bouncing is opt-in (not to be confused with overshooting)\n const bounceFactor = config.clamp ? 0 : config.bounce!\n const canBounce = !is.und(bounceFactor)\n\n /** When `true`, the value is increasing over time */\n const isGrowing = from == to ? node.v0 > 0 : from < to\n\n /** When `true`, the velocity is considered moving */\n let isMoving!: boolean\n\n /** When `true`, the velocity is being deflected or clamped */\n let isBouncing = false\n\n const step = 1 // 1ms\n const numSteps = Math.ceil(dt / step)\n for (let n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity\n\n if (!isMoving) {\n finished = Math.abs(to - position) <= precision\n if (finished) {\n break\n }\n }\n\n if (canBounce) {\n isBouncing = position == to || position > to == isGrowing\n\n // Invert the velocity with a magnitude, or clamp it.\n if (isBouncing) {\n velocity = -velocity * bounceFactor\n position = to\n }\n }\n\n const springForce = -config.tension * 0.000001 * (position - to)\n const dampingForce = -config.friction * 0.001 * velocity\n const acceleration = (springForce + dampingForce) / config.mass // pt/ms^2\n\n velocity = velocity + acceleration * step // pt/ms\n position = position + velocity * step\n }\n }\n\n node.lastVelocity = velocity\n\n if (Number.isNaN(position)) {\n console.warn(`Got NaN while animating:`, this)\n finished = true\n }\n }\n\n // Parent springs must finish before their children can.\n if (payload && !payload[i].done) {\n finished = false\n }\n\n if (finished) {\n node.done = true\n } else {\n idle = false\n }\n\n if (node.setValue(position, config.round)) {\n changed = true\n }\n })\n\n const node = getAnimated(this)!\n /**\n * Get the node's current value, this will be different\n * to anim.to when config.decay is true\n */\n const currVal = node.getValue()\n if (idle) {\n // get our final fluid val from the anim.to\n const finalVal = getFluidValue(anim.to)\n /**\n * check if they're not equal, or if they're\n * change and if there's no config.decay set\n */\n if ((currVal !== finalVal || changed) && !config.decay) {\n // set the value to anim.to\n node.setValue(finalVal)\n this._onChange(finalVal)\n } else if (changed && config.decay) {\n /**\n * if it's changed but there is a config.decay,\n * just call _onChange with currrent value\n */\n this._onChange(currVal)\n }\n // call stop because the spring has stopped.\n this._stop()\n } else if (changed) {\n /**\n * if the spring has changed, but is not idle,\n * just call the _onChange handler\n */\n this._onChange(currVal)\n }\n }\n\n /** Set the current value, while stopping the current animation */\n set(value: T | FluidValue<T>) {\n raf.batchedUpdates(() => {\n this._stop()\n\n // These override the current value and goal value that may have\n // been updated by `onRest` handlers in the `_stop` call above.\n this._focus(value)\n this._set(value)\n })\n return this\n }\n\n /**\n * Freeze the active animation in time, as well as any updates merged\n * before `resume` is called.\n */\n pause() {\n this._update({ pause: true })\n }\n\n /** Resume the animation if paused. */\n resume() {\n this._update({ pause: false })\n }\n\n /** Skip to the end of the current animation. */\n finish() {\n if (isAnimating(this)) {\n const { to, config } = this.animation\n raf.batchedUpdates(() => {\n // Ensure the \"onStart\" and \"onRest\" props are called.\n this._onStart()\n\n // Jump to the goal value, except for decay animations\n // which have an undefined goal value.\n if (!config.decay) {\n this._set(to, false)\n }\n\n this._stop()\n })\n }\n return this\n }\n\n /** Push props into the pending queue. */\n update(props: SpringUpdate<T>) {\n const queue = this.queue || (this.queue = [])\n queue.push(props)\n return this\n }\n\n /**\n * Update this value's animation using the queue of pending props,\n * and unpause the current animation (if one is frozen).\n *\n * When arguments are passed, a new animation is created, and the\n * queued animations are left alone.\n */\n start(): AsyncResult<this>\n\n start(props: SpringUpdate<T>): AsyncResult<this>\n\n start(to: T, props?: SpringProps<T>): AsyncResult<this>\n\n start(to?: any, arg2?: any) {\n let queue: SpringUpdate<T>[]\n if (!is.und(to)) {\n queue = [is.obj(to) ? to : { ...arg2, to }]\n } else {\n queue = this.queue || []\n this.queue = []\n }\n\n return Promise.all(\n queue.map(props => {\n const up = this._update(props)\n return up\n })\n ).then(results => getCombinedResult(this, results))\n }\n\n /**\n * Stop the current animation, and cancel any delayed updates.\n *\n * Pass `true` to call `onRest` with `cancelled: true`.\n */\n stop(cancel?: boolean) {\n const { to } = this.animation\n\n // The current value becomes the goal value.\n this._focus(this.get())\n\n stopAsync(this._state, cancel && this._lastCallId)\n raf.batchedUpdates(() => this._stop(to, cancel))\n\n return this\n }\n\n /** Restart the animation. */\n reset() {\n this._update({ reset: true })\n }\n\n /** @internal */\n eventObserved(event: FrameValue.Event) {\n if (event.type == 'change') {\n this._start()\n } else if (event.type == 'priority') {\n this.priority = event.priority + 1\n }\n }\n\n /**\n * Parse the `to` and `from` range from the given `props` object.\n *\n * This also ensures the initial value is available to animated components\n * during the render phase.\n */\n protected _prepareNode(props: {\n to?: any\n from?: any\n reverse?: boolean\n default?: any\n }) {\n const key = this.key || ''\n\n let { to, from } = props\n\n to = is.obj(to) ? to[key] : to\n if (to == null || isAsyncTo(to)) {\n to = undefined\n }\n\n from = is.obj(from) ? from[key] : from\n if (from == null) {\n from = undefined\n }\n\n // Create the range now to avoid \"reverse\" logic.\n const range = { to, from }\n\n // Before ever animating, this method ensures an `Animated` node\n // exists and keeps its value in sync with the \"from\" prop.\n if (!hasAnimated(this)) {\n if (props.reverse) [to, from] = [from, to]\n\n from = getFluidValue(from)\n if (!is.und(from)) {\n this._set(from)\n }\n // Use the \"to\" value if our node is undefined.\n else if (!getAnimated(this)) {\n this._set(to)\n }\n }\n\n return range\n }\n\n /** Every update is processed by this method before merging. */\n protected _update(\n { ...props }: SpringProps<T>,\n isLoop?: boolean\n ): AsyncResult<SpringValue<T>> {\n const { key, defaultProps } = this\n\n // Update the default props immediately.\n if (props.default)\n Object.assign(\n defaultProps,\n getDefaultProps(props, (value, prop) =>\n /^on/.test(prop) ? resolveProp(value, key) : value\n )\n )\n\n mergeActiveFn(this, props, 'onProps')\n sendEvent(this, 'onProps', props, this)\n\n // Ensure the initial value can be accessed by animated components.\n const range = this._prepareNode(props)\n\n if (Object.isFrozen(this)) {\n throw Error(\n 'Cannot animate a `SpringValue` object that is frozen. ' +\n 'Did you forget to pass your component to `animated(...)` before animating its props?'\n )\n }\n\n const state = this._state\n\n return scheduleProps(++this._lastCallId, {\n key,\n props,\n defaultProps,\n state,\n actions: {\n pause: () => {\n if (!isPaused(this)) {\n setPausedBit(this, true)\n flushCalls(state.pauseQueue)\n sendEvent(\n this,\n 'onPause',\n getFinishedResult(this, checkFinished(this, this.animation.to)),\n this\n )\n }\n },\n resume: () => {\n if (isPaused(this)) {\n setPausedBit(this, false)\n if (isAnimating(this)) {\n this._resume()\n }\n flushCalls(state.resumeQueue)\n sendEvent(\n this,\n 'onResume',\n getFinishedResult(this, checkFinished(this, this.animation.to)),\n this\n )\n }\n },\n start: this._merge.bind(this, range),\n },\n }).then(result => {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props)\n if (nextProps) {\n return this._update(nextProps, true)\n }\n }\n return result\n })\n }\n\n /** Merge props into the current animation */\n protected _merge(\n range: AnimationRange<T>,\n props: RunAsyncProps<SpringValue<T>>,\n resolve: AnimationResolver<SpringValue<T>>\n ): void {\n // The \"cancel\" prop cancels all pending delays and it forces the\n // active animation to stop where it is.\n if (props.cancel) {\n this.stop(true)\n return resolve(getCancelledResult(this))\n }\n\n /** The \"to\" prop is defined. */\n const hasToProp = !is.und(range.to)\n\n /** The \"from\" prop is defined. */\n const hasFromProp = !is.und(range.from)\n\n // Avoid merging other props if implicitly prevented, except\n // when both the \"to\" and \"from\" props are undefined.\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId\n } else {\n return resolve(getCancelledResult(this))\n }\n }\n\n const { key, defaultProps, animation: anim } = this\n const { to: prevTo, from: prevFrom } = anim\n let { to = prevTo, from = prevFrom } = range\n\n // Focus the \"from\" value if changing without a \"to\" value.\n // For default updates, do this only if no \"to\" value exists.\n if (hasFromProp && !hasToProp && (!props.default || is.und(to))) {\n to = from\n }\n\n // Flip the current range if \"reverse\" is true.\n if (props.reverse) [to, from] = [from, to]\n\n /** The \"from\" value is changing. */\n const hasFromChanged = !isEqual(from, prevFrom)\n\n if (hasFromChanged) {\n anim.from = from\n }\n\n // Coerce \"from\" into a static value.\n from = getFluidValue(from)\n\n /** The \"to\" value is changing. */\n const hasToChanged = !isEqual(to, prevTo)\n\n if (hasToChanged) {\n this._focus(to)\n }\n\n /** The \"to\" prop is async. */\n const hasAsyncTo = isAsyncTo(props.to)\n\n const { config } = anim\n const { decay, velocity } = config\n\n // Reset to default velocity when goal values are defined.\n if (hasToProp || hasFromProp) {\n config.velocity = 0\n }\n\n // The \"runAsync\" function treats the \"config\" prop as a default,\n // so we must avoid merging it when the \"to\" prop is async.\n if (props.config && !hasAsyncTo) {\n mergeConfig(\n config,\n callProp(props.config, key!),\n // Avoid calling the same \"config\" prop twice.\n props.config !== defaultProps.config\n ? callProp(defaultProps.config, key!)\n : void 0\n )\n }\n\n // This instance might not have its Animated node yet. For example,\n // the constructor can be given props without a \"to\" or \"from\" value.\n let node = getAnimated(this)\n if (!node || is.und(to)) {\n return resolve(getFinishedResult(this, true))\n }\n\n /** When true, start at the \"from\" value. */\n const reset =\n // When `reset` is undefined, the `from` prop implies `reset: true`,\n // except for declarative updates. When `reset` is defined, there\n // must exist a value to animate from.\n is.und(props.reset)\n ? hasFromProp && !props.default\n : !is.und(from) && matchProp(props.reset, key)\n\n // The current value, where the animation starts from.\n const value = reset ? (from as T) : this.get()\n\n // The animation ends at this value, unless \"to\" is fluid.\n const goal = computeGoal<any>(to)\n\n // Only specific types can be animated to/from.\n const isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal)\n\n // When true, the value changes instantly on the next frame.\n const immediate =\n !hasAsyncTo &&\n (!isAnimatable ||\n matchProp(defaultProps.immediate || props.immediate, key))\n\n if (hasToChanged) {\n const nodeType = getAnimatedType(to)\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal)!\n } else\n throw Error(\n `Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the \"to\" prop suggests`\n )\n }\n }\n\n // The type of Animated node for the goal value.\n const goalType = node.constructor\n\n // When the goal value is fluid, we don't know if its value\n // will change before the next animation frame, so it always\n // starts the animation to be safe.\n let started = hasFluidValue(to)\n let finished = false\n\n if (!started) {\n // When true, the current value has probably changed.\n const hasValueChanged = reset || (!hasAnimated(this) && hasFromChanged)\n\n // When the \"to\" value or current value are changed,\n // start animating if not already finished.\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal)\n started = !finished\n }\n\n // Changing \"decay\" or \"velocity\" starts the animation.\n if (\n (!isEqual(anim.immediate, immediate) && !immediate) ||\n !isEqual(config.decay, decay) ||\n !isEqual(config.velocity, velocity)\n ) {\n started = true\n }\n }\n\n // Was the goal value set to the current value while animating?\n if (finished && isAnimating(this)) {\n // If the first frame has passed, allow the animation to\n // overshoot instead of stopping abruptly.\n if (anim.changed && !reset) {\n started = true\n }\n // Stop the animation before its first frame.\n else if (!started) {\n this._stop(prevTo)\n }\n }\n\n if (!hasAsyncTo) {\n // Make sure our \"toValues\" are updated even if our previous\n // \"to\" prop is a fluid value whose current value is also ours.\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload()\n anim.toValues = hasFluidValue(to)\n ? null\n : goalType == AnimatedString\n ? [1]\n : toArray(goal)\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate\n\n // Ensure the immediate goal is used as from value.\n if (!immediate && !reset) {\n this._set(prevTo)\n }\n }\n\n if (started) {\n const { onRest } = anim\n\n // Set the active handlers when an animation starts.\n each(ACTIVE_EVENTS, type => mergeActiveFn(this, props, type))\n\n const result = getFinishedResult(this, checkFinished(this, prevTo))\n flushCalls(this._pendingCalls, result)\n this._pendingCalls.add(resolve)\n\n if (anim.changed)\n raf.batchedUpdates(() => {\n // Ensure `onStart` can be called after a reset.\n anim.changed = !reset\n\n // Call the active `onRest` handler from the interrupted animation.\n onRest?.(result, this)\n\n // Notify the default `onRest` of the reset, but wait for the\n // first frame to pass before sending an `onStart` event.\n if (reset) {\n callProp(defaultProps.onRest, result)\n }\n // Call the active `onStart` handler here since the first frame\n // has already passed, which means this is a goal update and not\n // an entirely new animation.\n else {\n anim.onStart?.(result, this)\n }\n })\n }\n }\n\n if (reset) {\n this._set(value)\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this))\n }\n\n // Start an animation\n else if (started) {\n this._start()\n }\n\n // Postpone promise resolution until the animation is finished,\n // so that no-op updates still resolve at the expected time.\n else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve)\n }\n\n // Resolve our promise immediately.\n else {\n resolve(getNoopResult(value))\n }\n }\n\n /** Update the `animation.to` value, which might be a `FluidValue` */\n protected _focus(value: T | FluidValue<T>) {\n const anim = this.animation\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach()\n }\n anim.to = value\n if (getFluidObservers(this)) {\n this._attach()\n }\n }\n }\n\n protected _attach() {\n let priority = 0\n\n const { to } = this.animation\n if (hasFluidValue(to)) {\n addFluidObserver(to, this)\n if (isFrameValue(to)) {\n priority = to.priority + 1\n }\n }\n\n this.priority = priority\n }\n\n protected _detach() {\n const { to } = this.animation\n if (hasFluidValue(to)) {\n removeFluidObserver(to, this)\n }\n }\n\n /**\n * Update the current value from outside the frameloop,\n * and return the `Animated` node.\n */\n protected _set(arg: T | FluidValue<T>, idle = true): Animated | undefined {\n const value = getFluidValue(arg)\n if (!is.und(value)) {\n const oldNode = getAnimated(this)\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n // Create a new node or update the existing node.\n const nodeType = getAnimatedType(value)\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value))\n } else {\n oldNode.setValue(value)\n }\n // Never emit a \"change\" event for the initial value.\n if (oldNode) {\n raf.batchedUpdates(() => {\n this._onChange(value, idle)\n })\n }\n }\n }\n return getAnimated(this)\n }\n\n protected _onStart() {\n const anim = this.animation\n if (!anim.changed) {\n anim.changed = true\n sendEvent(\n this,\n 'onStart',\n getFinishedResult(this, checkFinished(this, anim.to)),\n this\n )\n }\n }\n\n protected _onChange(value: T, idle?: boolean) {\n if (!idle) {\n this._onStart()\n callProp(this.animation.onChange, value, this)\n }\n callProp(this.defaultProps.onChange, value, this)\n super._onChange(value, idle)\n }\n\n // This method resets the animation state (even if already animating) to\n // ensure the latest from/to range is used, and it also ensures this spring\n // is added to the frameloop.\n protected _start() {\n const anim = this.animation\n\n // Reset the state of each Animated node.\n getAnimated(this)!.reset(getFluidValue(anim.to))\n\n // Use the current values as the from values.\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(node => node.lastPosition)\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true)\n if (!isPaused(this)) {\n this._resume()\n }\n }\n }\n\n protected _resume() {\n // The \"skipAnimation\" global avoids the frameloop.\n if (G.skipAnimation) {\n this.finish()\n } else {\n frameLoop.start(this)\n }\n }\n\n /**\n * Exit the frameloop and notify `onRest` listeners.\n *\n * Always wrap `_stop` calls with `batchedUpdates`.\n */\n protected _stop(goal?: any, cancel?: boolean) {\n if (isAnimating(this)) {\n setActiveBit(this, false)\n\n const anim = this.animation\n each(anim.values, node => {\n node.done = true\n })\n\n // These active handlers must be reset to undefined or else\n // they could be called while idle. But keep them defined\n // when the goal value is dynamic.\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = undefined\n }\n\n callFluidObservers(this, {\n type: 'idle',\n parent: this,\n })\n\n const result = cancel\n ? getCancelledResult(this.get())\n : getFinishedResult(this.get(), checkFinished(this, goal ?? anim.to))\n\n flushCalls(this._pendingCalls, result)\n if (anim.changed) {\n anim.changed = false\n sendEvent(this, 'onRest', result, this)\n }\n }\n }\n}\n\n/** Returns true when the current value and goal value are equal. */\nfunction checkFinished<T>(target: SpringValue<T>, to: T | FluidValue<T>) {\n const goal = computeGoal(to)\n const value = computeGoal(target.get())\n return isEqual(value, goal)\n}\n\nexport function createLoopUpdate<T>(\n props: T & { loop?: any; to?: any; from?: any; reverse?: any },\n loop = props.loop,\n to = props.to\n): T | undefined {\n const loopRet = callProp(loop)\n if (loopRet) {\n const overrides = loopRet !== true && inferTo(loopRet)\n const reverse = (overrides || props).reverse\n const reset = !overrides || overrides.reset\n return createUpdate({\n ...props,\n loop,\n\n // Avoid updating default props when looping.\n default: false,\n\n // Never loop the `pause` prop.\n pause: undefined,\n\n // For the \"reverse\" prop to loop as expected, the \"to\" prop\n // must be undefined. The \"reverse\" prop is ignored when the\n // \"to\" prop is an array or function.\n to: !reverse || isAsyncTo(to) ? to : undefined,\n\n // Ignore the \"from\" prop except on reset.\n from: reset ? props.from : undefined,\n reset,\n\n // The \"loop\" prop can return a \"useSpring\" props object to\n // override any of the original props.\n ...overrides,\n })\n }\n}\n\n/**\n * Return a new object based on the given `props`.\n *\n * - All non-reserved props are moved into the `to` prop object.\n * - The `keys` prop is set to an array of affected keys,\n * or `null` if all keys are affected.\n */\nexport function createUpdate(props: any) {\n const { to, from } = (props = inferTo(props))\n\n // Collect the keys affected by this update.\n const keys = new Set<string>()\n\n if (is.obj(to)) findDefined(to, keys)\n if (is.obj(from)) findDefined(from, keys)\n\n // The \"keys\" prop helps in applying updates to affected keys only.\n props.keys = keys.size ? Array.from(keys) : null\n\n return props\n}\n\n/**\n * A modified version of `createUpdate` meant for declarative APIs.\n */\nexport function declareUpdate(props: any) {\n const update = createUpdate(props)\n if (is.und(update.default)) {\n update.default = getDefaultProps(update)\n }\n return update\n}\n\n/** Find keys with defined values */\nfunction findDefined(values: Lookup, keys: Set<string>) {\n eachProp(values, (value, key) => value != null && keys.add(key as any))\n}\n\n/** Event props with \"active handler\" support */\nconst ACTIVE_EVENTS = [\n 'onStart',\n 'onRest',\n 'onChange',\n 'onPause',\n 'onResume',\n] as const\n\nfunction mergeActiveFn<T, P extends EventKey>(\n target: SpringValue<T>,\n props: SpringProps<T>,\n type: P\n) {\n target.animation[type] =\n props[type] !== getDefaultProp(props, type)\n ? resolveProp<any>(props[type], target.key)\n : undefined\n}\n\ntype EventArgs<T, P extends EventKey> = Parameters<\n Extract<SpringProps<T>[P], Function>\n>\n\n/** Call the active handler first, then the default handler. */\nfunction sendEvent<T, P extends EventKey>(\n target: SpringValue<T>,\n type: P,\n ...args: EventArgs<T, P>\n) {\n target.animation[type]?.(...(args as [any, any]))\n target.defaultProps[type]?.(...(args as [any, any]))\n}\n","import { OneOrMore, UnknownProps, Lookup, Falsy } from '@react-spring/types'\nimport {\n is,\n raf,\n each,\n noop,\n flush,\n toArray,\n eachProp,\n flushCalls,\n addFluidObserver,\n FluidObserver,\n} from '@react-spring/shared'\n\nimport { getDefaultProp } from './helpers'\nimport { FrameValue } from './FrameValue'\nimport type { SpringRef } from './SpringRef'\nimport { SpringValue, createLoopUpdate, createUpdate } from './SpringValue'\nimport { getCancelledResult, getCombinedResult } from './AnimationResult'\nimport { runAsync, RunAsyncState, stopAsync } from './runAsync'\nimport { scheduleProps } from './scheduleProps'\nimport {\n AnimationResult,\n AsyncResult,\n ControllerFlushFn,\n ControllerUpdate,\n OnChange,\n OnRest,\n OnStart,\n SpringChain,\n SpringToFn,\n SpringValues,\n} from './types'\n\n/** Events batched by the `Controller` class */\nconst BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'] as const\n\nlet nextId = 1\n\n/** Queue of pending updates for a `Controller` instance. */\nexport interface ControllerQueue<State extends Lookup = Lookup>\n extends Array<\n ControllerUpdate<State, any> & {\n /** The keys affected by this update. When null, all keys are affected. */\n keys: string[] | null\n }\n > {}\n\nexport class Controller<State extends Lookup = Lookup> {\n readonly id = nextId++\n\n /** The animated values */\n springs: SpringValues<State> = {} as any\n\n /** The queue of props passed to the `update` method. */\n queue: ControllerQueue<State> = []\n\n /**\n * The injected ref. When defined, render-based updates are pushed\n * onto the `queue` instead of being auto-started.\n */\n ref?: SpringRef<State>\n\n /** Custom handler for flushing update queues */\n protected _flush?: ControllerFlushFn<this>\n\n /** These props are used by all future spring values */\n protected _initialProps?: Lookup\n\n /** The counter for tracking `scheduleProps` calls */\n protected _lastAsyncId = 0\n\n /** The values currently being animated */\n protected _active = new Set<FrameValue>()\n\n /** The values that changed recently */\n protected _changed = new Set<FrameValue>()\n\n /** Equals false when `onStart` listeners can be called */\n protected _started = false\n\n private _item?: any\n\n /** State used by the `runAsync` function */\n protected _state: RunAsyncState<this> = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set(),\n }\n\n /** The event queues that are flushed once per frame maximum */\n protected _events = {\n onStart: new Map<\n OnStart<SpringValue<State>, Controller<State>, any>,\n AnimationResult\n >(),\n onChange: new Map<\n OnChange<SpringValue<State>, Controller<State>, any>,\n AnimationResult\n >(),\n onRest: new Map<\n OnRest<SpringValue<State>, Controller<State>, any>,\n AnimationResult\n >(),\n }\n\n constructor(\n props?: ControllerUpdate<State> | null,\n flush?: ControllerFlushFn<any>\n ) {\n this._onFrame = this._onFrame.bind(this)\n if (flush) {\n this._flush = flush\n }\n if (props) {\n this.start({ default: true, ...props })\n }\n }\n\n /**\n * Equals `true` when no spring values are in the frameloop, and\n * no async animation is currently active.\n */\n get idle() {\n return (\n !this._state.asyncTo &&\n Object.values(this.springs as Lookup<SpringValue>).every(spring => {\n return spring.idle && !spring.isDelayed && !spring.isPaused\n })\n )\n }\n\n get item() {\n return this._item\n }\n\n set item(item) {\n this._item = item\n }\n\n /** Get the current values of our springs */\n get(): State & UnknownProps {\n const values: any = {}\n this.each((spring, key) => (values[key] = spring.get()))\n return values\n }\n\n /** Set the current values without animating. */\n set(values: Partial<State>) {\n for (const key in values) {\n const value = values[key]\n if (!is.und(value)) {\n this.springs[key].set(value)\n }\n }\n }\n\n /** Push an update onto the queue of each value. */\n update(props: ControllerUpdate<State> | Falsy) {\n if (props) {\n this.queue.push(createUpdate(props))\n }\n return this\n }\n\n /**\n * Start the queued animations for every spring, and resolve the returned\n * promise once all queued animations have finished or been cancelled.\n *\n * When you pass a queue (instead of nothing), that queue is used instead of\n * the queued animations added with the `update` method, which are left alone.\n */\n start(props?: OneOrMore<ControllerUpdate<State>> | null): AsyncResult<this> {\n let { queue } = this as any\n if (props) {\n queue = toArray<any>(props).map(createUpdate)\n } else {\n this.queue = []\n }\n\n if (this._flush) {\n return this._flush(this, queue)\n }\n\n prepareKeys(this, queue)\n return flushUpdateQueue(this, queue)\n }\n\n /** Stop all animations. */\n stop(): this\n /** Stop animations for the given keys. */\n stop(keys: OneOrMore<string>): this\n /** Cancel all animations. */\n stop(cancel: boolean): this\n /** Cancel animations for the given keys. */\n stop(cancel: boolean, keys: OneOrMore<string>): this\n /** Stop some or all animations. */\n stop(keys?: OneOrMore<string>): this\n /** Cancel some or all animations. */\n stop(cancel: boolean, keys?: OneOrMore<string>): this\n /** @internal */\n stop(arg?: boolean | OneOrMore<string>, keys?: OneOrMore<string>) {\n if (arg !== !!arg) {\n keys = arg as OneOrMore<string>\n }\n if (keys) {\n const springs = this.springs as Lookup<SpringValue>\n each(toArray(keys) as string[], key => springs[key].stop(!!arg))\n } else {\n stopAsync(this._state, this._lastAsyncId)\n this.each(spring => spring.stop(!!arg))\n }\n return this\n }\n\n /** Freeze the active animation in time */\n pause(keys?: OneOrMore<string>) {\n if (is.und(keys)) {\n this.start({ pause: true })\n } else {\n const springs = this.springs as Lookup<SpringValue>\n each(toArray(keys) as string[], key => springs[key].pause())\n }\n return this\n }\n\n /** Resume the animation if paused. */\n resume(keys?: OneOrMore<string>) {\n if (is.und(keys)) {\n this.start({ pause: false })\n } else {\n const springs = this.springs as Lookup<SpringValue>\n each(toArray(keys) as string[], key => springs[key].resume())\n }\n return this\n }\n\n /** Call a function once per spring value */\n each(iterator: (spring: SpringValue, key: string) => void) {\n eachProp(this.springs, iterator as any)\n }\n\n /** @internal Called at the end of every animation frame */\n protected _onFrame() {\n const { onStart, onChange, onRest } = this._events\n\n const active = this._active.size > 0\n const changed = this._changed.size > 0\n\n if ((active && !this._started) || (changed && !this._started)) {\n this._started = true\n flush(onStart, ([onStart, result]) => {\n result.value = this.get()\n onStart(result, this, this._item)\n })\n }\n\n const idle = !active && this._started\n const values = changed || (idle && onRest.size) ? this.get() : null\n\n if (changed && onChange.size) {\n flush(onChange, ([onChange, result]) => {\n result.value = values\n onChange(result, this, this._item)\n })\n }\n\n // The \"onRest\" queue is only flushed when all springs are idle.\n if (idle) {\n this._started = false\n flush(onRest, ([onRest, result]) => {\n result.value = values\n onRest(result, this, this._item)\n })\n }\n }\n\n /** @internal */\n eventObserved(event: FrameValue.Event) {\n if (event.type == 'change') {\n this._changed.add(event.parent)\n if (!event.idle) {\n this._active.add(event.parent)\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent)\n }\n // The `onFrame` handler runs when a parent is changed or idle.\n else return\n raf.onFrame(this._onFrame)\n }\n}\n\n/**\n * Warning: Props might be mutated.\n */\nexport function flushUpdateQueue(\n ctrl: Controller<any>,\n queue: ControllerQueue\n) {\n return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(\n results => getCombinedResult(ctrl, results)\n )\n}\n\n/**\n * Warning: Props might be mutated.\n *\n * Process a single set of props using the given controller.\n *\n * The returned promise resolves to `true` once the update is\n * applied and any animations it starts are finished without being\n * stopped or cancelled.\n */\nexport async function flushUpdate(\n ctrl: Controller<any>,\n props: ControllerQueue[number],\n isLoop?: boolean\n): AsyncResult {\n const { keys, to, from, loop, onRest, onResolve } = props\n const defaults = is.obj(props.default) && props.default\n\n // Looping must be handled in this function, or else the values\n // would end up looping out-of-sync in many common cases.\n if (loop) {\n props.loop = false\n }\n\n // Treat false like null, which gets ignored.\n if (to === false) props.to = null\n if (from === false) props.from = null\n\n const asyncTo = is.arr(to) || is.fun(to) ? to : undefined\n if (asyncTo) {\n props.to = undefined\n props.onRest = undefined\n if (defaults) {\n defaults.onRest = undefined\n }\n }\n // For certain events, use batching to prevent multiple calls per frame.\n // However, batching is avoided when the `to` prop is async, because any\n // event props are used as default props instead.\n else {\n each(BATCHED_EVENTS, key => {\n const handler: any = props[key]\n if (is.fun(handler)) {\n const queue = ctrl['_events'][key]\n props[key] = (({ finished, cancelled }: AnimationResult) => {\n const result = queue.get(handler)\n if (result) {\n if (!finished) result.finished = false\n if (cancelled) result.cancelled = true\n } else {\n // The \"value\" is set before the \"handler\" is called.\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false,\n })\n }\n }) as any\n\n // Avoid using a batched `handler` as a default prop.\n if (defaults) {\n defaults[key] = props[key] as any\n }\n }\n })\n }\n\n const state = ctrl['_state']\n\n // Pause/resume the `asyncTo` when `props.pause` is true/false.\n if (props.pause === !state.paused) {\n state.paused = props.pause\n flushCalls(props.pause ? state.pauseQueue : state.resumeQueue)\n }\n // When a controller is paused, its values are also paused.\n else if (state.paused) {\n props.pause = true\n }\n\n const promises: AsyncResult[] = (keys || Object.keys(ctrl.springs)).map(key =>\n ctrl.springs[key]!.start(props as any)\n )\n\n const cancel =\n props.cancel === true || getDefaultProp(props, 'cancel') === true\n\n if (asyncTo || (cancel && state.asyncId)) {\n promises.push(\n scheduleProps(++ctrl['_lastAsyncId'], {\n props,\n state,\n actions: {\n pause: noop,\n resume: noop,\n start(props, resolve) {\n if (cancel) {\n stopAsync(state, ctrl['_lastAsyncId'])\n resolve(getCancelledResult(ctrl))\n } else {\n props.onRest = onRest\n resolve(\n runAsync(\n asyncTo as SpringChain | SpringToFn,\n props,\n state,\n ctrl\n )\n )\n }\n },\n },\n })\n )\n }\n\n // Pause after updating each spring, so they can be resumed separately\n // and so their default `pause` and `cancel` props are updated.\n if (state.paused) {\n // Ensure `this` must be resumed before the returned promise\n // is resolved and before starting the next `loop` repetition.\n await new Promise<void>(resume => {\n state.resumeQueue.add(resume)\n })\n }\n\n const result = getCombinedResult<any>(ctrl, await Promise.all(promises))\n if (loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props, loop, to)\n if (nextProps) {\n prepareKeys(ctrl, [nextProps])\n return flushUpdate(ctrl, nextProps, true)\n }\n }\n if (onResolve) {\n raf.batchedUpdates(() => onResolve(result, ctrl, ctrl.item))\n }\n return result\n}\n\n/**\n * From an array of updates, get the map of `SpringValue` objects\n * by their keys. Springs are created when any update wants to\n * animate a new key.\n *\n * Springs created by `getSprings` are neither cached nor observed\n * until they're given to `setSprings`.\n */\nexport function getSprings<State extends Lookup>(\n ctrl: Controller<Lookup<any>>,\n props?: OneOrMore<ControllerUpdate<State>>\n) {\n const springs = { ...ctrl.springs }\n if (props) {\n each(toArray(props), (props: any) => {\n if (is.und(props.keys)) {\n props = createUpdate(props)\n }\n if (!is.obj(props.to)) {\n // Avoid passing array/function to each spring.\n props = { ...props, to: undefined }\n }\n prepareSprings(springs as any, props, key => {\n return createSpring(key)\n })\n })\n }\n setSprings(ctrl, springs)\n return springs\n}\n\n/**\n * Tell a controller to manage the given `SpringValue` objects\n * whose key is not already in use.\n */\nexport function setSprings(\n ctrl: Controller<Lookup<any>>,\n springs: SpringValues<UnknownProps>\n) {\n eachProp(springs, (spring, key) => {\n if (!ctrl.springs[key]) {\n ctrl.springs[key] = spring\n addFluidObserver(spring, ctrl)\n }\n })\n}\n\nfunction createSpring(key: string, observer?: FluidObserver<FrameValue.Event>) {\n const spring = new SpringValue()\n spring.key = key\n if (observer) {\n addFluidObserver(spring, observer)\n }\n return spring\n}\n\n/**\n * Ensure spring objects exist for each defined key.\n *\n * Using the `props`, the `Animated` node of each `SpringValue` may\n * be created or updated.\n */\nfunction prepareSprings(\n springs: SpringValues,\n props: ControllerQueue[number],\n create: (key: string) => SpringValue\n) {\n if (props.keys) {\n each(props.keys, key => {\n const spring = springs[key] || (springs[key] = create(key))\n spring['_prepareNode'](props)\n })\n }\n}\n\n/**\n * Ensure spring objects exist for each defined key, and attach the\n * `ctrl` to them for observation.\n *\n * The queue is expected to contain `createUpdate` results.\n */\nfunction prepareKeys(ctrl: Controller<any>, queue: ControllerQueue[number][]) {\n each(queue, props => {\n prepareSprings(ctrl.springs, props, key => {\n return createSpring(key, ctrl)\n })\n })\n}\n","import * as React from 'react'\nimport { useContext, PropsWithChildren } from 'react'\nimport { useMemoOne } from '@react-spring/shared'\n\n/**\n * This context affects all new and existing `SpringValue` objects\n * created with the hook API or the renderprops API.\n */\nexport interface SpringContext {\n /** Pause all new and existing animations. */\n pause?: boolean\n /** Force all new and existing animations to be immediate. */\n immediate?: boolean\n}\n\nexport const SpringContext = ({\n children,\n ...props\n}: PropsWithChildren<SpringContext>) => {\n const inherited = useContext(ctx)\n\n // Inherited values are dominant when truthy.\n const pause = props.pause || !!inherited.pause,\n immediate = props.immediate || !!inherited.immediate\n\n // Memoize the context to avoid unwanted renders.\n props = useMemoOne(() => ({ pause, immediate }), [pause, immediate])\n\n const { Provider } = ctx\n return <Provider value={props}>{children}</Provider>\n}\n\nconst ctx = makeContext(SpringContext, {} as SpringContext)\n\n// Allow `useContext(SpringContext)` in TypeScript.\nSpringContext.Provider = ctx.Provider\nSpringContext.Consumer = ctx.Consumer\n\n/** Make the `target` compatible with `useContext` */\nfunction makeContext<T>(target: any, init: T): React.Context<T> {\n Object.assign(target, React.createContext(init))\n target.Provider._context = target\n target.Consumer._context = target\n return target\n}\n","import { useEffect, useRef, useState } from 'react'\n\ntype Cache<T> = {\n inputs?: any[]\n result?: T\n}\n\n// TODO: remove once merged (https://github.com/alexreardon/use-memo-one/pull/10)\nexport function useMemoOne<T>(getResult: () => T, inputs?: any[]): T {\n const [initial] = useState(\n (): Cache<T> => ({\n inputs,\n result: getResult(),\n })\n )\n\n const committed = useRef<Cache<T>>()\n const prevCache = committed.current\n\n let cache = prevCache\n if (cache) {\n const useCache = Boolean(\n inputs && cache.inputs && areInputsEqual(inputs, cache.inputs)\n )\n if (!useCache) {\n cache = {\n inputs,\n result: getResult(),\n }\n }\n } else {\n cache = initial\n }\n\n useEffect(() => {\n committed.current = cache\n if (prevCache == initial) {\n initial.inputs = initial.result = undefined\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cache])\n\n return cache.result!\n}\n\nfunction areInputsEqual(next: any[], prev: any[]) {\n if (next.length !== prev.length) {\n return false\n }\n for (let i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false\n }\n }\n return true\n}\n","import { each, is, deprecateDirectCall } from '@react-spring/shared'\nimport { Lookup, Falsy, OneOrMore } from '@react-spring/types'\nimport { AsyncResult, ControllerUpdate } from './types'\nimport { Controller } from './Controller'\n\nexport interface ControllerUpdateFn<State extends Lookup = Lookup> {\n (i: number, ctrl: Controller<State>): ControllerUpdate<State> | Falsy\n}\n\nexport interface SpringRef<State extends Lookup = Lookup> {\n (props?: ControllerUpdate<State> | ControllerUpdateFn<State>): AsyncResult<\n Controller<State>\n >[]\n current: Controller<State>[]\n\n /** Add a controller to this ref */\n add(ctrl: Controller<State>): void\n\n /** Remove a controller from this ref */\n delete(ctrl: Controller<State>): void\n\n /** Pause all animations. */\n pause(): this\n /** Pause animations for the given keys. */\n pause(keys: OneOrMore<string>): this\n /** Pause some or all animations. */\n pause(keys?: OneOrMore<string>): this\n\n /** Resume all animations. */\n resume(): this\n /** Resume animations for the given keys. */\n resume(keys: OneOrMore<string>): this\n /** Resume some or all animations. */\n resume(keys?: OneOrMore<string>): this\n\n /** Update the state of each controller without animating. */\n set(values: Partial<State>): void\n /** Update the state of each controller without animating based on their passed state. */\n set(values: (index: number, ctrl: Controller<State>) => Partial<State>): void\n\n /** Start the queued animations of each controller. */\n start(): AsyncResult<Controller<State>>[]\n /** Update every controller with the same props. */\n start(props: ControllerUpdate<State>): AsyncResult<Controller<State>>[]\n /** Update controllers based on their state. */\n start(props: ControllerUpdateFn<State>): AsyncResult<Controller<State>>[]\n /** Start animating each controller. */\n start(\n props?: ControllerUpdate<State> | ControllerUpdateFn<State>\n ): AsyncResult<Controller<State>>[]\n\n /** Stop all animations. */\n stop(): this\n /** Stop animations for the given keys. */\n stop(keys: OneOrMore<string>): this\n /** Cancel all animations. */\n stop(cancel: boolean): this\n /** Cancel animations for the given keys. */\n stop(cancel: boolean, keys: OneOrMore<string>): this\n /** Stop some or all animations. */\n stop(keys?: OneOrMore<string>): this\n /** Cancel some or all animations. */\n stop(cancel: boolean, keys?: OneOrMore<string>): this\n\n /** Add the same props to each controller's update queue. */\n update(props: ControllerUpdate<State>): this\n /** Generate separate props for each controller's update queue. */\n update(props: ControllerUpdateFn<State>): this\n /** Add props to each controller's update queue. */\n update(props: ControllerUpdate<State> | ControllerUpdateFn<State>): this\n\n _getProps(\n arg: ControllerUpdate<State> | ControllerUpdateFn<State>,\n ctrl: Controller<State>,\n index: number\n ): ControllerUpdate<State> | Falsy\n}\n\nexport const SpringRef = <\n State extends Lookup = Lookup\n>(): SpringRef<State> => {\n const current: Controller<State>[] = []\n\n const SpringRef: SpringRef<State> = function (props) {\n deprecateDirectCall()\n\n const results: AsyncResult[] = []\n\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start())\n } else {\n const update = _getProps(props, ctrl, i)\n if (update) {\n results.push(ctrl.start(update))\n }\n }\n })\n\n return results\n }\n\n SpringRef.current = current\n\n /** Add a controller to this ref */\n SpringRef.add = function (ctrl: Controller<State>) {\n if (!current.includes(ctrl)) {\n current.push(ctrl)\n }\n }\n\n /** Remove a controller from this ref */\n SpringRef.delete = function (ctrl: Controller<State>) {\n const i = current.indexOf(ctrl)\n if (~i) current.splice(i, 1)\n }\n\n /** Pause all animations. */\n SpringRef.pause = function () {\n each(current, ctrl => ctrl.pause(...arguments))\n return this\n }\n\n /** Resume all animations. */\n SpringRef.resume = function () {\n each(current, ctrl => ctrl.resume(...arguments))\n return this\n }\n\n /** Update the state of each controller without animating. */\n SpringRef.set = function (\n values:\n | Partial<State>\n | ((i: number, ctrl: Controller<State>) => Partial<State>)\n ) {\n each(current, (ctrl, i) => {\n const update = is.fun(values) ? values(i, ctrl) : values\n if (update) {\n ctrl.set(update)\n }\n })\n }\n\n SpringRef.start = function (props?: object | ControllerUpdateFn<State>) {\n const results: AsyncResult[] = []\n\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start())\n } else {\n const update = this._getProps(props, ctrl, i)\n if (update) {\n results.push(ctrl.start(update))\n }\n }\n })\n\n return results\n }\n\n /** Stop all animations. */\n SpringRef.stop = function () {\n each(current, ctrl => ctrl.stop(...arguments))\n return this\n }\n\n SpringRef.update = function (props: object | ControllerUpdateFn<State>) {\n each(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i)))\n return this\n }\n\n /** Overridden by `useTrail` to manipulate props */\n const _getProps = function (\n arg: ControllerUpdate<State> | ControllerUpdateFn<State>,\n ctrl: Controller<State>,\n index: number\n ) {\n return is.fun(arg) ? arg(index, ctrl) : arg\n }\n\n SpringRef._getProps = _getProps\n\n return SpringRef\n}\n","import { useContext, useMemo, useRef } from 'react'\nimport { Lookup } from '@react-spring/types'\nimport {\n is,\n each,\n usePrev,\n useOnce,\n useForceUpdate,\n useIsomorphicLayoutEffect,\n} from '@react-spring/shared'\n\nimport {\n ControllerFlushFn,\n ControllerUpdate,\n PickAnimated,\n SpringValues,\n} from '../types'\nimport { UseSpringProps } from './useSpring'\nimport { declareUpdate } from '../SpringValue'\nimport {\n Controller,\n getSprings,\n flushUpdateQueue,\n setSprings,\n} from '../Controller'\nimport { hasProps, detachRefs, replaceRef } from '../helpers'\nimport { SpringContext } from '../SpringContext'\nimport { SpringRef } from '../SpringRef'\nimport type { SpringRef as SpringRefType } from '../SpringRef'\n\nexport type UseSpringsProps<State extends Lookup = Lookup> = unknown &\n ControllerUpdate<State> & {\n ref?: SpringRefType<State>\n }\n\n/**\n * When the `deps` argument exists, the `props` function is called whenever\n * the `deps` change on re-render.\n *\n * Without the `deps` argument, the `props` function is only called once.\n */\nexport function useSprings<Props extends UseSpringProps>(\n length: number,\n props: (i: number, ctrl: Controller) => Props,\n deps?: readonly any[]\n): PickAnimated<Props> extends infer State\n ? State extends Lookup<any>\n ? [SpringValues<State>[], SpringRefType<State>]\n : never\n : never\n\n/**\n * Animations are updated on re-render.\n */\nexport function useSprings<Props extends UseSpringsProps>(\n length: number,\n props: Props[] & UseSpringsProps<PickAnimated<Props>>[]\n): SpringValues<PickAnimated<Props>>[]\n\n/**\n * When the `deps` argument exists, you get the `update` and `stop` function.\n */\nexport function useSprings<Props extends UseSpringsProps>(\n length: number,\n props: Props[] & UseSpringsProps<PickAnimated<Props>>[],\n deps: readonly any[] | undefined\n): PickAnimated<Props> extends infer State\n ? State extends Lookup<any>\n ? [SpringValues<State>[], SpringRefType<State>]\n : never\n : never\n\n/** @internal */\nexport function useSprings(\n length: number,\n props: any[] | ((i: number, ctrl: Controller) => any),\n deps?: readonly any[]\n): any {\n const propsFn = is.fun(props) && props\n if (propsFn && !deps) deps = []\n\n // Create a local ref if a props function or deps array is ever passed.\n const ref = useMemo(\n () => (propsFn || arguments.length == 3 ? SpringRef() : void 0),\n []\n )\n\n interface State {\n // The controllers used for applying updates.\n ctrls: Controller[]\n // The queue of changes to make on commit.\n queue: Array<() => void>\n // The flush function used by controllers.\n flush: ControllerFlushFn\n }\n\n // Set to 0 to prevent sync flush.\n const layoutId = useRef(0)\n const forceUpdate = useForceUpdate()\n\n // State is updated on commit.\n const state = useMemo(\n (): State => ({\n ctrls: [],\n queue: [],\n flush(ctrl, updates) {\n const springs = getSprings(ctrl, updates)\n\n // Flushing is postponed until the component's commit phase\n // if a spring was created since the last commit.\n const canFlushSync =\n layoutId.current > 0 &&\n !state.queue.length &&\n !Object.keys(springs).some(key => !ctrl.springs[key])\n\n return canFlushSync\n ? flushUpdateQueue(ctrl, updates)\n : new Promise<any>(resolve => {\n setSprings(ctrl, springs)\n state.queue.push(() => {\n resolve(flushUpdateQueue(ctrl, updates))\n })\n forceUpdate()\n })\n },\n }),\n []\n )\n\n const ctrls = useRef([...state.ctrls])\n const updates: any[] = []\n\n // Cache old controllers to dispose in the commit phase.\n const prevLength = usePrev(length) || 0\n\n // Create new controllers when \"length\" increases, and destroy\n // the affected controllers when \"length\" decreases.\n useMemo(() => {\n // Clean up any unused controllers\n each(ctrls.current.slice(length, prevLength), ctrl => {\n detachRefs(ctrl, ref)\n ctrl.stop(true)\n })\n ctrls.current.length = length\n\n declareUpdates(prevLength, length)\n }, [length])\n\n // Update existing controllers when \"deps\" are changed.\n useMemo(() => {\n declareUpdates(0, Math.min(prevLength, length))\n }, deps)\n\n /** Fill the `updates` array with declarative updates for the given index range. */\n function declareUpdates(startIndex: number, endIndex: number) {\n for (let i = startIndex; i < endIndex; i++) {\n const ctrl =\n ctrls.current[i] ||\n (ctrls.current[i] = new Controller(null, state.flush))\n\n const update: UseSpringProps<any> = propsFn\n ? propsFn(i, ctrl)\n : (props as any)[i]\n\n if (update) {\n updates[i] = declareUpdate(update)\n }\n }\n }\n\n // New springs are created during render so users can pass them to\n // their animated components, but new springs aren't cached until the\n // commit phase (see the `useIsomorphicLayoutEffect` callback below).\n const springs = ctrls.current.map((ctrl, i) => getSprings(ctrl, updates[i]))\n\n const context = useContext(SpringContext)\n const prevContext = usePrev(context)\n const hasContext = context !== prevContext && hasProps(context)\n\n useIsomorphicLayoutEffect(() => {\n layoutId.current++\n\n // Replace the cached controllers.\n state.ctrls = ctrls.current\n\n // Flush the commit queue.\n const { queue } = state\n if (queue.length) {\n state.queue = []\n each(queue, cb => cb())\n }\n\n // Update existing controllers.\n each(ctrls.current, (ctrl, i) => {\n // Attach the controller to the local ref.\n ref?.add(ctrl)\n\n // Update the default props.\n if (hasContext) {\n ctrl.start({ default: context })\n }\n\n // Apply updates created during render.\n const update = updates[i]\n if (update) {\n // Update the injected ref if needed.\n replaceRef(ctrl, update.ref)\n\n // When an injected ref exists, the update is postponed\n // until the ref has its `start` method called.\n if (ctrl.ref) {\n ctrl.queue.push(update)\n } else {\n ctrl.start(update)\n }\n }\n })\n })\n\n // Cancel the animations of all controllers on unmount.\n useOnce(() => () => {\n each(state.ctrls, ctrl => ctrl.stop(true))\n })\n\n // Return a deep copy of the `springs` array so the caller can\n // safely mutate it during render.\n const values = springs.map(x => ({ ...x }))\n\n return ref ? [values, ref] : values\n}\n","import { Lookup, Remap } from '@react-spring/types'\nimport { is } from '@react-spring/shared'\n\nimport { ControllerUpdate, PickAnimated, SpringValues } from '../types'\nimport { Valid } from '../types/common'\nimport { SpringRef } from '../SpringRef'\nimport { useSprings } from './useSprings'\n\n/**\n * The props that `useSpring` recognizes.\n */\nexport type UseSpringProps<Props extends object = any> = unknown &\n PickAnimated<Props> extends infer State\n ? State extends Lookup\n ? Remap<\n ControllerUpdate<State> & {\n /**\n * Used to access the imperative API.\n *\n * When defined, the render animation won't auto-start.\n */\n ref?: SpringRef<State>\n }\n >\n : never\n : never\n\n/**\n * The `props` function is only called on the first render, unless\n * `deps` change (when defined). State is inferred from forward props.\n */\nexport function useSpring<Props extends object>(\n props:\n | Function\n | (() => (Props & Valid<Props, UseSpringProps<Props>>) | UseSpringProps),\n deps?: readonly any[] | undefined\n): PickAnimated<Props> extends infer State\n ? State extends Lookup\n ? [SpringValues<State>, SpringRef<State>]\n : never\n : never\n\n/**\n * Updated on every render, with state inferred from forward props.\n */\nexport function useSpring<Props extends object>(\n props: (Props & Valid<Props, UseSpringProps<Props>>) | UseSpringProps\n): SpringValues<PickAnimated<Props>>\n\n/**\n * Updated only when `deps` change, with state inferred from forward props.\n */\nexport function useSpring<Props extends object>(\n props: (Props & Valid<Props, UseSpringProps<Props>>) | UseSpringProps,\n deps: readonly any[] | undefined\n): PickAnimated<Props> extends infer State\n ? State extends Lookup\n ? [SpringValues<State>, SpringRef<State>]\n : never\n : never\n\n/** @internal */\nexport function useSpring(props: any, deps?: readonly any[]) {\n const isFn = is.fun(props)\n const [[values], ref] = useSprings(\n 1,\n isFn ? props : [props],\n isFn ? deps || [] : deps\n )\n return isFn || arguments.length == 2 ? [values, ref] : values\n}\n","import * as React from 'react'\nimport { useContext, useRef, useMemo } from 'react'\nimport { Lookup, OneOrMore, UnknownProps } from '@react-spring/types'\nimport {\n is,\n toArray,\n useForceUpdate,\n useOnce,\n usePrev,\n each,\n useIsomorphicLayoutEffect,\n} from '@react-spring/shared'\n\nimport {\n Change,\n ControllerUpdate,\n ItemKeys,\n PickAnimated,\n TransitionFn,\n TransitionState,\n TransitionTo,\n UseTransitionProps,\n} from '../types'\nimport { Valid } from '../types/common'\nimport {\n callProp,\n detachRefs,\n getDefaultProps,\n hasProps,\n inferTo,\n replaceRef,\n} from '../helpers'\nimport { Controller, getSprings } from '../Controller'\nimport { SpringContext } from '../SpringContext'\nimport { SpringRef } from '../SpringRef'\nimport type { SpringRef as SpringRefType } from '../SpringRef'\nimport { TransitionPhase } from '../TransitionPhase'\n\ndeclare function setTimeout(handler: Function, timeout?: number): number\ndeclare function clearTimeout(timeoutId: number): void\n\nexport function useTransition<Item, Props extends object>(\n data: OneOrMore<Item>,\n props: () =>\n | UseTransitionProps<Item>\n | (Props & Valid<Props, UseTransitionProps<Item>>),\n deps?: any[]\n): PickAnimated<Props> extends infer State\n ? State extends Lookup\n ? [TransitionFn<Item, PickAnimated<Props>>, SpringRefType<State>]\n : never\n : never\n\nexport function useTransition<Item, Props extends object>(\n data: OneOrMore<Item>,\n props:\n | UseTransitionProps<Item>\n | (Props & Valid<Props, UseTransitionProps<Item>>)\n): TransitionFn<Item, PickAnimated<Props>>\n\nexport function useTransition<Item, Props extends object>(\n data: OneOrMore<Item>,\n props:\n | UseTransitionProps<Item>\n | (Props & Valid<Props, UseTransitionProps<Item>>),\n deps: any[] | undefined\n): PickAnimated<Props> extends infer State\n ? State extends Lookup\n ? [TransitionFn<Item, State>, SpringRefType<State>]\n : never\n : never\n\nexport function useTransition(\n data: unknown,\n props: UseTransitionProps | (() => any),\n deps?: any[]\n): any {\n const propsFn = is.fun(props) && props\n\n const {\n reset,\n sort,\n trail = 0,\n expires = true,\n exitBeforeEnter = false,\n onDestroyed,\n ref: propsRef,\n config: propsConfig,\n }: UseTransitionProps<any> = propsFn ? propsFn() : props\n\n // Return a `SpringRef` if a deps array was passed.\n const ref = useMemo(\n () => (propsFn || arguments.length == 3 ? SpringRef() : void 0),\n []\n )\n\n // Every item has its own transition.\n const items = toArray(data)\n const transitions: TransitionState[] = []\n\n // The \"onRest\" callbacks need a ref to the latest transitions.\n const usedTransitions = useRef<TransitionState[] | null>(null)\n const prevTransitions = reset ? null : usedTransitions.current\n\n useIsomorphicLayoutEffect(() => {\n usedTransitions.current = transitions\n })\n\n useOnce(() => {\n /**\n * If transitions exist on mount of the component\n * then reattach their refs on-mount, this was required\n * for react18 strict mode to work properly.\n *\n * See https://github.com/pmndrs/react-spring/issues/1890\n */\n\n each(transitions, t => {\n ref?.add(t.ctrl)\n t.ctrl.ref = ref\n })\n\n // Destroy all transitions on dismount.\n return () => {\n each(usedTransitions.current!, t => {\n if (t.expired) {\n clearTimeout(t.expirationId!)\n }\n detachRefs(t.ctrl, ref)\n t.ctrl.stop(true)\n })\n }\n })\n\n // Keys help with reusing transitions between renders.\n // The `key` prop can be undefined (which means the items themselves are used\n // as keys), or a function (which maps each item to its key), or an array of\n // keys (which are assigned to each item by index).\n const keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions)\n\n // Expired transitions that need clean up.\n const expired = (reset && usedTransitions.current) || []\n useIsomorphicLayoutEffect(() =>\n each(expired, ({ ctrl, item, key }) => {\n detachRefs(ctrl, ref)\n callProp(onDestroyed, item, key)\n })\n )\n\n // Map old indices to new indices.\n const reused: number[] = []\n if (prevTransitions)\n each(prevTransitions, (t, i) => {\n // Expired transitions are not rendered.\n if (t.expired) {\n clearTimeout(t.expirationId!)\n expired.push(t)\n } else {\n i = reused[i] = keys.indexOf(t.key)\n if (~i) transitions[i] = t\n }\n })\n\n // Mount new items with fresh transitions.\n each(items, (item, i) => {\n if (!transitions[i]) {\n transitions[i] = {\n key: keys[i],\n item,\n phase: TransitionPhase.MOUNT,\n ctrl: new Controller(),\n }\n\n transitions[i].ctrl.item = item\n }\n })\n\n // Update the item of any transition whose key still exists,\n // and ensure leaving transitions are rendered until they finish.\n if (reused.length) {\n let i = -1\n const { leave }: UseTransitionProps<any> = propsFn ? propsFn() : props\n each(reused, (keyIndex, prevIndex) => {\n const t = prevTransitions![prevIndex]\n if (~keyIndex) {\n i = transitions.indexOf(t)\n transitions[i] = { ...t, item: items[keyIndex] }\n } else if (leave) {\n transitions.splice(++i, 0, t)\n }\n })\n }\n\n if (is.fun(sort)) {\n transitions.sort((a, b) => sort(a.item, b.item))\n }\n\n // Track cumulative delay for the \"trail\" prop.\n let delay = -trail\n\n // Expired transitions use this to dismount.\n const forceUpdate = useForceUpdate()\n\n // These props are inherited by every phase change.\n const defaultProps = getDefaultProps<UseTransitionProps>(props)\n // Generate changes to apply in useEffect.\n const changes = new Map<TransitionState, Change>()\n const exitingTransitions = useRef(new Map<TransitionState, Change>())\n\n const forceChange = useRef(false)\n each(transitions, (t, i) => {\n const key = t.key\n const prevPhase = t.phase\n\n const p: UseTransitionProps<any> = propsFn ? propsFn() : props\n\n let to: TransitionTo<any>\n let phase: TransitionPhase\n\n const propsDelay = callProp(p.delay || 0, key)\n\n if (prevPhase == TransitionPhase.MOUNT) {\n to = p.enter\n phase = TransitionPhase.ENTER\n } else {\n const isLeave = keys.indexOf(key) < 0\n if (prevPhase != TransitionPhase.LEAVE) {\n if (isLeave) {\n to = p.leave\n phase = TransitionPhase.LEAVE\n } else if ((to = p.update)) {\n phase = TransitionPhase.UPDATE\n } else return\n } else if (!isLeave) {\n to = p.enter\n phase = TransitionPhase.ENTER\n } else return\n }\n\n // When \"to\" is a function, it can return (1) an array of \"useSpring\" props,\n // (2) an async function, or (3) an object with any \"useSpring\" props.\n to = callProp(to, t.item, i)\n to = is.obj(to) ? inferTo(to) : { to }\n\n /**\n * This would allow us to give different delays for phases.\n * If we were to do this, we'd have to suffle the prop\n * spreading below to set delay last.\n * But if we were going to do that, we should consider letting\n * the prop trail also be part of a phase.\n */\n // if (to.delay) {\n // phaseDelay = callProp(to.delay, key)\n // }\n\n if (!to.config) {\n const config = propsConfig || defaultProps.config\n to.config = callProp(config, t.item, i, phase)\n }\n\n delay += trail\n\n // The payload is used to update the spring props once the current render is committed.\n const payload: ControllerUpdate<UnknownProps> = {\n ...defaultProps,\n // we need to add our props.delay value you here.\n delay: propsDelay + delay,\n ref: propsRef,\n immediate: p.immediate,\n // This prevents implied resets.\n reset: false,\n // Merge any phase-specific props.\n ...(to as any),\n }\n\n if (phase == TransitionPhase.ENTER && is.und(payload.from)) {\n const p = propsFn ? propsFn() : props\n // The `initial` prop is used on the first render of our parent component,\n // as well as when `reset: true` is passed. It overrides the `from` prop\n // when defined, and it makes `enter` instant when null.\n const from = is.und(p.initial) || prevTransitions ? p.from : p.initial\n\n payload.from = callProp(from, t.item, i)\n }\n\n const { onResolve } = payload\n payload.onResolve = result => {\n callProp(onResolve, result)\n\n const transitions = usedTransitions.current!\n const t = transitions.find(t => t.key === key)\n if (!t) return\n\n // Reset the phase of a cancelled enter/leave transition, so it can\n // retry the animation on the next render.\n if (result.cancelled && t.phase != TransitionPhase.UPDATE) {\n /**\n * @legacy Reset the phase of a cancelled enter/leave transition, so it can\n * retry the animation on the next render.\n *\n * Note: leaving this here made the transitioned item respawn.\n */\n // t.phase = prevPhase\n return\n }\n\n if (t.ctrl.idle) {\n const idle = transitions.every(t => t.ctrl.idle)\n if (t.phase == TransitionPhase.LEAVE) {\n const expiry = callProp(expires, t.item)\n if (expiry !== false) {\n const expiryMs = expiry === true ? 0 : expiry\n t.expired = true\n\n // Force update once the expiration delay ends.\n if (!idle && expiryMs > 0) {\n // The maximum timeout is 2^31-1\n if (expiryMs <= 0x7fffffff)\n t.expirationId = setTimeout(forceUpdate, expiryMs)\n return\n }\n }\n }\n // Force update once idle and expired items exist.\n if (idle && transitions.some(t => t.expired)) {\n /**\n * Remove the exited transition from the list\n * this may not exist but we'll try anyway.\n */\n exitingTransitions.current.delete(t)\n\n if (exitBeforeEnter) {\n /**\n * If we have exitBeforeEnter == true\n * we need to force the animation to start\n */\n forceChange.current = true\n }\n\n forceUpdate()\n }\n }\n }\n\n const springs = getSprings(t.ctrl, payload)\n\n /**\n * Make a separate map for the exiting changes and \"regular\" changes\n */\n if (phase === TransitionPhase.LEAVE && exitBeforeEnter) {\n exitingTransitions.current.set(t, { phase, springs, payload })\n } else {\n changes.set(t, { phase, springs, payload })\n }\n })\n\n // The prop overrides from an ancestor.\n const context = useContext(SpringContext)\n const prevContext = usePrev(context)\n const hasContext = context !== prevContext && hasProps(context)\n\n // Merge the context into each transition.\n useIsomorphicLayoutEffect(() => {\n if (hasContext) {\n each(transitions, t => {\n t.ctrl.start({ default: context })\n })\n }\n }, [context])\n\n each(changes, (_, t) => {\n /**\n * If we have children to exit because exitBeforeEnter is\n * set to true, we remove the transitions so they go to back\n * to their initial state.\n */\n if (exitingTransitions.current.size) {\n const ind = transitions.findIndex(state => state.key === t.key)\n transitions.splice(ind, 1)\n }\n })\n\n useIsomorphicLayoutEffect(\n () => {\n /*\n * if exitingTransitions.current has a size it means we're exiting before enter\n * so we want to map through those and fire those first.\n */\n each(\n exitingTransitions.current.size ? exitingTransitions.current : changes,\n ({ phase, payload }, t) => {\n const { ctrl } = t\n\n t.phase = phase\n\n // Attach the controller to our local ref.\n ref?.add(ctrl)\n\n // Merge the context into new items.\n if (hasContext && phase == TransitionPhase.ENTER) {\n ctrl.start({ default: context })\n }\n\n if (payload) {\n // Update the injected ref if needed.\n replaceRef(ctrl, payload.ref)\n\n /**\n * When an injected ref exists, the update is postponed\n * until the ref has its `start` method called.\n * Unless we have exitBeforeEnter in which case will skip\n * to enter the new animation straight away as if they \"overlapped\"\n */\n if ((ctrl.ref || ref) && !forceChange.current) {\n ctrl.update(payload)\n } else {\n ctrl.start(payload)\n\n if (forceChange.current) {\n forceChange.current = false\n }\n }\n }\n }\n )\n },\n reset ? void 0 : deps\n )\n\n const renderTransitions: TransitionFn = render => (\n <>\n {transitions.map((t, i) => {\n const { springs } = changes.get(t) || t.ctrl\n const elem: any = render({ ...springs }, t.item, t, i)\n return elem && elem.type ? (\n <elem.type\n {...elem.props}\n key={is.str(t.key) || is.num(t.key) ? t.key : t.ctrl.id}\n ref={elem.ref}\n />\n ) : (\n elem\n )\n })}\n </>\n )\n\n return ref ? [renderTransitions, ref] : renderTransitions\n}\n\n/** Local state for auto-generated item keys */\nlet nextKey = 1\n\nfunction getKeys(\n items: readonly any[],\n { key, keys = key }: { key?: ItemKeys; keys?: ItemKeys },\n prevTransitions: TransitionState[] | null\n): readonly any[] {\n if (keys === null) {\n const reused = new Set()\n return items.map(item => {\n const t =\n prevTransitions &&\n prevTransitions.find(\n t =>\n t.item === item &&\n t.phase !== TransitionPhase.LEAVE &&\n !reused.has(t)\n )\n if (t) {\n reused.add(t)\n return t.key\n }\n return nextKey++\n })\n }\n return is.und(keys) ? items : is.fun(keys) ? items.map(keys) : toArray(keys)\n}\n","import { Arrify, InterpolatorArgs, InterpolatorFn } from '@react-spring/types'\nimport {\n is,\n raf,\n each,\n isEqual,\n toArray,\n frameLoop,\n FluidValue,\n getFluidValue,\n createInterpolator,\n Globals as G,\n callFluidObservers,\n addFluidObserver,\n removeFluidObserver,\n hasFluidValue,\n} from '@react-spring/shared'\n\nimport { FrameValue, isFrameValue } from './FrameValue'\nimport {\n getAnimated,\n setAnimated,\n getAnimatedType,\n getPayload,\n} from '@react-spring/animated'\n\n/**\n * An `Interpolation` is a memoized value that's computed whenever one of its\n * `FluidValue` dependencies has its value changed.\n *\n * Other `FrameValue` objects can depend on this. For example, passing an\n * `Interpolation` as the `to` prop of a `useSpring` call will trigger an\n * animation toward the memoized value.\n */\nexport class Interpolation<\n Input = any,\n Output = any\n> extends FrameValue<Output> {\n /** Useful for debugging. */\n key?: string\n\n /** Equals false when in the frameloop */\n idle = true\n\n /** The function that maps inputs values to output */\n readonly calc: InterpolatorFn<Input, Output>\n\n /** The inputs which are currently animating */\n protected _active = new Set<FluidValue>()\n\n constructor(\n /** The source of input values */\n readonly source: unknown,\n args: InterpolatorArgs<Input, Output>\n ) {\n super()\n this.calc = createInterpolator(...args)\n\n const value = this._get()\n const nodeType = getAnimatedType(value)\n\n // Assume the computed value never changes type.\n setAnimated(this, nodeType.create(value))\n }\n\n advance(_dt?: number) {\n const value = this._get()\n const oldValue = this.get()\n if (!isEqual(value, oldValue)) {\n getAnimated(this)!.setValue(value)\n this._onChange(value, this.idle)\n }\n // Become idle when all parents are idle or paused.\n if (!this.idle && checkIdle(this._active)) {\n becomeIdle(this)\n }\n }\n\n protected _get() {\n const inputs: Arrify<Input> = is.arr(this.source)\n ? this.source.map(getFluidValue)\n : (toArray(getFluidValue(this.source)) as any)\n\n return this.calc(...inputs)\n }\n\n protected _start() {\n if (this.idle && !checkIdle(this._active)) {\n this.idle = false\n\n each(getPayload(this)!, node => {\n node.done = false\n })\n\n if (G.skipAnimation) {\n raf.batchedUpdates(() => this.advance())\n becomeIdle(this)\n } else {\n frameLoop.start(this)\n }\n }\n }\n\n // Observe our sources only when we're observed.\n protected _attach() {\n let priority = 1\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n addFluidObserver(source, this)\n }\n if (isFrameValue(source)) {\n if (!source.idle) {\n this._active.add(source)\n }\n priority = Math.max(priority, source.priority + 1)\n }\n })\n this.priority = priority\n this._start()\n }\n\n // Stop observing our sources once we have no observers.\n protected _detach() {\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n removeFluidObserver(source, this)\n }\n })\n this._active.clear()\n becomeIdle(this)\n }\n\n /** @internal */\n eventObserved(event: FrameValue.Event) {\n // Update our value when an idle parent is changed,\n // and enter the frameloop when a parent is resumed.\n if (event.type == 'change') {\n if (event.idle) {\n this.advance()\n } else {\n this._active.add(event.parent)\n this._start()\n }\n }\n // Once all parents are idle, the `advance` method runs one more time,\n // so we should avoid updating the `idle` status here.\n else if (event.type == 'idle') {\n this._active.delete(event.parent)\n }\n // Ensure our priority is greater than all parents, which means\n // our value won't be updated until our parents have updated.\n else if (event.type == 'priority') {\n this.priority = toArray(this.source).reduce(\n (highest: number, parent) =>\n Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1),\n 0\n )\n }\n }\n}\n\n/** Returns true for an idle source. */\nfunction isIdle(source: any) {\n return source.idle !== false\n}\n\n/** Return true if all values in the given set are idle or paused. */\nfunction checkIdle(active: Set<FluidValue>) {\n // Parents can be active even when paused, so the `.every` check\n // removes us from the frameloop if all active parents are paused.\n return !active.size || Array.from(active).every(isIdle)\n}\n\n/** Become idle if not already idle. */\nfunction becomeIdle(self: Interpolation) {\n if (!self.idle) {\n self.idle = true\n\n each(getPayload(self)!, node => {\n node.done = true\n })\n\n callFluidObservers(self, {\n type: 'idle',\n parent: self,\n })\n }\n}\n","import {\n Globals,\n frameLoop,\n createStringInterpolator,\n} from '@react-spring/shared'\nimport { Interpolation } from './Interpolation'\n\n// Sane defaults\nGlobals.assign({\n createStringInterpolator,\n to: (source, args) => new Interpolation(source, args),\n})\n\nexport { Globals }\n\n/** Advance all animations by the given time */\nexport const update = frameLoop.advance\n","import { Lookup } from '@react-spring/types'\n\nconst isCustomPropRE = /^--/\n\ntype Value = string | number | boolean | null\n\nfunction dangerousStyleValue(name: string, value: Value) {\n if (value == null || typeof value === 'boolean' || value === '') return ''\n if (\n typeof value === 'number' &&\n value !== 0 &&\n !isCustomPropRE.test(name) &&\n !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])\n )\n return value + 'px'\n // Presumes implicit 'px' suffix for unitless numbers\n return ('' + value).trim()\n}\n\nconst attributeCache: Lookup<string> = {}\n\ntype Instance = HTMLDivElement & { style?: Lookup }\n\nexport function applyAnimatedValues(instance: Instance, props: Lookup) {\n if (!instance.nodeType || !instance.setAttribute) {\n return false\n }\n\n const isFilterElement =\n instance.nodeName === 'filter' ||\n (instance.parentNode && instance.parentNode.nodeName === 'filter')\n\n const { style, children, scrollTop, scrollLeft, viewBox, ...attributes } =\n props!\n\n const values = Object.values(attributes)\n const names = Object.keys(attributes).map(name =>\n isFilterElement || instance.hasAttribute(name)\n ? name\n : attributeCache[name] ||\n (attributeCache[name] = name.replace(\n /([A-Z])/g,\n // Attributes are written in dash case\n n => '-' + n.toLowerCase()\n ))\n )\n\n if (children !== void 0) {\n instance.textContent = children\n }\n\n // Apply CSS styles\n for (const name in style) {\n if (style.hasOwnProperty(name)) {\n const value = dangerousStyleValue(name, style[name])\n if (isCustomPropRE.test(name)) {\n instance.style.setProperty(name, value)\n } else {\n instance.style[name] = value\n }\n }\n }\n\n // Apply DOM attributes\n names.forEach((name, i) => {\n instance.setAttribute(name, values[i])\n })\n\n if (scrollTop !== void 0) {\n instance.scrollTop = scrollTop\n }\n if (scrollLeft !== void 0) {\n instance.scrollLeft = scrollLeft\n }\n if (viewBox !== void 0) {\n instance.setAttribute('viewBox', viewBox)\n }\n}\n\nlet isUnitlessNumber: { [key: string]: true } = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n}\n\nconst prefixKey = (prefix: string, key: string) =>\n prefix + key.charAt(0).toUpperCase() + key.substring(1)\nconst prefixes = ['Webkit', 'Ms', 'Moz', 'O']\n\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => (acc[prefixKey(prefix, prop)] = acc[prop]))\n return acc\n}, isUnitlessNumber)\n","import { AnimatedObject } from '@react-spring/animated'\nimport { Lookup, OneOrMore } from '@react-spring/types'\nimport {\n is,\n each,\n toArray,\n eachProp,\n FluidValue,\n FluidEvent,\n getFluidValue,\n callFluidObservers,\n hasFluidValue,\n addFluidObserver,\n removeFluidObserver,\n} from '@react-spring/shared'\n\n/** The transform-functions\n * (https://developer.mozilla.org/fr/docs/Web/CSS/transform-function)\n * that you can pass as keys to your animated component style and that will be\n * animated. Perspective has been left out as it would conflict with the\n * non-transform perspective style.\n */\nconst domTransforms = /^(matrix|translate|scale|rotate|skew)/\n\n// These keys have \"px\" units by default\nconst pxTransforms = /^(translate)/\n\n// These keys have \"deg\" units by default\nconst degTransforms = /^(rotate|skew)/\n\ntype Value = number | string\n\n/** Add a unit to the value when the value is unit-less (eg: a number) */\nconst addUnit = (value: Value, unit: string): string | 0 =>\n is.num(value) && value !== 0 ? value + unit : value\n\n/**\n * Checks if the input value matches the identity value.\n *\n * isValueIdentity(0, 0) // => true\n * isValueIdentity('0px', 0) // => true\n * isValueIdentity([0, '0px', 0], 0) // => true\n */\nconst isValueIdentity = (value: OneOrMore<Value>, id: number): boolean =>\n is.arr(value)\n ? value.every(v => isValueIdentity(v, id))\n : is.num(value)\n ? value === id\n : parseFloat(value) === id\n\ntype Inputs = ReadonlyArray<Value | FluidValue<Value>>[]\ntype Transforms = ((value: any) => [string, boolean])[]\n\n/**\n * This AnimatedStyle will simplify animated components transforms by\n * interpolating all transform function passed as keys in the style object\n * including shortcuts such as x, y and z for translateX/Y/Z\n */\nexport class AnimatedStyle extends AnimatedObject {\n constructor({ x, y, z, ...style }: Lookup) {\n /**\n * An array of arrays that contains the values (static or fluid)\n * used by each transform function.\n */\n const inputs: Inputs = []\n /**\n * An array of functions that take a list of values (static or fluid)\n * and returns (1) a CSS transform string and (2) a boolean that's true\n * when the transform has no effect (eg: an identity transform).\n */\n const transforms: Transforms = []\n\n // Combine x/y/z into translate3d\n if (x || y || z) {\n inputs.push([x || 0, y || 0, z || 0])\n transforms.push((xyz: Value[]) => [\n `translate3d(${xyz.map(v => addUnit(v, 'px')).join(',')})`, // prettier-ignore\n isValueIdentity(xyz, 0),\n ])\n }\n\n // Pluck any other transform-related props\n eachProp(style, (value, key) => {\n if (key === 'transform') {\n inputs.push([value || ''])\n transforms.push((transform: string) => [transform, transform === ''])\n } else if (domTransforms.test(key)) {\n delete style[key]\n if (is.und(value)) return\n\n const unit = pxTransforms.test(key)\n ? 'px'\n : degTransforms.test(key)\n ? 'deg'\n : ''\n\n inputs.push(toArray(value))\n transforms.push(\n key === 'rotate3d'\n ? ([x, y, z, deg]: [number, number, number, Value]) => [\n `rotate3d(${x},${y},${z},${addUnit(deg, unit)})`,\n isValueIdentity(deg, 0),\n ]\n : (input: Value[]) => [\n `${key}(${input.map(v => addUnit(v, unit)).join(',')})`,\n isValueIdentity(input, key.startsWith('scale') ? 1 : 0),\n ]\n )\n }\n })\n\n if (inputs.length) {\n style.transform = new FluidTransform(inputs, transforms)\n }\n\n super(style)\n }\n}\n\n/** @internal */\nclass FluidTransform extends FluidValue<string> {\n protected _value: string | null = null\n\n constructor(readonly inputs: Inputs, readonly transforms: Transforms) {\n super()\n }\n\n get() {\n return this._value || (this._value = this._get())\n }\n\n protected _get() {\n let transform = ''\n let identity = true\n each(this.inputs, (input, i) => {\n const arg1 = getFluidValue(input[0])\n const [t, id] = this.transforms[i](\n is.arr(arg1) ? arg1 : input.map(getFluidValue)\n )\n transform += ' ' + t\n identity = identity && id\n })\n return identity ? 'none' : transform\n }\n\n // Start observing our inputs once we have an observer.\n protected observerAdded(count: number) {\n if (count == 1)\n each(this.inputs, input =>\n each(\n input,\n value => hasFluidValue(value) && addFluidObserver(value, this)\n )\n )\n }\n\n // Stop observing our inputs once we have no observers.\n protected observerRemoved(count: number) {\n if (count == 0)\n each(this.inputs, input =>\n each(\n input,\n value => hasFluidValue(value) && removeFluidObserver(value, this)\n )\n )\n }\n\n eventObserved(event: FluidEvent) {\n if (event.type == 'change') {\n this._value = null\n }\n callFluidObservers(this, event)\n }\n}\n","import { Globals } from '@react-spring/core'\nimport { unstable_batchedUpdates } from 'react-dom'\nimport { createStringInterpolator, colors } from '@react-spring/shared'\nimport { createHost } from '@react-spring/animated'\nimport { applyAnimatedValues } from './applyAnimatedValues'\nimport { AnimatedStyle } from './AnimatedStyle'\nimport { WithAnimated } from './animated'\nimport { primitives } from './primitives'\n\nGlobals.assign({\n batchedUpdates: unstable_batchedUpdates,\n createStringInterpolator,\n colors,\n})\n\nconst host = createHost(primitives, {\n applyAnimatedValues,\n createAnimatedStyle: style => new AnimatedStyle(style),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getComponentProps: ({ scrollTop, scrollLeft, ...props }) => props,\n})\n\nexport const animated = host.animated as WithAnimated\nexport { animated as a }\n\nexport * from './animated'\nexport * from '@react-spring/core'\n","export type ColorName = keyof typeof colors\n\n// http://www.w3.org/TR/css3-color/#svg-color\nexport const colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff,\n}\n","export type Primitives = keyof JSX.IntrinsicElements\nexport const primitives: Primitives[] = [\n 'a',\n 'abbr',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'base',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'keygen',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'menu',\n 'menuitem',\n 'meta',\n 'meter',\n 'nav',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'title',\n 'tr',\n 'track',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n // SVG\n 'circle',\n 'clipPath',\n 'defs',\n 'ellipse',\n 'foreignObject',\n 'g',\n 'image',\n 'line',\n 'linearGradient',\n 'mask',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialGradient',\n 'rect',\n 'stop',\n 'svg',\n 'text',\n 'tspan',\n]\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"33\":\"blocks8\",\"535\":\"blocks21\",\"977\":\"blocks29\",\"1009\":\"blocks28\",\"1120\":\"blocks7\",\"1155\":\"blocks48\",\"1427\":\"blocks15\",\"1441\":\"blocks33\",\"1821\":\"blocks38\",\"1974\":\"blocks22\",\"2241\":\"blocks45\",\"2356\":\"blocks20\",\"2481\":\"blocks12\",\"2616\":\"blocks37\",\"2691\":\"blocks39\",\"2697\":\"blocks26\",\"2740\":\"blocks40\",\"2883\":\"blocks17\",\"2910\":\"blocks32\",\"3627\":\"blocks36\",\"3646\":\"blocks13\",\"4055\":\"blocks16\",\"4396\":\"blocks24\",\"4664\":\"blocks2\",\"5151\":\"blocks11\",\"5193\":\"blocks4\",\"5290\":\"blocks25\",\"5349\":\"blocks5\",\"5437\":\"blocks19\",\"5556\":\"blocks9\",\"5597\":\"blocks42\",\"5866\":\"blocks44\",\"6082\":\"blocks23\",\"6255\":\"blocks46\",\"6693\":\"blocks43\",\"7088\":\"blocks3\",\"7462\":\"blocks35\",\"7525\":\"blocks47\",\"7585\":\"blocks49\",\"7610\":\"blocks41\",\"7614\":\"blocks6\",\"7855\":\"blocks34\",\"8190\":\"blocks50\",\"8334\":\"blocks31\",\"8601\":\"blocks0\",\"9083\":\"blocks10\",\"9566\":\"blocks1\",\"9775\":\"blocks14\",\"9813\":\"blocks30\"}[chunkId] || chunkId) + \".\" + {\"33\":\"d7c95c08\",\"290\":\"f7161692\",\"535\":\"a1c34aaf\",\"964\":\"b03acc85\",\"977\":\"241b3e8b\",\"1009\":\"d0e20d2a\",\"1120\":\"508305ae\",\"1137\":\"74f14f2a\",\"1155\":\"0eb67713\",\"1427\":\"24cf6d3c\",\"1441\":\"bbbf42e8\",\"1647\":\"16ae3700\",\"1821\":\"3a3d2875\",\"1974\":\"3434c99d\",\"2241\":\"5ccc4b68\",\"2277\":\"5251a261\",\"2345\":\"c154d474\",\"2356\":\"acedf93a\",\"2481\":\"0b956577\",\"2616\":\"4f699bbc\",\"2691\":\"0e5f5083\",\"2697\":\"d68ec2e5\",\"2711\":\"8d5ab117\",\"2740\":\"7022a404\",\"2883\":\"2932a817\",\"2910\":\"487bebf4\",\"3165\":\"f60f50f5\",\"3627\":\"a726e9df\",\"3646\":\"346c2988\",\"4055\":\"3753882a\",\"4105\":\"3353243a\",\"4396\":\"fb1a9f0e\",\"4580\":\"469fbee9\",\"4664\":\"626ac9b8\",\"4921\":\"b5660690\",\"5151\":\"4b77da2c\",\"5193\":\"13828ffe\",\"5290\":\"4e6e6b32\",\"5349\":\"f98178c7\",\"5437\":\"1a65f92b\",\"5556\":\"329d77db\",\"5597\":\"37ebea54\",\"5866\":\"de661647\",\"5957\":\"8dcd02f6\",\"6082\":\"44e5ec89\",\"6255\":\"1914bf34\",\"6320\":\"05062f14\",\"6693\":\"68f3906e\",\"7088\":\"8a2baa06\",\"7462\":\"c2e2118c\",\"7525\":\"cb2b813a\",\"7585\":\"571fb946\",\"7610\":\"e170b645\",\"7614\":\"eb37b152\",\"7855\":\"b44e43d6\",\"7998\":\"82adf9fd\",\"8190\":\"37e79f24\",\"8334\":\"c45d636e\",\"8601\":\"c8a84e6f\",\"9083\":\"94bf0c50\",\"9566\":\"827b6ea8\",\"9775\":\"29d9e2df\",\"9813\":\"a5ebd8c1\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + ({\"33\":\"blocks8\",\"535\":\"blocks21\",\"977\":\"blocks29\",\"1009\":\"blocks28\",\"1120\":\"blocks7\",\"1155\":\"blocks48\",\"1427\":\"blocks15\",\"1441\":\"blocks33\",\"1821\":\"blocks38\",\"1974\":\"blocks22\",\"2241\":\"blocks45\",\"2356\":\"blocks20\",\"2481\":\"blocks12\",\"2616\":\"blocks37\",\"2691\":\"blocks39\",\"2697\":\"blocks26\",\"2740\":\"blocks40\",\"2883\":\"blocks17\",\"2910\":\"blocks32\",\"3627\":\"blocks36\",\"3646\":\"blocks13\",\"4055\":\"blocks16\",\"4396\":\"blocks24\",\"4664\":\"blocks2\",\"5151\":\"blocks11\",\"5193\":\"blocks4\",\"5290\":\"blocks25\",\"5349\":\"blocks5\",\"5437\":\"blocks19\",\"5556\":\"blocks9\",\"5597\":\"blocks42\",\"5866\":\"blocks44\",\"6255\":\"blocks46\",\"6693\":\"blocks43\",\"7088\":\"blocks3\",\"7462\":\"blocks35\",\"7525\":\"blocks47\",\"7585\":\"blocks49\",\"7610\":\"blocks41\",\"7614\":\"blocks6\",\"8190\":\"blocks50\",\"8334\":\"blocks31\",\"8601\":\"blocks0\",\"9083\":\"blocks10\",\"9566\":\"blocks1\",\"9775\":\"blocks14\"}[chunkId] || chunkId) + \".\" + {\"33\":\"6050d672\",\"535\":\"e34478c2\",\"977\":\"51faab28\",\"1009\":\"f504098a\",\"1120\":\"f36e9e60\",\"1137\":\"a6f75488\",\"1155\":\"422cc9c4\",\"1427\":\"e5b214d9\",\"1441\":\"9dcc3661\",\"1821\":\"e02fda41\",\"1974\":\"6d094aea\",\"2241\":\"bac4547a\",\"2356\":\"83b9f300\",\"2481\":\"10b8c01d\",\"2616\":\"1e43de5d\",\"2691\":\"29af5b93\",\"2697\":\"4d06e8bc\",\"2740\":\"4b559861\",\"2883\":\"10f7f81d\",\"2910\":\"c1f298dd\",\"3627\":\"ddd2cdd5\",\"3646\":\"0c3b56b9\",\"4055\":\"72638716\",\"4396\":\"a4e23e98\",\"4664\":\"2a19ae48\",\"5151\":\"498cc712\",\"5193\":\"c0a6d1d3\",\"5290\":\"1e7c874d\",\"5349\":\"c0a6d1d3\",\"5437\":\"afb185d8\",\"5556\":\"917b4b85\",\"5597\":\"f207ef96\",\"5866\":\"41e03bf5\",\"6255\":\"d392b214\",\"6693\":\"0e7e15c3\",\"7088\":\"3dcc539f\",\"7462\":\"ff2bbe98\",\"7525\":\"ff3b2189\",\"7585\":\"330ab246\",\"7610\":\"2d076915\",\"7614\":\"3cbd7f74\",\"8190\":\"d605c5b9\",\"8334\":\"8b23afe3\",\"8601\":\"e2804592\",\"9083\":\"e1119a4b\",\"9566\":\"3cfbe01d\",\"9775\":\"a3c90d6f\"}[chunkId] + \".chunk.css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"@danishagro/cms:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"33\":1,\"535\":1,\"977\":1,\"1009\":1,\"1120\":1,\"1137\":1,\"1155\":1,\"1427\":1,\"1441\":1,\"1821\":1,\"1974\":1,\"2241\":1,\"2356\":1,\"2481\":1,\"2616\":1,\"2691\":1,\"2697\":1,\"2740\":1,\"2883\":1,\"2910\":1,\"3627\":1,\"3646\":1,\"4055\":1,\"4396\":1,\"4664\":1,\"5151\":1,\"5193\":1,\"5290\":1,\"5349\":1,\"5437\":1,\"5556\":1,\"5597\":1,\"5866\":1,\"6255\":1,\"6693\":1,\"7088\":1,\"7462\":1,\"7525\":1,\"7585\":1,\"7610\":1,\"7614\":1,\"8190\":1,\"8334\":1,\"8601\":1,\"9083\":1,\"9566\":1,\"9775\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^5(193|597)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunk_danishagro_cms\"] = globalThis[\"webpackChunk_danishagro_cms\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import React, { createContext, ReactNode, useCallback, useContext } from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { Page } from \"@interfaces/page.interface\";\n\ninterface ApiState {\n fetchPage: (pathname: string) => Promise<Page>;\n}\n\ninterface Props {\n children: ReactNode;\n}\n\nconst ApiContext = createContext<ApiState>({} as ApiState);\n\nexport const ApiProvider = ({ children }: Props) => {\n const fetchPage = useCallback(async (pathname: string): Promise<Page> => {\n const frontendUrl = getAbsoluteUrl(pathname, \"SPA\");\n const cultureCode = globalThis?.cultures[0]?.alias;\n\n const backendParameters = {\n url: frontendUrl,\n rootNodeId: globalThis.rootNodeId,\n };\n\n let backendUrl;\n\n if (globalThis.isPreview === true) {\n backendParameters[\"isPreview\"] = \"true\";\n backendUrl = new URL(\"/GetContentByUrl\", window.location.origin);\n\n if (backendParameters) {\n for (const key in backendParameters) {\n backendUrl.searchParams.append(key, backendParameters[key]);\n }\n }\n } else {\n backendUrl = getAbsoluteUrl(\"/GetContentByUrl\", \"SPA\", backendParameters);\n }\n\n const request = await fetch(`${backendUrl}&cultureCode=${cultureCode}`);\n\n const response: Page = await request.json();\n\n return {\n ...response,\n status: request.status,\n };\n }, []);\n\n return <ApiContext.Provider value={{ fetchPage }}>{children}</ApiContext.Provider>;\n};\n\nexport const useApi = (): ApiState => useContext(ApiContext);\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { UseMeasureRect } from \"react-use/lib/useMeasure\";\nimport { DA_NavigationPage, DA_NavigationPageSimple } from \"../interfaces/navigationPage.interface\";\nimport { useScreen } from \"./screen.context\";\n\nexport enum SiteHeaderPopUpType {\n MiniCart,\n AccountPicker,\n}\n\ntype Props = {\n children: React.ReactNode;\n showServiceMenu: boolean;\n pageTree: DA_NavigationPage[] | DA_NavigationPageSimple[];\n};\n\ninterface SiteHeaderHook extends Omit<Props, \"children\"> {\n headerMeasure?: UseMeasureRect;\n setHeaderMeasure: (rect: UseMeasureRect) => void;\n cartButtonMeasure?: UseMeasureRect;\n setCartButtonMeasure: (rect: UseMeasureRect) => void;\n farmInTimeButtonMeasure?: UseMeasureRect;\n setFarmInTimeButtonMeasure: (rect: UseMeasureRect) => void;\n accountButtonMeasure?: UseMeasureRect;\n setAccountButtonMeasure: (rect: UseMeasureRect) => void;\n showMiniCart: boolean;\n showAccountPicker: boolean;\n togglePopUp: (type: SiteHeaderPopUpType | undefined) => void;\n toggleMobileNav: () => void;\n closeMobileNav: () => void;\n showMobileNav: boolean;\n pageTree: DA_NavigationPage[] | DA_NavigationPageSimple[];\n}\n\nconst SiteHeaderContext = React.createContext<SiteHeaderHook>({\n setHeaderMeasure: () => null,\n setCartButtonMeasure: () => null,\n setFarmInTimeButtonMeasure: () => null,\n setAccountButtonMeasure: () => null,\n showMiniCart: false,\n showAccountPicker: false,\n togglePopUp: () => null,\n toggleMobileNav: () => null,\n closeMobileNav: () => null,\n showServiceMenu: true,\n showMobileNav: false,\n pageTree: [],\n});\n\nexport const SiteHeaderProvider = ({ children, ...inherited }: Props): JSX.Element => {\n const [headerMeasure, setHeaderMeasure] = useState<UseMeasureRect>();\n const [cartButtonMeasure, setCartButtonMeasure] = useState<UseMeasureRect>();\n const [farmInTimeButtonMeasure, setFarmInTimeButtonMeasure] = useState<UseMeasureRect>();\n const [accountButtonMeasure, setAccountButtonMeasure] = useState<UseMeasureRect>();\n const [showMiniCart, setShowMiniCart] = useState(false);\n const [showAccountPicker, setShowAccountPicker] = useState(false);\n const [showMobileNav, setShowMobileNav] = useState(false);\n const { toggleScrollLock } = useScreen();\n\n const togglePopUp = useCallback(\n (type: SiteHeaderPopUpType) => {\n setShowMiniCart(type === SiteHeaderPopUpType.MiniCart ? !showMiniCart : false);\n setShowAccountPicker(\n type === SiteHeaderPopUpType.AccountPicker ? !showAccountPicker : false\n );\n },\n [showMiniCart, showAccountPicker]\n );\n\n const closeMobileNav = useCallback(() => {\n setShowMobileNav(false);\n }, []);\n\n const toggleMobileNav = useCallback(() => {\n setShowMobileNav(!showMobileNav);\n toggleScrollLock(!showMobileNav);\n }, [showMobileNav, toggleScrollLock]);\n\n useEffect(() => {\n if (headerMeasure?.height) {\n document.documentElement.style.setProperty(\n \"--header-height\",\n `${headerMeasure.height}px`\n );\n }\n }, [headerMeasure]);\n\n return (\n <SiteHeaderContext.Provider\n value={{\n headerMeasure,\n setHeaderMeasure,\n cartButtonMeasure,\n setCartButtonMeasure,\n farmInTimeButtonMeasure,\n setFarmInTimeButtonMeasure,\n accountButtonMeasure,\n setAccountButtonMeasure,\n showMiniCart,\n showAccountPicker,\n togglePopUp,\n toggleMobileNav,\n closeMobileNav,\n showMobileNav,\n ...inherited,\n }}\n >\n {children}\n </SiteHeaderContext.Provider>\n );\n};\n\nexport const useSiteHeader = (): SiteHeaderHook => React.useContext(SiteHeaderContext);\n","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"bottomSheet_button__jbeB8\",\"backButton\":\"bottomSheet_backButton__QEoBr\",\"closeButton\":\"bottomSheet_closeButton__U6RMq\",\"header\":\"bottomSheet_header__2JD8Y\",\"headerContent\":\"bottomSheet_headerContent__4JzD7\",\"contentPadding\":\"bottomSheet_contentPadding__q4-BC\",\"contentPaddingLarge\":\"bottomSheet_contentPaddingLarge__105Hc\"};","import React, {\n lazy,\n ReactNode,\n Suspense,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { snapPoints } from \"react-spring-bottom-sheet/dist/types\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Icon, DA_IconNames } from \"../../components/atoms/Icon/Icon.component\";\nimport { useSiteHeader } from \"../siteHeader.context\";\nimport { useScreen } from \"../screen.context\";\nimport { DA_Title } from \"../../components/atoms/Title/Title.component\";\nimport S from \"./bottomSheet.module.scss\";\n\nexport interface BottomSheetOptions {\n id: string;\n header?: ReactNode;\n headerTitle?: ReactNode;\n\n nestedSheet?: boolean;\n contentPadding?: boolean;\n contentPaddingLarge?: boolean;\n showDismissHandle?: boolean;\n nonBlocking?: boolean;\n snapPoints?: snapPoints | number[];\n\n className?: string;\n\n onWillDismiss?: () => void;\n\n // Custom function to execute on close\n closeButtonToBack?: boolean;\n hideCloseButton?: boolean;\n hideBackButton?: boolean;\n}\n\ninterface BottomSheetHook {\n presentBottomSheet: (component: ReactNode, options: BottomSheetOptions) => void;\n dismissBottomSheet: () => void;\n activeBottomSheet: string;\n}\n\nconst BottomSheetContext = React.createContext<BottomSheetHook>({} as BottomSheetHook);\n\ntype Props = {\n children: React.ReactNode;\n};\n\nconst BottomSheet = lazy(() =>\n import(\"react-spring-bottom-sheet\").then(({ BottomSheet }) => ({ default: BottomSheet }))\n);\n\nexport const BottomSheetProvider = ({ children }: Props): JSX.Element => {\n const [data, setData] = useState<{ component: ReactNode; options: BottomSheetOptions }[]>([]);\n const [activeBottomSheet, setActiveBottomSheet] = useState(\"\");\n const { isMobileOrTablet } = useScreen();\n const currentOptions = data.length > 0 ? data[data.length - 1].options : undefined;\n\n const { togglePopUp } = useSiteHeader();\n\n const presentBottomSheet = (component: ReactNode, options: BottomSheetOptions) => {\n if (options.nestedSheet) {\n setData((current) => current.concat({ component, options }));\n } else {\n setData([{ component, options }]);\n }\n setActiveBottomSheet(options.id);\n };\n\n /**\n * Dismiss bottom sheet\n *\n * dismissId (optional)\n * - undefined dismisses the last sheet\n * - \"*\" dismisses all sheets\n * - set to specific ID to dismiss specific sheet and all following sheets\n */\n const dismissBottomSheet = useCallback(\n (dismissId?: string) => {\n setData((current) => {\n const dismissFromIndex = dismissId\n ? dismissId === \"*\"\n ? 0\n : current.findIndex((sheet) => sheet.options.id === dismissId)\n : current.length - 1;\n const removedData = current.slice(dismissFromIndex).reverse();\n const newData = current.slice(0, dismissFromIndex);\n\n removedData.forEach((rd) => {\n if (rd.options.onWillDismiss) {\n rd.options.onWillDismiss();\n }\n });\n\n if (newData.length === 0) {\n togglePopUp(undefined);\n setActiveBottomSheet(\"\");\n } else {\n setActiveBottomSheet(newData[newData.length - 1].options.id);\n }\n\n return newData;\n });\n },\n [togglePopUp]\n );\n\n const showDismissHandleClass =\n currentOptions?.showDismissHandle === false ? \"bs-hide-handle\" : undefined;\n\n const closeButtonHandler = useCallback(() => {\n // If closeButtonToBack is true, close the current sheet, otherwise close all\n if (currentOptions?.closeButtonToBack) {\n dismissBottomSheet();\n } else {\n dismissBottomSheet(\"*\");\n }\n }, [currentOptions, dismissBottomSheet]);\n\n const headerComponent = useMemo(\n () => (\n <div className={S.header}>\n {/** Header Content */}\n <div className={S.headerContent}>\n {data.length > 1 && !currentOptions?.hideBackButton && (\n /** Back Button */\n <button\n className={cn(S.button, S.backButton)}\n onClick={() => dismissBottomSheet()}\n >\n <DA_Icon name={DA_IconNames.ChevronLeft} />\n </button>\n )}\n\n {currentOptions?.header ||\n (currentOptions?.headerTitle ? (\n <DA_Title h4>{currentOptions.headerTitle}</DA_Title>\n ) : null)}\n </div>\n\n {/** Close Button */}\n {!currentOptions?.hideCloseButton && (\n <button className={cn(S.button, S.closeButton)} onClick={closeButtonHandler}>\n <DA_Icon name={DA_IconNames.Close} />\n </button>\n )}\n </div>\n ),\n [data, dismissBottomSheet, currentOptions, closeButtonHandler]\n );\n\n useEffect(() => {\n if (!isMobileOrTablet) {\n dismissBottomSheet();\n }\n }, [isMobileOrTablet, dismissBottomSheet]);\n\n return (\n <BottomSheetContext.Provider\n value={{\n presentBottomSheet,\n dismissBottomSheet,\n activeBottomSheet,\n }}\n >\n {/** Children */}\n {children}\n\n {/** Bottom Sheet */}\n <Suspense>\n <BottomSheet\n className={cn(\"bs-wrapper\", showDismissHandleClass, currentOptions?.className)}\n open={data.length > 0}\n sibling={\n currentOptions?.nonBlocking ? null : (\n /** This is for blocking click-through on iOS */\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div\n data-rsbs-backdrop=\"true\"\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n dismissBottomSheet();\n }}\n />\n )\n }\n blocking={false}\n onDismiss={dismissBottomSheet}\n defaultSnap={0}\n snapPoints={\n currentOptions?.snapPoints\n ? Array.isArray(currentOptions.snapPoints)\n ? (state) =>\n (currentOptions.snapPoints as number[])\n .map(\n (point) =>\n point + state.headerHeight + state.footerHeight\n )\n .concat([state.maxHeight])\n : currentOptions.snapPoints\n : (state) => state.maxHeight\n }\n header={headerComponent}\n footer={<div className=\"bs-footer\" />}\n >\n {data.map((sheet, sheetIndex) => (\n <div\n key={sheet.options.id}\n className={cn(\n sheet.options.contentPadding && S.contentPadding,\n S.contentPaddingLarge\n )}\n hidden={sheetIndex < data.length - 1}\n aria-hidden={sheetIndex < data.length - 1}\n >\n {sheet.component}\n </div>\n ))}\n </BottomSheet>\n </Suspense>\n </BottomSheetContext.Provider>\n );\n};\n\nexport const useBottomSheet = (): BottomSheetHook => useContext(BottomSheetContext);\n","import React from \"react\";\nimport { DA_BasicLink } from \"../../../atoms/BasicLink/BasicLink.component\";\nimport { DA_LinkProps } from \"../../../../interfaces/linkProps.interface\";\n\nexport const _FooterLink = (props: DA_LinkProps & { classname: string }) => {\n return /CookieConsent.*?renew/.test(props.href) ? (\n <button onClick={() => window[\"CookieConsent\"]?.renew()} className={props.classname}>\n {props.title}\n </button>\n ) : (\n <DA_BasicLink href={props.href} className={props.classname}>\n {props.title}\n </DA_BasicLink>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"desktopFooter\":\"DesktopFooter_desktopFooter__DbeSH\",\"desktopFooterInner\":\"DesktopFooter_desktopFooterInner__1drWJ\",\"desktopFooterColumn\":\"DesktopFooter_desktopFooterColumn__VEkLS\",\"desktopFooterItem\":\"DesktopFooter_desktopFooterItem__0ysqS\",\"noMarginBottom\":\"DesktopFooter_noMarginBottom__1rcU7\",\"title\":\"DesktopFooter_title__44Q8w\",\"noWrap\":\"DesktopFooter_noWrap__+nmYK\",\"desktopFooterItemTitle\":\"DesktopFooter_desktopFooterItemTitle__xbSeg\",\"footerItemWrapper\":\"DesktopFooter_footerItemWrapper__TJUIF\",\"footerLink\":\"DesktopFooter_footerLink__ryxxi\",\"soMeLinks\":\"DesktopFooter_soMeLinks__5Fs4-\",\"soMeLink\":\"DesktopFooter_soMeLink__6-seQ\",\"addressInfoWrapper\":\"DesktopFooter_addressInfoWrapper__0mkva\",\"addressInfo\":\"DesktopFooter_addressInfo__7A6Ww\"};","import React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_FooterObject } from \"../../../../interfaces/footerObject.interface\";\nimport { DA_BasicLink } from \"../../../atoms/BasicLink/BasicLink.component\";\nimport { DA_Icon, DA_IconNames } from \"../../../atoms/Icon/Icon.component\";\nimport { DA_Container } from \"../../../atoms/Container/Container.component\";\nimport { _FooterLink } from \"../FooterLink/FooterLink.component\";\nimport {\n AddressType,\n TextType,\n LinkType,\n SoMeType,\n} from \"../../../../interfaces/footerObject.interface\";\nimport S from \"./DesktopFooter.module.scss\";\n\nexport interface DA_DesktopFooterProps {\n data: DA_FooterObject;\n}\n\nexport const DA_DesktopFooter = ({ data }: DA_DesktopFooterProps) => {\n const isFooterAddress = (\n item: TextType | LinkType | AddressType | SoMeType\n ): item is AddressType => {\n return item.itemType === \"footerAddress\";\n };\n\n return (\n <footer className={S.desktopFooter}>\n <DA_Container>\n <div className={S.desktopFooterInner}>\n {data?.columns?.map((column, index) => (\n <div key={index} className={S.desktopFooterColumn}>\n <div className={S.desktopFooterItem}>\n <span className={S.desktopFooterItemTitle}>{column.header}</span>\n {column?.items?.map((item, index) => {\n if (item.itemType === \"text\") {\n // If both \"title\" and \"text\" exist: place them next to each other like columns\n // If only \"title\" exists: CSS will make sure it uses the full width\n // If only \"text\" exists: don't prevent the text from wrapping\n return (\n <div key={index} className={S.footerItemWrapper}>\n {item.title ? (\n <span\n className={S.title}\n dangerouslySetInnerHTML={{\n __html: item.title,\n }}\n />\n ) : null}\n {item.text ? (\n <span\n className={\n item.title ? S.noWrap : undefined\n }\n dangerouslySetInnerHTML={{\n __html: item.text,\n }}\n />\n ) : null}\n </div>\n );\n }\n if (isFooterAddress(item)) {\n return (\n <div\n key={index}\n itemScope\n itemType=\"http://schema.org/Organization\"\n className={S.addressInfoWrapper}\n >\n {item.company && (\n <span\n itemProp=\"name\"\n className={S.addressInfo}\n dangerouslySetInnerHTML={{\n __html: item.company,\n }}\n />\n )}\n {item.address1 && (\n <span\n itemProp=\"streetAddress\"\n className={S.addressInfo}\n dangerouslySetInnerHTML={{\n __html: item.address1,\n }}\n />\n )}\n {item.address2 && (\n <span\n itemProp=\"streetAddress\"\n className={S.addressInfo}\n dangerouslySetInnerHTML={{\n __html: item.address2,\n }}\n />\n )}\n {item.zipCity && (\n <span className={S.addressInfo}>\n <span itemProp=\"postalCode\">\n {item.zipCity.split(\" \")[0]}\n </span>\n <span itemProp=\"addressLocality\">{` ${\n item.zipCity.split(\" \")[1]\n }`}</span>\n </span>\n )}\n {item.country && (\n <span\n itemProp=\"addressCountry\"\n className={S.addressInfo}\n >\n {item.country}\n </span>\n )}\n {item.cvr && (\n <span\n itemProp=\"vatID\"\n className={S.addressInfo}\n >\n {item.cvr}\n </span>\n )}\n {item.email && (\n <span\n itemProp=\"email\"\n className={S.addressInfo}\n >\n {item.email}\n </span>\n )}\n {item.phone && (\n <span\n itemProp=\"telephone\"\n className={S.addressInfo}\n >\n {item.phone}\n </span>\n )}\n </div>\n );\n }\n\n if (item.itemType === \"link\") {\n return (\n <div key={index} className={S.footerItemWrapper}>\n <_FooterLink\n key={index}\n {...item}\n classname={S.footerLink}\n />\n </div>\n );\n }\n })}\n </div>\n </div>\n ))}\n </div>\n\n {data?.socials?.map((socials, index) => (\n <div key={index} className={cn(S.desktopFooterItem, S.noMarginBottom)}>\n <span className={S.desktopFooterItemTitle}>{socials.header}</span>\n <div className={S.soMeLinks}>\n {socials.items.map((item) => {\n const iconName =\n item.type === \"facebook\"\n ? DA_IconNames.Facebook\n : item.type === \"linkedin\"\n ? DA_IconNames.LinkedIn\n : item.type === \"instagram\"\n ? DA_IconNames.Instagram\n : item.type === \"youtube\"\n ? DA_IconNames.YouTube\n : DA_IconNames.Question;\n\n return (\n <DA_BasicLink\n href={item.href}\n key={item.type}\n className={S.soMeLink}\n ariaLabel={item.type}\n >\n <DA_Icon name={iconName} />\n </DA_BasicLink>\n );\n })}\n </div>\n </div>\n ))}\n </DA_Container>\n </footer>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"mobileFooter\":\"MobileFooter_mobileFooter__xzXzb\",\"mobileFooterItem\":\"MobileFooter_mobileFooterItem__Z1ROg\",\"noBorderBottom\":\"MobileFooter_noBorderBottom__7kRQ3\",\"itemTitle\":\"MobileFooter_itemTitle__4PHWl\",\"mobileItemTitle\":\"MobileFooter_mobileItemTitle__rFVPg\",\"soMeLinks\":\"MobileFooter_soMeLinks__-MREW\",\"soMeLink\":\"MobileFooter_soMeLink__7X-Qa\",\"soMeIcon\":\"MobileFooter_soMeIcon__L3dSl\",\"footerText\":\"MobileFooter_footerText__L7HrV\",\"footerLink\":\"MobileFooter_footerLink__avb0+\",\"accordion\":\"MobileFooter_accordion__QXTwd\",\"addressInfoWrapper\":\"MobileFooter_addressInfoWrapper__Rq-xm\",\"addressInfo\":\"MobileFooter_addressInfo__1AOpY\"};","import React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_FooterObject } from \"../../../../interfaces/footerObject.interface\";\nimport { DA_BasicLink } from \"../../../atoms/BasicLink/BasicLink.component\";\nimport { DA_Icon, DA_IconNames } from \"../../../atoms/Icon/Icon.component\";\nimport { DA_Accordion } from \"../../../molecules/Accordion/Accordion.component\";\nimport { _FooterLink } from \"../FooterLink/FooterLink.component\";\nimport {\n AddressType,\n TextType,\n LinkType,\n SoMeType,\n} from \"../../../../interfaces/footerObject.interface\";\nimport S from \"./MobileFooter.module.scss\";\n\nexport interface DA_MobileFooterProps {\n data: DA_FooterObject;\n}\n\nexport const DA_MobileFooter = ({ data }: DA_MobileFooterProps) => {\n const isFooterAddress = (\n item: TextType | LinkType | AddressType | SoMeType\n ): item is AddressType => {\n return item.itemType === \"footerAddress\";\n };\n\n return (\n <footer className={S.mobileFooter}>\n {data?.columns?.map((column, index) => (\n <DA_Accordion\n key={index}\n className={S.accordion}\n title={column.header}\n showToggleIcons\n animation\n >\n {column?.items?.map((item, index) => {\n if (item?.itemType === \"text\") {\n return (\n <div key={index} className={S.footerText}>\n {item.title && (\n <span className={S.itemTitle}>{item.title}</span>\n )}\n\n <span dangerouslySetInnerHTML={{ __html: item.text }} />\n </div>\n );\n }\n if (isFooterAddress(item)) {\n return (\n <div\n key={index}\n itemScope\n itemType=\"http://schema.org/Organization\"\n className={S.addressInfoWrapper}\n >\n {item.company && (\n <span\n itemProp=\"name\"\n className={S.addressInfo}\n dangerouslySetInnerHTML={{\n __html: item.company,\n }}\n />\n )}\n {item.address1 && (\n <span\n itemProp=\"streetAddress\"\n className={S.addressInfo}\n dangerouslySetInnerHTML={{\n __html: item.address1,\n }}\n />\n )}\n {item.address2 && (\n <span\n itemProp=\"streetAddress\"\n className={S.addressInfo}\n dangerouslySetInnerHTML={{\n __html: item.address2,\n }}\n />\n )}\n {item.zipCity && (\n <span className={S.addressInfo}>\n <span itemProp=\"postalCode\">\n {item.zipCity.split(\" \")[0]}\n </span>\n <span itemProp=\"addressLocality\">{` ${\n item.zipCity.split(\" \")[1]\n }`}</span>\n </span>\n )}\n {item.country && (\n <span itemProp=\"addressCountry\" className={S.addressInfo}>\n {item.country}\n </span>\n )}\n {item.cvr && (\n <span itemProp=\"vatID\" className={S.addressInfo}>\n {item.cvr}\n </span>\n )}\n {item.email && (\n <span itemProp=\"email\" className={S.addressInfo}>\n {item.email}\n </span>\n )}\n {item.phone && (\n <span itemProp=\"telephone\" className={S.addressInfo}>\n {item.phone}\n </span>\n )}\n </div>\n );\n }\n if (item?.itemType === \"link\") {\n return <_FooterLink key={index} {...item} classname={S.footerLink} />;\n }\n })}\n </DA_Accordion>\n ))}\n\n {data?.socials?.map((social, index) => (\n <div key={index} className={cn(S.mobileFooterItem, S.noBorderBottom)}>\n <span className={S.mobileItemTitle}>{social.header}</span>\n <div className={S.soMeLinks}>\n {social?.items?.map((item) => {\n const iconName =\n item.type === \"facebook\"\n ? DA_IconNames.Facebook\n : item.type === \"linkedin\"\n ? DA_IconNames.LinkedIn\n : item.type === \"instagram\"\n ? DA_IconNames.Instagram\n : item.type === \"youtube\"\n ? DA_IconNames.YouTube\n : DA_IconNames.Question;\n\n return (\n <DA_BasicLink\n href={item.href}\n key={item.type}\n className={S.soMeLink}\n ariaLabel={item.type}\n >\n <DA_Icon\n name={iconName}\n className={S.soMeIcon}\n useSvgDimensions\n />\n </DA_BasicLink>\n );\n })}\n </div>\n </div>\n ))}\n </footer>\n );\n};\n","import React, { useEffect, useRef } from \"react\";\nimport { useScreen } from \"../../../contexts/screen.context\";\nimport { DA_FooterObject } from \"../../../interfaces/footerObject.interface\";\nimport { DA_DesktopFooter } from \"./DesktopFooter/DesktopFooter.component\";\nimport { DA_MobileFooter } from \"./MobileFooter/MobileFooter.component\";\n\nexport interface DA_SiteFooterData {\n data: DA_FooterObject;\n}\n\nexport const DA_SiteFooter = ({ data }: DA_SiteFooterData) => {\n const { isMobile } = useScreen();\n const footerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (footerRef.current) {\n const rect = footerRef.current.getBoundingClientRect();\n document.documentElement.style.setProperty(\"--footer-height\", `${rect.height}px`);\n }\n }, []);\n\n return data ? (\n <div ref={footerRef}>\n {isMobile ? <DA_MobileFooter data={data} /> : <DA_DesktopFooter data={data} />}\n </div>\n ) : null;\n};\n","import { useEffect, useLayoutEffect } from 'react';\nimport { isBrowser } from './misc/util';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;\n","import { useMemo, useState } from 'react';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport { isBrowser, noop } from './misc/util';\nvar defaultState = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n};\nfunction useMeasure() {\n var _a = useState(null), element = _a[0], ref = _a[1];\n var _b = useState(defaultState), rect = _b[0], setRect = _b[1];\n var observer = useMemo(function () {\n return new window.ResizeObserver(function (entries) {\n if (entries[0]) {\n var _a = entries[0].contentRect, x = _a.x, y = _a.y, width = _a.width, height = _a.height, top_1 = _a.top, left = _a.left, bottom = _a.bottom, right = _a.right;\n setRect({ x: x, y: y, width: width, height: height, top: top_1, left: left, bottom: bottom, right: right });\n }\n });\n }, []);\n useIsomorphicLayoutEffect(function () {\n if (!element)\n return;\n observer.observe(element);\n return function () {\n observer.disconnect();\n };\n }, [element]);\n return [ref, rect];\n}\nexport default isBrowser && typeof window.ResizeObserver !== 'undefined'\n ? useMeasure\n : (function () { return [noop, defaultState]; });\n","export enum MessageState {\n Active = \"Active\",\n Inactive = \"Inactive\",\n Deactivated = \"Deactivated\",\n Deleted = \"Deleted\",\n}\n\nexport enum MessageType {\n StickyBanner = \"StickyBanner\",\n Modal = \"Modal\",\n}\n\nexport enum CookieValue {\n True = \"true\",\n False = \"false\",\n}\n","import { useState, useEffect, useCallback } from \"react\";\nimport Cookies from \"js-cookie\";\nimport { useLocation } from \"react-router-dom\";\nimport { MessageState, CookieValue } from \"@danishagro/shared/src/content/message/messageEnums\";\n\nexport const useModalMessage = (allMessages) => {\n const [currentMessage, setCurrentMessage] = useState(null);\n const location = useLocation();\n\n const COOKIE_NAME_PREFIX = \"modalMessageShown_\";\n\n const hasMessageBeenShown = useCallback((messageId) => {\n return Cookies.get(`${COOKIE_NAME_PREFIX}${messageId}`) === CookieValue.True;\n }, []);\n\n const findNextMessageToShow = useCallback(() => {\n const currentUrl = window.location.href;\n const now = new Date();\n return allMessages?.find((msg) => {\n const isActive = msg?.messageState === MessageState.Active;\n const isInDateRange =\n new Date(msg?.activeFrom) <= now && now <= new Date(msg?.activeTo);\n const isModal = msg?.type === \"Modal\";\n const isNotDeactivated = !msg?.deactivated;\n const notYetShown = !hasMessageBeenShown(msg?.id);\n const isUrlMatch = msg?.urls.some((urlPattern) => {\n if (urlPattern.endsWith(\"*\")) {\n const basePattern = urlPattern.slice(0, -1);\n return currentUrl.startsWith(basePattern);\n }\n return currentUrl === urlPattern;\n });\n return (\n isActive &&\n isInDateRange &&\n isNotDeactivated &&\n notYetShown &&\n isUrlMatch &&\n isModal\n );\n });\n }, [allMessages, hasMessageBeenShown]);\n\n useEffect(() => {\n const messageToShow = findNextMessageToShow();\n if (messageToShow) {\n setCurrentMessage(messageToShow);\n }\n }, [findNextMessageToShow, location]);\n\n const handleModalClose = useCallback(\n (messageId) => {\n Cookies.set(`${COOKIE_NAME_PREFIX}${messageId}`, CookieValue.True, { expires: 1 });\n setCurrentMessage(null);\n setTimeout(() => {\n setCurrentMessage(findNextMessageToShow());\n }, 0);\n },\n [findNextMessageToShow]\n );\n\n return { currentMessage, handleModalClose };\n};\n","import { useState, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { MessageType, MessageState } from \"@danishagro/shared/src/content/message/messageEnums\";\n\nexport const useStickyBannerMessages = (allMessages) => {\n const [activeStickyBanners, setActiveStickyBanners] = useState([]);\n const location = useLocation();\n\n useEffect(() => {\n const currentUrl = window.location.href;\n const now = new Date();\n const activeBanners = allMessages?.filter((msg) => {\n const isActive = msg?.messageState === MessageState.Active;\n const isInDateRange =\n new Date(msg?.activeFrom) <= now && now <= new Date(msg?.activeTo);\n const isNotDeactivated = !msg?.deactivated;\n const isStickyBanner = msg?.type === MessageType.StickyBanner;\n const isUrlMatch = msg?.urls.some((urlPattern) => {\n if (urlPattern.endsWith(\"*\")) {\n const basePattern = urlPattern.slice(0, -1);\n return currentUrl.startsWith(basePattern);\n }\n return currentUrl === urlPattern;\n });\n return isActive && isInDateRange && isNotDeactivated && isStickyBanner && isUrlMatch;\n });\n setActiveStickyBanners(activeBanners);\n }, [allMessages, location]);\n\n return activeStickyBanners;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"Modal_modal__dMHL1\",\"header\":\"Modal_header__wqio6\",\"top\":\"Modal_top__hgUnq\",\"title\":\"Modal_title__gUVnj\",\"closeButton\":\"Modal_closeButton__KB7jo\",\"icon\":\"Modal_icon__JBsux\",\"body\":\"Modal_body__MM08b\",\"userAccountModalCloseBtn\":\"Modal_userAccountModalCloseBtn__2CgVY\"};","import React, { useEffect, useRef } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Icon, DA_IconNames } from \"../../atoms/Icon/Icon.component\";\nimport { DA_Title } from \"../../atoms/Title/Title.component\";\nimport { useModal } from \"../../../contexts/modal.context\";\nimport { DA_ContentBox } from \"../../atoms/ContentBox/ContentBox.component\";\n// eslint-disable-next-line css-modules/no-unused-class\nimport S from \"./Modal.module.scss\";\n\nexport interface DA_ModalProps {\n title: React.ReactNode;\n closeLabel?: string;\n children?: React.ReactNode;\n hideCloseButton?: boolean;\n className?: string;\n}\n\nexport const DA_Modal = ({\n title,\n closeLabel,\n children,\n hideCloseButton,\n className,\n}: DA_ModalProps): JSX.Element => {\n const { closeModal } = useModal();\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n // Handler to close modal if a non _blank link is clicked\n const handleLinkClick = (e) => {\n if (e.target.tagName === \"A\" && e.target.target !== \"_blank\") {\n closeModal();\n }\n };\n\n // Attach event listener to the modal body\n const modalBody = ref.current;\n modalBody.addEventListener(\"click\", handleLinkClick);\n\n // Cleanup function to remove the event listener\n return () => {\n modalBody.removeEventListener(\"click\", handleLinkClick);\n };\n }, [closeModal]);\n\n return (\n <DA_ContentBox className={cn(S.modal, className && S[className])}>\n <header className={S.header}>\n <section className={S.top}>\n <div className={S.title}>\n <DA_Title h3 noMargin>\n {title}\n </DA_Title>\n </div>\n {!hideCloseButton && (\n <button\n aria-label={closeLabel}\n type=\"button\"\n onClick={closeModal}\n className={S.closeButton}\n >\n <DA_Icon name={DA_IconNames.Close} className={S.icon} />\n </button>\n )}\n </section>\n </header>\n <div className={S.body} ref={ref}>\n {children}\n </div>\n </DA_ContentBox>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"desktopMessage\":\"headerMessage_desktopMessage__6YAsd\",\"desktopMessageInfo\":\"headerMessage_desktopMessageInfo__gUWoD\",\"messageTitle\":\"headerMessage_messageTitle__AA72R\",\"messageText\":\"headerMessage_messageText__aGBSa\",\"isOverflowing\":\"headerMessage_isOverflowing__y0aUX\",\"messageTextModal\":\"headerMessage_messageTextModal__txle1\",\"closeModalBtn\":\"headerMessage_closeModalBtn__-lGCV\",\"readMoreContainer\":\"headerMessage_readMoreContainer__4Rzma\",\"readMoreIcon\":\"headerMessage_readMoreIcon__idHya\"};","import React, { useEffect, useRef, useState } from \"react\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { DA_Modal } from \"@danishagro/shared/src/components/molecules/Modal/Modal.component\";\nimport { ModalSize, useModal } from \"@danishagro/shared/src/contexts/modal.context\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport S from \"./headerMessage.module.scss\";\n\ntype Banner = {\n id: number;\n headline: string;\n content: string;\n onClick?: () => void;\n};\n\ntype HeaderMessageProps = {\n activeStickyBanners: Banner[];\n showModal?: (node: React.ReactNode, options?: object) => void;\n};\n\nexport const DA_HeaderMessage = ({ activeStickyBanners }: HeaderMessageProps) => {\n const { showModal, closeModal } = useModal();\n const { getDictionaryString } = useTranslations();\n const textRefs = useRef([]);\n const [overflowingBanners, setOverflowingBanners] = useState([]);\n\n // Function to check if the content is overflowing its container\n const isOverflowing = (element) => {\n return element.scrollWidth > element.clientWidth;\n };\n\n // Effect to determine which banners are overflowing\n useEffect(() => {\n const overflowingBannerIds = textRefs.current.reduce((acc, textRef, index) => {\n if (textRef && isOverflowing(textRef)) {\n acc.push(activeStickyBanners[index].id);\n textRef.classList.add(S.isOverflowing);\n }\n return acc;\n }, []);\n\n setOverflowingBanners(overflowingBannerIds);\n }, [activeStickyBanners]);\n\n if (!activeStickyBanners || activeStickyBanners.length === 0) return null;\n\n const handleKeyPress = (event: React.KeyboardEvent, banner: Banner) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n handleBannerClick(banner);\n }\n };\n\n const handleBannerClick = (banner: Banner) => {\n showModal(\n <DA_Modal title={banner.headline}>\n <span\n className={S.messageTextModal}\n dangerouslySetInnerHTML={{\n __html: banner.content,\n }}\n />\n <DA_Button\n className={S.closeModalBtn}\n title={getDictionaryString(\"OK\")}\n onClick={() => {\n closeModal();\n }}\n />\n </DA_Modal>,\n {\n size: ModalSize.MD,\n }\n );\n };\n\n return (\n <>\n {activeStickyBanners.map((banner, index) => (\n <div className={S.desktopMessage} key={banner.id}>\n <DA_Container noVerticalPadding>\n <div className={S.desktopMessageInfo}>\n <span className={S.messageTitle}>{banner.headline}</span>\n <span\n ref={(el) => (textRefs.current[index] = el)}\n className={S.messageText}\n dangerouslySetInnerHTML={{\n __html: banner.content,\n }}\n />\n {overflowingBanners.includes(banner.id) && (\n <div\n className={S.readMoreContainer}\n onClick={() => handleBannerClick(banner)}\n onKeyDown={(e) => handleKeyPress(e, banner)}\n role=\"button\"\n tabIndex={0}\n >\n {/* Replace with your actual icon component or element */}\n <DA_Icon\n name={DA_IconNames.ExternalLink}\n className={S.readMoreIcon}\n useSvgDimensions\n />\n <span>{getDictionaryString(\"message.readMore\")}</span>\n </div>\n )}\n </div>\n </DA_Container>\n </div>\n ))}\n </>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modalMessageContent\":\"modalMessage_modalMessageContent__-50GV\",\"closeModalBtn\":\"modalMessage_closeModalBtn__y0H3O\"};","import React, { useEffect } from \"react\";\nimport { DA_Modal } from \"@danishagro/shared/src/components/molecules/Modal/Modal.component\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { MessageType } from \"@danishagro/shared/src/content/message/messageEnums\";\nimport { ModalSize } from \"@danishagro/shared/src/contexts/modal.context\";\nimport S from \"./modalMessage.module.scss\";\n\ntype Message = {\n id: number;\n headline: string;\n content: string;\n type: string;\n};\n\n// Define the type for the component props\ntype ModalMessageProps = {\n currentMessage: Message | null;\n showModal: (node: React.ReactNode, options?: object) => void;\n isModalShowing: boolean;\n handleModalClose: (id: number) => void;\n closeModal: () => void;\n getDictionaryString: (key: string) => string;\n};\n\nexport const DA_ModalMessage = ({\n currentMessage,\n showModal,\n isModalShowing,\n handleModalClose,\n closeModal,\n getDictionaryString,\n}: ModalMessageProps) => {\n useEffect(() => {\n if (currentMessage && !isModalShowing && currentMessage.type === MessageType.Modal) {\n showModal(\n <DA_Modal title={currentMessage.headline}>\n <>\n <span\n className={S.modalMessageContent}\n dangerouslySetInnerHTML={{\n __html: currentMessage.content,\n }}\n />\n <DA_Button\n className={S.closeModalBtn}\n title={getDictionaryString(\"OK\")}\n onClick={() => {\n handleModalClose(currentMessage.id);\n closeModal();\n }}\n />\n </>\n </DA_Modal>,\n {\n onClose: () => handleModalClose(currentMessage.id),\n size: ModalSize.MD,\n }\n );\n }\n }, [\n showModal,\n currentMessage,\n handleModalClose,\n isModalShowing,\n closeModal,\n getDictionaryString,\n ]);\n\n // Render nothing as the modal is handled through the showModal function\n return null;\n};\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDanishAgroLogo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 256 82\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.7805 46.3857C13.4893 46.3857 12.9996 46.3857 12.3763 46.4744L9.3043 62.6202C9.66047 62.7096 10.1947 62.7551 10.818 62.7551C17.7189 62.7551 19.5881 54.7042 19.5881 50.9471C19.5881 47.9511 18.3422 46.3857 14.7805 46.3857ZM1.78013 39.945C5.87613 39.4977 11.9311 39.3635 15.8045 39.3635C23.1943 39.3635 28.2698 42.3602 28.2698 50.1875C28.2698 60.5188 21.8594 69.9555 9.61595 69.9555C5.83161 69.9555 2.93843 69.866 0 69.6878L4.54122 45.7148C3.51722 45.5351 2.09252 45.357 0.801391 45.2675L1.78013 39.945Z\",\n fill: \"#BB1C3C\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M42.0276 53.3627C39.0002 53.3627 37.0412 58.103 37.0412 61.5031C37.0412 62.6652 37.22 63.2474 37.8871 63.2474C39.5789 63.2474 42.6509 58.238 43.3633 54.5256L43.5414 53.5863C43.0962 53.4522 42.6509 53.3627 42.0276 53.3627ZM48.6606 69.7321C48.6606 69.7321 47.3702 69.8216 43.764 69.8216C42.829 69.8216 41.8941 69.8216 40.9591 69.7769C41.3153 68.2561 41.6269 67.0485 42.2502 65.5278H42.1612C40.0687 68.6594 37.4419 70.3136 34.3706 70.3136C30.7199 70.3136 28.8054 67.9431 28.8054 63.0685C28.8054 54.3914 33.7021 46.9667 43.4523 46.9667C46.3462 46.9667 49.5518 47.1456 52.6231 47.7271C49.8635 62.0398 48.6606 69.7321 48.6606 69.7321Z\",\n fill: \"#BB1C3C\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M74.9733 69.7321H67.0039L69.5862 56.1798C69.8978 54.5256 69.7197 53.9889 69.1409 53.9889C67.7608 53.9889 64.5552 58.4616 63.6648 63.1125L62.4189 69.7321H54.4495L57.5208 53.7205V53.6303C56.4975 53.4521 55.0283 53.2732 53.7817 53.1838L54.7612 47.8612C58.4565 47.4587 62.4634 47.3245 66.2025 47.4587C65.9799 48.5769 65.6237 50.0536 64.8668 51.7078H64.9559C66.9148 48.8452 69.3635 46.922 72.9698 46.922C77.5103 46.922 78.6678 50.1871 77.911 54.1231L74.9733 69.7321Z\",\n fill: \"#BB1C3C\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M89.9769 45.804C87.261 45.804 85.4357 43.7018 85.4357 41.4207C85.4357 38.5142 87.9289 36.4113 90.6002 36.4113C93.2715 36.4113 95.1414 38.5142 95.1414 40.7051C95.1414 43.7018 92.6482 45.804 89.9769 45.804ZM88.8638 69.7324H80.8952L83.9664 53.72V53.6305C82.9432 53.4524 81.5185 53.2735 80.2274 53.1833L81.2068 47.8615C84.9021 47.4589 88.8638 47.3247 93.0934 47.4589L88.8638 69.7324Z\",\n fill: \"#BB1C3C\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M108.275 53.2732C107.473 53.0495 106.583 52.9161 105.826 52.9161C104.401 52.9161 103.823 53.2732 103.823 54.0335C103.823 55.6437 108.186 57.4775 108.186 62.1731C108.186 65.9302 104.98 70.2688 97.2341 70.2688C95.7648 70.2688 94.2511 70.0906 93.1381 69.8662L94.4737 63.2913C95.2744 63.6044 96.8779 63.9175 97.9019 63.9175C99.1485 63.9175 99.7265 63.515 99.7265 62.8448C99.7265 60.6979 95.5422 59.9368 95.5422 54.8386C95.5422 50.4106 98.9251 46.9666 106.093 46.9666C107.34 46.9666 108.631 47.0561 109.744 47.235L108.275 53.2732Z\",\n fill: \"#BB1C3C\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M130.802 69.7321H122.834L125.415 56.1798C125.727 54.5256 125.549 53.9889 124.971 53.9889C123.59 53.9889 120.385 58.4616 119.494 63.1125L118.248 69.7321H110.278L115.309 43.2104C114.285 43.0314 112.861 42.8518 111.57 42.7623L112.549 37.4405C116.244 37.038 120.207 36.9038 124.436 37.038L122.966 44.9547C122.522 47.2798 121.676 49.6511 120.697 51.7078H120.785C122.745 48.8452 125.192 46.922 128.799 46.922C133.34 46.922 134.498 50.1871 133.741 54.1231L130.802 69.7321Z\",\n fill: \"#BB1C3C\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M226.703 54.0331C223.631 54.0331 222.251 58.2375 222.251 60.9659C222.251 62.128 222.697 63.1568 224.254 63.1568C227.593 63.1568 228.884 59.0873 228.884 56.315C228.884 54.7943 228.35 54.0331 226.703 54.0331ZM223.319 70.2684C216.24 70.2684 213.925 67.0935 213.925 62.1735C213.925 52.2448 221.004 46.967 227.95 46.967C234.939 46.967 237.255 50.5004 237.255 55.2408C237.255 64.3204 230.621 70.2684 223.319 70.2684ZM213.479 54.8837C210.496 53.7655 207.513 56.4931 205.866 65.215L205.019 69.7324H197.051L200.123 53.7655V53.6306C199.099 53.4524 198.253 53.363 197.051 53.2281L198.029 47.8615C201.725 47.459 204.976 47.3248 208.715 47.459C208.448 48.8903 208.047 50.3215 207.379 52.0212H207.469C209.605 48.2641 211.876 46.3408 215.259 47.0564L213.479 54.8837ZM184.852 53.0939C182.582 53.0939 181.291 55.7775 181.291 57.7902C181.291 58.6401 181.826 59.4451 183.027 59.4451C185.431 59.4451 186.633 56.8062 186.633 54.7943C186.633 53.6306 186.009 53.0939 184.852 53.0939ZM180.489 71.2532C179.911 71.6557 178.665 72.5495 178.665 73.7571C178.665 75.2779 180.178 75.9488 182.092 75.9488C184.007 75.9488 185.787 75.412 185.787 73.9808C185.787 72.639 183.783 72.1917 180.489 71.2532ZM196.16 53.2281L193.578 53.4964C193.578 53.4964 193.846 54.391 193.846 55.1968C193.846 63.2917 187.657 64.9019 184.14 64.9019C183.25 64.9019 182.537 64.8571 182.537 64.8571L182.047 66.2437C187.657 67.2724 194.158 67.7644 194.158 73.1757C194.158 77.4248 190.418 81.7186 181.335 81.7186C173.01 81.7186 170.65 78.7219 170.65 75.5462C170.65 72.5942 173.411 70.5375 174.924 69.6422C173.811 69.2844 173.054 69.0168 173.054 69.0168L176.215 63.7837C176.215 63.7837 173.188 63.0233 173.188 57.6113C173.188 48.0404 183.606 47.1899 186.588 47.1899C190.685 47.1899 192.11 47.4135 197.14 47.8615L196.16 53.2281ZM160.499 54.4812C160.276 52.7368 160.098 51.1266 160.055 49.2473H159.965C159.297 50.9917 158.407 52.9604 157.427 54.9724L155.824 58.2822H160.944L160.499 54.4812ZM171.005 69.7324H162.369L161.746 64.8124H152.663L150.259 69.7324H142.023L154.222 45.7146C153.198 45.5357 151.774 45.3561 150.482 45.2666L151.462 39.9448C154.222 39.6317 157.16 39.4975 160.232 39.4975C161.256 39.4975 165.575 39.4975 166.643 39.5423L171.005 69.7324Z\",\n fill: \"#849938\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M240.363 16.9919C253.225 11.48 255.127 3.321 255.988 0C253.84 2.96915 249.051 4.76196 245.974 5.51264C243.17 6.19622 237.736 6.9536 232.552 9.46056C227.395 11.9549 225.329 16.1905 223.817 19.4295C222.156 22.9876 221.225 28.5941 221.225 28.5941C227.231 21.6003 231.169 20.9331 240.363 16.9919Z\",\n fill: \"#849938\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M234.499 22.751C221.639 28.2636 219.736 36.4234 218.874 39.7444C221.023 36.7737 225.812 34.9809 228.89 34.231C231.692 33.5467 237.127 32.79 242.311 30.2823C247.466 27.7888 249.534 23.5539 251.045 20.3141C252.706 16.7561 253.638 11.1487 253.638 11.1487C247.631 18.1433 243.695 18.8113 234.499 22.751Z\",\n fill: \"#849938\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDanishAgroLogo);\nexport default __webpack_public_path__ + \"static/media/danish-agro-logo.69659965e5183c352726a9ebbf6f86fe.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgVilofarmLogo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 266,\n height: 109,\n viewBox: \"0 0 266 109\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M265.931 0.559684C264.698 5.20743 261.876 15.8386 244.9 23.0998C242.786 24.0034 240.879 24.7791 239.128 25.4908L239.128 25.4908C230.612 28.9538 225.819 30.9024 219.1 38.6998C219.1 38.6998 220.4 31.1998 222.6 26.3998C224.7 21.9998 227.5 16.2998 234.4 12.9998C240 10.28 245.792 9.09596 249.83 8.27036C250.84 8.0639 251.74 7.87985 252.5 7.69981C256.7 6.69981 263.1 4.2998 266 0.299805L265.931 0.559684ZM215.969 53.44C217.203 48.7922 220.025 38.161 237 30.8998C239.114 29.9962 241.022 29.2205 242.772 28.5088L242.773 28.5088C251.289 25.0459 256.081 23.0972 262.8 15.2998C262.8 15.2998 261.5 22.7998 259.3 27.5998C257.2 31.9998 254.4 37.6998 247.5 40.9998C241.901 43.7196 236.109 44.9037 232.071 45.7292L232.07 45.7293L232.07 45.7294C231.06 45.9358 230.16 46.1198 229.4 46.2998C225.2 47.2998 218.8 49.6998 215.9 53.6998L215.969 53.44ZM18.0004 73.6997C18.2004 75.8997 18.4004 78.0997 18.5004 80.8997H18.6004C18.7029 80.6435 18.8012 80.3967 18.897 80.1561L18.897 80.156L18.8971 80.1559C19.736 78.0496 20.3849 76.4204 22.0004 73.0997L31.7004 53.3997H43.2004L22.6004 93.8997H9.70039L5.40039 61.6997C5.20801 61.6722 5.00619 61.6429 4.79675 61.6124L4.79657 61.6123C3.48185 61.421 1.86672 61.186 0.400391 61.0997L1.70039 53.9997C6.10039 53.4997 10.8004 53.2997 15.8004 53.4997L18.0004 73.6997ZM39.6004 93.8997H50.3004L56.0004 64.0997C50.3004 63.8997 45.0004 64.0997 40.0004 64.5997L38.7004 71.6997C40.1666 71.786 41.7816 72.021 43.0963 72.2123C43.3059 72.2428 43.5079 72.2722 43.7004 72.2997V72.3997L39.6004 93.8997ZM45.7004 55.8997C45.7004 58.9997 48.1004 61.7997 51.8004 61.7997C55.4004 61.7997 58.8004 58.9997 58.8004 54.9997C58.8004 51.9997 56.3004 49.1997 52.7004 49.1997C49.1004 49.1997 45.7004 51.9997 45.7004 55.8997ZM70.0004 93.8997H59.3004L66.1004 58.2997C65.9079 58.2722 65.706 58.2428 65.4965 58.2123L65.4963 58.2123C64.1817 58.021 62.5666 57.786 61.1004 57.6997L62.4004 50.5997C67.4004 50.0997 72.7004 49.8997 78.4004 50.0997L70.0004 93.8997ZM76.9004 83.6997C76.9004 90.2997 80.1004 94.5997 89.6004 94.5997C99.5004 94.5997 108.4 86.5997 108.3 74.3997C108.3 67.9997 105.2 63.2997 95.8004 63.2997C86.4004 63.2997 76.9004 70.3997 76.9004 83.6997ZM88.2004 82.0997C88.2004 78.3997 90.1004 72.7997 94.2004 72.7997C96.4004 72.7997 97.1004 73.8997 97.1004 75.7997C97.1004 79.4997 95.4004 84.9997 90.9004 84.9997C88.8004 84.9997 88.2004 83.6997 88.2004 82.0997ZM134.6 58.6997C133.8 58.4997 132.7 58.2997 132 58.2997C129.7 58.2997 128.9 59.0997 128.3 62.1997L127.9 64.0997H132.8L131.2 72.4997H126.2L122.1 94.2997C120.4 103.7 115.2 108.3 107.5 108.3C105.8 108.3 103.9 108.1 102.2 107.8L104.7 98.8997C105.4 99.0997 106.4 99.2997 107.2 99.2997C109.2 99.2997 110.5 98.5997 111.3 94.0997L115.4 72.4997H111.7L113.4 64.0997H117.1L117.5 61.6997C118.8 53.9997 122.7 49.4997 132.1 49.4997C133.7 49.4997 135.3 49.5997 136.8 49.9997L134.6 58.6997ZM151.1 93.9997C156 93.9997 157.7 93.8997 157.7 93.8997C157.7 93.8997 159.3 83.5997 163 64.2997C158.8 63.4997 154.5 63.2997 150.6 63.2997C137.5 63.2997 130.9 73.2997 130.9 84.8997C130.9 91.3997 133.5 94.5997 138.4 94.5997C142.5 94.5997 146.1 92.3997 148.9 88.1997H149C148.258 90.0555 147.86 91.653 147.407 93.4715L147.3 93.8997C148.6 93.9997 149.8 93.9997 151.1 93.9997ZM142 82.7997C142 78.2997 144.6 71.8997 148.7 71.8997C149.216 71.8997 149.633 71.9654 149.99 72.0214C150.255 72.0632 150.487 72.0997 150.7 72.0997L150.5 73.3997C149.5 78.3997 145.4 85.0997 143.1 85.0997C142.2 85.0997 142 84.3997 142 82.7997ZM187.9 73.9997C183.9 72.4997 179.9 76.1997 177.6 87.8997L176.5 93.9997H165.8L169.9 72.5997V72.3997L169.517 72.3448L169.517 72.3447C168.151 72.1484 166.359 71.8909 164.9 71.7997L166.2 64.6997C171.2 64.1997 176.5 63.9997 181.5 64.1997C181.1 66.0997 180.6 67.9997 179.7 70.2997H179.8C182.7 65.2997 185.7 62.6997 190.3 63.5997L187.9 73.9997ZM225.2 93.8997H235.9L240.1 73.0997C241.1 67.7997 239.5 63.3997 233.4 63.3997C228.5 63.3997 225.3 65.8997 222.5 70.1997H222.4C222.5 69.7997 222.5 69.4997 222.5 69.2997C222.5 65.0997 219.7 63.3997 216.3 63.3997C211.4 63.3997 208.3 65.9997 205.6 69.7997H205.5C206.4 67.7997 207 65.6997 207.3 64.0997C202.3 63.8997 196.9 64.0997 191.9 64.5997L190.6 71.6997C192.059 71.7909 193.851 72.0484 195.217 72.2447C195.349 72.2637 195.477 72.2821 195.6 72.2997L195.5 72.4997L191.4 93.8997H202.1L203.8 84.9997C205 78.7997 209.3 72.7997 211.2 72.7997C212 72.7997 212.2 73.4997 211.8 75.6997L208.3 93.8997H219L220.7 84.9997C221.9 78.7997 226.2 72.7997 228.1 72.7997C228.9 72.7997 229.1 73.4997 228.7 75.6997L225.2 93.8997Z\",\n fill: \"#004A98\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgVilofarmLogo);\nexport default __webpack_public_path__ + \"static/media/vilofarm-logo.f39bc43668bd969d1e98cfdf822f183d.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDlaAgro(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 265.67 109.62\",\n style: {\n enableBackground: \"new 0 0 265.67 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M2.4,53.58c5.52-0.6,13.68-0.78,18.9-0.78c9.96,0,16.8,4.02,16.8,14.52c0,13.86-8.64,26.52-25.14,26.52 c-5.1,0-9-0.12-12.96-0.36l6.12-32.16c-1.38-0.24-3.3-0.48-5.04-0.6L2.4,53.58z M19.92,62.22c-1.74,0-2.4,0-3.24,0.12L12.54,84 c0.48,0.12,1.2,0.18,2.04,0.18c9.3,0,11.82-10.8,11.82-15.84C26.4,64.32,24.72,62.22,19.92,62.22z M60.42,93.54H38.58l7.68-40.5 h10.92l-5.82,30.54h10.98L60.42,93.54z M88.74,93.54l-0.84-6.6H75.66l-3.24,6.6h-11.1l20.64-40.5H94.5l5.88,40.5H88.74z M86.22,73.08c-0.3-2.34-0.54-4.5-0.6-7.02H85.5c-0.9,2.34-2.1,4.98-3.42,7.68l-2.16,4.44h6.9L86.22,73.08z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M244.61,22.79C261.94,15.4,264.51,4.46,265.67,0c-2.9,3.98-9.35,6.39-13.5,7.4 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C226.91,28.98,232.22,28.08,244.61,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M236.71,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.9-3.98,9.35-6.39,13.5-7.39 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.35,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C254.41,24.34,249.1,25.23,236.71,30.52z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M151.14,93.54H139.5l-0.84-6.6h-12.24l-3.24,6.6h-11.1l16.44-32.22c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c3.72-0.42,7.68-0.6,11.82-0.6c1.38,0,7.2,0,8.64,0.06L151.14,93.54z M136.98,73.08c-0.3-2.34-0.54-4.5-0.6-7.02h-0.12 c-0.9,2.34-2.1,4.98-3.42,7.68l-2.16,4.44h6.9L136.98,73.08z M185.04,71.4l-3.48,0.36c0,0,0.36,1.2,0.36,2.28 c0,10.86-8.34,13.02-13.08,13.02c-1.2,0-2.16-0.06-2.16-0.06l-0.66,1.86c7.56,1.38,16.32,2.04,16.32,9.3 c0,5.7-5.04,11.46-17.28,11.46c-11.22,0-14.4-4.02-14.4-8.28c0-3.96,3.72-6.72,5.76-7.92c-1.5-0.48-2.52-0.84-2.52-0.84l4.26-7.02 c0,0-4.08-1.02-4.08-8.28c0-12.84,14.04-13.98,18.06-13.98c5.52,0,7.44,0.3,14.22,0.9L185.04,71.4z M163.92,95.58 c-0.78,0.54-2.46,1.74-2.46,3.36c0,2.04,2.04,2.94,4.62,2.94c2.58,0,4.98-0.72,4.98-2.64C171.06,97.44,168.36,96.84,163.92,95.58z M169.8,71.22c-3.06,0-4.8,3.6-4.8,6.3c0,1.14,0.72,2.22,2.34,2.22c3.24,0,4.86-3.54,4.86-6.24 C172.2,71.94,171.36,71.22,169.8,71.22z M208.38,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06h-10.74l4.14-21.42v-0.18 c-1.38-0.24-2.52-0.36-4.14-0.54l1.32-7.2c4.98-0.54,9.36-0.72,14.4-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L208.38,73.62z M221.64,94.26c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4 c9.42,0,12.54,4.74,12.54,11.1C240.42,86.28,231.48,94.26,221.64,94.26z M226.2,72.48c-4.14,0-6,5.64-6,9.3 c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18C229.14,73.5,228.42,72.48,226.2,72.48z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDlaAgro);\nexport default __webpack_public_path__ + \"static/media/DLA_Agro.b84eb933f5f6c27ab38e6c4a8f67c98f.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgNordicSeed(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 331.42 118.24\",\n style: {\n enableBackground: \"new 0 0 331.42 118.24\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M24.3,73.37c1.14,3.6,2.16,7.26,2.82,10.5c0.24-2.76,0.72-5.88,1.2-8.4l2.64-13.92h10.62l-7.74,40.5H21 l-4.02-13.62c-0.96-3.18-1.8-6.42-2.34-9.12c-0.24,2.4-0.48,3.78-0.96,6.42l-3.12,16.32H0l6.12-32.22 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c3.72-0.42,7.68-0.6,11.82-0.6c3.06,0,6.42,0.06,6.42,0.06L24.3,73.37z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M53.64,102.77c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4c9.42,0,12.54,4.74,12.54,11.1 C72.42,94.79,63.48,102.77,53.64,102.77z M58.2,80.99c-4.14,0-6,5.64-6,9.3c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18 C61.14,82.01,60.42,80.99,58.2,80.99z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M97.62,82.13c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06H75.48l4.14-21.42v-0.18 c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.26-0.72,15.3-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L97.62,82.13z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M124.86,102.05c0,0-1.68,0.12-6.6,0.12c-1.26,0-2.52,0-3.72-0.06c0.36-1.92,0.84-3.72,1.68-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c0.42,0,0.84,0,1.8,0.12l0.96-5.1v-0.06 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54C126.42,91.73,124.86,102.05,124.86,102.05z M115.92,80.09c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26 C117.36,80.21,116.76,80.09,115.92,80.09z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M143.58,102.05h-10.74l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L143.58,102.05z M145.08,69.95c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C152.04,67.13,148.68,69.95,145.08,69.95z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M171.54,81.47c-1.02-0.42-2.16-0.6-3.36-0.6c-4.44,0-6.3,4.68-6.3,8.58c0,2.34,1.32,3.72,3.84,3.72 c1.32,0,2.76-0.18,4.02-0.6l-1.14,9.48c-1.98,0.6-4.14,0.84-6.18,0.84c-8.22,0-11.88-4.02-11.88-11.04 c0-11.52,7.14-20.4,18.12-20.4c1.86,0,3.6,0.18,5.4,0.54L171.54,81.47z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M310.37,22.79C327.7,15.4,330.26,4.46,331.42,0c-2.9,3.98-9.35,6.39-13.5,7.4 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C292.67,28.98,297.97,28.08,310.37,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M302.46,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.9-3.98,9.35-6.39,13.5-7.39 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.35,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C320.16,24.34,314.86,25.23,302.46,30.52z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M213,70.97c-1.56-0.54-4.14-0.96-5.94-0.96c-3.78,0-5.1,1.38-5.1,3.3c0,4.32,10.62,4.5,10.62,14.34 c0,8.34-7.44,15.24-18.06,15.24c-3.12,0-6.12-0.3-8.34-0.72l1.92-10.38c1.92,0.72,5.16,1.26,7.5,1.26c3.36,0,4.92-1.2,4.92-3.36 c0-4.32-10.56-4.2-10.56-14.34c0-7.74,5.58-14.64,17.46-14.64c2.7,0,5.16,0.24,7.44,0.6L213,70.97z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M226.2,91.25v0.72c0,1.62,0.78,2.34,4.02,2.34c2.88,0,6.06-0.66,9.06-1.8v8.22 c-3.9,1.32-8.34,2.04-12.36,2.04c-8.7,0-11.34-4.38-11.34-10.74c0-13.74,9.18-20.52,17.52-20.52c9,0,10.98,4.38,10.98,8.04 C244.08,87.71,236.34,91.07,226.2,91.25z M231.96,79.49c-2.64,0-4.08,2.7-4.8,5.04c3.66-0.06,6.54-0.9,6.54-3.54 C233.7,80.09,233.16,79.49,231.96,79.49z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M256.2,91.25v0.72c0,1.62,0.78,2.34,4.02,2.34c2.88,0,6.06-0.66,9.06-1.8v8.22 c-3.9,1.32-8.34,2.04-12.36,2.04c-8.7,0-11.34-4.38-11.34-10.74c0-13.74,9.18-20.52,17.52-20.52c9,0,10.98,4.38,10.98,8.04 C274.08,87.71,266.34,91.07,256.2,91.25z M261.96,79.49c-2.64,0-4.08,2.7-4.8,5.04c3.66-0.06,6.54-0.9,6.54-3.54 C263.7,80.09,263.16,79.49,261.96,79.49z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M301.92,102.05c0,0-1.68,0.12-6.6,0.12c-1.26,0-2.52,0-3.72-0.06c0.36-1.92,0.84-3.72,1.68-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c0.42,0,0.84,0,1.8,0.12l0.96-5.1v-0.06 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54C303.48,91.73,301.92,102.05,301.92,102.05z M292.98,80.09c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26 C294.42,80.21,293.82,80.09,292.98,80.09z\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgNordicSeed);\nexport default __webpack_public_path__ + \"static/media/Nordic_Seed.dafe0b494abe9f14292253e21f00d20a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgAdaGreenEnergy(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 186 108\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_37886_102479\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 10,\n y: 18,\n width: 166,\n height: 72\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M175.6 18.7832H10V89.2169H175.6V18.7832Z\",\n fill: \"white\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_37886_102479)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.2267 89.2072C10.5561 89.2072 10.0098 88.663 10.0098 87.9951V71.5122C10.0098 71.0917 10.225 70.7041 10.5892 70.4815C27.5267 60.0921 40.7555 60.0921 57.7675 70.4815C58.3387 70.8278 58.5207 71.5781 58.1648 72.1471C57.8171 72.7161 57.0637 72.8974 56.4925 72.5429C40.5899 62.8296 28.189 62.7141 12.4353 72.1883V87.9868C12.4353 88.6547 11.8889 89.1989 11.2184 89.1989L11.2267 89.2072Z\",\n fill: \"#799677\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.5819 63.5207C85.2424 62.9435 84.5057 62.7457 83.9261 63.0755L56.5249 78.8328C55.9454 79.1709 55.7467 79.9047 56.0778 80.4819C56.3014 80.8694 56.707 81.0838 57.1292 81.0838C57.3361 81.0838 57.5431 81.0344 57.7335 80.9189L69.6129 74.0833V87.9936C69.6129 88.6615 70.1593 89.2057 70.8299 89.2057C71.5004 89.2057 72.0468 88.6615 72.0468 87.9936V72.6898L85.1431 65.1616C85.7226 64.8236 85.9212 64.0897 85.5901 63.5125L85.5819 63.5207Z\",\n fill: \"#103F6C\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.5961 55.1215L62.3209 45.7297C62.4782 45.2268 62.5611 44.6908 62.5611 44.1384C62.5611 41.5657 60.7564 39.4136 58.3391 38.8695V19.9953C58.3391 19.3274 57.7927 18.7832 57.1222 18.7832C56.4517 18.7832 55.9053 19.3274 55.9053 19.9953V38.8695C53.488 39.4219 51.6834 41.574 51.6834 44.1384C51.6834 44.6908 51.7662 45.2268 51.9235 45.7297L35.5324 55.1215C34.9529 55.4595 34.7542 56.1933 35.0854 56.7706C35.3089 57.1581 35.7145 57.3725 36.1367 57.3725C36.3437 57.3725 36.5507 57.323 36.7411 57.2076L53.1403 47.8076C53.8688 48.591 54.8208 49.1516 55.897 49.399V87.9965C55.897 88.6644 56.4434 89.2087 57.1139 89.2087C57.7845 89.2087 58.3308 88.6644 58.3308 87.9965V49.399C59.407 49.1516 60.359 48.591 61.0875 47.8076L77.3709 57.2076C77.5613 57.3147 77.7682 57.3725 77.9752 57.3725C78.3974 57.3725 78.803 57.1581 79.0265 56.7706C79.3577 56.1933 79.159 55.4512 78.5795 55.1215H78.5961ZM57.1305 47.1315C55.4666 47.1315 54.1254 45.7875 54.1254 44.1384C54.1254 42.4892 55.4748 41.1452 57.1305 41.1452C58.7862 41.1452 60.1355 42.4892 60.1355 44.1384C60.1355 45.7875 58.7862 47.1315 57.1305 47.1315Z\",\n fill: \"#739CC3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.5051 45.9108C98.7783 45.9108 99.1673 45.7954 99.415 45.2594L100.997 41.3593H107.164L108.745 45.2511C108.944 45.6717 109.275 45.9108 109.664 45.9108C110.318 45.9108 110.806 45.4903 110.806 44.9379C110.806 44.8636 110.806 44.5997 110.698 44.4019L105.45 31.5882C105.194 30.8874 104.747 30.541 104.085 30.541C103.422 30.541 103.008 30.8709 102.718 31.5882L97.4616 44.4101C97.3706 44.5915 97.3623 44.8554 97.3623 44.9379C97.3623 45.482 97.8675 45.9108 98.5051 45.9108ZM101.808 39.3308L104.085 33.7156L106.361 39.3308H101.808ZM110.525 44.4926C110.525 44.4926 110.558 44.5585 110.566 44.5997C110.558 44.5585 110.541 44.5255 110.525 44.4926Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.065 45.9108H118.527C122.881 45.9108 125.382 43.1073 125.382 38.2259C125.382 33.3446 122.881 30.541 118.527 30.541H114.065C113.395 30.541 112.98 30.9286 112.98 31.5553V44.8966C112.98 45.5233 113.395 45.9108 114.065 45.9108ZM115.125 43.8907V32.5777H118.593C121.681 32.5777 123.246 34.4824 123.246 38.2342C123.246 41.9859 121.681 43.8907 118.593 43.8907H115.125ZM118.527 30.7472C122.773 30.7472 125.182 33.5012 125.182 38.2259C125.182 42.9506 122.782 45.7046 118.527 45.7046C122.773 45.7046 125.182 42.9506 125.182 38.2259C125.182 33.5012 122.782 30.7472 118.527 30.7472Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M138.664 45.9108C139.318 45.9108 139.806 45.4903 139.806 44.9379C139.806 44.8636 139.806 44.5997 139.699 44.4019L134.45 31.5882C134.193 30.8874 133.746 30.541 133.084 30.541C132.422 30.541 132.008 30.8709 131.719 31.5882L126.462 44.4101C126.37 44.5915 126.362 44.8554 126.362 44.9379C126.362 45.482 126.867 45.9108 127.505 45.9108C127.778 45.9108 128.167 45.7954 128.416 45.2594L129.996 41.3593H136.164L137.745 45.2511C137.943 45.6717 138.275 45.9108 138.664 45.9108ZM130.808 39.3308L133.084 33.7156L135.361 39.3308H130.808Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.076 59.4473H104.358C103.738 59.4473 103.365 59.8101 103.365 60.4202C103.365 61.0304 103.738 61.4097 104.358 61.4097H107.041V64.8481C107.041 65.1698 106.983 65.2357 106.751 65.3263C106.064 65.582 105.418 65.6892 104.549 65.6892C101.163 65.6892 99.4501 63.7679 99.4501 59.9832C99.4501 56.1985 101.155 54.2773 104.508 54.2773C105.559 54.2773 106.279 54.4422 107.041 54.6483C107.356 54.7143 107.579 54.7391 107.678 54.7391C108.25 54.7391 108.564 54.4257 108.564 53.8568C108.564 53.4857 108.39 53.1889 108.067 52.9992H108.059L108.051 52.991C107.041 52.5375 105.841 52.3066 104.483 52.3066C99.955 52.3066 97.3552 55.1101 97.3552 59.9915C97.3552 64.8729 99.955 67.6764 104.483 67.6764C105.741 67.6764 107.074 67.4455 107.985 67.0827C108.97 66.6457 109.135 66.1674 109.135 65.1944V60.4532C109.135 59.8513 108.722 59.4637 108.076 59.4637V59.4473ZM103.324 65.7881C103.705 65.8458 104.11 65.8788 104.549 65.8788C104.119 65.8788 103.705 65.8458 103.324 65.7881C102.943 65.7304 102.587 65.6314 102.256 65.5078C102.587 65.6314 102.943 65.7222 103.324 65.7881ZM100.286 64.0071C100.675 64.5596 101.18 64.9883 101.784 65.3017C101.18 64.9966 100.675 64.5596 100.286 64.0071ZM100.013 56.3799C100.269 55.9182 100.575 55.5224 100.956 55.2008C100.584 55.5224 100.269 55.9182 100.013 56.3799ZM108.365 53.8403C108.365 54.0712 108.308 54.2444 108.192 54.3515C108.308 54.2361 108.365 54.0629 108.365 53.8403ZM105.385 67.4207C105.079 67.4455 104.781 67.462 104.483 67.462C104.773 67.462 105.079 67.4455 105.385 67.4207C105.692 67.3961 105.998 67.3548 106.288 67.3053C105.989 67.3548 105.683 67.3961 105.385 67.4207Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.808 61.3906C121.861 60.8052 122.946 59.321 122.946 57.07C122.946 54.1263 121.05 52.502 117.614 52.502H113.401C112.747 52.502 112.341 52.8813 112.341 53.4914V66.4617C112.341 67.0719 112.747 67.4512 113.401 67.4512C114.055 67.4512 114.436 67.0719 114.436 66.4617V61.6546H117.432L121.257 66.8739C121.497 67.2203 121.737 67.4512 122.11 67.4512C122.764 67.4512 123.294 66.9977 123.294 66.4369C123.294 66.2391 123.236 66.0576 123.095 65.8515L119.825 61.3824L119.808 61.3906ZM120.86 57.07C120.86 58.8263 119.825 59.6756 117.698 59.6756H114.436V54.4809H117.698C119.825 54.4809 120.86 55.3302 120.86 57.07ZM120.893 60.7228C121.199 60.5414 121.464 60.327 121.696 60.0879C121.464 60.3352 121.199 60.5414 120.893 60.7228ZM122.284 59.2633C122.391 59.0572 122.474 58.8428 122.54 58.6119C122.474 58.8428 122.383 59.0572 122.284 59.2633ZM112.896 67.1378C112.987 67.1873 113.095 67.2286 113.211 67.245C113.086 67.2286 112.987 67.1955 112.896 67.1378ZM113.591 67.245C113.707 67.2286 113.815 67.1955 113.898 67.1378C113.806 67.1873 113.707 67.2286 113.591 67.245ZM122.805 67.0142C122.979 66.8658 123.095 66.6596 123.095 66.4452C123.095 66.6596 122.987 66.8658 122.805 67.0142Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M134.185 54.4809C134.797 54.4809 135.178 54.1016 135.178 53.4914C135.178 52.8813 134.797 52.502 134.185 52.502H126.759C126.105 52.502 125.699 52.8813 125.699 53.4914V66.4617C125.699 67.0719 126.105 67.4511 126.759 67.4511H134.185C134.797 67.4511 135.178 67.0719 135.178 66.4617C135.178 65.8515 134.797 65.4722 134.185 65.4722H127.794V60.6568H132.96C133.572 60.6568 133.953 60.2775 133.953 59.6673C133.953 59.0571 133.572 58.6779 132.96 58.6779H127.794V54.4809H134.185ZM134.524 54.2252C134.623 54.1923 134.707 54.1346 134.772 54.0686C134.707 54.1346 134.623 54.184 134.524 54.2252ZM134.864 53.9614C134.913 53.8789 134.954 53.7799 134.971 53.6728C134.954 53.7882 134.922 53.8789 134.864 53.9614ZM134.971 53.3183C134.954 53.2028 134.922 53.1121 134.864 53.0297C134.913 53.1121 134.954 53.211 134.971 53.3183ZM134.772 52.9142C134.707 52.8482 134.623 52.7988 134.524 52.7575C134.623 52.7905 134.707 52.8482 134.772 52.9142ZM126.254 67.1379C126.345 67.1873 126.453 67.2285 126.569 67.245C126.444 67.2285 126.345 67.1956 126.254 67.1379ZM134.772 67.0471C134.673 67.146 134.533 67.2121 134.367 67.245C134.533 67.2203 134.673 67.1543 134.772 67.0471C134.872 66.9399 134.938 66.808 134.971 66.6431C134.946 66.808 134.88 66.9482 134.772 67.0471ZM134.971 66.2885C134.954 66.1731 134.922 66.0824 134.864 65.9999C134.913 66.0824 134.954 66.1813 134.971 66.2885ZM133.63 60.1373C133.555 60.261 133.439 60.3517 133.291 60.4012C133.192 60.4342 133.084 60.4507 132.96 60.4507C133.084 60.4507 133.2 60.4342 133.291 60.4012C133.439 60.3517 133.555 60.261 133.63 60.1373C133.68 60.0549 133.721 59.9559 133.738 59.8488C133.721 59.9642 133.688 60.0549 133.63 60.1373ZM132.96 58.8758C133.084 58.8758 133.2 58.8923 133.291 58.9252C133.192 58.8923 133.084 58.8758 132.96 58.8758Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M137.723 53.4914V66.4617C137.723 67.0719 138.128 67.4511 138.782 67.4511H146.207C146.82 67.4511 147.201 67.0719 147.201 66.4617C147.201 65.8515 146.82 65.4722 146.207 65.4722H139.816V60.6568H144.982C145.595 60.6568 145.976 60.2775 145.976 59.6673C145.976 59.0571 145.595 58.6779 144.982 58.6779H139.816V54.4809H146.207C146.82 54.4809 147.201 54.1016 147.201 53.4914C147.201 52.8813 146.82 52.502 146.207 52.502H138.782C138.128 52.502 137.723 52.8813 137.723 53.4914ZM137.979 66.7915C138.02 66.8905 138.07 66.9729 138.144 67.0389C138.07 66.9729 138.012 66.8905 137.979 66.7915ZM138.269 67.1296C138.359 67.179 138.467 67.2202 138.583 67.2367C138.459 67.2202 138.359 67.1873 138.269 67.1296ZM146.381 67.2367C146.497 67.2202 146.588 67.1873 146.671 67.1296C146.588 67.179 146.489 67.2202 146.381 67.2367ZM146.787 67.0389C146.854 66.9729 146.903 66.8905 146.944 66.7915C146.912 66.8905 146.854 66.9729 146.787 67.0389ZM145.644 60.1291C145.57 60.2527 145.455 60.3435 145.305 60.3929C145.206 60.4259 145.098 60.4424 144.974 60.4424C145.098 60.4424 145.214 60.4259 145.305 60.3929C145.455 60.3435 145.57 60.2527 145.644 60.1291C145.694 60.0466 145.736 59.9476 145.752 59.8405C145.736 59.9559 145.702 60.0466 145.644 60.1291Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.311 52.502C159.674 52.502 159.276 52.8813 159.276 53.4914V63.4438L151.875 53.0874C151.578 52.6751 151.246 52.502 150.749 52.502C150.096 52.502 149.69 52.8813 149.69 53.4914V66.4617C149.69 67.0719 150.096 67.4511 150.749 67.4511C151.404 67.4511 151.785 67.0719 151.785 66.4617V56.5093L159.186 66.8657C159.483 67.278 159.814 67.4511 160.311 67.4511C160.948 67.4511 161.346 67.0719 161.346 66.4617V53.4914C161.346 52.8813 160.948 52.502 160.311 52.502ZM149.955 66.7915C149.997 66.8905 150.046 66.9729 150.121 67.0389C150.046 66.9729 149.988 66.8905 149.955 66.7915ZM150.244 67.1296C150.336 67.179 150.444 67.2202 150.56 67.2367C150.435 67.2202 150.336 67.1873 150.244 67.1296ZM150.94 67.2367C151.056 67.2202 151.164 67.1873 151.246 67.1296C151.155 67.179 151.056 67.2202 150.94 67.2367ZM160.501 67.2367C160.617 67.2202 160.725 67.1873 160.808 67.1296C160.717 67.179 160.617 67.2202 160.501 67.2367Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.85 76.0531C106.462 76.0531 106.843 75.6738 106.843 75.0636C106.843 74.4535 106.462 74.0742 105.85 74.0742H98.4242C97.7699 74.0742 97.3643 74.4535 97.3643 75.0636V88.034C97.3643 88.6442 97.7699 89.0234 98.4242 89.0234H105.85C106.462 89.0234 106.843 88.6442 106.843 88.034C106.843 87.4238 106.462 87.0445 105.85 87.0445H99.4587V82.2291H104.624C105.237 82.2291 105.618 81.8498 105.618 81.2396C105.618 80.6294 105.237 80.2502 104.624 80.2502H99.4587V76.0531H105.85ZM104.616 82.023C104.74 82.023 104.856 82.0064 104.956 81.9734C104.856 82.0064 104.748 82.023 104.624 82.023H104.616ZM105.41 81.2313C105.41 81.5447 105.295 81.7756 105.088 81.8992C105.295 81.7673 105.41 81.5364 105.41 81.2313C105.41 80.9262 105.295 80.6872 105.088 80.5634C105.295 80.6954 105.41 80.9262 105.41 81.2313ZM104.616 80.4398C104.74 80.4398 104.856 80.4563 104.947 80.4892C104.848 80.4563 104.74 80.4398 104.608 80.4398H104.616Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.955 74.0742C119.317 74.0742 118.92 74.4535 118.92 75.0636V85.016L111.519 74.6596C111.221 74.2473 110.889 74.0742 110.393 74.0742C109.739 74.0742 109.333 74.4535 109.333 75.0636V88.034C109.333 88.6442 109.739 89.0234 110.393 89.0234C111.048 89.0234 111.428 88.6442 111.428 88.034V78.0816L118.829 88.438C119.126 88.8503 119.458 89.0234 119.955 89.0234C120.592 89.0234 120.989 88.6442 120.989 88.034V75.0636C120.989 74.4535 120.592 74.0742 119.955 74.0742ZM111.362 74.775C111.295 74.6843 111.229 74.6019 111.155 74.5359C111.221 74.6019 111.295 74.6762 111.362 74.775ZM111.014 88.6194C111.155 88.4875 111.237 88.2895 111.237 88.034C111.237 88.2813 111.163 88.4792 111.014 88.6194Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M132.977 76.0531C133.59 76.0531 133.972 75.6738 133.972 75.0636C133.972 74.4535 133.59 74.0742 132.977 74.0742H125.552C124.899 74.0742 124.493 74.4535 124.493 75.0636V88.034C124.493 88.6442 124.899 89.0234 125.552 89.0234H132.977C133.59 89.0234 133.972 88.6442 133.972 88.034C133.972 87.4238 133.59 87.0445 132.977 87.0445H126.587V82.2291H131.752C132.365 82.2291 132.747 81.8498 132.747 81.2396C132.747 80.6294 132.365 80.2502 131.752 80.2502H126.587V76.0531H132.977ZM131.744 82.023C131.868 82.023 131.984 82.0064 132.083 81.9734C131.984 82.0064 131.877 82.023 131.752 82.023H131.744ZM132.415 81.7013C132.365 81.7838 132.299 81.8498 132.208 81.9075C132.291 81.858 132.357 81.7921 132.415 81.7013ZM131.744 80.4398C131.868 80.4398 131.984 80.4563 132.076 80.4892C131.976 80.4563 131.868 80.4398 131.737 80.4398H131.744Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M143.969 82.9317C146.022 82.3462 147.107 80.862 147.107 78.611C147.107 75.6673 145.211 74.043 141.775 74.043H137.562C136.908 74.043 136.502 74.4223 136.502 75.0325V88.0027C136.502 88.6129 136.908 88.9922 137.562 88.9922C138.216 88.9922 138.597 88.6129 138.597 88.0027V83.1956H141.593L145.418 88.415C145.658 88.7613 145.898 88.9922 146.271 88.9922C146.925 88.9922 147.455 88.5387 147.455 87.9779C147.455 87.7801 147.397 87.5986 147.256 87.3925L143.978 82.9234L143.969 82.9317ZM145.02 78.611C145.02 80.3673 143.986 81.2166 141.859 81.2166H138.597V76.0219H141.859C143.986 76.0219 145.02 76.8712 145.02 78.611Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.161 80.9981H156.445C155.824 80.9981 155.451 81.3609 155.451 81.971C155.451 82.5812 155.824 82.9605 156.445 82.9605H159.127V86.3989C159.127 86.7205 159.069 86.7865 158.837 86.8771C158.149 87.1328 157.504 87.24 156.634 87.24C153.249 87.24 151.535 85.3187 151.535 81.534C151.535 77.7493 153.241 75.8281 156.593 75.8281C157.644 75.8281 158.365 75.993 159.127 76.1991C159.441 76.2651 159.664 76.2898 159.764 76.2898C160.335 76.2898 160.65 75.9765 160.65 75.4076C160.65 75.0365 160.476 74.7397 160.154 74.55H160.145L160.137 74.5417C159.127 74.0883 157.926 73.8574 156.569 73.8574C152.04 73.8574 149.441 76.6609 149.441 81.5422C149.441 86.4237 152.04 89.2272 156.569 89.2272C157.827 89.2272 159.159 88.9963 160.07 88.6335C161.055 88.1965 161.221 87.7182 161.221 86.7452V82.004C161.221 81.4021 160.807 81.0145 160.161 81.0145V80.9981ZM159.185 76.0013C159.26 76.0178 159.325 76.0259 159.383 76.0424C159.325 76.0342 159.251 76.0178 159.185 76.0013ZM160.99 87.3224C160.947 87.578 160.874 87.7842 160.716 87.9573C160.616 88.0727 160.476 88.18 160.302 88.2789C160.485 88.18 160.616 88.0727 160.716 87.9573C160.874 87.7842 160.947 87.578 160.99 87.3224C161.014 87.1493 161.022 86.9513 161.022 86.7287C161.022 86.9596 161.022 87.1575 160.99 87.3224Z\",\n fill: \"#4A4A49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174.475 74.0742C174.193 74.0742 173.937 74.2144 173.73 74.4617L169.251 80.0605L164.772 74.4617C164.566 74.2061 164.31 74.0742 164.011 74.0742C163.489 74.0742 162.911 74.5112 162.911 75.1049C162.911 75.344 162.993 75.5584 163.167 75.7563L168.191 82.0724V88.034C168.191 88.6442 168.597 89.0234 169.251 89.0234C169.906 89.0234 170.286 88.6442 170.286 88.034V82.0972L175.336 75.748C175.493 75.5419 175.568 75.3275 175.568 75.1049C175.568 74.4947 174.988 74.0742 174.466 74.0742H174.475Z\",\n fill: \"#4A4A49\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgAdaGreenEnergy);\nexport default __webpack_public_path__ + \"static/media/Ada_Green_Energy.2c9d6f49b1c84b32874aa7a19f1a910e.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgAgromex(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 267.53 109.62\",\n style: {\n enableBackground: \"new 0 0 267.53 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#839837;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M172.98,62.94c-4.86,0-8.1,2.52-10.86,6.78h-0.06c0.06-0.42,0.06-0.72,0.06-0.9c0-4.14-2.82-5.88-6.18-5.88 c-4.86,0-7.98,2.58-10.68,6.42h-0.12c0.9-1.98,1.5-4.08,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6l-0.06,0.24l-4.08,21.36h10.74l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24c0.78,0,1.02,0.72,0.6,2.94 l-3.48,18.18h10.68l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18h10.74l4.02-20.94 C180.66,67.32,179.1,62.94,172.98,62.94z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M115.8,63c-9.36,0-18.9,7.08-18.9,20.4c0,6.6,3.12,10.86,12.66,10.86c9.84,0,18.78-7.98,18.78-20.16 C128.34,67.74,125.22,63,115.8,63z M110.82,84.72c-2.1,0-2.7-1.38-2.7-2.94c0-3.66,1.86-9.3,6-9.3c2.22,0,2.94,1.02,2.94,3.06 C117.06,79.26,115.32,84.72,110.82,84.72z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"236.1,61.56 228.48,71.58 225.96,63.72 214.14,63.72 220.08,77.64 208.26,90.78 217.56,95.7 225.24,85.74 227.52,93.54 239.94,93.54 233.88,79.32 245.1,66.42 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M33.18,53.04c-1.44-0.06-7.26-0.06-8.64-0.06c-4.14,0-8.1,0.18-11.82,0.6l-1.32,7.14 c1.74,0.12,3.66,0.36,5.04,0.6L0,93.54h11.1l3.24-6.6h12.24l0.84,6.6h11.64L33.18,53.04z M18.6,78.18l2.16-4.44 c1.32-2.7,2.52-5.34,3.42-7.68h0.12c0.06,2.52,0.3,4.68,0.6,7.02l0.6,5.1H18.6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M88.2,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-9.42,0-14.4,0.54l-1.32,7.2 c1.62,0.18,2.76,0.3,4.14,0.54v0.18l-4.14,21.42H84.9l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C94.14,62.16,91.08,64.74,88.2,69.78z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M74.28,64.2c-6.78-0.6-8.7-0.9-14.22-0.9C56.04,63.3,42,64.44,42,77.28c0,7.26,4.08,8.28,4.08,8.28l-4.26,7.02 c0,0,1.02,0.36,2.52,0.84c-2.04,1.2-5.76,3.96-5.76,7.92c0,4.26,3.18,8.28,14.4,8.28c12.24,0,17.28-5.76,17.28-11.46 c0-7.26-8.76-7.92-16.32-9.3L54.6,87c0,0,0.96,0.06,2.16,0.06c4.74,0,13.08-2.16,13.08-13.02c0-1.08-0.36-2.28-0.36-2.28l3.48-0.36 L74.28,64.2z M58.98,99.24c0,1.92-2.4,2.64-4.98,2.64c-2.58,0-4.62-0.9-4.62-2.94c0-1.62,1.68-2.82,2.46-3.36 C56.28,96.84,58.98,97.44,58.98,99.24z M55.26,79.74c-1.62,0-2.34-1.08-2.34-2.22c0-2.7,1.74-6.3,4.8-6.3c1.56,0,2.4,0.72,2.4,2.28 C60.12,76.2,58.5,79.74,55.26,79.74z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M210.48,71.04c0-3.66-1.98-8.04-10.98-8.04c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74 c4.02,0,8.46-0.72,12.36-2.04V84c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72 C202.74,82.56,210.48,79.2,210.48,71.04z M198.36,70.98c1.2,0,1.74,0.6,1.74,1.5c0,2.64-2.88,3.48-6.54,3.54 C194.28,73.68,195.72,70.98,198.36,70.98z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M246.47,22.79C263.8,15.4,266.37,4.45,267.53,0c-2.9,3.98-9.35,6.39-13.5,7.39c-3.78,0.92-11.1,1.93-18.09,5.3 c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29C228.77,28.97,234.08,28.08,246.47,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M238.57,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.89-3.99,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C256.26,24.34,250.96,25.23,238.57,30.52z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgAgromex);\nexport default __webpack_public_path__ + \"static/media/Agromex.a0efb197f496f58ec1c2124810987a54.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgApJoergensen(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 391.37 109.62\",\n style: {\n enableBackground: \"new 0 0 391.37 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M24.54,52.98c-4.14,0-8.1,0.18-11.82,0.6l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6L0,93.54h11.1l3.24-6.6 h12.24l0.84,6.6h11.64l-5.88-40.5C31.74,52.98,25.92,52.98,24.54,52.98z M18.6,78.18l2.16-4.44c1.32-2.7,2.52-5.34,3.42-7.68h0.12 c0.06,2.52,0.3,4.68,0.6,7.02l0.6,5.1H18.6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M46.79,87.58c-1.84,0-3.49,1.53-3.49,3.49c0,1.71,1.41,3.24,3.24,3.24c1.84,0,3.49-1.53,3.49-3.49 C50.04,89.11,48.63,87.58,46.79,87.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M93.37,63.9c0-7.68-5.76-11.16-13.62-11.16c-7.14,0-11.7,0.3-17.82,0.84l-1.32,7.14 c1.74,0.12,3.66,0.36,5.04,0.6l-6.12,32.22h10.92l2.34-12.48c0.78,0.06,1.44,0.06,1.8,0.06C85.69,81.12,93.37,73.08,93.37,63.9z M75.37,71.82c-0.12,0-0.36,0-0.72-0.06l1.86-9.9c0.48-0.06,0.9-0.06,1.62-0.06c2.7,0,3.78,1.56,3.78,3.42 C81.91,68.58,79.33,71.82,75.37,71.82z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M80.27,87.58c-1.84,0-3.49,1.53-3.49,3.49c0,1.71,1.41,3.24,3.24,3.24c1.84,0,3.49-1.53,3.49-3.49 C83.51,89.11,82.1,87.58,80.27,87.58z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M110.59,53.58l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6l-3.72,19.56c-0.54,2.88-2.1,3.96-4.56,3.96 c-1.14,0-1.98-0.24-2.64-0.48l-1.8,9.36c1.44,0.3,2.82,0.48,5.34,0.48c9.54,0,13.2-6.24,14.28-11.88l5.58-29.28 C121.08,52.86,115.57,53.04,110.59,53.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M151.92,64.8l3.3-5.76l-5.28-2.4l-3.72,6.48c-0.72-0.06-1.56-0.12-2.34-0.12c-11.04,0-18.84,8.4-18.84,20.4 c0,4.08,1.2,7.26,4.32,9.06l-2.94,5.16l5.4,2.52l3.42-6c0.78,0.06,1.62,0.12,2.52,0.12c9.84,0,18.72-7.98,18.72-20.16 C156.48,70.08,155.22,66.72,151.92,64.8z M135.37,82.44c-0.12-0.42-0.18-0.9-0.18-1.32c0-4.56,2.34-8.34,5.1-9.18 c0.42-0.12,0.84-0.18,1.26-0.18L135.37,82.44z M140.95,85.32c-0.42,0.12-0.78,0.18-1.08,0.18l6.3-11.04 c0.06,0.54,0.06,0.9,0.06,1.14C146.23,78,145.27,84.06,140.95,85.32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M181.68,73.62l2.4-10.5c-4.56-0.96-7.62,1.62-10.5,6.66h-0.12c0.9-2.28,1.44-4.2,1.8-6.12 c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06 C173.64,75.78,177.66,72.12,181.68,73.62z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M216.12,64.2c-6.78-0.6-9-0.9-14.52-0.9c-4.02,0-18.06,1.14-18.06,13.98c0,7.26,4.08,8.28,4.08,8.28 l-4.26,7.02c0,0,1.02,0.36,2.52,0.84c-2.04,1.2-5.76,3.96-5.76,7.92c0,4.26,3.18,8.28,14.4,8.28c12.24,0,17.28-5.76,17.28-11.46 c0-7.26-8.76-7.92-16.32-9.3l0.66-1.86c0,0,0.96,0.06,2.16,0.06c4.74,0,13.08-2.16,13.08-13.02c0-1.08-0.36-2.28-0.36-2.28 l3.78-0.42L216.12,64.2z M200.52,99.24c0,1.92-2.4,2.64-4.98,2.64c-2.58,0-4.62-0.9-4.62-2.94c0-1.62,1.68-2.82,2.46-3.36 C197.82,96.84,200.52,97.44,200.52,99.24z M196.8,79.74c-1.62,0-2.34-1.08-2.34-2.22c0-2.7,1.74-6.3,4.8-6.3 c1.56,0,2.4,0.72,2.4,2.28C201.66,76.2,200.04,79.74,196.8,79.74z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M232.92,63c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74c4.02,0,8.46-0.72,12.36-2.04V84 c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72c10.14-0.18,17.88-3.54,17.88-11.7 C243.9,67.38,241.92,63,232.92,63z M226.98,76.02c0.72-2.34,2.16-5.04,4.8-5.04c1.2,0,1.74,0.6,1.74,1.5 C233.52,75.12,230.64,75.96,226.98,76.02z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M271.38,62.94c-4.86,0-8.16,2.58-10.8,6.42h-0.12c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24 c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18h10.74l3.96-20.94C279.06,67.32,277.5,62.94,271.38,62.94z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M282.48,73.56c0,6.84,5.64,7.86,5.64,10.74c0,0.9-0.78,1.44-2.46,1.44c-1.38,0-3.54-0.42-4.62-0.84 l-1.8,8.82c1.5,0.3,3.54,0.54,5.52,0.54c10.44,0,14.76-5.82,14.76-10.86c0-6.3-5.88-8.76-5.88-10.92c0-1.02,0.78-1.5,2.7-1.5 c1.02,0,2.22,0.18,3.3,0.48l1.98-8.1c-1.5-0.24-3.24-0.36-4.92-0.36C287.04,63,282.48,67.62,282.48,73.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M320.22,63c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74c4.02,0,8.46-0.72,12.36-2.04V84 c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72c10.14-0.18,17.88-3.54,17.88-11.7 C331.2,67.38,329.22,63,320.22,63z M314.28,76.02c0.72-2.34,2.16-5.04,4.8-5.04c1.2,0,1.74,0.6,1.74,1.5 C320.82,75.12,317.94,75.96,314.28,76.02z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M358.68,62.94c-4.86,0-8.16,2.58-10.8,6.42h-0.12c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24 c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18h10.74l3.96-20.94C366.36,67.32,364.8,62.94,358.68,62.94z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M370.31,22.79C387.65,15.4,390.21,4.46,391.37,0c-2.89,3.98-9.35,6.39-13.5,7.4 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C352.62,28.98,357.92,28.08,370.31,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M362.41,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.9-3.98,9.35-6.39,13.5-7.39 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C380.11,24.34,374.8,25.24,362.41,30.52z\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgApJoergensen);\nexport default __webpack_public_path__ + \"static/media/AP_Joergensen.c40505c0b40c96c20c3680a4cd9eb19c.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgBalticAgro(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 314.57 109.62\",\n style: {\n enableBackground: \"new 0 0 314.57 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M2.4,53.58c4.08-0.24,9-0.84,20.52-0.84c7.56,0,12.9,2.28,12.9,8.76c0,4.98-2.7,8.34-6.9,10.5v0.06 c2.64,0.9,4.14,3.84,4.14,7.08c0,7.86-7.56,14.52-18.84,14.52c-2.94,0-7.5-0.12-14.22-0.12l6.12-32.22 c-1.38-0.24-3.3-0.48-5.04-0.6L2.4,53.58z M17.58,76.98c-1.26,0-2.82,0-3.54,0.06l-1.32,7.38c0.6,0.06,1.8,0.12,2.4,0.12 c4.08,0,6.18-2.34,6.18-4.74C21.3,78,19.98,76.98,17.58,76.98z M20.16,61.74c-1.32,0-2.22,0.06-3.18,0.12l-1.32,6.84 c0.6,0.06,1.2,0.06,1.8,0.06c3.96,0,6.42-1.92,6.42-4.62C23.88,62.52,22.56,61.74,20.16,61.74z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M62.58,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C64.2,83.22,62.58,93.54,62.58,93.54z M53.64,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C55.08,71.7,54.48,71.58,53.64,71.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M80.52,93.54H69.78l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54 L80.52,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M108.18,72.12h-5.46L100.8,82.5c-0.36,2.1,0,2.7,1.68,2.7c1.26,0,2.22-0.18,3.18-0.36l-1.26,8.52 c-2.28,0.6-4.92,0.9-6.9,0.9c-6.84,0-9-3.24-7.56-10.98l2.1-11.16h-3.72l1.68-8.4h3.6l1.62-8.4l11.1-2.1l-1.98,10.5h5.52 L108.18,72.12z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M121.98,93.54h-10.74l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L121.98,93.54z M123.48,61.44c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C130.44,58.62,127.08,61.44,123.48,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M149.88,72.96c-1.02-0.42-2.16-0.6-3.36-0.6c-4.44,0-6.3,4.68-6.3,8.58c0,2.34,1.32,3.72,3.84,3.72 c1.32,0,2.76-0.18,4.02-0.6l-1.14,9.48c-1.98,0.6-4.14,0.84-6.18,0.84c-8.22,0-11.88-4.02-11.88-11.04 c0-11.52,7.14-20.4,18.12-20.4c1.86,0,3.6,0.18,5.4,0.54L149.88,72.96z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M200.04,93.54H188.4l-0.84-6.6h-12.24l-3.24,6.6h-11.1l16.44-32.22c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c3.72-0.42,7.68-0.6,11.82-0.6c1.38,0,7.2,0,8.64,0.06L200.04,93.54z M185.88,73.08c-0.3-2.34-0.54-4.5-0.6-7.02h-0.12 c-0.9,2.34-2.1,4.98-3.42,7.68l-2.16,4.44h6.9L185.88,73.08z M233.94,71.4l-3.48,0.36c0,0,0.36,1.2,0.36,2.28 c0,10.86-8.34,13.02-13.08,13.02c-1.2,0-2.16-0.06-2.16-0.06l-0.66,1.86c7.56,1.38,16.32,2.04,16.32,9.3 c0,5.7-5.04,11.46-17.28,11.46c-11.22,0-14.4-4.02-14.4-8.28c0-3.96,3.72-6.72,5.76-7.92c-1.5-0.48-2.52-0.84-2.52-0.84l4.26-7.02 c0,0-4.08-1.02-4.08-8.28c0-12.84,14.04-13.98,18.06-13.98c5.52,0,7.44,0.3,14.22,0.9L233.94,71.4z M212.82,95.58 c-0.78,0.54-2.46,1.74-2.46,3.36c0,2.04,2.04,2.94,4.62,2.94c2.58,0,4.98-0.72,4.98-2.64C219.96,97.44,217.26,96.84,212.82,95.58z M218.7,71.22c-3.06,0-4.8,3.6-4.8,6.3c0,1.14,0.72,2.22,2.34,2.22c3.24,0,4.86-3.54,4.86-6.24 C221.1,71.94,220.26,71.22,218.7,71.22z M257.28,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06h-10.74l4.14-21.42v-0.18 c-1.38-0.24-2.52-0.36-4.14-0.54l1.32-7.2c4.98-0.54,9.36-0.72,14.4-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L257.28,73.62z M270.54,94.26c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4 c9.42,0,12.54,4.74,12.54,11.1C289.32,86.28,280.38,94.26,270.54,94.26z M275.1,72.48c-4.14,0-6,5.64-6,9.3 c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18C278.04,73.5,277.32,72.48,275.1,72.48z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M293.51,22.79C310.84,15.4,313.4,4.45,314.57,0c-2.9,3.98-9.35,6.39-13.5,7.39 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C275.81,28.98,281.12,28.08,293.51,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M285.6,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.9-3.99,9.35-6.39,13.5-7.39 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C303.3,24.34,298,25.23,285.6,30.52z\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgBalticAgro);\nexport default __webpack_public_path__ + \"static/media/Baltic_Agro.ccc0902dd1f646f7c7a8d21de0d9dc82.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgCeravis(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 303.11 118.12\",\n style: {\n enableBackground: \"new 0 0 303.11 118.12\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M29.52,72.35c-1.68-0.6-3.78-0.96-5.7-0.96c-9.12,0-11.34,9.54-11.34,14.46c0,4.14,1.74,6.54,6.54,6.54 c2.52,0,4.86-0.42,6.9-1.14l-0.9,10.32c-2.76,0.6-6.36,1.02-9.3,1.02C2.34,102.59,0,94.01,0,88.07c0-13.14,8.22-26.82,24.54-26.82 c3.12,0,5.88,0.42,7.98,1.08L29.52,72.35z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M40.14,91.25v0.72c0,1.62,0.78,2.34,4.02,2.34c2.88,0,6.06-0.66,9.06-1.8v8.22 c-3.9,1.32-8.34,2.04-12.36,2.04c-8.7,0-11.34-4.38-11.34-10.74c0-13.74,9.18-20.52,17.52-20.52c9,0,10.98,4.38,10.98,8.04 C58.02,87.71,50.28,91.07,40.14,91.25z M45.9,79.49c-2.64,0-4.08,2.7-4.8,5.04c3.66-0.06,6.54-0.9,6.54-3.54 C47.64,80.09,47.1,79.49,45.9,79.49z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M83.28,82.13c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06H61.14l4.14-21.42v-0.18 c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.26-0.72,15.3-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L83.28,82.13z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M110.52,102.05c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C112.14,91.73,110.52,102.05,110.52,102.05z M101.58,80.09c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C103.02,80.21,102.42,80.09,101.58,80.09z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M134.46,102.05h-11.28l-4.92-29.82h11.28l0.9,6.36c0.42,3,0.66,6.12,0.78,8.94h0.12l7.56-16.68l10.62,2.88 L134.46,102.05z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M161.88,102.05h-10.74l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L161.88,102.05z M163.38,69.95c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C170.34,67.13,166.98,69.95,163.38,69.95z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M188.94,79.97c-1.08-0.3-2.28-0.48-3.3-0.48c-1.92,0-2.7,0.48-2.7,1.5c0,2.16,5.88,4.62,5.88,10.92 c0,5.04-4.32,10.86-14.76,10.86c-1.98,0-4.02-0.24-5.52-0.54l1.8-8.82c1.08,0.42,3.24,0.84,4.62,0.84c1.68,0,2.46-0.54,2.46-1.44 c0-2.88-5.64-3.9-5.64-10.74c0-5.94,4.56-10.56,14.22-10.56c1.68,0,3.42,0.12,4.92,0.36L188.94,79.97z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M239.28,102.05h-11.64l-0.84-6.6h-12.24l-3.24,6.6h-11.1l16.44-32.22c-1.38-0.24-3.3-0.48-5.04-0.6 l1.32-7.14c3.72-0.42,7.68-0.6,11.82-0.6c1.38,0,7.2,0,8.64,0.06L239.28,102.05z M225.12,81.59c-0.3-2.34-0.54-4.5-0.6-7.02 h-0.12c-0.9,2.34-2.1,4.98-3.42,7.68l-2.16,4.44h6.9L225.12,81.59z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M273.54,100.07c-4.14,1.74-9.48,2.7-14.4,2.7c-12.42,0-17.34-6.3-17.34-15.42 c0-14.58,10.44-26.46,26.7-26.46c4.2,0,8.64,0.54,12.42,1.56l-3.24,10.5c-3-1.2-6.78-1.98-10.14-1.98 c-9.3,0-13.86,7.5-13.86,14.76c0,3.9,1.98,6.84,7.44,6.84c0.9,0,2.04-0.06,3-0.3l0.78-4.02c-1.38-0.24-3.24-0.48-4.86-0.6 l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54L273.54,100.07z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M282.05,22.79C299.38,15.4,301.94,4.45,303.11,0c-2.9,3.98-9.35,6.39-13.5,7.4 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C264.35,28.98,269.66,28.08,282.05,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M274.15,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.9-3.98,9.35-6.39,13.5-7.39 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.35,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C291.84,24.34,286.54,25.23,274.15,30.52z\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCeravis);\nexport default __webpack_public_path__ + \"static/media/Ceravis.613721ac120d4f44388870b8b5ca8343.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDanishAgro(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 344.98 109.62\",\n style: {\n enableBackground: \"new 0 0 344.98 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M2.4,53.58c5.52-0.6,13.68-0.78,18.9-0.78c9.96,0,16.8,4.02,16.8,14.52c0,13.86-8.64,26.52-25.14,26.52 c-5.1,0-9-0.12-12.96-0.36l6.12-32.16c-1.38-0.24-3.3-0.48-5.04-0.6L2.4,53.58z M19.92,62.22c-1.74,0-2.4,0-3.24,0.12L12.54,84 c0.48,0.12,1.2,0.18,2.04,0.18c9.3,0,11.82-10.8,11.82-15.84C26.4,64.32,24.72,62.22,19.92,62.22z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M65.58,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C67.2,83.22,65.58,93.54,65.58,93.54z M56.64,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C58.08,71.7,57.48,71.58,56.64,71.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M101.04,93.54H90.3l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88H73.38 l4.14-21.48v-0.12c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.38-0.72,15.42-0.54c-0.3,1.5-0.78,3.48-1.8,5.7h0.12 c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L101.04,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M119.76,93.54h-10.74l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L119.76,93.54z M121.26,61.44c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C128.22,58.62,124.86,61.44,121.26,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M145.92,71.46c-1.08-0.3-2.28-0.48-3.3-0.48c-1.92,0-2.7,0.48-2.7,1.5c0,2.16,5.88,4.62,5.88,10.92 c0,5.04-4.32,10.86-14.76,10.86c-1.98,0-4.02-0.24-5.52-0.54l1.8-8.82c1.08,0.42,3.24,0.84,4.62,0.84c1.68,0,2.46-0.54,2.46-1.44 c0-2.88-5.64-3.9-5.64-10.74c0-5.94,4.56-10.56,14.22-10.56c1.68,0,3.42,0.12,4.92,0.36L145.92,71.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M176.28,93.54h-10.74l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88h-10.74 l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54l-1.98,10.62c-0.6,3.12-1.74,6.3-3.06,9.06 h0.12c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L176.28,93.54z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M230.46,93.54h-11.64l-0.84-6.6h-12.24l-3.24,6.6h-11.1l16.44-32.22c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c3.72-0.42,7.68-0.6,11.82-0.6c1.38,0,7.2,0,8.64,0.06L230.46,93.54z M216.3,73.08c-0.3-2.34-0.54-4.5-0.6-7.02h-0.12 c-0.9,2.34-2.1,4.98-3.42,7.68L210,78.18h6.9L216.3,73.08z M264.36,71.4l-3.48,0.36c0,0,0.36,1.2,0.36,2.28 c0,10.86-8.34,13.02-13.08,13.02c-1.2,0-2.16-0.06-2.16-0.06l-0.66,1.86c7.56,1.38,16.32,2.04,16.32,9.3 c0,5.7-5.04,11.46-17.28,11.46c-11.22,0-14.4-4.02-14.4-8.28c0-3.96,3.72-6.72,5.76-7.92c-1.5-0.48-2.52-0.84-2.52-0.84l4.26-7.02 c0,0-4.08-1.02-4.08-8.28c0-12.84,14.04-13.98,18.06-13.98c5.52,0,7.44,0.3,14.22,0.9L264.36,71.4z M243.24,95.58 c-0.78,0.54-2.46,1.74-2.46,3.36c0,2.04,2.04,2.94,4.62,2.94c2.58,0,4.98-0.72,4.98-2.64C250.38,97.44,247.68,96.84,243.24,95.58z M249.12,71.22c-3.06,0-4.8,3.6-4.8,6.3c0,1.14,0.72,2.22,2.34,2.22c3.24,0,4.86-3.54,4.86-6.24 C251.52,71.94,250.68,71.22,249.12,71.22z M287.7,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06h-10.74l4.14-21.42v-0.18 c-1.38-0.24-2.52-0.36-4.14-0.54l1.32-7.2c4.98-0.54,9.36-0.72,14.4-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L287.7,73.62z M300.96,94.26c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4 c9.42,0,12.54,4.74,12.54,11.1C319.74,86.28,310.8,94.26,300.96,94.26z M305.52,72.48c-4.14,0-6,5.64-6,9.3 c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18C308.46,73.5,307.74,72.48,305.52,72.48z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M323.93,22.79C341.26,15.4,343.82,4.46,344.98,0c-2.89,3.98-9.35,6.39-13.5,7.39 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C306.23,28.98,311.54,28.08,323.93,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M316.02,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.89-3.99,9.35-6.39,13.5-7.4 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C333.72,24.34,328.42,25.23,316.02,30.52z\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDanishAgro);\nexport default __webpack_public_path__ + \"static/media/Danish_Agro.caa0ac84971b0a5e98a9f24ef4601bdd.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDavaFoods(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 344.96 109.62\",\n style: {\n enableBackground: \"new 0 0 344.96 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M323.91,22.79C341.24,15.4,343.8,4.46,344.96,0c-2.89,3.98-9.35,6.39-13.5,7.4c-3.78,0.92-11.1,1.93-18.09,5.3 c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29C306.21,28.98,311.52,28.08,323.91,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M316.01,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.89-3.99,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.35,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C333.7,24.34,328.4,25.24,316.01,30.52z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M21.3,52.8c-5.22,0-13.38,0.18-18.9,0.78l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6L0,93.48 c3.96,0.24,7.86,0.36,12.96,0.36c16.5,0,25.14-12.66,25.14-26.52C38.1,56.82,31.26,52.8,21.3,52.8z M14.58,84.18 c-0.84,0-1.56-0.06-2.04-0.18l4.14-21.66c0.84-0.12,1.5-0.12,3.24-0.12c4.8,0,6.48,2.1,6.48,6.12 C26.4,73.38,23.88,84.18,14.58,84.18z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M55.08,53.04l-20.64,40.5h11.1l3.24-6.6h12.24l0.84,6.6H73.5l-5.88-40.5H55.08z M53.04,78.18l2.16-4.44 c1.32-2.7,2.52-5.34,3.42-7.68h0.12c0.06,2.52,0.3,4.68,0.6,7.02l0.6,5.1H53.04z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M104.46,53.04L94.8,72.72c-1.8,3.72-2.4,5.28-3.36,7.8h-0.12c-0.06-2.76-0.24-5.04-0.48-7.2l-2.28-20.28H77.1 l5.4,40.5h12.84l20.58-40.5H104.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M125.16,53.04l-20.64,40.5h11.1l3.24-6.6h12.24l0.84,6.6h11.64l-5.88-40.5H125.16z M123.12,78.18l2.16-4.44 c1.32-2.7,2.52-5.34,3.42-7.68h0.12c0.06,2.52,0.3,4.68,0.6,7.02l0.6,5.1H123.12z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M177.42,62.64h11.7l1.86-9.6h-11.94c-5.7,0-11.04,0-16.02,0.54l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6 l-6.12,32.22h10.92l2.88-15.18h11.04l1.8-9.18h-11.04L177.42,62.64z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M207.24,63c-9.36,0-18.9,7.08-18.9,20.4c0,6.6,3.12,10.86,12.66,10.86c9.84,0,18.78-7.98,18.78-20.16 C219.78,67.74,216.66,63,207.24,63z M202.26,84.72c-2.1,0-2.7-1.38-2.7-2.94c0-3.66,1.86-9.3,6-9.3c2.22,0,2.94,1.02,2.94,3.06 C208.5,79.26,206.76,84.72,202.26,84.72z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M240.42,63c-9.36,0-18.9,7.08-18.9,20.4c0,6.6,3.12,10.86,12.66,10.86c9.84,0,18.78-7.98,18.78-20.16 C252.96,67.74,249.84,63,240.42,63z M235.44,84.72c-2.1,0-2.7-1.38-2.7-2.94c0-3.66,1.86-9.3,6-9.3c2.22,0,2.94,1.02,2.94,3.06 C241.68,79.26,239.94,84.72,235.44,84.72z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M273.36,50.22l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.06l-0.96,5.1c-0.96-0.12-1.38-0.12-1.8-0.12 c-13.14,0-19.74,9.96-19.74,21.6c0,6.54,2.58,9.72,7.5,9.72c4.14,0,7.68-2.22,10.5-6.42h0.12c-0.84,1.98-1.32,3.78-1.68,5.7 c1.2,0.06,2.46,0.06,3.72,0.06c4.92,0,6.6-0.12,6.6-0.12s1.56-10.32,8.04-43.86C283.68,49.5,278.34,49.68,273.36,50.22z M274.2,73.14c-0.96,4.98-5.1,11.7-7.38,11.7c-0.9,0-1.14-0.78-1.14-2.34c0-4.56,2.64-10.92,6.72-10.92c0.84,0,1.44,0.12,2.04,0.3 L274.2,73.14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M290.28,73.56c0,6.84,5.64,7.86,5.64,10.74c0,0.9-0.78,1.44-2.46,1.44c-1.38,0-3.54-0.42-4.62-0.84l-1.8,8.82 c1.5,0.3,3.54,0.54,5.52,0.54c10.44,0,14.76-5.82,14.76-10.86c0-6.3-5.88-8.76-5.88-10.92c0-1.02,0.78-1.5,2.7-1.5 c1.02,0,2.22,0.18,3.3,0.48l1.98-8.1c-1.5-0.24-3.24-0.36-4.92-0.36C294.84,63,290.28,67.62,290.28,73.56z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDavaFoods);\nexport default __webpack_public_path__ + \"static/media/DAVA_Foods.0fc0bcb63e5fdc04d9ace0e834082258.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgHankkija(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 274.2 109.62\",\n style: {\n enableBackground: \"new 0 0 274.2 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M15.6,67.8h11.88l2.82-14.76h10.98l-7.74,40.5H22.62l3.06-15.96H13.8l-3.06,15.96H0l6.12-32.22 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54L15.6,67.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M67.02,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72C40.26,72.96,46.86,63,60,63c3.9,0,8.22,0.24,12.36,1.02 C68.64,83.22,67.02,93.54,67.02,93.54z M58.08,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C59.52,71.7,58.92,71.58,58.08,71.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M102.18,93.54H91.44l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88H74.52 l4.14-21.48v-0.12c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.38-0.72,15.42-0.54c-0.3,1.5-0.78,3.48-1.8,5.7h0.12 c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L102.18,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M132.78,77.76l6.48,15.78h-12.9l-3.9-13.8l-2.64,13.8h-10.74l6.72-35.4l0.06-0.18 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54l-4.86,25.5l11.46-13.62l8.76,5.22L132.78,77.76z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M165.96,77.76l6.48,15.78h-12.9l-3.9-13.8L153,93.54h-10.74l6.72-35.4l0.06-0.18 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54l-4.86,25.5l11.46-13.62l8.76,5.22L165.96,77.76z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M189.3,93.54h-10.74l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L189.3,93.54z M190.8,61.44c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C197.76,58.62,194.4,61.44,190.8,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M208.26,94.26c-1.56,8.1-6.06,13.68-15.78,13.68c-1.44,0-3-0.24-4.26-0.6l2.28-9.18 c0.96,0.42,2.1,0.6,2.88,0.6c2.22,0,3.48-1.32,4.2-4.92l4.26-21.78v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L208.26,94.26z M209.94,61.44c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C216.9,58.62,213.54,61.44,209.94,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M241.73,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C243.35,83.22,241.73,93.54,241.73,93.54z M232.8,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C234.24,71.7,233.64,71.58,232.8,71.58z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M253.14,22.79C270.48,15.4,273.04,4.46,274.2,0c-2.89,3.98-9.35,6.39-13.5,7.4 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C235.44,28.98,240.75,28.08,253.14,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M245.24,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.9-3.98,9.35-6.39,13.5-7.39c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C262.94,24.34,257.63,25.24,245.24,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHankkija);\nexport default __webpack_public_path__ + \"static/media/Hankkija.6463785e6ec42c82ac8afd90ee76acec.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgHatting(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 227.63 109.62\",\n style: {\n enableBackground: \"new 0 0 227.63 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#255088;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M15.6,67.8h11.88l2.82-14.76h10.98l-7.74,40.5H22.62l3.06-15.96H13.8l-3.06,15.96H0l6.12-32.22 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54L15.6,67.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M66.78,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C68.4,83.22,66.78,93.54,66.78,93.54z M57.84,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C59.28,71.7,58.68,71.58,57.84,71.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M93.6,72.12h-5.46L86.22,82.5c-0.36,2.1,0,2.7,1.68,2.7c1.26,0,2.22-0.18,3.18-0.36l-1.26,8.52 c-2.28,0.6-4.92,0.9-6.9,0.9c-6.84,0-9-3.24-7.56-10.98l2.1-11.16h-3.72l1.68-8.4h3.6l1.62-8.4l11.1-2.1l-1.98,10.5h5.52 L93.6,72.12z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M115.08,72.12h-5.46L107.7,82.5c-0.36,2.1,0,2.7,1.68,2.7c1.26,0,2.22-0.18,3.18-0.36l-1.26,8.52 c-2.28,0.6-4.92,0.9-6.9,0.9c-6.84,0-9-3.24-7.56-10.98l2.1-11.16h-3.72l1.68-8.4h3.6l1.62-8.4l11.1-2.1l-1.98,10.5h5.52 L115.08,72.12z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M128.88,93.54h-10.74l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L128.88,93.54z M130.38,61.44c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C137.34,58.62,133.98,61.44,130.38,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M164.82,93.54h-10.74l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88h-10.74 l4.14-21.48v-0.12c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.38-0.72,15.42-0.54c-0.3,1.5-0.78,3.48-1.8,5.7h0.12 c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L164.82,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M203.4,71.34l-3.78,0.42c0,0,0.36,1.2,0.36,2.28c0,10.86-8.34,13.02-13.08,13.02c-1.2,0-2.16-0.06-2.16-0.06 l-0.66,1.86c7.56,1.38,16.32,2.04,16.32,9.3c0,5.7-5.04,11.46-17.28,11.46c-11.22,0-14.4-4.02-14.4-8.28 c0-3.96,3.72-6.72,5.76-7.92c-1.5-0.48-2.52-0.84-2.52-0.84l4.26-7.02c0,0-4.08-1.02-4.08-8.28c0-12.84,14.04-13.98,18.06-13.98 c5.52,0,7.74,0.3,14.52,0.9L203.4,71.34z M181.98,95.58c-0.78,0.54-2.46,1.74-2.46,3.36c0,2.04,2.04,2.94,4.62,2.94 c2.58,0,4.98-0.72,4.98-2.64C189.12,97.44,186.42,96.84,181.98,95.58z M187.86,71.22c-3.06,0-4.8,3.6-4.8,6.3 c0,1.14,0.72,2.22,2.34,2.22c3.24,0,4.86-3.54,4.86-6.24C190.26,71.94,189.42,71.22,187.86,71.22z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M180.78,38.36c0,0,1.25-7.52,3.49-12.29c2.04-4.34,4.82-10.03,11.77-13.37c6.99-3.36,14.31-4.38,18.09-5.3 c4.15-1.01,10.6-3.41,13.5-7.39c-1.16,4.46-3.72,15.4-21.06,22.79C194.18,28.08,188.87,28.98,180.78,38.36\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M224.46,14.96c0,0-1.26,7.52-3.49,12.3c-2.04,4.35-4.82,10.03-11.77,13.37c-6.99,3.36-14.31,4.38-18.09,5.3 c-4.15,1.01-10.6,3.41-13.5,7.4c1.16-4.46,3.72-15.4,21.06-22.8C211.06,25.23,216.36,24.34,224.46,14.96\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHatting);\nexport default __webpack_public_path__ + \"static/media/Hatting.372608018ed6eaf0848d095ffb907993.svg\";\nexport { ForwardRef as ReactComponent };","var _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgHesselbjergAgro(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n viewBox: \"0 0 348.72 70\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient\",\n x1: 163.17,\n y1: 14.09,\n x2: 163.7,\n y2: 53.33,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#57803a\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#231f20\"\n })))), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.49,38.95c.36,0,.63-.06.8-.18.17-.12.25-.37.25-.73v-6.2c0-.94-.05-1.75-.16-2.42-.11-.67-.31-1.22-.62-1.64-.3-.43-.74-.75-1.3-.98-.56-.23-1.31-.37-2.26-.43-.18,0-.32-.08-.41-.25-.09-.17-.14-.34-.14-.52s.05-.35.14-.5c.09-.15.23-.23.41-.23.97,0,2.08.05,3.33.14,1.25.09,2.42.14,3.51.14.64,0,1.24-.02,1.8-.05.56-.03,1.11-.06,1.64-.09.53-.03,1.07-.06,1.62-.09.55-.03,1.14-.05,1.78-.05.18,0,.31.08.39.23.08.15.11.32.09.5-.02.18-.07.36-.16.52-.09.17-.21.25-.36.25-.94.06-1.7.19-2.28.39-.58.2-1.02.5-1.32.91-.3.41-.5.95-.59,1.62-.09.67-.14,1.52-.14,2.55v17.87c0,1,.06,1.79.18,2.35.12.56.34,1,.66,1.32.32.32.77.55,1.35.68.58.14,1.32.25,2.23.34.18.03.33.12.43.27.11.15.16.32.16.5s-.05.35-.16.5c-.11.15-.27.23-.48.23-1.22,0-2.38-.06-3.49-.18-1.11-.12-2.21-.18-3.31-.18-1.16,0-2.35.06-3.58.18-1.23.12-2.35.18-3.35.18-.18,0-.32-.08-.41-.23-.09-.15-.14-.32-.14-.5s.05-.35.14-.5c.09-.15.23-.24.41-.27.94-.09,1.69-.21,2.26-.34.56-.14,1-.37,1.32-.68.32-.32.53-.76.64-1.32.11-.56.16-1.35.16-2.35v-7.57c0-.79-.33-1.19-1-1.19h-13.63c-.67,0-1,.3-1,.91v7.84c0,1,.06,1.79.18,2.35.12.56.34,1,.66,1.32.32.32.77.55,1.34.68.58.14,1.32.25,2.23.34.18.03.33.12.43.27.11.15.16.32.16.5s-.05.35-.16.5c-.11.15-.27.23-.48.23-1.22,0-2.38-.06-3.49-.18-1.11-.12-2.21-.18-3.31-.18-1.16,0-2.35.06-3.58.18-1.23.12-2.35.18-3.35.18-.18,0-.32-.08-.41-.23-.09-.15-.14-.32-.14-.5s.05-.35.14-.5c.09-.15.23-.24.41-.27.94-.09,1.69-.21,2.26-.34.56-.14,1-.37,1.32-.68.32-.32.53-.76.64-1.32.11-.56.16-1.35.16-2.35v-17.87c0-.94-.05-1.75-.16-2.42-.11-.67-.31-1.22-.62-1.64-.3-.43-.74-.75-1.3-.98-.56-.23-1.31-.37-2.26-.43-.18,0-.32-.08-.41-.25-.09-.17-.14-.34-.14-.52s.05-.35.14-.5c.09-.15.23-.23.41-.23.97,0,2.08.05,3.33.14,1.25.09,2.42.14,3.51.14.64,0,1.24-.02,1.8-.05.56-.03,1.11-.06,1.64-.09.53-.03,1.07-.06,1.62-.09.55-.03,1.14-.05,1.78-.05.18,0,.31.08.39.23.08.15.11.32.09.5-.02.18-.07.36-.16.52-.09.17-.21.25-.36.25-.94.06-1.7.19-2.28.39-.58.2-1.02.5-1.32.91-.3.41-.5.95-.59,1.62-.09.67-.14,1.52-.14,2.55v6.2c0,.61.33.91,1,.91h13.59Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.41,44.01c-.15,0-.24.05-.25.16-.02.11-.02.24-.02.39,0,1.58.17,2.92.52,4.01.35,1.09.84,1.98,1.46,2.67.62.68,1.37,1.18,2.23,1.48.87.3,1.8.46,2.8.46s2.04-.08,3.01-.25c.97-.17,1.81-.54,2.51-1.12.15-.12.31-.17.48-.14.17.03.3.11.41.23.11.12.17.26.21.41.03.15,0,.29-.09.41-.97,1.28-2.07,2.16-3.28,2.64-1.22.49-2.72.73-4.51.73s-3.4-.27-4.72-.82c-1.32-.55-2.42-1.31-3.28-2.3-.87-.99-1.5-2.14-1.91-3.47-.41-1.32-.62-2.76-.62-4.31s.25-2.9.75-4.24c.5-1.34,1.21-2.49,2.12-3.47.91-.97,1.99-1.75,3.24-2.33,1.25-.58,2.63-.87,4.15-.87,1.28,0,2.44.22,3.49.66s1.94,1.05,2.67,1.82c.73.77,1.3,1.7,1.71,2.78.41,1.08.62,2.24.62,3.49,0,.64-.23.96-.68.96h-13ZM51.75,42.41c.43,0,.67-.15.73-.46.06-.3.09-.67.09-1.09,0-.64-.1-1.25-.3-1.85-.2-.59-.48-1.12-.84-1.57s-.81-.82-1.32-1.09c-.52-.27-1.11-.41-1.78-.41-.82,0-1.53.14-2.12.43-.59.29-1.09.67-1.5,1.14-.41.47-.72,1.03-.93,1.66-.21.64-.36,1.31-.46,2.01-.06.36-.08.66-.07.89.02.23.08.34.21.34h8.3Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.6,34.98c-.09.33-.17.75-.25,1.23-.08.49-.11,1-.11,1.55,0,.58.02,1.18.05,1.8.03.62.05,1.1.05,1.44,0,.09-.06.17-.18.23-.12.06-.26.1-.41.11-.15.02-.29,0-.41-.05-.12-.05-.2-.11-.23-.21-.33-1.61-.88-2.85-1.64-3.72-.76-.87-1.98-1.3-3.65-1.3-1.13,0-2.05.28-2.78.84-.73.56-1.09,1.32-1.09,2.26,0,.79.3,1.4.91,1.82.61.43,1.41.82,2.42,1.19.43.15.93.34,1.53.57.59.23,1.07.42,1.44.57.79.37,1.53.75,2.21,1.14.68.4,1.28.86,1.78,1.39s.9,1.13,1.19,1.8c.29.67.43,1.44.43,2.33,0,1.16-.24,2.12-.73,2.9-.49.78-1.11,1.4-1.87,1.87-.76.47-1.63.81-2.6,1.03-.97.21-1.93.32-2.87.32-.79,0-1.67-.09-2.64-.27-.97-.18-1.82-.44-2.55-.78-.18-.06-.37-.03-.57.09-.2.12-.33.35-.39.68,0,.09-.07.15-.2.18-.14.03-.28.05-.43.05-.12,0-.24-.02-.36-.07-.12-.05-.18-.11-.18-.2,0-.24.03-.58.09-1,.06-.42.09-.82.09-1.19s-.02-.77-.07-1.21c-.05-.44-.09-.87-.14-1.3-.05-.43-.08-.81-.11-1.14-.03-.33-.05-.58-.05-.73,0-.12.06-.21.18-.27.12-.06.26-.1.41-.11.15-.02.3,0,.43.05.14.05.22.13.25.25.21.88.49,1.66.82,2.33.33.67.75,1.23,1.25,1.69.5.46,1.11.8,1.82,1.03.71.23,1.57.34,2.58.34,1.09,0,1.98-.3,2.67-.91.68-.61,1.03-1.46,1.03-2.55,0-.97-.34-1.74-1.03-2.3-.68-.56-1.48-1.06-2.39-1.48-.43-.18-.86-.36-1.3-.55-.44-.18-.89-.37-1.34-.55-.67-.27-1.33-.55-1.98-.84-.65-.29-1.23-.65-1.73-1.07s-.9-.96-1.21-1.6c-.3-.64-.46-1.43-.46-2.37,0-1.09.24-2.02.71-2.78.47-.76,1.08-1.38,1.82-1.85.74-.47,1.57-.81,2.48-1.03s1.81-.32,2.69-.32,1.6.1,2.26.3c.65.2,1.38.55,2.17,1.07.12.06.28.05.48-.02.2-.08.36-.33.48-.75.03-.12.12-.2.27-.23.15-.03.3-.04.46-.02.15.02.29.05.41.11.12.06.17.14.14.23Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.65,34.98c-.09.33-.17.75-.25,1.23-.08.49-.11,1-.11,1.55,0,.58.02,1.18.05,1.8.03.62.05,1.1.05,1.44,0,.09-.06.17-.18.23-.12.06-.26.1-.41.11-.15.02-.29,0-.41-.05-.12-.05-.2-.11-.23-.21-.33-1.61-.88-2.85-1.64-3.72-.76-.87-1.98-1.3-3.65-1.3-1.13,0-2.05.28-2.78.84-.73.56-1.09,1.32-1.09,2.26,0,.79.3,1.4.91,1.82.61.43,1.41.82,2.42,1.19.43.15.93.34,1.53.57.59.23,1.07.42,1.44.57.79.37,1.53.75,2.21,1.14.68.4,1.28.86,1.78,1.39s.9,1.13,1.19,1.8c.29.67.43,1.44.43,2.33,0,1.16-.24,2.12-.73,2.9-.49.78-1.11,1.4-1.87,1.87-.76.47-1.63.81-2.6,1.03-.97.21-1.93.32-2.87.32-.79,0-1.67-.09-2.64-.27-.97-.18-1.82-.44-2.55-.78-.18-.06-.37-.03-.57.09-.2.12-.33.35-.39.68,0,.09-.07.15-.2.18-.14.03-.28.05-.43.05-.12,0-.24-.02-.36-.07-.12-.05-.18-.11-.18-.2,0-.24.03-.58.09-1,.06-.42.09-.82.09-1.19s-.02-.77-.07-1.21c-.05-.44-.09-.87-.14-1.3-.05-.43-.08-.81-.11-1.14-.03-.33-.05-.58-.05-.73,0-.12.06-.21.18-.27.12-.06.26-.1.41-.11.15-.02.3,0,.43.05.14.05.22.13.25.25.21.88.49,1.66.82,2.33.33.67.75,1.23,1.25,1.69.5.46,1.11.8,1.82,1.03.71.23,1.57.34,2.58.34,1.09,0,1.98-.3,2.67-.91.68-.61,1.03-1.46,1.03-2.55,0-.97-.34-1.74-1.03-2.3-.68-.56-1.48-1.06-2.39-1.48-.43-.18-.86-.36-1.3-.55-.44-.18-.89-.37-1.34-.55-.67-.27-1.33-.55-1.98-.84-.65-.29-1.23-.65-1.73-1.07s-.9-.96-1.21-1.6c-.3-.64-.46-1.43-.46-2.37,0-1.09.24-2.02.71-2.78.47-.76,1.08-1.38,1.82-1.85.74-.47,1.57-.81,2.48-1.03s1.81-.32,2.69-.32,1.6.1,2.26.3c.65.2,1.38.55,2.17,1.07.12.06.28.05.48-.02.2-.08.36-.33.48-.75.03-.12.12-.2.27-.23.15-.03.3-.04.46-.02.15.02.29.05.41.11.12.06.17.14.14.23Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.73,44.01c-.15,0-.24.05-.25.16-.02.11-.02.24-.02.39,0,1.58.17,2.92.52,4.01.35,1.09.84,1.98,1.46,2.67.62.68,1.37,1.18,2.23,1.48.87.3,1.8.46,2.8.46s2.04-.08,3.01-.25c.97-.17,1.81-.54,2.51-1.12.15-.12.31-.17.48-.14.17.03.3.11.41.23.11.12.17.26.21.41.03.15,0,.29-.09.41-.97,1.28-2.07,2.16-3.28,2.64-1.22.49-2.72.73-4.51.73s-3.4-.27-4.72-.82c-1.32-.55-2.42-1.31-3.28-2.3-.87-.99-1.5-2.14-1.91-3.47-.41-1.32-.62-2.76-.62-4.31s.25-2.9.75-4.24c.5-1.34,1.21-2.49,2.12-3.47.91-.97,1.99-1.75,3.24-2.33,1.25-.58,2.63-.87,4.15-.87,1.28,0,2.44.22,3.49.66s1.94,1.05,2.67,1.82c.73.77,1.3,1.7,1.71,2.78.41,1.08.62,2.24.62,3.49,0,.64-.23.96-.68.96h-13ZM110.07,42.41c.43,0,.67-.15.73-.46.06-.3.09-.67.09-1.09,0-.64-.1-1.25-.3-1.85-.2-.59-.48-1.12-.84-1.57s-.81-.82-1.32-1.09c-.52-.27-1.11-.41-1.78-.41-.82,0-1.53.14-2.12.43-.59.29-1.09.67-1.5,1.14-.41.47-.72,1.03-.93,1.66-.21.64-.36,1.31-.46,2.01-.06.36-.08.66-.07.89.02.23.08.34.21.34h8.3Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M122.52,32.47c0-1.31-.03-2.35-.09-3.12-.06-.77-.21-1.38-.46-1.8-.24-.43-.62-.71-1.12-.87-.5-.15-1.19-.27-2.08-.37-.15,0-.27-.07-.34-.23-.08-.15-.12-.3-.14-.46-.02-.15.02-.3.09-.46.08-.15.21-.23.39-.23.91-.06,2.01-.15,3.31-.27,1.29-.12,2.5-.35,3.63-.68.43-.12.71-.1.84.07.14.17.22.34.25.52v25.53c0,.76.01,1.4.05,1.91.03.52.14.94.34,1.28.2.33.52.59.96.77.44.18,1.06.32,1.85.41.18.03.32.11.41.25.09.14.14.3.14.48,0,.15-.05.3-.14.43-.09.14-.23.2-.41.2-.73,0-1.55-.05-2.46-.16s-1.82-.16-2.74-.16c-.97,0-1.93.05-2.87.16-.94.11-1.9.16-2.87.16-.15,0-.27-.07-.36-.2-.09-.14-.14-.28-.14-.43,0-.18.05-.34.14-.48.09-.14.23-.22.41-.25.85-.09,1.51-.23,1.98-.41.47-.18.81-.43,1.03-.75.21-.32.33-.71.36-1.19.03-.47.05-1.06.05-1.76v-17.92Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M135.79,32.52c0-1.31-.02-2.36-.05-3.15-.03-.79-.14-1.39-.34-1.8-.2-.41-.51-.69-.94-.84-.43-.15-1.03-.27-1.82-.36-.15,0-.27-.08-.34-.23-.08-.15-.12-.3-.14-.46-.02-.15.02-.3.09-.46.08-.15.21-.23.39-.23.88-.06,1.88-.15,2.99-.27,1.11-.12,2.23-.35,3.35-.68.43-.12.71-.1.84.07.14.17.22.34.25.52v13.09c0,.06.01.09.05.09.06,0,.11-.03.14-.09.58-.88,1.41-1.67,2.49-2.37,1.08-.7,2.41-1.05,3.99-1.05,1.31,0,2.46.28,3.47.84,1,.56,1.85,1.31,2.53,2.23.68.93,1.2,2,1.55,3.21.35,1.22.52,2.48.52,3.78,0,2.01-.31,3.75-.93,5.22-.62,1.47-1.47,2.69-2.53,3.65-1.06.96-2.3,1.67-3.69,2.14-1.4.47-2.87.71-4.42.71-1.06,0-2.2-.07-3.42-.2-1.22-.14-2.55-.46-4.01-.98v-22.39ZM140.07,51.08c0,.18.11.46.32.82.21.36.51.71.89,1.05.38.33.84.63,1.37.89.53.26,1.12.39,1.76.39,1.09,0,2.01-.25,2.74-.75.73-.5,1.31-1.19,1.73-2.05.43-.87.72-1.86.89-2.99.17-1.12.25-2.31.25-3.56,0-1.06-.06-2.06-.18-2.99-.12-.93-.34-1.74-.66-2.44-.32-.7-.77-1.25-1.34-1.66-.58-.41-1.34-.62-2.28-.62-.79,0-1.52.15-2.19.46-.67.3-1.25.67-1.73,1.09-.49.43-.87.9-1.14,1.41-.27.52-.41.97-.41,1.37v9.58Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.37,44.01c-.15,0-.24.05-.25.16-.02.11-.02.24-.02.39,0,1.58.17,2.92.52,4.01s.84,1.98,1.46,2.67c.62.68,1.37,1.18,2.23,1.48.87.3,1.8.46,2.8.46s2.04-.08,3.01-.25c.97-.17,1.81-.54,2.51-1.12.15-.12.31-.17.48-.14.17.03.3.11.41.23.11.12.17.26.2.41.03.15,0,.29-.09.41-.97,1.28-2.07,2.16-3.28,2.64-1.22.49-2.72.73-4.51.73s-3.4-.27-4.72-.82c-1.32-.55-2.42-1.31-3.28-2.3s-1.5-2.14-1.91-3.47c-.41-1.32-.62-2.76-.62-4.31s.25-2.9.75-4.24c.5-1.34,1.21-2.49,2.12-3.47.91-.97,1.99-1.75,3.24-2.33,1.25-.58,2.63-.87,4.15-.87,1.28,0,2.44.22,3.49.66,1.05.44,1.94,1.05,2.67,1.82.73.77,1.3,1.7,1.71,2.78.41,1.08.62,2.24.62,3.49,0,.64-.23.96-.68.96h-13ZM184.71,42.41c.43,0,.67-.15.73-.46.06-.3.09-.67.09-1.09,0-.64-.1-1.25-.3-1.85-.2-.59-.48-1.12-.84-1.57s-.81-.82-1.32-1.09c-.52-.27-1.11-.41-1.78-.41-.82,0-1.53.14-2.12.43-.59.29-1.09.67-1.51,1.14-.41.47-.72,1.03-.94,1.66s-.36,1.31-.46,2.01c-.06.36-.08.66-.07.89.01.23.08.34.2.34h8.3Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M200.62,50.12c0,.76.02,1.4.07,1.91.05.52.2.94.48,1.28.27.33.7.59,1.28.77.58.18,1.41.32,2.51.41.18.03.32.11.41.25.09.14.14.3.14.48,0,.15-.05.3-.14.43-.09.14-.23.2-.41.2-1.31,0-2.46-.05-3.47-.16-1-.11-1.96-.16-2.87-.16-.97,0-1.94.05-2.9.16s-1.92.16-2.9.16c-.15,0-.27-.07-.37-.2-.09-.14-.14-.28-.14-.43,0-.18.05-.34.14-.48.09-.14.23-.22.41-.25.85-.09,1.51-.23,1.98-.41.47-.18.81-.43,1.03-.75.21-.32.34-.71.39-1.19.05-.47.07-1.06.07-1.76v-6.66c0-1.49-.03-2.67-.09-3.53-.06-.87-.21-1.53-.43-2.01-.23-.47-.59-.78-1.07-.94-.49-.15-1.16-.26-2.01-.32-.15,0-.27-.08-.34-.23-.08-.15-.11-.3-.11-.46s.04-.3.11-.46c.08-.15.21-.23.39-.23.61-.06,1.45-.13,2.53-.2,1.08-.08,2.18-.27,3.31-.57.43-.12.77-.14,1.05-.05.27.09.39.35.36.78l-.09,2.92c0,.06.02.1.05.11s.08,0,.14-.07c.64-1.28,1.42-2.29,2.35-3.06.93-.76,2.17-1.14,3.72-1.14,1.28,0,2.22.33,2.83.98.61.65.91,1.45.91,2.39,0,.52-.2.99-.59,1.41-.4.43-.96.64-1.69.64s-1.19-.17-1.46-.5c-.27-.33-.41-.7-.41-1.09,0-.42-.08-.76-.25-1-.17-.24-.52-.37-1.07-.37-.58,0-1.1.19-1.57.57-.47.38-.87.83-1.21,1.35s-.59,1.05-.77,1.6c-.18.55-.27.97-.27,1.28v8.57Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M229.03,37.95c.42.64.74,1.32.93,2.03s.31,1.44.34,2.17c0,1.34-.25,2.52-.75,3.53-.5,1.02-1.19,1.88-2.05,2.58-.87.7-1.86,1.23-2.99,1.6-1.12.36-2.33.55-3.6.55-.36,0-.84.02-1.41.05-.58.03-1.14.09-1.69.18-.55.09-1.01.24-1.39.43-.38.2-.57.48-.57.84,0,.27.15.5.46.68.3.18.68.33,1.12.43.44.11.88.18,1.32.23s.8.07,1.07.07c2.19.15,4.15.34,5.88.57,1.73.23,3.2.6,4.4,1.12,1.2.52,2.12,1.24,2.76,2.17.64.93.96,2.14.96,3.63,0,1.31-.26,2.52-.78,3.65-.52,1.12-1.29,2.1-2.33,2.92-1.03.82-2.3,1.47-3.81,1.94s-3.25.71-5.22.71c-1.64,0-3.15-.14-4.51-.43-1.37-.29-2.55-.74-3.53-1.35-.99-.61-1.75-1.38-2.28-2.33-.53-.94-.8-2.07-.8-3.37,0-.76.11-1.45.32-2.07.21-.62.5-1.18.87-1.66.37-.49.77-.92,1.23-1.3.46-.38.93-.69,1.41-.94-.7-.24-1.34-.59-1.92-1.03-.58-.44-.87-1.15-.87-2.12,0-.7.16-1.29.48-1.78.32-.49.74-.88,1.28-1.19.53-.3,1.12-.52,1.78-.66.65-.14,1.3-.22,1.94-.25.03,0,.05-.02.05-.05s-.02-.05-.05-.05c-1.55-.61-2.77-1.45-3.65-2.53-.88-1.08-1.32-2.53-1.32-4.35,0-1.25.23-2.38.68-3.4.46-1.02,1.1-1.88,1.94-2.6.84-.71,1.85-1.27,3.03-1.66,1.19-.39,2.49-.59,3.92-.59,1.61,0,2.9.23,3.85.68s1.83,1.05,2.62,1.78c.58-.58,1.26-1.06,2.05-1.46.79-.39,1.67-.59,2.64-.59.33,0,.71.03,1.12.09s.79.17,1.14.34c.35.17.64.39.87.66s.34.64.34,1.09c0,.52-.14.98-.41,1.39-.27.41-.81.62-1.6.62-.58,0-.96-.12-1.14-.37-.18-.24-.32-.5-.41-.77-.09-.27-.2-.53-.32-.78-.12-.24-.41-.36-.87-.36-.49,0-.97.12-1.46.36-.49.24-.85.56-1.09.96ZM216.67,57.05c-.52.43-.93,1.03-1.23,1.82-.3.79-.46,1.58-.46,2.37,0,1.12.24,2.1.71,2.94.47.84,1.09,1.53,1.85,2.1.76.56,1.63.98,2.62,1.25s2,.41,3.03.41c.91,0,1.77-.15,2.58-.46.81-.3,1.51-.71,2.12-1.23.61-.52,1.09-1.13,1.46-1.82.37-.7.55-1.46.55-2.28,0-1.03-.34-1.87-1.03-2.51-.68-.64-1.62-1.14-2.8-1.51s-2.58-.62-4.2-.77c-1.61-.15-3.34-.26-5.2-.32ZM221.05,48.71c1.58,0,2.71-.52,3.4-1.55.68-1.03,1.03-2.54,1.03-4.51,0-1-.05-1.91-.16-2.74-.11-.82-.31-1.53-.62-2.12-.3-.59-.71-1.05-1.21-1.37-.5-.32-1.15-.48-1.94-.48-.97,0-1.76.2-2.35.62-.59.41-1.06.93-1.39,1.57-.33.64-.56,1.35-.68,2.14-.12.79-.18,1.57-.18,2.33,0,2.01.35,3.53,1.05,4.56.7,1.03,1.72,1.55,3.06,1.55Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M258.99,44.88c-.43,0-.73.07-.91.2-.18.14-.35.37-.5.71l-2.05,5.38c-.15.46-.23.81-.23,1.05,0,.4.1.72.3.98s.46.46.8.62c.33.15.71.27,1.14.37.43.09.87.15,1.32.18.21,0,.36.08.46.25.09.17.14.34.14.52s-.05.36-.14.52c-.09.17-.24.25-.46.25-.73,0-1.57-.06-2.51-.18-.94-.12-1.84-.18-2.69-.18-.79,0-1.55.06-2.28.18s-1.52.18-2.37.18c-.15,0-.28-.08-.39-.23-.11-.15-.17-.32-.18-.5-.02-.18.01-.36.09-.52.08-.17.22-.27.43-.3l.68-.09c.46-.09.87-.2,1.25-.34s.73-.36,1.05-.66.63-.71.94-1.21c.3-.5.61-1.15.91-1.94l10.3-25.94c.09-.24.33-.37.73-.37.43,0,.76.12,1,.37.76,1.95,1.57,4.03,2.44,6.25.87,2.22,1.76,4.48,2.67,6.77s1.82,4.57,2.74,6.84,1.78,4.4,2.6,6.41c.37.88.72,1.57,1.07,2.05.35.49.7.85,1.05,1.09.35.24.71.41,1.07.5.37.09.76.18,1.19.27.18.03.31.13.39.3.07.17.11.34.11.52s-.04.35-.11.5c-.08.15-.19.23-.34.23-.97,0-1.91-.06-2.8-.18-.9-.12-1.91-.18-3.03-.18-1.28,0-2.48.06-3.6.18s-2.2.18-3.24.18c-.21,0-.37-.08-.48-.25-.11-.17-.16-.36-.16-.57,0-.18.05-.34.14-.48.09-.14.24-.22.46-.25,1.03-.12,1.79-.3,2.28-.55.49-.24.73-.74.73-1.51,0-.21-.02-.46-.07-.73s-.14-.65-.3-1.12-.36-1.08-.64-1.82c-.27-.74-.64-1.69-1.09-2.85-.15-.39-.36-.65-.62-.75-.26-.11-.68-.16-1.25-.16h-8.03ZM266.83,43.1c.42,0,.71-.07.87-.2.15-.14.15-.39,0-.75l-3.97-10.67c-.06-.15-.18-.23-.36-.23s-.3.08-.37.23l-4.15,10.67c-.15.4-.17.65-.05.77.12.12.35.18.68.18h7.34Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M300.75,37.95c.42.64.74,1.32.93,2.03s.31,1.44.34,2.17c0,1.34-.25,2.52-.75,3.53-.5,1.02-1.19,1.88-2.05,2.58-.87.7-1.86,1.23-2.99,1.6-1.12.36-2.33.55-3.6.55-.36,0-.84.02-1.41.05-.58.03-1.14.09-1.69.18-.55.09-1.01.24-1.39.43-.38.2-.57.48-.57.84,0,.27.15.5.46.68.3.18.68.33,1.12.43.44.11.88.18,1.32.23s.8.07,1.07.07c2.19.15,4.15.34,5.88.57,1.73.23,3.2.6,4.4,1.12,1.2.52,2.12,1.24,2.76,2.17.64.93.96,2.14.96,3.63,0,1.31-.26,2.52-.78,3.65-.52,1.12-1.29,2.1-2.33,2.92-1.03.82-2.3,1.47-3.81,1.94s-3.25.71-5.22.71c-1.64,0-3.15-.14-4.51-.43-1.37-.29-2.55-.74-3.53-1.35-.99-.61-1.75-1.38-2.28-2.33-.53-.94-.8-2.07-.8-3.37,0-.76.11-1.45.32-2.07.21-.62.5-1.18.87-1.66.37-.49.77-.92,1.23-1.3.46-.38.93-.69,1.41-.94-.7-.24-1.34-.59-1.92-1.03-.58-.44-.87-1.15-.87-2.12,0-.7.16-1.29.48-1.78.32-.49.74-.88,1.28-1.19.53-.3,1.12-.52,1.78-.66.65-.14,1.3-.22,1.94-.25.03,0,.05-.02.05-.05s-.02-.05-.05-.05c-1.55-.61-2.77-1.45-3.65-2.53-.88-1.08-1.32-2.53-1.32-4.35,0-1.25.23-2.38.68-3.4.46-1.02,1.1-1.88,1.94-2.6.84-.71,1.85-1.27,3.03-1.66,1.19-.39,2.49-.59,3.92-.59,1.61,0,2.9.23,3.85.68s1.83,1.05,2.62,1.78c.58-.58,1.26-1.06,2.05-1.46.79-.39,1.67-.59,2.64-.59.33,0,.71.03,1.12.09s.79.17,1.14.34c.35.17.64.39.87.66s.34.64.34,1.09c0,.52-.14.98-.41,1.39-.27.41-.81.62-1.6.62-.58,0-.96-.12-1.14-.37-.18-.24-.32-.5-.41-.77-.09-.27-.2-.53-.32-.78-.12-.24-.41-.36-.87-.36-.49,0-.97.12-1.46.36-.49.24-.85.56-1.09.96ZM288.4,57.05c-.52.43-.93,1.03-1.23,1.82-.3.79-.46,1.58-.46,2.37,0,1.12.24,2.1.71,2.94.47.84,1.09,1.53,1.85,2.1.76.56,1.63.98,2.62,1.25s2,.41,3.03.41c.91,0,1.77-.15,2.58-.46.81-.3,1.51-.71,2.12-1.23.61-.52,1.09-1.13,1.46-1.82.37-.7.55-1.46.55-2.28,0-1.03-.34-1.87-1.03-2.51-.68-.64-1.62-1.14-2.8-1.51s-2.58-.62-4.2-.77c-1.61-.15-3.34-.26-5.2-.32ZM292.77,48.71c1.58,0,2.71-.52,3.4-1.55.68-1.03,1.03-2.54,1.03-4.51,0-1-.05-1.91-.16-2.74-.11-.82-.31-1.53-.62-2.12-.3-.59-.71-1.05-1.21-1.37-.5-.32-1.15-.48-1.94-.48-.97,0-1.76.2-2.35.62-.59.41-1.06.93-1.39,1.57-.33.64-.56,1.35-.68,2.14-.12.79-.18,1.57-.18,2.33,0,2.01.35,3.53,1.05,4.56.7,1.03,1.72,1.55,3.06,1.55Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M316.8,50.12c0,.76.02,1.4.07,1.91.05.52.2.94.48,1.28.27.33.7.59,1.28.77.58.18,1.41.32,2.51.41.18.03.32.11.41.25.09.14.14.3.14.48,0,.15-.05.3-.14.43-.09.14-.23.2-.41.2-1.31,0-2.46-.05-3.47-.16-1-.11-1.96-.16-2.87-.16-.97,0-1.94.05-2.9.16s-1.92.16-2.9.16c-.15,0-.27-.07-.37-.2-.09-.14-.14-.28-.14-.43,0-.18.05-.34.14-.48.09-.14.23-.22.41-.25.85-.09,1.51-.23,1.98-.41.47-.18.81-.43,1.03-.75.21-.32.34-.71.39-1.19.05-.47.07-1.06.07-1.76v-6.66c0-1.49-.03-2.67-.09-3.53-.06-.87-.21-1.53-.43-2.01-.23-.47-.59-.78-1.07-.94-.49-.15-1.16-.26-2.01-.32-.15,0-.27-.08-.34-.23-.08-.15-.11-.3-.11-.46s.04-.3.11-.46c.08-.15.21-.23.39-.23.61-.06,1.45-.13,2.53-.2,1.08-.08,2.18-.27,3.31-.57.43-.12.77-.14,1.05-.05.27.09.39.35.36.78l-.09,2.92c0,.06.02.1.05.11s.08,0,.14-.07c.64-1.28,1.42-2.29,2.35-3.06.93-.76,2.17-1.14,3.72-1.14,1.28,0,2.22.33,2.83.98.61.65.91,1.45.91,2.39,0,.52-.2.99-.59,1.41-.4.43-.96.64-1.69.64s-1.19-.17-1.46-.5c-.27-.33-.41-.7-.41-1.09,0-.42-.08-.76-.25-1-.17-.24-.52-.37-1.07-.37-.58,0-1.1.19-1.57.57-.47.38-.87.83-1.21,1.35s-.59,1.05-.77,1.6c-.18.55-.27.97-.27,1.28v8.57Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M348.72,44.6c0,1.85-.26,3.5-.77,4.92-.52,1.43-1.25,2.63-2.21,3.6-.96.97-2.11,1.71-3.44,2.21s-2.83.75-4.47.75c-1.43,0-2.75-.24-3.97-.71-1.22-.47-2.26-1.17-3.15-2.1-.88-.93-1.58-2.1-2.1-3.51-.52-1.41-.77-3.08-.77-4.99,0-1.55.26-2.97.77-4.26.52-1.29,1.24-2.39,2.17-3.31.93-.91,2.04-1.63,3.35-2.14,1.31-.52,2.74-.78,4.29-.78s2.86.23,4.13.68c1.26.46,2.35,1.12,3.26,1.98.91.87,1.63,1.94,2.14,3.21.52,1.28.77,2.75.77,4.42ZM343.93,45.1c0-1.16-.08-2.28-.23-3.37s-.43-2.07-.82-2.92c-.4-.85-.94-1.53-1.64-2.05-.7-.52-1.6-.77-2.69-.77-1.22,0-2.21.26-2.96.77-.76.52-1.36,1.21-1.8,2.08s-.75,1.85-.91,2.94c-.17,1.09-.25,2.23-.25,3.42,0,1.03.07,2.1.23,3.19.15,1.09.44,2.08.87,2.96.43.88,1.01,1.61,1.76,2.19.74.58,1.69.87,2.85.87s2.14-.27,2.87-.82,1.3-1.26,1.71-2.14.68-1.88.82-2.99c.14-1.11.2-2.23.2-3.35Z\",\n style: {\n fill: \"#231f20\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M170.66.53c-3.51.26-6.45,1.72-8.1,5.04-1.56,3.13-2.05,6.44-1.28,9.87.27,1.21.68,2.39,1.03,3.59,1.43-3.12,2.88-6.11,4.85-8.82.52-.71,1.12-1.38,1.77-1.97.74-.67,1.66-1.05,2.89-1-5.87,5.53-9.03,12.24-9.82,20.13-1.92-4.79-5.17-8.4-9.6-11.31.52.06.88,0,1.15.14,1.03.54,2.12,1.01,3,1.74,1.06.87,1.92,1.98,2.86,2.99.31.33.59.68,1,1.15.26-2.54.07-4.41-.56-5.97-1.31-3.25-3.84-5.05-7.02-4.95-3.18.1-6.18,1.06-9.39,1.92.79,2.37,1.51,4.7,2.33,6.99.79,2.21,1.99,4.19,3.65,5.86,1.42,1.42,3.14,2.04,5.13,1.63,1.14-.24,2.25-.62,3.37-.96,1.43-.44,2.09-.13,2.59,1.27.11.32.23.65.25.98.12,1.46.23,2.91.33,4.37-.1-.39-.19,8.51-.19,9.8v16.55c0,.97-.02,1.83-.05,2.58-.03.74-.14,1.38-.32,1.89-.18.52-.46.9-.84,1.16-.38.26-.9.39-1.57.39s-1.1-.09-1.21-.27c-.11-.18-.16-.38-.16-.59,0-.24.09-.47.27-.68.18-.21.27-.5.27-.87,0-.49-.19-.89-.57-1.21-.38-.32-.89-.48-1.53-.48s-1.21.24-1.62.73c-.41.49-.62,1.06-.62,1.73,0,.37.11.73.34,1.09.23.37.55.69.98.98.43.29.94.53,1.55.73.61.2,1.31.3,2.1.3,1.37,0,2.51-.26,3.44-.77.93-.52,1.67-1.16,2.23-1.92.56-.76.96-1.57,1.21-2.44.24-.87.36-1.63.36-2.3l-.24-23.26c0-.15-.45-5.17-.79-5.11-.04-.93-.07-1.91-.07-2.97,0-.86.13-1.72.31-2.55.25-1.16.88-1.67,2.06-1.8.44-.05.88-.03,1.32-.02,1.53.02,3.07.1,4.6.05,1.66-.06,3.13-.69,4.39-1.79,2.19-1.9,3.56-4.35,4.13-7.11.68-3.28.99-6.63,1.46-9.95.1-.7.21-1.4.31-2.1V0c-4.01.17-8.02.23-12.02.53Z\",\n style: {\n fill: \"url(#linear-gradient)\"\n }\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHesselbjergAgro);\nexport default __webpack_public_path__ + \"static/media/Hesselbjerg_Agro.ff6fdb09e4f1ef7ae55bd754dfb8dc18.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _rect, _path11, _path12, _path13, _path14, _path15, _path16;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgHerculesWildbird(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 715 224\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{fill:#575656;}.cls-1,.cls-2,.cls-3{stroke-width:0px;}.cls-2{fill:#231f20;}.cls-3{fill:#fff;}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m77.8,208.5c-1,0-1.8-.8-1.8-1.8v-48.8h-33.7v48.8c0,1-.8,1.8-1.8,1.8H9.2c-1,0-1.8-.8-1.8-1.8v-118c0-1,.8-1.8,1.8-1.8h31.4c1,0,1.8.8,1.8,1.8v43.4h33.7v-43.4c0-1,.8-1.8,1.8-1.8h31.4c1,0,1.8.8,1.8,1.8v118c0,1-.8,1.8-1.8,1.8h-31.4Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"m109.2,88.8v118h-31.4v-50.5h-37.2v50.5H9.2v-118h31.4v45.1h37.2v-45.1h31.4m0-3.5h-31.4c-1.9,0-3.5,1.6-3.5,3.5v41.6h-30.2v-41.6c0-1.9-1.6-3.5-3.5-3.5H9.2c-1.9,0-3.5,1.6-3.5,3.5v118c0,1.9,1.6,3.5,3.5,3.5h31.4c1.9,0,3.5-1.6,3.5-3.5v-47h30.2v47c0,1.9,1.6,3.5,3.5,3.5h31.4c1.9,0,3.5-1.6,3.5-3.5v-118c0-1.9-1.6-3.5-3.5-3.5h0Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m172.9,210.5c-7.5,0-14.5-1.1-20.8-3.2-6.4-2.1-12-5.3-16.8-9.4-4.8-4.1-8.6-9.2-11.3-15.1-2.7-5.9-4-12.7-4-20.2s1.2-14.2,3.7-20.1c2.5-6,5.9-11,10.2-15.1,4.3-4,9.5-7.2,15.5-9.3,5.9-2.1,12.5-3.2,19.5-3.2s15.6,1.4,21.5,4.2c5.9,2.8,10.8,6.6,14.4,11.3,3.6,4.7,6.3,10.2,7.9,16.3,1.6,6.1,2.4,12.6,2.4,19.2v5.6c0,1-.8,1.8-1.8,1.8h-58.7c1.1,4.5,3.3,7.7,6.8,9.8,4.2,2.4,9.9,3.6,16.9,3.6s8.3-.5,12.7-1.5c4.4-1,8.9-2.7,13.3-5.1.3-.1.5-.2.8-.2s.6,0,.9.2c.5.3.9.9.9,1.5v21.5c0,.7-.4,1.4-1.1,1.6-5,2-10.4,3.4-15.9,4.3-5.5.9-11.2,1.4-17,1.4Zm11.2-57.9c-.3-3.9-1.4-7.4-3.5-10.2-2.3-3.1-6.1-4.7-11.6-4.7s-8.6,1.5-10.9,4.7c-2.1,2.9-3.5,6.3-4,10.2h30.1Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"m168.9,116.7c8.1,0,15,1.4,20.7,4.1,5.7,2.7,10.3,6.3,13.8,10.8,3.5,4.5,6,9.7,7.6,15.7,1.6,6,2.4,12.2,2.4,18.8v5.6h-60.8c.9,6.1,3.6,10.4,8,13,4.4,2.6,10.4,3.9,17.8,3.9s8.5-.5,13.1-1.5c4.6-1,9.2-2.8,13.8-5.2v21.5c-5,1.9-10.1,3.3-15.5,4.2s-11,1.4-16.7,1.4-14.1-1-20.3-3.1c-6.2-2.1-11.6-5.1-16.2-9-4.6-3.9-8.2-8.8-10.8-14.5-2.6-5.7-3.9-12.2-3.9-19.5s1.2-13.7,3.5-19.4,5.6-10.6,9.8-14.4c4.2-3.9,9.1-6.9,14.9-9,5.7-2.1,12.1-3.1,18.9-3.1m-16.7,37.7h33.8c0-5.1-1.3-9.4-3.9-13-2.6-3.6-6.9-5.4-13-5.4s-9.6,1.8-12.3,5.4c-2.7,3.6-4.2,7.9-4.6,13m16.7-41.2c-7.2,0-14,1.1-20.1,3.3-6.2,2.2-11.6,5.5-16.1,9.7-4.5,4.2-8.1,9.5-10.7,15.7-2.5,6.1-3.8,13.1-3.8,20.8s1.4,14.9,4.2,21c2.8,6.1,6.7,11.4,11.7,15.7,4.9,4.2,10.8,7.5,17.4,9.7,6.5,2.2,13.7,3.3,21.4,3.3s11.7-.5,17.3-1.4c5.6-.9,11.1-2.4,16.2-4.4,1.3-.5,2.2-1.8,2.2-3.3v-21.5c0-1.2-.6-2.4-1.7-3-.6-.3-1.2-.5-1.8-.5s-1.1.1-1.7.4c-4.3,2.3-8.6,4-12.9,4.9-4.3,1-8.4,1.4-12.3,1.4-6.8,0-12.2-1.1-16.1-3.4-2.5-1.4-4.2-3.6-5.3-6.5h56.4c1.9,0,3.5-1.6,3.5-3.5v-5.6c0-6.8-.8-13.4-2.5-19.7-1.7-6.4-4.5-12.1-8.2-17-3.8-4.9-8.9-8.9-15-11.8-6.1-2.9-13.6-4.4-22.2-4.4h0Zm-12.7,37.7c.6-2.8,1.7-5.2,3.4-7.4,2-2.7,5.1-4,9.5-4s8.3,1.3,10.2,4c1.6,2.2,2.5,4.6,3,7.5h-26Z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m225.5,208.5c-1,0-1.8-.8-1.8-1.8v-88c0-1,.8-1.8,1.8-1.8h27.7c1,0,1.8.8,1.8,1.8v10c2.1-3.4,4.6-6.2,7.5-8.5,4.4-3.5,10.1-5.3,17.2-5.3s3.7.1,5.5.4c1.8.2,3.4.5,5,.7.9.1,1.6.9,1.5,1.8l-1.5,25.4c0,.5-.3,1-.8,1.3-.3.2-.6.3-1,.3s-.4,0-.6,0c-1.5-.5-3.1-.8-4.6-.8-1.7,0-3.4,0-5.2,0-6.6,0-11.5,2.2-15,6.6-3.6,4.5-5.4,11-5.4,19.2v37.2c0,1-.8,1.8-1.8,1.8h-30.4Z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"m279.6,116.7c1.8,0,3.6.1,5.3.3,1.7.2,3.4.5,5,.7l-1.5,25.4c-1.7-.6-3.4-.9-5.1-.9-1.7,0-3.4,0-5.2,0-7.1,0-12.6,2.4-16.4,7.3-3.8,4.8-5.7,11.6-5.7,20.3v37.2h-30.4v-88h27.7v16.2h.3c2.6-5.6,5.9-10.1,10-13.4,4.1-3.3,9.4-4.9,16.1-4.9m0-3.5c-7.4,0-13.6,1.9-18.3,5.7-1.6,1.3-3.2,2.8-4.6,4.5v-4.7c0-1.9-1.6-3.5-3.5-3.5h-27.7c-1.9,0-3.5,1.6-3.5,3.5v88c0,1.9,1.6,3.5,3.5,3.5h30.4c1.9,0,3.5-1.6,3.5-3.5v-37.2c0-7.8,1.7-13.9,5-18.1,3.2-4,7.6-5.9,13.6-5.9s3.5,0,5.1,0c1.3,0,2.7.3,4.1.8.4.1.7.2,1.1.2.7,0,1.4-.2,2-.6.9-.6,1.5-1.6,1.5-2.7l1.5-25.4c.1-1.8-1.2-3.4-3-3.7-1.6-.2-3.3-.5-5-.7-1.9-.2-3.8-.4-5.8-.4h0Z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m340.7,210.5c-7.5,0-14.5-1.1-20.8-3.2-6.4-2.1-12-5.3-16.8-9.3-4.8-4-8.6-9.1-11.3-15-2.7-5.9-4-12.7-4-20.2s1.4-14.4,4-20.2c2.7-5.9,6.5-11,11.3-15.1,4.8-4.1,10.4-7.2,16.8-9.4,6.3-2.1,13.4-3.2,20.8-3.2s9.2.4,13.3,1.2c4.1.8,8.1,2.1,11.7,3.9.7.3,1.1,1,1,1.7l-2.2,22.3c0,.6-.4,1.1-1,1.4-.2.1-.5.2-.8.2s-.6,0-.9-.2c-2.7-1.6-5.4-2.8-8.2-3.5-2.8-.7-5.9-1.1-9.3-1.1s-5.9.5-8.6,1.6c-2.6,1-4.9,2.5-6.8,4.4s-3.4,4.3-4.5,7c-1.1,2.8-1.7,6-1.7,9.6s.6,6.2,1.9,8.8c1.2,2.6,2.9,4.9,5.1,6.8,2.1,1.9,4.6,3.3,7.5,4.3,2.8,1,5.8,1.5,8.9,1.5s6.6-.4,9.8-1.1c3.1-.7,5.9-1.7,8.4-3,.3-.1.5-.2.8-.2s.6,0,.9.2c.5.3.8.9.9,1.5l.7,22.6c0,.8-.5,1.5-1.2,1.7-3.9,1.3-8.1,2.2-12.5,2.9-4.4.7-8.7,1-12.9,1Z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"m340.7,116.7c4.6,0,8.9.4,12.9,1.2,4,.8,7.7,2,11.2,3.7l-2.2,22.3c-2.8-1.7-5.7-2.9-8.6-3.7-2.9-.8-6.2-1.2-9.8-1.2s-6.3.6-9.2,1.7c-2.9,1.1-5.4,2.7-7.4,4.8s-3.7,4.6-4.9,7.6c-1.2,3-1.8,6.4-1.8,10.2s.7,6.7,2,9.5c1.4,2.9,3.2,5.3,5.5,7.4,2.3,2,5,3.6,8,4.6,3,1.1,6.2,1.6,9.5,1.6s6.9-.4,10.1-1.1c3.3-.7,6.2-1.8,8.8-3.1l.7,22.6c-3.8,1.2-7.9,2.2-12.3,2.9-4.3.7-8.5,1-12.6,1-7.3,0-14.1-1-20.3-3.1-6.2-2.1-11.6-5.1-16.2-9-4.6-3.9-8.2-8.7-10.8-14.4-2.6-5.7-3.9-12.2-3.9-19.5s1.3-13.8,3.9-19.5c2.6-5.7,6.2-10.5,10.8-14.4,4.6-3.9,10-7,16.2-9,6.2-2.1,13-3.1,20.3-3.1m0-3.5c-7.7,0-14.9,1.1-21.4,3.3-6.6,2.2-12.4,5.5-17.4,9.7-5,4.3-8.9,9.5-11.7,15.7-2.8,6.1-4.2,13.2-4.2,21s1.4,14.9,4.2,21c2.8,6.1,6.7,11.4,11.7,15.6,4.9,4.2,10.8,7.4,17.4,9.6,6.5,2.2,13.7,3.3,21.4,3.3s8.6-.4,13.1-1.1c4.5-.7,8.8-1.7,12.8-3,1.5-.5,2.5-1.9,2.4-3.4l-.7-22.6c0-1.2-.7-2.3-1.7-2.9-.5-.3-1.2-.5-1.8-.5-.6,0-1.1.1-1.6.4-2.3,1.2-5,2.2-7.9,2.8-3,.7-6.2,1-9.4,1s-5.7-.5-8.3-1.4c-2.6-.9-4.9-2.3-6.9-4-1.9-1.7-3.5-3.8-4.6-6.2-1.1-2.4-1.7-5.1-1.7-8.1s.5-6.4,1.5-8.9c1-2.5,2.4-4.7,4.1-6.4,1.7-1.7,3.8-3.1,6.2-4,2.5-1,5.1-1.4,7.9-1.4s6.3.4,8.9,1.1c2.6.7,5.2,1.8,7.7,3.3.6.3,1.2.5,1.8.5s1.1-.1,1.6-.4c1.1-.5,1.8-1.6,1.9-2.8l2.2-22.3c.1-1.5-.6-2.9-2-3.5-3.7-1.8-7.8-3.2-12.1-4-4.2-.8-8.8-1.2-13.6-1.2h0Z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m408.2,210.5c-6.2,0-11.6-1-16.1-3.1-4.5-2.1-8.2-4.8-11.1-8.2-2.8-3.4-5-7.4-6.3-11.8-1.3-4.4-1.9-9-1.9-13.8v-54.9c0-1,.8-1.8,1.8-1.8h30.4c1,0,1.8.8,1.8,1.8v42.6c0,4,.3,7.4,1,10.1.6,2.6,1.5,4.7,2.6,6.2,1.1,1.5,2.3,2.5,3.7,3.1,1.5.6,3.2,1,5,1,5.8,0,9.9-1.9,12.8-5.9,2.9-4.1,4.4-10.8,4.4-19.9v-37.2c0-1,.8-1.8,1.8-1.8h30.4c1,0,1.8.8,1.8,1.8v88c0,1-.8,1.8-1.8,1.8h-27.7c-1,0-1.8-.8-1.8-1.8v-10.3c-2.9,4.2-6.5,7.4-10.9,9.6-5.9,3-12.6,4.5-19.8,4.5Z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"m468.3,118.7v88h-27.7v-16.2h-.3c-3,6.4-7.4,11.1-13.1,13.9-5.7,2.9-12,4.3-19,4.3s-11.1-1-15.4-3c-4.3-2-7.8-4.6-10.5-7.8s-4.7-6.9-5.9-11.2c-1.2-4.2-1.9-8.6-1.9-13.3v-54.9h30.4v42.6c0,4.2.3,7.7,1,10.5.7,2.8,1.6,5.1,2.9,6.8,1.2,1.7,2.7,3,4.5,3.7,1.7.7,3.6,1.1,5.7,1.1,6.3,0,11-2.2,14.2-6.6,3.2-4.4,4.7-11.4,4.7-21v-37.2h30.4m0-3.5h-30.4c-1.9,0-3.5,1.6-3.5,3.5v37.2c0,8.8-1.4,15.1-4.1,18.9-2.5,3.5-6.2,5.1-11.4,5.1s-3-.3-4.3-.8c-1.1-.5-2.1-1.3-3-2.5-1-1.4-1.8-3.3-2.3-5.6-.6-2.5-.9-5.8-.9-9.7v-42.6c0-1.9-1.6-3.5-3.5-3.5h-30.4c-1.9,0-3.5,1.6-3.5,3.5v54.9c0,4.9.7,9.7,2,14.3,1.4,4.7,3.6,8.9,6.6,12.4,3,3.6,7,6.5,11.7,8.7,4.7,2.2,10.4,3.3,16.8,3.3s14.4-1.6,20.6-4.7c3.1-1.6,5.9-3.7,8.4-6.2v5.4c0,1.9,1.6,3.5,3.5,3.5h27.7c1.9,0,3.5-1.6,3.5-3.5v-88c0-1.9-1.6-3.5-3.5-3.5h0Z\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-2\",\n x: 485.3,\n y: 78.2,\n width: 33.9,\n height: 130.2,\n rx: 1.7,\n ry: 1.7\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"m517.5,80v126.8h-30.4v-126.8h30.4m0-3.5h-30.4c-1.9,0-3.5,1.6-3.5,3.5v126.8c0,1.9,1.6,3.5,3.5,3.5h30.4c1.9,0,3.5-1.6,3.5-3.5v-126.8c0-1.9-1.6-3.5-3.5-3.5h0Z\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m583.2,210.5c-7.5,0-14.5-1.1-20.8-3.2-6.4-2.1-12-5.3-16.8-9.4-4.8-4.1-8.6-9.2-11.3-15.1-2.7-5.9-4-12.7-4-20.2s1.2-14.2,3.7-20.1c2.5-6,5.9-11,10.2-15.1,4.3-4,9.5-7.2,15.5-9.3,5.9-2.1,12.5-3.2,19.5-3.2s15.6,1.4,21.5,4.2c5.9,2.8,10.8,6.6,14.4,11.3,3.6,4.7,6.3,10.2,7.9,16.3,1.6,6.1,2.4,12.6,2.4,19.2v5.6c0,1-.8,1.8-1.8,1.8h-58.7c1.1,4.5,3.3,7.7,6.8,9.8,4.2,2.4,9.9,3.6,16.9,3.6s8.3-.5,12.7-1.5c4.4-1,8.9-2.7,13.3-5.1.3-.1.5-.2.8-.2s.6,0,.9.2c.5.3.9.9.9,1.5v21.5c0,.7-.4,1.4-1.1,1.6-5,2-10.4,3.4-15.9,4.3-5.5.9-11.2,1.4-17,1.4Zm11.2-57.9c-.3-3.9-1.4-7.4-3.5-10.2-2.3-3.1-6.1-4.7-11.6-4.7s-8.6,1.5-10.9,4.7c-2.1,2.9-3.5,6.3-4,10.2h30.1Z\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"m579.2,116.7c8.1,0,15,1.4,20.7,4.1,5.7,2.7,10.3,6.3,13.8,10.8,3.5,4.5,6,9.7,7.6,15.7,1.6,6,2.4,12.2,2.4,18.8v5.6h-60.8c.9,6.1,3.6,10.4,8,13,4.4,2.6,10.4,3.9,17.8,3.9s8.5-.5,13.1-1.5c4.6-1,9.2-2.8,13.8-5.2v21.5c-5,1.9-10.1,3.3-15.5,4.2s-11,1.4-16.7,1.4-14.1-1-20.3-3.1c-6.2-2.1-11.6-5.1-16.2-9-4.6-3.9-8.2-8.8-10.8-14.5-2.6-5.7-3.9-12.2-3.9-19.5s1.2-13.7,3.5-19.4,5.6-10.6,9.8-14.4c4.2-3.9,9.1-6.9,14.9-9,5.7-2.1,12.1-3.1,18.9-3.1m-16.7,37.7h33.8c0-5.1-1.3-9.4-3.9-13-2.6-3.6-6.9-5.4-13-5.4s-9.6,1.8-12.3,5.4c-2.7,3.6-4.2,7.9-4.6,13m16.7-41.2c-7.2,0-14,1.1-20.1,3.3-6.2,2.2-11.6,5.5-16.1,9.7-4.5,4.2-8.1,9.5-10.7,15.7-2.5,6.1-3.8,13.1-3.8,20.8s1.4,14.9,4.2,21c2.8,6.1,6.7,11.4,11.7,15.7,4.9,4.2,10.8,7.5,17.4,9.7,6.5,2.2,13.7,3.3,21.4,3.3s11.7-.5,17.3-1.4c5.6-.9,11.1-2.4,16.2-4.4,1.3-.5,2.2-1.8,2.2-3.3v-21.5c0-1.2-.6-2.4-1.7-3-.6-.3-1.2-.5-1.8-.5s-1.1.1-1.7.4c-4.3,2.3-8.6,4-12.9,4.9-4.3,1-8.4,1.4-12.3,1.4-6.8,0-12.2-1.1-16.1-3.4-2.5-1.4-4.2-3.6-5.3-6.5h56.4c1.9,0,3.5-1.6,3.5-3.5v-5.6c0-6.8-.8-13.4-2.5-19.7-1.7-6.4-4.5-12.1-8.2-17-3.8-4.9-8.9-8.9-15-11.8-6.1-2.9-13.6-4.4-22.2-4.4h0Zm-12.7,37.7c.6-2.8,1.7-5.2,3.4-7.4,2-2.7,5.1-4,9.5-4s8.3,1.3,10.2,4c1.6,2.2,2.5,4.6,3,7.5h-26Z\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m664.4,210.5c-6.9,0-13-.3-18-1-5-.7-9.9-1.8-14.5-3.3-.8-.2-1.3-1-1.2-1.8l1.7-22.1c0-.6.4-1.1.8-1.4.3-.2.6-.2.9-.2s.5,0,.7.1c3.5,1.5,7.7,2.9,12.6,4.1,4.8,1.2,9.9,1.8,15.3,1.8s5.6-.4,8-1.2c1.2-.4,2.6-1.2,2.6-4.2s-.8-3.2-2.4-4.2c-2-1.2-4.6-2.3-7.6-3.1-3.2-.9-6.7-1.8-10.4-2.8-3.8-1-7.5-2.5-10.8-4.4-3.4-2-6.3-4.7-8.6-8.1-2.3-3.4-3.5-8-3.5-13.7s1.2-10.1,3.6-13.9c2.4-3.8,5.5-7,9.3-9.4,3.8-2.4,8-4.2,12.6-5.3,4.6-1.1,9.2-1.7,13.7-1.7s10.7.4,16,1.1c5.3.8,10.5,2.1,15.6,4.1.7.3,1.2,1,1.1,1.8l-2.4,21.1c0,.6-.4,1.1-1,1.4-.2.1-.5.2-.8.2s-.6,0-.9-.2c-3.1-1.8-6.8-3.2-10.9-4.2-4.2-1-8.2-1.5-11.9-1.5s-3.2,0-4.8.2c-1.5.2-2.9.4-4.1.9-1.1.4-2,.9-2.7,1.5-.5.5-.7,1-.7,1.8,0,1.6.7,2.7,2.4,3.5,2.1,1.1,4.8,2,8,2.8,3.3.8,6.9,1.7,10.9,2.7,4.1,1,7.9,2.5,11.4,4.5,3.5,2,6.6,4.9,8.9,8.5,2.4,3.7,3.7,8.5,3.7,14.3s-1.3,11.4-3.9,15.5c-2.6,4.1-6,7.3-10.1,9.6-4,2.3-8.7,3.9-13.7,4.8-5,.9-10.1,1.3-15.1,1.3Z\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"m669.3,116.7c5.3,0,10.5.4,15.7,1.1,5.2.7,10.3,2.1,15.2,4l-2.4,21.1c-3.3-1.9-7.1-3.4-11.4-4.4-4.3-1-8.4-1.5-12.3-1.5s-3.4,0-5,.3c-1.6.2-3.1.5-4.5.9-1.4.5-2.5,1.1-3.3,1.9-.8.8-1.3,1.8-1.3,3,0,2.3,1.1,3.9,3.4,5.1,2.3,1.1,5,2.1,8.4,3,3.3.8,7,1.7,10.9,2.7,3.9,1,7.6,2.4,10.9,4.3,3.3,1.9,6.1,4.6,8.4,7.9,2.3,3.4,3.4,7.8,3.4,13.4s-1.2,10.7-3.6,14.5c-2.4,3.8-5.6,6.8-9.5,9-3.9,2.2-8.3,3.7-13.2,4.6-4.9.8-9.8,1.3-14.8,1.3s-12.8-.3-17.7-1c-5-.7-9.7-1.7-14.2-3.2l1.7-22.1c3.6,1.6,7.9,3,12.8,4.2,5,1.2,10.2,1.9,15.7,1.9s6-.4,8.5-1.3c2.5-.8,3.8-2.8,3.8-5.8s-1.1-4.4-3.2-5.7c-2.1-1.3-4.8-2.4-8-3.3-3.2-.9-6.7-1.8-10.4-2.8-3.7-1-7.2-2.4-10.4-4.2-3.2-1.9-5.9-4.4-8-7.5-2.1-3.2-3.2-7.4-3.2-12.7s1.1-9.4,3.4-13c2.3-3.6,5.2-6.6,8.8-8.9,3.6-2.3,7.6-4,12.1-5.1,4.5-1.1,8.9-1.6,13.3-1.6m0-3.5c-4.6,0-9.4.6-14.1,1.7-4.8,1.2-9.2,3-13.2,5.5-4,2.6-7.4,5.9-9.9,10-2.6,4.2-3.9,9.2-3.9,14.9s1.3,10.9,3.8,14.6c2.4,3.6,5.5,6.5,9.2,8.6,3.5,2,7.3,3.6,11.3,4.6,3.7.9,7.2,1.9,10.3,2.8,2.9.8,5.3,1.8,7.2,2.9,1.1.7,1.5,1.4,1.5,2.7,0,2-.7,2.3-1.4,2.5-2.2.7-4.7,1.1-7.4,1.1-5.2,0-10.2-.6-14.9-1.8-4.8-1.2-8.9-2.5-12.3-4-.4-.2-.9-.3-1.4-.3-.6,0-1.3.2-1.8.5-1,.6-1.6,1.6-1.7,2.7l-1.7,22.1c-.1,1.6.9,3.1,2.4,3.6,4.7,1.5,9.7,2.6,14.8,3.4,5.1.7,11.2,1,18.2,1s10.3-.4,15.4-1.3c5.3-.9,10.1-2.6,14.3-5,4.4-2.5,8-5.9,10.7-10.2,2.8-4.4,4.2-9.9,4.2-16.4s-1.3-11.3-4-15.3c-2.5-3.8-5.7-6.9-9.5-9-3.6-2.1-7.6-3.6-11.8-4.7-3.8-.9-7.4-1.8-10.9-2.7-3.1-.8-5.6-1.7-7.7-2.7-1.3-.7-1.4-1.3-1.4-1.9s0-.4.2-.5c.5-.4,1.1-.8,2-1.1,1.1-.4,2.4-.6,3.7-.8,1.5-.2,3.1-.2,4.6-.2,3.5,0,7.4.5,11.5,1.4,4,.9,7.5,2.3,10.4,4,.5.3,1.2.5,1.8.5s1.1-.1,1.6-.4c1.1-.5,1.8-1.6,1.9-2.7l2.4-21.1c.2-1.6-.7-3.1-2.2-3.7-5.2-2-10.6-3.4-16-4.2-5.3-.8-10.8-1.1-16.2-1.1h0Z\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m239.4,114.9c-3.5,0-7,0-10.5,0-.6,0-1.2-.6-1.8-.9.4-.6.7-1.5,1.3-1.7,1.1-.4,2.4-.6,3.6-.7,4.2-.1,5.2-1.7,3.5-5.5-2.3-5.2-5.9-9.4-9.4-13.8-2.1-2.6-3.8-5.3-4.8-8.6-.6-2.1-2-4.2-3.6-5.8-3.1-3-6.4-5.8-9.9-8.3-3.4-2.4-6.4-5.1-7.9-9-1.7-4.4-5.1-7.6-8.6-10.5-6.1-5-12.2-10.1-18.7-14.4-4.3-2.9-9.2-4.7-14-6.7-4.6-1.9-9.4-3.5-14.1-5.2-2.5-.9-5.1-1.6-7.6-2.6-1.6-.6-3.2-1.5-4.6-2.5-.5-.4-.9-1.4-.7-2.1-.2-.9.1-2.1,1.8-1.7,3.4.4,6.3.9,9.8,1.8,5.4,1.8,11,2.9,16.4,4.4,3.1.9,6.1,1.8,9.2,2.7,3.6,1.1,7.2,2.1,10.8,3.2.4.1.9.2,1.3.2,8-.9,15.7,1.7,23.7,1.4,2.2,0,4.5-.2,6.7-.7,3.2-.8,6.3-.7,9.5-.5,3.2.2,6.5-.2,9.7-.4,1.2,0,2.5-.2,3.7-.2,5.2-.1,10.4,0,15.6-.4,8.3-.7,16.6-1.9,25-2.7,4.1-.4,8.3-.9,12.3.5,2.7,1,4.9-.2,6.9-1.5,3-2,6.4-2.4,9.8-3,2.6-.4,5.2-.9,7.8-1.4,8.2-1.5,15.8-.5,21.7,6,1.6,1.7,2.6,4.1,3.4,6.4,1.7,4.9,2.2,10.1.7,15.2-1.1,3.8.1,7,1.4,10.4.8,1.9,1.5,3.5,1.8,5.2.9,4.7.3,4.5-3.3,2.7s-.2-.1-.2-.1c-3.8-2-6,.3-8.3,3-5.8,6.7-12.4,12.4-20.7,15.9-2.9,1.2-6.1,1.7-9.2,2.4-4.2.9-8.4,1.9-12.7,2.6-3.9.7-7.9,1.1-11.9,1.5-3.8.4-7.6.5-11.4.8-1,0-2.1.5-3.1.7-1.4.4-2.2,1.4-2.4,2.8-.3,1.4.3,2.3,1.4,3,5,3,9.9,6.1,14.9,9,1.9,1.1,3.9,2,5.9,2.9,2.6,1.3,5.2,1.6,7.7,0,3.5-2.2,5.7-.7,7,2.9.5,1.5.4,3.5-1.3,1.6-1.5-.7-2.8-.7-3.3,1s-1.2.7-1.8.7c-5.5.1-11,.2-16.5.2-2.5,0-2.9-.7-1.7-2.9.7-1.3.3-2.2-.7-3-2.4-1.8-4.8-3.6-7.4-5.1-3.4-2.1-7.1-3.7-10.4-5.9-1.5-1-2.6-2.8-3.3-4.5-1.5-3.4-1.5-3.5-5.2-3.7-2,0-4-.5-6-.6-2.9-.1-4,1.7-2.4,4.1,3,4.8,6.3,9.5,9.2,14.4,1.7,2.9,4.5,4,7.2,5.3.5.3.9.8,1.4,1.2-.6.2-1.1.6-1.7.6-3.6,0-7.1,0-10.7,0,0,0,0,0,0,0Z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHerculesWildbird);\nexport default __webpack_public_path__ + \"static/media/Hercules_Wildbird.5bcd74239c9738ecd3abfad8df0f6b07.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgHungariaAgro(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 415.18 109.62\",\n style: {\n enableBackground: \"new 0 0 415.18 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M15.6,67.8h11.88l2.82-14.76h10.98l-7.74,40.5H22.62l3.06-15.96H13.8l-3.06,15.96H0l6.12-32.22 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54L15.6,67.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M41.82,64.2c5.16-0.54,10.74-0.72,15.96-0.54L54.3,81.9c-0.42,2.22-0.18,2.94,0.6,2.94 c1.86,0,6.18-6,7.38-12.24l1.68-8.88H74.7c-3.66,19.5-5.34,29.82-5.34,29.82c-1.56,0.06-3.72,0.12-6,0.12 c-1.44,0-3.24,0-4.38-0.06c0.3-1.5,0.72-3.48,1.68-5.7h-0.12c-2.64,3.84-5.94,6.42-10.8,6.42c-6.12,0-7.68-4.38-6.66-9.66 l2.46-12.6v-0.12c-1.38-0.24-3.36-0.48-5.04-0.6L41.82,64.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M104.58,93.54H93.84l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88H76.92 l4.14-21.48v-0.12c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.38-0.72,15.42-0.54c-0.3,1.5-0.78,3.48-1.8,5.7h0.12 c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L104.58,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M142.56,71.34l-3.78,0.42c0,0,0.36,1.2,0.36,2.28c0,10.86-8.34,13.02-13.08,13.02c-1.2,0-2.16-0.06-2.16-0.06 l-0.66,1.86c7.56,1.38,16.32,2.04,16.32,9.3c0,5.7-5.04,11.46-17.28,11.46c-11.22,0-14.4-4.02-14.4-8.28 c0-3.96,3.72-6.72,5.76-7.92c-1.5-0.48-2.52-0.84-2.52-0.84l4.26-7.02c0,0-4.08-1.02-4.08-8.28c0-12.84,14.04-13.98,18.06-13.98 c5.52,0,7.74,0.3,14.52,0.9L142.56,71.34z M121.14,95.58c-0.78,0.54-2.46,1.74-2.46,3.36c0,2.04,2.04,2.94,4.62,2.94 c2.58,0,4.98-0.72,4.98-2.64C128.28,97.44,125.58,96.84,121.14,95.58z M127.02,71.22c-3.06,0-4.8,3.6-4.8,6.3 c0,1.14,0.72,2.22,2.34,2.22c3.24,0,4.86-3.54,4.86-6.24C129.42,71.94,128.58,71.22,127.02,71.22z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M169.08,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C170.7,83.22,169.08,93.54,169.08,93.54z M160.14,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C161.58,71.7,160.98,71.58,160.14,71.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M198.72,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06h-10.74l4.14-21.42v-0.18 c-1.38-0.24-3.36-0.48-5.04-0.6L177,64.2c4.98-0.54,10.26-0.72,15.3-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L198.72,73.62z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M213.06,93.54h-10.74l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L213.06,93.54z M214.56,61.44c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C221.52,58.62,218.16,61.44,214.56,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M246.36,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C247.98,83.22,246.36,93.54,246.36,93.54z M237.42,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C238.86,71.7,238.26,71.58,237.42,71.58z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M300.05,93.54h-11.64l-0.84-6.6h-12.24l-3.24,6.6h-11.1l16.44-32.22c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c3.72-0.42,7.68-0.6,11.82-0.6c1.38,0,7.2,0,8.64,0.06L300.05,93.54z M285.89,73.08c-0.3-2.34-0.54-4.5-0.6-7.02h-0.12 c-0.9,2.34-2.1,4.98-3.42,7.68l-2.16,4.44h6.9L285.89,73.08z M334.55,71.4l-3.48,0.36c0,0,0.36,1.2,0.36,2.28 c0,10.86-8.34,13.02-13.08,13.02c-1.2,0-2.16-0.06-2.16-0.06l-0.66,1.86c7.56,1.38,16.32,2.04,16.32,9.3 c0,5.7-5.04,11.46-17.28,11.46c-11.22,0-14.4-4.02-14.4-8.28c0-3.96,3.72-6.72,5.76-7.92c-1.5-0.48-2.52-0.84-2.52-0.84l4.26-7.02 c0,0-4.08-1.02-4.08-8.28c0-12.84,14.04-13.98,18.06-13.98c5.52,0,7.44,0.3,14.22,0.9L334.55,71.4z M313.43,95.58 c-0.78,0.54-2.46,1.74-2.46,3.36c0,2.04,2.04,2.94,4.62,2.94c2.58,0,4.98-0.72,4.98-2.64C320.57,97.44,317.87,96.84,313.43,95.58z M319.31,71.22c-3.06,0-4.8,3.6-4.8,6.3c0,1.14,0.72,2.22,2.34,2.22c3.24,0,4.86-3.54,4.86-6.24 C321.71,71.94,320.87,71.22,319.31,71.22z M357.89,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06h-10.74l4.14-21.42v-0.18 c-1.38-0.24-2.52-0.36-4.14-0.54l1.32-7.2c4.98-0.54,9.36-0.72,14.4-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L357.89,73.62z M371.15,94.26c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4 c9.42,0,12.54,4.74,12.54,11.1C389.93,86.28,380.99,94.26,371.15,94.26z M375.71,72.48c-4.14,0-6,5.64-6,9.3 c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18C378.65,73.5,377.93,72.48,375.71,72.48z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M394.13,22.79C411.46,15.4,414.02,4.45,415.18,0c-2.9,3.98-9.35,6.39-13.5,7.39 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C376.43,28.98,381.73,28.08,394.13,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M386.22,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.89-3.99,9.35-6.39,13.5-7.4 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C403.92,24.34,398.61,25.23,386.22,30.52z\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHungariaAgro);\nexport default __webpack_public_path__ + \"static/media/Hungaria_Agro.0b20b5377adfdf467995d591da3ff0e6.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g, _g2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgNorwegianAgro(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 457.66 109.62\",\n style: {\n enableBackground: \"new 0 0 457.66 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M30.96,53.04l-2.64,13.92c-0.48,2.52-0.96,5.64-1.2,8.4c-0.66-3.24-1.68-6.9-2.82-10.5l-3.66-11.82 c0,0-3.36-0.06-6.42-0.06c-4.14,0-8.1,0.18-11.82,0.6l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6L0,93.54h10.56l3.12-16.32 c0.48-2.64,0.72-4.02,0.96-6.42c0.54,2.7,1.38,5.94,2.34,9.12L21,93.54h12.84l7.74-40.5H30.96z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M59.58,63c-9.36,0-18.9,7.08-18.9,20.4c0,6.6,3.12,10.86,12.66,10.86c9.84,0,18.78-7.98,18.78-20.16 C72.12,67.74,69,63,59.58,63z M54.6,84.72c-2.1,0-2.7-1.38-2.7-2.94c0-3.66,1.86-9.3,6-9.3c2.22,0,2.94,1.02,2.94,3.06 C60.84,79.26,59.1,84.72,54.6,84.72z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M89.22,69.78H89.1c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C95.16,62.16,92.1,64.74,89.22,69.78z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M137.46,62.46c-2.34,5.46-4.74,11.16-6.84,16.56h-0.06c-0.12-3.48-0.36-7.08-0.66-10.68l-0.42-4.62h-9.72 c-2.46,5.34-4.98,10.86-6.66,15.24h-0.06c-0.06-4.14-0.36-7.44-0.54-10.62l-0.24-4.62H101.1l3,29.82h10.44 c2.34-4.8,4.68-9.66,6.72-14.64h0.06c-0.06,3.06,0.06,5.4,0.24,7.68l0.6,6.96h11.94l13.86-28.38L137.46,62.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M173.76,71.04c0-3.66-1.98-8.04-10.98-8.04c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74 c4.02,0,8.46-0.72,12.36-2.04V84c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72 C166.02,82.56,173.76,79.2,173.76,71.04z M161.64,70.98c1.2,0,1.74,0.6,1.74,1.5c0,2.64-2.88,3.48-6.54,3.54 C157.56,73.68,159,70.98,161.64,70.98z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M175.92,77.28c0,7.26,4.08,8.28,4.08,8.28l-4.26,7.02c0,0,1.02,0.36,2.52,0.84c-2.04,1.2-5.76,3.96-5.76,7.92 c0,4.26,3.18,8.28,14.4,8.28c12.24,0,17.28-5.76,17.28-11.46c0-7.26-8.76-7.92-16.32-9.3l0.66-1.86c0,0,0.96,0.06,2.16,0.06 c4.74,0,13.08-2.16,13.08-13.02c0-1.08-0.36-2.28-0.36-2.28l3.78-0.42l1.32-7.14c-6.78-0.6-9-0.9-14.52-0.9 C189.96,63.3,175.92,64.44,175.92,77.28z M192.9,99.24c0,1.92-2.4,2.64-4.98,2.64c-2.58,0-4.62-0.9-4.62-2.94 c0-1.62,1.68-2.82,2.46-3.36C190.2,96.84,192.9,97.44,192.9,99.24z M189.18,79.74c-1.62,0-2.34-1.08-2.34-2.22 c0-2.7,1.74-6.3,4.8-6.3c1.56,0,2.4,0.72,2.4,2.28C194.04,76.2,192.42,79.74,189.18,79.74z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M209.88,64.2l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l5.7-29.88 C220.2,63.48,214.86,63.66,209.88,64.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M221.7,61.44c3.6,0,6.96-2.82,6.96-6.84c0-2.94-2.52-5.76-6.12-5.76c-3.6,0-6.96,2.82-6.96,6.72 C215.58,58.62,218.04,61.44,221.7,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M226.5,84.6c0,6.54,2.58,9.72,7.5,9.72c4.14,0,7.68-2.22,10.5-6.42h0.12c-0.84,2.04-1.26,3.66-1.74,5.7 c1.26,0.06,2.52,0.06,3.78,0.06c4.86,0,6.6-0.12,6.6-0.12s1.62-10.32,5.34-29.52c-4.14-0.78-8.46-1.02-12.36-1.02 C233.1,63,226.5,72.96,226.5,84.6z M246.12,73.14c-0.96,4.98-5.1,11.7-7.38,11.7c-0.9,0-1.14-0.78-1.14-2.34 c0-4.56,2.64-10.92,6.72-10.92c0.84,0,1.44,0.12,2.04,0.3L246.12,73.14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M285.72,62.94c-4.86,0-8.16,2.58-10.8,6.42h-0.12c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24 c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18h10.74l3.96-20.94C293.4,67.32,291.83,62.94,285.72,62.94z\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M328.02,52.98c-4.14,0-8.1,0.18-11.82,0.6l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6l-16.44,32.22h11.1 l3.24-6.6h12.24l0.84,6.6h11.64l-5.88-40.5C335.22,52.98,329.4,52.98,328.02,52.98z M322.08,78.18l2.16-4.44 c1.32-2.7,2.52-5.34,3.42-7.68h0.12c0.06,2.52,0.3,4.68,0.6,7.02l0.6,5.1H322.08z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M378.36,64.2c-6.78-0.6-8.7-0.9-14.22-0.9c-4.02,0-18.06,1.14-18.06,13.98c0,7.26,4.08,8.28,4.08,8.28 l-4.26,7.02c0,0,1.02,0.36,2.52,0.84c-2.04,1.2-5.76,3.96-5.76,7.92c0,4.26,3.18,8.28,14.4,8.28c12.24,0,17.28-5.76,17.28-11.46 c0-7.26-8.76-7.92-16.32-9.3l0.66-1.86c0,0,0.96,0.06,2.16,0.06c4.74,0,13.08-2.16,13.08-13.02c0-1.08-0.36-2.28-0.36-2.28 l3.48-0.36L378.36,64.2z M363.06,99.24c0,1.92-2.4,2.64-4.98,2.64c-2.58,0-4.62-0.9-4.62-2.94c0-1.62,1.68-2.82,2.46-3.36 C360.36,96.84,363.06,97.44,363.06,99.24z M359.34,79.74c-1.62,0-2.34-1.08-2.34-2.22c0-2.7,1.74-6.3,4.8-6.3 c1.56,0,2.4,0.72,2.4,2.28C364.2,76.2,362.58,79.74,359.34,79.74z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M419.88,63c-9.36,0-18.9,7.08-18.9,20.4c0,6.6,3.12,10.86,12.66,10.86c9.84,0,18.78-7.98,18.78-20.16 C432.42,67.74,429.3,63,419.88,63z M414.9,84.72c-2.1,0-2.7-1.38-2.7-2.94c0-3.66,1.86-9.3,6-9.3c2.22,0,2.94,1.02,2.94,3.06 C421.14,79.26,419.4,84.72,414.9,84.72z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M392.28,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-9.42,0-14.4,0.54l-1.32,7.2 c1.62,0.18,2.76,0.3,4.14,0.54v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C398.22,62.16,395.16,64.74,392.28,69.78z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M436.61,22.79C453.94,15.4,456.5,4.46,457.66,0c-2.89,3.98-9.35,6.39-13.5,7.39 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.3-3.49,12.3 C418.91,28.98,424.21,28.08,436.61,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M428.7,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.89-3.99,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C446.4,24.34,441.1,25.23,428.7,30.52z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgNorwegianAgro);\nexport default __webpack_public_path__ + \"static/media/Norwegian_Agro.afc1ce9dea228fd88cd7fbcb260a5e39.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgPolishAgro(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 322.78 109.62\",\n style: {\n enableBackground: \"new 0 0 322.78 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M2.4,53.58c6.12-0.54,10.68-0.84,17.82-0.84c7.86,0,13.62,3.48,13.62,11.16c0,9.18-7.68,17.22-18.78,17.22 c-0.36,0-1.02,0-1.8-0.06l-2.34,12.48H0l6.12-32.22c-1.38-0.24-3.3-0.48-5.04-0.6L2.4,53.58z M18.6,61.8c-0.72,0-1.14,0-1.62,0.06 l-1.86,9.9c0.36,0.06,0.6,0.06,0.72,0.06c3.96,0,6.54-3.24,6.54-6.6C22.38,63.36,21.3,61.8,18.6,61.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M45.54,94.26C36,94.26,32.88,90,32.88,83.4c0-13.32,9.54-20.4,18.9-20.4c9.42,0,12.54,4.74,12.54,11.1 C64.32,86.28,55.38,94.26,45.54,94.26z M50.1,72.48c-4.14,0-6,5.64-6,9.3c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18 C53.04,73.5,52.32,72.48,50.1,72.48z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M76.68,93.54H65.94l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6L69,50.22c4.98-0.54,10.32-0.72,16.02-0.54 L76.68,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M96.06,93.54H85.32l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L96.06,93.54z M97.56,61.44c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C104.52,58.62,101.16,61.44,97.56,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M123.12,71.46c-1.08-0.3-2.28-0.48-3.3-0.48c-1.92,0-2.7,0.48-2.7,1.5c0,2.16,5.88,4.62,5.88,10.92 c0,5.04-4.32,10.86-14.76,10.86c-1.98,0-4.02-0.24-5.52-0.54l1.8-8.82c1.08,0.42,3.24,0.84,4.62,0.84c1.68,0,2.46-0.54,2.46-1.44 c0-2.88-5.64-3.9-5.64-10.74c0-5.94,4.56-10.56,14.22-10.56c1.68,0,3.42,0.12,4.92,0.36L123.12,71.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M154.02,93.54h-10.74l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88h-10.74 l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54l-1.98,10.62c-0.6,3.12-1.74,6.3-3.06,9.06 h0.12c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L154.02,93.54z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M208.26,93.54h-11.64l-0.84-6.6h-12.24l-3.24,6.6h-11.1l16.44-32.22c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c3.72-0.42,7.68-0.6,11.82-0.6c1.38,0,7.2,0,8.64,0.06L208.26,93.54z M194.1,73.08c-0.3-2.34-0.54-4.5-0.6-7.02h-0.12 c-0.9,2.34-2.1,4.98-3.42,7.68l-2.16,4.44h6.9L194.1,73.08z M242.16,71.4l-3.48,0.36c0,0,0.36,1.2,0.36,2.28 c0,10.86-8.34,13.02-13.08,13.02c-1.2,0-2.16-0.06-2.16-0.06l-0.66,1.86c7.56,1.38,16.32,2.04,16.32,9.3 c0,5.7-5.04,11.46-17.28,11.46c-11.22,0-14.4-4.02-14.4-8.28c0-3.96,3.72-6.72,5.76-7.92c-1.5-0.48-2.52-0.84-2.52-0.84l4.26-7.02 c0,0-4.08-1.02-4.08-8.28c0-12.84,14.04-13.98,18.06-13.98c5.52,0,7.44,0.3,14.22,0.9L242.16,71.4z M221.04,95.58 c-0.78,0.54-2.46,1.74-2.46,3.36c0,2.04,2.04,2.94,4.62,2.94c2.58,0,4.98-0.72,4.98-2.64C228.18,97.44,225.48,96.84,221.04,95.58z M226.92,71.22c-3.06,0-4.8,3.6-4.8,6.3c0,1.14,0.72,2.22,2.34,2.22c3.24,0,4.86-3.54,4.86-6.24 C229.32,71.94,228.48,71.22,226.92,71.22z M265.5,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06h-10.74l4.14-21.42v-0.18 c-1.38-0.24-2.52-0.36-4.14-0.54l1.32-7.2c4.98-0.54,9.36-0.72,14.4-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L265.5,73.62z M278.76,94.26c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4 c9.42,0,12.54,4.74,12.54,11.1C297.54,86.28,288.6,94.26,278.76,94.26z M283.32,72.48c-4.14,0-6,5.64-6,9.3 c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18C286.26,73.5,285.54,72.48,283.32,72.48z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M301.73,22.79C319.06,15.4,321.62,4.46,322.78,0c-2.89,3.98-9.35,6.39-13.5,7.4 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C284.03,28.98,289.34,28.08,301.73,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M293.83,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.89-3.98,9.35-6.39,13.5-7.39 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C311.52,24.34,306.22,25.24,293.83,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgPolishAgro);\nexport default __webpack_public_path__ + \"static/media/Polish_Agro.7ccd816692452c4c5c4655dad626a54b.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgRaitech(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 216.21 118.24\",\n style: {\n enableBackground: \"new 0 0 216.21 118.24\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M2.4,62.09c5.94-0.6,11.58-0.84,18.66-0.84c9.54,0,13.86,3.48,13.86,9.84c0,6.48-2.76,11.82-9.9,14.58 c0.6,1.38,1.26,2.94,1.86,4.5l4.56,11.88H18.78l-4.62-14.76h-0.42l-2.82,14.76H0l6.12-32.22c-1.38-0.24-3.3-0.48-5.04-0.6 L2.4,62.09z M19.2,70.43c-0.9,0-1.92,0.06-2.28,0.12l-1.62,8.7c0.42,0.06,1.14,0.12,1.74,0.12c3.84,0,6.12-3,6.12-6 C23.16,71.57,21.96,70.43,19.2,70.43z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M60.96,102.05c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7H52.2 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C62.58,91.73,60.96,102.05,60.96,102.05z M52.02,80.09c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C53.46,80.21,52.86,80.09,52.02,80.09z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M79.26,102.05H68.52l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L79.26,102.05z M80.76,69.95c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C87.72,67.13,84.36,69.95,80.76,69.95z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M106.86,80.63h-5.46l-1.92,10.38c-0.36,2.1,0,2.7,1.68,2.7c1.26,0,2.22-0.18,3.18-0.36l-1.26,8.52 c-2.28,0.6-4.92,0.9-6.9,0.9c-6.84,0-9-3.24-7.56-10.98l2.1-11.16H87l1.68-8.4h3.6l1.62-8.4l11.1-2.1l-1.98,10.5h5.52 L106.86,80.63z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M118.92,91.25v0.72c0,1.62,0.78,2.34,4.02,2.34c2.88,0,6.06-0.66,9.06-1.8v8.22 c-3.9,1.32-8.34,2.04-12.36,2.04c-8.7,0-11.34-4.38-11.34-10.74c0-13.74,9.18-20.52,17.52-20.52c9,0,10.98,4.38,10.98,8.04 C136.8,87.71,129.06,91.07,118.92,91.25z M124.68,79.49c-2.64,0-4.08,2.7-4.8,5.04c3.66-0.06,6.54-0.9,6.54-3.54 C126.42,80.09,125.88,79.49,124.68,79.49z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M158.94,81.47c-1.02-0.42-2.16-0.6-3.36-0.6c-4.44,0-6.3,4.68-6.3,8.58c0,2.34,1.32,3.72,3.84,3.72 c1.32,0,2.76-0.18,4.02-0.6l-1.14,9.48c-1.98,0.6-4.14,0.84-6.18,0.84c-8.22,0-11.88-4.02-11.88-11.04 c0-11.52,7.14-20.4,18.12-20.4c1.86,0,3.6,0.18,5.4,0.54L158.94,81.47z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M189.06,102.05h-10.74l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88H161.4 l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54l-1.98,10.62c-0.6,3.12-1.74,6.3-3.06,9.06 h0.12c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L189.06,102.05z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M195.15,22.79C212.49,15.4,215.05,4.46,216.21,0c-2.9,3.98-9.35,6.39-13.5,7.4 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.3-3.49,12.3 C177.46,28.98,182.76,28.08,195.15,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M187.25,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.89-3.98,9.35-6.39,13.5-7.39 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C204.95,24.34,199.64,25.24,187.25,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRaitech);\nexport default __webpack_public_path__ + \"static/media/Raitech.f53d7882fdda71f5e5bc6fbe0e563af2.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgRingeMaskinforretning(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 661.6 109.62\",\n style: {\n enableBackground: \"new 0 0 661.6 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M34.92,62.58c0-6.36-4.32-9.84-13.86-9.84c-7.08,0-12.72,0.24-18.66,0.84l-1.32,7.14 c1.74,0.12,3.66,0.36,5.04,0.6L0,93.54h10.92l2.82-14.76h0.42l4.62,14.76h12.66l-4.56-11.88c-0.6-1.56-1.26-3.12-1.86-4.5 C32.16,74.4,34.92,69.06,34.92,62.58z M17.04,70.86c-0.6,0-1.32-0.06-1.74-0.12l1.62-8.7c0.36-0.06,1.38-0.12,2.28-0.12 c2.76,0,3.96,1.14,3.96,2.94C23.16,67.86,20.88,70.86,17.04,70.86z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M38.16,64.2l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l5.7-29.88 C48.48,63.48,43.14,63.66,38.16,64.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M50.82,48.85c-3.6,0-6.96,2.82-6.96,6.72c0,3.06,2.46,5.88,6.12,5.88c3.6,0,6.96-2.82,6.96-6.84 C56.94,51.67,54.42,48.85,50.82,48.85z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M81.72,62.94c-4.86,0-8.16,2.58-10.8,6.42H70.8c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48H67.5l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24 c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18h10.74l3.96-20.94C89.4,67.32,87.84,62.94,81.72,62.94z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M123.72,64.2c-6.78-0.6-9-0.9-14.52-0.9c-4.02,0-18.06,1.14-18.06,13.98c0,7.26,4.08,8.28,4.08,8.28 l-4.26,7.02c0,0,1.02,0.36,2.52,0.84c-2.04,1.2-5.76,3.96-5.76,7.92c0,4.26,3.18,8.28,14.4,8.28c12.24,0,17.28-5.76,17.28-11.46 c0-7.26-8.76-7.92-16.32-9.3l0.66-1.86c0,0,0.96,0.06,2.16,0.06c4.74,0,13.08-2.16,13.08-13.02c0-1.08-0.36-2.28-0.36-2.28 l3.78-0.42L123.72,64.2z M108.12,99.24c0,1.92-2.4,2.64-4.98,2.64c-2.58,0-4.62-0.9-4.62-2.94c0-1.62,1.68-2.82,2.46-3.36 C105.42,96.84,108.12,97.44,108.12,99.24z M104.4,79.74c-1.62,0-2.34-1.08-2.34-2.22c0-2.7,1.74-6.3,4.8-6.3 c1.56,0,2.4,0.72,2.4,2.28C109.26,76.2,107.64,79.74,104.4,79.74z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M150.9,71.04c0-3.66-1.98-8.04-10.98-8.04c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74 c4.02,0,8.46-0.72,12.36-2.04V84c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72 C143.16,82.56,150.9,79.2,150.9,71.04z M138.78,70.98c1.2,0,1.74,0.6,1.74,1.5c0,2.64-2.88,3.48-6.54,3.54 C134.7,73.68,136.14,70.98,138.78,70.98z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M194.4,66.9c-1.56,3.18-2.76,5.94-4.02,9.36h-0.12c0-3.54-0.12-6.36-0.42-9.18l-1.5-14.04 c0,0-4.02-0.06-7.2-0.06c-4.14,0-8.1,0.18-11.82,0.6L168,60.72c1.74,0.12,3.66,0.36,5.04,0.6l-11.4,32.22h11.34L177,81 c0.96-3.06,1.92-6.18,2.88-10.14h0.06c-0.06,3.72,0.12,8.22,0.48,11.94l1.08,10.74h10.2l5.46-12.06 c1.68-3.72,3.12-7.08,4.38-10.62h0.12c-0.3,3.48-0.48,6.48-0.6,9.18l-0.66,13.5h11.88l0.96-40.5h-12L194.4,66.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M216.18,84.6c0,6.54,2.58,9.72,7.5,9.72c4.14,0,7.68-2.22,10.5-6.42h0.12c-0.84,2.04-1.26,3.66-1.74,5.7 c1.26,0.06,2.52,0.06,3.78,0.06c4.86,0,6.6-0.12,6.6-0.12s1.62-10.32,5.34-29.52c-4.14-0.78-8.46-1.02-12.36-1.02 C222.78,63,216.18,72.96,216.18,84.6z M235.8,73.14c-0.96,4.98-5.1,11.7-7.38,11.7c-0.9,0-1.14-0.78-1.14-2.34 c0-4.56,2.64-10.92,6.72-10.92c0.84,0,1.44,0.12,2.04,0.3L235.8,73.14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M251.52,73.56c0,6.84,5.64,7.86,5.64,10.74c0,0.9-0.78,1.44-2.46,1.44c-1.38,0-3.54-0.42-4.62-0.84 l-1.8,8.82c1.5,0.3,3.54,0.54,5.52,0.54c10.44,0,14.76-5.82,14.76-10.86c0-6.3-5.88-8.76-5.88-10.92c0-1.02,0.78-1.5,2.7-1.5 c1.02,0,2.22,0.18,3.3,0.48l1.98-8.1c-1.5-0.24-3.24-0.36-4.92-0.36C256.08,63,251.52,67.62,251.52,73.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M297.42,61.56l-11.46,13.62l4.86-25.5c-5.7-0.18-11.04,0-16.02,0.54l-1.32,7.14 c1.74,0.12,3.66,0.36,5.04,0.6l-0.06,0.18l-6.72,35.4h10.74l2.64-13.8l3.9,13.8h12.9l-6.48-15.78l10.74-10.98L297.42,61.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M307.86,64.2l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l5.7-29.88 C318.18,63.48,312.84,63.66,307.86,64.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M320.52,48.85c-3.6,0-6.96,2.82-6.96,6.72c0,3.06,2.46,5.88,6.12,5.88c3.6,0,6.96-2.82,6.96-6.84 C326.64,51.67,324.12,48.85,320.52,48.85z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M343.38,93.54h10.74l3.96-20.94c1.02-5.28-0.54-9.66-6.66-9.66c-4.86,0-8.16,2.58-10.8,6.42h-0.12 c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74 l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24c0.78,0,1.02,0.72,0.6,2.94L343.38,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M382.79,63.72h-4.92l0.36-1.86c0.6-3.12,1.38-3.9,3.66-3.9c0.78,0,1.86,0.18,2.64,0.42l2.34-8.82 c-1.44-0.36-3.12-0.48-4.68-0.48c-9.42,0-13.32,4.56-14.64,12.24l-0.42,2.4h-3.72l-1.68,8.4h3.72l-4.08,21.6 c-0.84,4.44-2.1,5.16-4.14,5.16c-0.78,0-1.86-0.18-2.52-0.36l-2.46,8.88c1.68,0.36,3.6,0.54,5.28,0.54 c7.68,0,12.84-4.62,14.58-13.98l4.08-21.84h4.98L382.79,63.72z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M399.77,63c-9.36,0-18.9,7.08-18.9,20.4c0,6.6,3.12,10.86,12.66,10.86c9.84,0,18.78-7.98,18.78-20.16 C412.31,67.74,409.19,63,399.77,63z M394.79,84.72c-2.1,0-2.7-1.38-2.7-2.94c0-3.66,1.86-9.3,6-9.3c2.22,0,2.94,1.02,2.94,3.06 C401.03,79.26,399.29,84.72,394.79,84.72z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M429.41,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C435.35,62.16,432.29,64.74,429.41,69.78z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M454.67,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C460.61,62.16,457.55,64.74,454.67,69.78z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M481.19,63c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74c4.02,0,8.46-0.72,12.36-2.04V84 c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72c10.14-0.18,17.88-3.54,17.88-11.7 C492.17,67.38,490.19,63,481.19,63z M475.25,76.02c0.72-2.34,2.16-5.04,4.8-5.04c1.2,0,1.74,0.6,1.74,1.5 C481.79,75.12,478.91,75.96,475.25,76.02z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M512.15,53.22l-11.1,2.1l-1.62,8.4h-3.6l-1.68,8.4h3.72l-2.1,11.16c-1.44,7.74,0.72,10.98,7.56,10.98 c1.98,0,4.62-0.3,6.9-0.9l1.26-8.52c-0.96,0.18-1.92,0.36-3.18,0.36c-1.68,0-2.04-0.6-1.68-2.7l1.92-10.38h5.46l1.68-8.4h-5.52 L512.15,53.22z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M541.97,62.94c-4.86,0-8.16,2.58-10.8,6.42h-0.12c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24 c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18h10.74l3.96-20.94C549.65,67.32,548.09,62.94,541.97,62.94z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M565.73,48.85c-3.6,0-6.96,2.82-6.96,6.72c0,3.06,2.46,5.88,6.12,5.88c3.6,0,6.96-2.82,6.96-6.84 C571.85,51.67,569.33,48.85,565.73,48.85z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M553.07,64.2l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l5.7-29.88 C563.39,63.48,558.05,63.66,553.07,64.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M596.63,62.94c-4.86,0-8.16,2.58-10.8,6.42h-0.12c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24 c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18h10.74l3.96-20.94C604.31,67.32,602.75,62.94,596.63,62.94z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M638.63,64.2c-6.78-0.6-9-0.9-14.52-0.9c-4.02,0-18.06,1.14-18.06,13.98c0,7.26,4.08,8.28,4.08,8.28 l-4.26,7.02c0,0,1.02,0.36,2.52,0.84c-2.04,1.2-5.76,3.96-5.76,7.92c0,4.26,3.18,8.28,14.4,8.28c12.24,0,17.28-5.76,17.28-11.46 c0-7.26-8.76-7.92-16.32-9.3l0.66-1.86c0,0,0.96,0.06,2.16,0.06c4.74,0,13.08-2.16,13.08-13.02c0-1.08-0.36-2.28-0.36-2.28 l3.78-0.42L638.63,64.2z M623.03,99.24c0,1.92-2.4,2.64-4.98,2.64c-2.58,0-4.62-0.9-4.62-2.94c0-1.62,1.68-2.82,2.46-3.36 C620.33,96.84,623.03,97.44,623.03,99.24z M619.31,79.74c-1.62,0-2.34-1.08-2.34-2.22c0-2.7,1.74-6.3,4.8-6.3 c1.56,0,2.4,0.72,2.4,2.28C624.17,76.2,622.55,79.74,619.31,79.74z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M640.54,22.79C657.88,15.4,660.44,4.46,661.6,0c-2.89,3.98-9.35,6.39-13.5,7.4 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.3-3.49,12.3 C622.84,28.98,628.15,28.08,640.54,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M632.64,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.89-3.99,9.35-6.39,13.5-7.4 c3.78-0.92,11.1-1.93,18.09-5.3c6.95-3.35,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3 C650.34,24.34,645.03,25.23,632.64,30.52z\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRingeMaskinforretning);\nexport default __webpack_public_path__ + \"static/media/Ringe_Maskinforretning.59aee67cf3f5a4fe557f588126277a29.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgRoestofteMaskiner(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 503.32 109.62\",\n style: {\n enableBackground: \"new 0 0 503.32 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M34.92,62.58c0-6.36-4.32-9.84-13.86-9.84c-7.08,0-12.72,0.24-18.66,0.84l-1.32,7.14 c1.74,0.12,3.66,0.36,5.04,0.6L0,93.54h10.92l2.82-14.76h0.42l4.62,14.76h12.66l-4.56-11.88c-0.6-1.56-1.26-3.12-1.86-4.5 C32.16,74.4,34.92,69.06,34.92,62.58z M17.04,70.86c-0.6,0-1.32-0.06-1.74-0.12l1.62-8.7c0.36-0.06,1.38-0.12,2.28-0.12 c2.76,0,3.96,1.14,3.96,2.94C23.16,67.86,20.88,70.86,17.04,70.86z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M61.86,64.8l3.3-5.76l-5.28-2.4l-3.72,6.48C55.44,63.06,54.6,63,53.82,63c-11.04,0-18.84,8.4-18.84,20.4 c0,4.08,1.2,7.26,4.32,9.06l-2.94,5.16l5.4,2.52l3.42-6c0.78,0.06,1.62,0.12,2.52,0.12c9.84,0,18.72-7.98,18.72-20.16 C66.42,70.08,65.16,66.72,61.86,64.8z M45.3,82.44c-0.12-0.42-0.18-0.9-0.18-1.32c0-4.56,2.34-8.34,5.1-9.18 c0.42-0.12,0.84-0.18,1.26-0.18L45.3,82.44z M50.88,85.32c-0.42,0.12-0.78,0.18-1.08,0.18l6.3-11.04c0.06,0.54,0.06,0.9,0.06,1.14 C56.16,78,55.2,84.06,50.88,85.32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M69.9,73.56c0,6.84,5.64,7.86,5.64,10.74c0,0.9-0.78,1.44-2.46,1.44c-1.38,0-3.54-0.42-4.62-0.84l-1.8,8.82 c1.5,0.3,3.54,0.54,5.52,0.54c10.44,0,14.76-5.82,14.76-10.86c0-6.3-5.88-8.76-5.88-10.92c0-1.02,0.78-1.5,2.7-1.5 c1.02,0,2.22,0.18,3.3,0.48l1.98-8.1C87.54,63.12,85.8,63,84.12,63C74.46,63,69.9,67.62,69.9,73.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M105,72.12h5.46l1.68-8.4h-5.52l1.98-10.5l-11.1,2.1l-1.62,8.4h-3.6l-1.68,8.4h3.72l-2.1,11.16 c-1.44,7.74,0.72,10.98,7.56,10.98c1.98,0,4.62-0.3,6.9-0.9l1.26-8.52c-0.96,0.18-1.92,0.36-3.18,0.36c-1.68,0-2.04-0.6-1.68-2.7 L105,72.12z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M143.22,74.1c0-6.36-3.12-11.1-12.54-11.1c-9.36,0-18.9,7.08-18.9,20.4c0,6.6,3.12,10.86,12.66,10.86 C134.28,94.26,143.22,86.28,143.22,74.1z M125.7,84.72c-2.1,0-2.7-1.38-2.7-2.94c0-3.66,1.86-9.3,6-9.3 c2.22,0,2.94,1.02,2.94,3.06C131.94,79.26,130.2,84.72,125.7,84.72z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M162.48,61.86c0.6-3.12,1.38-3.9,3.66-3.9c0.78,0,1.86,0.18,2.64,0.42l2.34-8.82 c-1.44-0.36-3.12-0.48-4.68-0.48c-9.42,0-13.32,4.56-14.64,12.24l-0.42,2.4h-3.72l-1.68,8.4h3.72l-4.08,21.6 c-0.84,4.44-2.1,5.16-4.14,5.16c-0.78,0-1.86-0.18-2.52-0.36l-2.46,8.88c1.68,0.36,3.6,0.54,5.28,0.54 c7.68,0,12.84-4.62,14.58-13.98l4.08-21.84h4.98l1.62-8.4h-4.92L162.48,61.86z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M181.62,72.12h5.46l1.68-8.4h-5.52l1.98-10.5l-11.1,2.1l-1.62,8.4h-3.6l-1.68,8.4h3.72l-2.1,11.16 c-1.44,7.74,0.72,10.98,7.56,10.98c1.98,0,4.62-0.3,6.9-0.9l1.26-8.52c-0.96,0.18-1.92,0.36-3.18,0.36c-1.68,0-2.04-0.6-1.68-2.7 L181.62,72.12z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M216.96,71.04c0-3.66-1.98-8.04-10.98-8.04c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74 c4.02,0,8.46-0.72,12.36-2.04V84c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72 C209.22,82.56,216.96,79.2,216.96,71.04z M204.84,70.98c1.2,0,1.74,0.6,1.74,1.5c0,2.64-2.88,3.48-6.54,3.54 C200.76,73.68,202.2,70.98,204.84,70.98z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M260.4,66.9c-1.56,3.18-2.76,5.94-4.02,9.36h-0.12c0-3.54-0.12-6.36-0.42-9.18l-1.5-14.04 c0,0-4.02-0.06-7.2-0.06c-4.14,0-8.1,0.18-11.82,0.6L234,60.72c1.74,0.12,3.66,0.36,5.04,0.6l-11.4,32.22h11.34L243,81 c0.96-3.06,1.92-6.18,2.88-10.14h0.06c-0.06,3.72,0.12,8.22,0.48,11.94l1.08,10.74h10.2l5.46-12.06 c1.68-3.72,3.12-7.08,4.38-10.62h0.12c-0.3,3.48-0.48,6.48-0.6,9.18l-0.66,13.5h11.88l0.96-40.5h-12L260.4,66.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M282.18,84.6c0,6.54,2.58,9.72,7.5,9.72c4.14,0,7.68-2.22,10.5-6.42h0.12c-0.84,2.04-1.26,3.66-1.74,5.7 c1.26,0.06,2.52,0.06,3.78,0.06c4.86,0,6.6-0.12,6.6-0.12s1.62-10.32,5.34-29.52c-4.14-0.78-8.46-1.02-12.36-1.02 C288.78,63,282.18,72.96,282.18,84.6z M301.8,73.14c-0.96,4.98-5.1,11.7-7.38,11.7c-0.9,0-1.14-0.78-1.14-2.34 c0-4.56,2.64-10.92,6.72-10.92c0.84,0,1.44,0.12,2.04,0.3L301.8,73.14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M317.52,73.56c0,6.84,5.64,7.86,5.64,10.74c0,0.9-0.78,1.44-2.46,1.44c-1.38,0-3.54-0.42-4.62-0.84l-1.8,8.82 c1.5,0.3,3.54,0.54,5.52,0.54c10.44,0,14.76-5.82,14.76-10.86c0-6.3-5.88-8.76-5.88-10.92c0-1.02,0.78-1.5,2.7-1.5 c1.02,0,2.22,0.18,3.3,0.48l1.98-8.1c-1.5-0.24-3.24-0.36-4.92-0.36C322.08,63,317.52,67.62,317.52,73.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M363.42,61.56l-11.46,13.62l4.86-25.5c-5.7-0.18-11.04,0-16.02,0.54l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6 l-0.06,0.18l-6.72,35.4h10.74l2.64-13.8l3.9,13.8h12.9l-6.48-15.78l10.74-10.98L363.42,61.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M386.52,48.84c-3.6,0-6.96,2.82-6.96,6.72c0,3.06,2.46,5.88,6.12,5.88c3.6,0,6.96-2.82,6.96-6.84 C392.64,51.67,390.12,48.84,386.52,48.84z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M373.86,64.2l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l5.7-29.88 C384.18,63.48,378.84,63.66,373.86,64.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M417.41,62.94c-4.86,0-8.16,2.58-10.8,6.42h-0.12c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24 c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18h10.74l3.96-20.94C425.09,67.32,423.53,62.94,417.41,62.94z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M443.63,63c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74c4.02,0,8.46-0.72,12.36-2.04V84 c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72c10.14-0.18,17.88-3.54,17.88-11.7 C454.61,67.38,452.63,63,443.63,63z M437.69,76.02c0.72-2.34,2.16-5.04,4.8-5.04c1.2,0,1.74,0.6,1.74,1.5 C444.23,75.12,441.35,75.96,437.69,76.02z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M471.17,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C477.11,62.16,474.05,64.74,471.17,69.78z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M482.27,22.79C499.6,15.4,502.16,4.46,503.32,0c-2.9,3.98-9.35,6.39-13.5,7.4c-3.78,0.92-11.1,1.93-18.09,5.3 c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.3-3.49,12.3C464.57,28.98,469.87,28.08,482.27,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M474.36,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.89-3.98,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.35,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C492.06,24.34,486.75,25.23,474.36,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRoestofteMaskiner);\nexport default __webpack_public_path__ + \"static/media/Roestofte_Maskiner.7fcb263ff2c90b767ed7ff54ccd98408.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgScanfedt(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 260.98 116.45\",\n style: {\n enableBackground: \"new 0 0 260.98 116.45\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M26.82,70.97c-1.56-0.54-4.14-0.96-5.94-0.96c-3.78,0-5.1,1.38-5.1,3.3c0,4.32,10.62,4.5,10.62,14.34 c0,8.34-7.44,15.24-18.06,15.24c-3.12,0-6.12-0.3-8.34-0.72l1.92-10.38c1.92,0.72,5.16,1.26,7.5,1.26c3.36,0,4.92-1.2,4.92-3.36 c0-4.32-10.56-4.2-10.56-14.34c0-7.74,5.58-14.64,17.46-14.64c2.7,0,5.16,0.24,7.44,0.6L26.82,70.97z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M50.4,81.47c-1.02-0.42-2.16-0.6-3.36-0.6c-4.44,0-6.3,4.68-6.3,8.58c0,2.34,1.32,3.72,3.84,3.72 c1.32,0,2.76-0.18,4.02-0.6l-1.14,9.48c-1.98,0.6-4.14,0.84-6.18,0.84c-8.22,0-11.88-4.02-11.88-11.04 c0-11.52,7.14-20.4,18.12-20.4c1.86,0,3.6,0.18,5.4,0.54L50.4,81.47z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M79.32,102.05c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C80.94,91.73,79.32,102.05,79.32,102.05z M70.38,80.09c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C71.82,80.21,71.22,80.09,70.38,80.09z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M114.48,102.05h-10.74l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88H86.82 l4.14-21.48v-0.12c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.38-0.72,15.42-0.54c-0.3,1.5-0.78,3.48-1.8,5.7h0.12 c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L114.48,102.05z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M144.9,66.89c-0.78-0.24-1.86-0.42-2.64-0.42c-2.28,0-3.06,0.78-3.66,3.9l-0.36,1.86h4.92l-1.62,8.4h-4.98 l-4.08,21.84c-1.74,9.36-6.9,13.98-14.58,13.98c-1.68,0-3.6-0.18-5.28-0.54l2.46-8.88c0.66,0.18,1.74,0.36,2.52,0.36 c2.04,0,3.3-0.72,4.14-5.16l4.08-21.6h-3.72l1.68-8.4h3.72l0.42-2.4c1.32-7.68,5.22-12.24,14.64-12.24c1.56,0,3.24,0.12,4.68,0.48 L144.9,66.89z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M152.28,91.25v0.72c0,1.62,0.78,2.34,4.02,2.34c2.88,0,6.06-0.66,9.06-1.8v8.22 c-3.9,1.32-8.34,2.04-12.36,2.04c-8.7,0-11.34-4.38-11.34-10.74c0-13.74,9.18-20.52,17.52-20.52c9,0,10.98,4.38,10.98,8.04 C170.15,87.71,162.42,91.07,152.28,91.25z M158.04,79.49c-2.64,0-4.08,2.7-4.8,5.04c3.66-0.06,6.54-0.9,6.54-3.54 C159.78,80.09,159.24,79.49,158.04,79.49z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M197.75,102.05c0,0-1.68,0.12-6.6,0.12c-1.26,0-2.52,0-3.72-0.06c0.36-1.92,0.84-3.72,1.68-5.7H189 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c0.42,0,0.84,0,1.8,0.12l0.96-5.1v-0.06 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54C199.32,91.73,197.75,102.05,197.75,102.05z M188.82,80.09c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26 C190.26,80.21,189.65,80.09,188.82,80.09z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M224.7,80.63h-5.46l-1.92,10.38c-0.36,2.1,0,2.7,1.68,2.7c1.26,0,2.22-0.18,3.18-0.36l-1.26,8.52 c-2.28,0.6-4.92,0.9-6.9,0.9c-6.84,0-9-3.24-7.56-10.98l2.1-11.16h-3.72l1.68-8.4h3.6l1.62-8.4l11.1-2.1l-1.98,10.5h5.52 L224.7,80.63z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M239.93,22.79C257.26,15.4,259.82,4.46,260.98,0c-2.89,3.98-9.35,6.39-13.5,7.39 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C222.23,28.98,227.54,28.08,239.93,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M232.02,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.9-3.99,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C249.72,24.34,244.41,25.23,232.02,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgScanfedt);\nexport default __webpack_public_path__ + \"static/media/Scanfedt.431ecafc63a5f62cdf771561aa3ec1b4.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgScanola(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 230.58 109.62\",\n style: {\n enableBackground: \"new 0 0 230.58 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M26.82,62.46c-1.56-0.54-4.14-0.96-5.94-0.96c-3.78,0-5.1,1.38-5.1,3.3c0,4.32,10.62,4.5,10.62,14.34 c0,8.34-7.44,15.24-18.06,15.24c-3.12,0-6.12-0.3-8.34-0.72l1.92-10.38c1.92,0.72,5.16,1.26,7.5,1.26c3.36,0,4.92-1.2,4.92-3.36 c0-4.32-10.56-4.2-10.56-14.34c0-7.74,5.58-14.64,17.46-14.64c2.7,0,5.16,0.24,7.44,0.6L26.82,62.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M50.4,72.96c-1.02-0.42-2.16-0.6-3.36-0.6c-4.44,0-6.3,4.68-6.3,8.58c0,2.34,1.32,3.72,3.84,3.72 c1.32,0,2.76-0.18,4.02-0.6l-1.14,9.48c-1.98,0.6-4.14,0.84-6.18,0.84c-8.22,0-11.88-4.02-11.88-11.04 c0-11.52,7.14-20.4,18.12-20.4c1.86,0,3.6,0.18,5.4,0.54L50.4,72.96z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M79.32,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C80.94,83.22,79.32,93.54,79.32,93.54z M70.38,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C71.82,71.7,71.22,71.58,70.38,71.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M114.48,93.54h-10.74l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88H86.82 l4.14-21.48v-0.12c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.38-0.72,15.42-0.54c-0.3,1.5-0.78,3.48-1.8,5.7h0.12 c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L114.48,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M133.74,94.26c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4c9.42,0,12.54,4.74,12.54,11.1 C152.52,86.28,143.58,94.26,133.74,94.26z M138.3,72.48c-4.14,0-6,5.64-6,9.3c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18 C141.24,73.5,140.52,72.48,138.3,72.48z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M164.88,93.54h-10.74l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54 L164.88,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M198.24,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C199.85,83.22,198.24,93.54,198.24,93.54z M189.3,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C190.74,71.7,190.14,71.58,189.3,71.58z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M209.52,22.79C226.85,15.4,229.42,4.46,230.58,0c-2.89,3.98-9.35,6.39-13.5,7.39 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C191.83,28.98,197.13,28.08,209.52,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M201.62,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.9-3.99,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C219.32,24.34,214.01,25.23,201.62,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgScanola);\nexport default __webpack_public_path__ + \"static/media/Scanola.884357f8788c4bc4866b9e295c32cc0c.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgSwedishAgro(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 374.56 109.62\",\n style: {\n enableBackground: \"new 0 0 374.56 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M26.82,62.46c-1.56-0.54-4.14-0.96-5.94-0.96c-3.78,0-5.1,1.38-5.1,3.3c0,4.32,10.62,4.5,10.62,14.34 c0,8.34-7.44,15.24-18.06,15.24c-3.12,0-6.12-0.3-8.34-0.72l1.92-10.38c1.92,0.72,5.16,1.26,7.5,1.26c3.36,0,4.92-1.2,4.92-3.36 c0-4.32-10.56-4.2-10.56-14.34c0-7.74,5.58-14.64,17.46-14.64c2.7,0,5.16,0.24,7.44,0.6L26.82,62.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M63.54,93.54H51.6L51,86.58c-0.18-2.28-0.3-4.62-0.24-7.68H50.7c-2.04,4.98-4.38,9.84-6.72,14.64H33.54 l-3-29.82H41.7l0.24,4.62c0.18,3.18,0.48,6.48,0.54,10.62h0.06c1.68-4.38,4.2-9.9,6.66-15.24h9.72l0.42,4.62 c0.3,3.6,0.54,7.2,0.66,10.68h0.06c2.1-5.4,4.5-11.1,6.84-16.56l10.5,2.7L63.54,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M85.92,82.74v0.72c0,1.62,0.78,2.34,4.02,2.34c2.88,0,6.06-0.66,9.06-1.8v8.22 c-3.9,1.32-8.34,2.04-12.36,2.04c-8.7,0-11.34-4.38-11.34-10.74C75.3,69.78,84.48,63,92.82,63c9,0,10.98,4.38,10.98,8.04 C103.8,79.2,96.06,82.56,85.92,82.74z M91.68,70.98c-2.64,0-4.08,2.7-4.8,5.04c3.66-0.06,6.54-0.9,6.54-3.54 C93.42,71.58,92.88,70.98,91.68,70.98z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M131.64,93.54c0,0-1.68,0.12-6.6,0.12c-1.26,0-2.52,0-3.72-0.06c0.36-1.92,0.84-3.72,1.68-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c0.42,0,0.84,0,1.8,0.12l0.96-5.1v-0.06 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54C133.2,83.22,131.64,93.54,131.64,93.54z M122.7,71.58 c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26 C124.14,71.7,123.54,71.58,122.7,71.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M149.76,93.54h-10.74l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L149.76,93.54z M151.26,61.44c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C158.22,58.62,154.86,61.44,151.26,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M175.98,71.46c-1.08-0.3-2.28-0.48-3.3-0.48c-1.92,0-2.7,0.48-2.7,1.5c0,2.16,5.88,4.62,5.88,10.92 c0,5.04-4.32,10.86-14.76,10.86c-1.98,0-4.02-0.24-5.52-0.54l1.8-8.82c1.08,0.42,3.24,0.84,4.62,0.84c1.68,0,2.46-0.54,2.46-1.44 c0-2.88-5.64-3.9-5.64-10.74c0-5.94,4.56-10.56,14.22-10.56c1.68,0,3.42,0.12,4.92,0.36L175.98,71.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M206.04,93.54H195.3l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88h-10.74 l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54l-1.98,10.62c-0.6,3.12-1.74,6.3-3.06,9.06 h0.12c2.64-3.84,5.94-6.42,10.8-6.42c6.12,0,7.68,4.38,6.66,9.66L206.04,93.54z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M260.04,93.54H248.4l-0.84-6.6h-12.24l-3.24,6.6h-11.1l16.44-32.22c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c3.72-0.42,7.68-0.6,11.82-0.6c1.38,0,7.2,0,8.64,0.06L260.04,93.54z M245.88,73.08c-0.3-2.34-0.54-4.5-0.6-7.02h-0.12 c-0.9,2.34-2.1,4.98-3.42,7.68l-2.16,4.44h6.9L245.88,73.08z M293.94,71.4l-3.48,0.36c0,0,0.36,1.2,0.36,2.28 c0,10.86-8.34,13.02-13.08,13.02c-1.2,0-2.16-0.06-2.16-0.06l-0.66,1.86c7.56,1.38,16.32,2.04,16.32,9.3 c0,5.7-5.04,11.46-17.28,11.46c-11.22,0-14.4-4.02-14.4-8.28c0-3.96,3.72-6.72,5.76-7.92c-1.5-0.48-2.52-0.84-2.52-0.84l4.26-7.02 c0,0-4.08-1.02-4.08-8.28c0-12.84,14.04-13.98,18.06-13.98c5.52,0,7.44,0.3,14.22,0.9L293.94,71.4z M272.82,95.58 c-0.78,0.54-2.46,1.74-2.46,3.36c0,2.04,2.04,2.94,4.62,2.94c2.58,0,4.98-0.72,4.98-2.64C279.96,97.44,277.26,96.84,272.82,95.58z M278.7,71.22c-3.06,0-4.8,3.6-4.8,6.3c0,1.14,0.72,2.22,2.34,2.22c3.24,0,4.86-3.54,4.86-6.24 C281.1,71.94,280.26,71.22,278.7,71.22z M317.28,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06h-10.74l4.14-21.42v-0.18 c-1.38-0.24-2.52-0.36-4.14-0.54l1.32-7.2c4.98-0.54,9.36-0.72,14.4-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L317.28,73.62z M330.54,94.26c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4 c9.42,0,12.54,4.74,12.54,11.1C349.32,86.28,340.38,94.26,330.54,94.26z M335.1,72.48c-4.14,0-6,5.64-6,9.3 c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18C338.04,73.5,337.32,72.48,335.1,72.48z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M353.51,22.79C370.84,15.4,373.4,4.46,374.56,0c-2.9,3.98-9.35,6.39-13.5,7.39 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C335.81,28.98,341.12,28.08,353.51,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M345.6,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.89-3.99,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C363.3,24.34,358,25.23,345.6,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSwedishAgro);\nexport default __webpack_public_path__ + \"static/media/Swedish_Agro.59b786d54a0b743857845648c9d90d3b.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g, _g2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgTraktorHoest(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 352.42 109.62\",\n style: {\n enableBackground: \"new 0 0 352.42 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M28.08,62.64H19.5l-5.88,30.9H2.7l5.88-30.9H0l1.8-9.6h28.08L28.08,62.64z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M50.22,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06H28.08l4.14-21.42v-0.18 c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.26-0.72,15.3-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L50.22,73.62z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M77.46,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7H68.7 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C79.08,83.22,77.46,93.54,77.46,93.54z M68.52,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C69.96,71.7,69.36,71.58,68.52,71.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M107.64,77.76l6.48,15.78h-12.9l-3.9-13.8l-2.64,13.8H83.94l6.72-35.4l0.06-0.18c-1.38-0.24-3.3-0.48-5.04-0.6 L87,50.22c4.98-0.54,10.32-0.72,16.02-0.54l-4.86,25.5l11.46-13.62l8.76,5.22L107.64,77.76z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M138.9,72.12h-5.46l-1.92,10.38c-0.36,2.1,0,2.7,1.68,2.7c1.26,0,2.22-0.18,3.18-0.36l-1.26,8.52 c-2.28,0.6-4.92,0.9-6.9,0.9c-6.84,0-9-3.24-7.56-10.98l2.1-11.16h-3.72l1.68-8.4h3.6l1.62-8.4l11.1-2.1l-1.98,10.5h5.52 L138.9,72.12z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M152.88,94.26c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4c9.42,0,12.54,4.74,12.54,11.1 C171.66,86.28,162.72,94.26,152.88,94.26z M157.44,72.48c-4.14,0-6,5.64-6,9.3c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18 C160.38,73.5,159.66,72.48,157.44,72.48z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M196.86,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06h-10.74l4.14-21.42v-0.18 c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.26-0.72,15.3-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L196.86,73.62z\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M227.28,67.8h11.88l2.82-14.76h10.98l-7.74,40.5H234.3l3.06-15.96h-11.88l-3.06,15.96h-10.74l6.12-32.22 c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54L227.28,67.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M264.48,94.26c-0.9,0-1.74-0.06-2.52-0.12l-3.42,6l-5.4-2.52l2.94-5.16c-3.12-1.8-4.32-4.98-4.32-9.06 c0-12,7.8-20.4,18.84-20.4c0.78,0,1.62,0.06,2.34,0.12l3.72-6.48l5.28,2.4l-3.3,5.76c3.3,1.92,4.56,5.28,4.56,9.3 C283.2,86.28,274.32,94.26,264.48,94.26z M267,71.94c-2.76,0.84-5.1,4.62-5.1,9.18c0,0.42,0.06,0.9,0.18,1.32l6.18-10.68 C267.84,71.76,267.42,71.82,267,71.94z M272.88,74.46l-6.3,11.04c0.3,0,0.66-0.06,1.08-0.18c4.32-1.26,5.28-7.32,5.28-9.72 C272.94,75.36,272.94,75,272.88,74.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M303.9,71.46c-1.08-0.3-2.28-0.48-3.3-0.48c-1.92,0-2.7,0.48-2.7,1.5c0,2.16,5.88,4.62,5.88,10.92 c0,5.04-4.32,10.86-14.76,10.86c-1.98,0-4.02-0.24-5.52-0.54l1.8-8.82c1.08,0.42,3.24,0.84,4.62,0.84c1.68,0,2.46-0.54,2.46-1.44 c0-2.88-5.64-3.9-5.64-10.74c0-5.94,4.56-10.56,14.22-10.56c1.68,0,3.42,0.12,4.92,0.36L303.9,71.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M327.3,72.12h-5.46l-1.92,10.38c-0.36,2.1,0,2.7,1.68,2.7c1.26,0,2.22-0.18,3.18-0.36l-1.26,8.52 c-2.28,0.6-4.92,0.9-6.9,0.9c-6.84,0-9-3.24-7.56-10.98l2.1-11.16h-3.72l1.68-8.4h3.6l1.62-8.4l11.1-2.1l-1.98,10.5h5.52 L327.3,72.12z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M331.37,22.79C348.7,15.4,351.26,4.46,352.42,0c-2.9,3.98-9.35,6.39-13.5,7.4c-3.78,0.92-11.1,1.93-18.09,5.3 c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29C313.67,28.98,318.98,28.08,331.37,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M323.46,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.9-3.98,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.35,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C341.16,24.34,335.86,25.23,323.46,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTraktorHoest);\nexport default __webpack_public_path__ + \"static/media/Traktor_Hoest.2d3fe83528e9ee538c0519d9e9275834.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgTraktorservice(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 402.96 109.62\",\n style: {\n enableBackground: \"new 0 0 402.96 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"29.88,53.04 1.8,53.04 0,62.64 8.58,62.64 2.7,93.54 13.62,93.54 19.5,62.64 28.08,62.64 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M42.06,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C48,62.16,44.94,64.74,42.06,69.78z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M50.64,84.6c0,6.54,2.58,9.72,7.5,9.72c4.14,0,7.68-2.22,10.5-6.42h0.12c-0.84,2.04-1.26,3.66-1.74,5.7 c1.26,0.06,2.52,0.06,3.78,0.06c4.86,0,6.6-0.12,6.6-0.12s1.62-10.32,5.34-29.52C78.6,63.24,74.28,63,70.38,63 C57.24,63,50.64,72.96,50.64,84.6z M70.26,73.14c-0.96,4.98-5.1,11.7-7.38,11.7c-0.9,0-1.14-0.78-1.14-2.34 c0-4.56,2.64-10.92,6.72-10.92c0.84,0,1.44,0.12,2.04,0.3L70.26,73.14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M109.56,61.56L98.1,75.18l4.86-25.5c-5.7-0.18-11.04,0-16.02,0.54l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6 l-0.06,0.18l-6.72,35.4h10.74l2.64-13.8l3.9,13.8h12.9l-6.48-15.78l10.74-10.98L109.56,61.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M133.32,72.12h5.46l1.68-8.4h-5.52l1.98-10.5l-11.1,2.1l-1.62,8.4h-3.6l-1.68,8.4h3.72l-2.1,11.16 c-1.44,7.74,0.72,10.98,7.56,10.98c1.98,0,4.62-0.3,6.9-0.9l1.26-8.52c-0.96,0.18-1.92,0.36-3.18,0.36c-1.68,0-2.04-0.6-1.68-2.7 L133.32,72.12z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M158.94,63c-9.36,0-18.9,7.08-18.9,20.4c0,6.6,3.12,10.86,12.66,10.86c9.84,0,18.78-7.98,18.78-20.16 C171.48,67.74,168.36,63,158.94,63z M153.96,84.72c-2.1,0-2.7-1.38-2.7-2.94c0-3.66,1.86-9.3,6-9.3c2.22,0,2.94,1.02,2.94,3.06 C160.2,79.26,158.46,84.72,153.96,84.72z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M188.58,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C194.52,62.16,191.46,64.74,188.58,69.78z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M200.22,73.56c0,6.84,5.64,7.86,5.64,10.74c0,0.9-0.78,1.44-2.46,1.44c-1.38,0-3.54-0.42-4.62-0.84l-1.8,8.82 c1.5,0.3,3.54,0.54,5.52,0.54c10.44,0,14.76-5.82,14.76-10.86c0-6.3-5.88-8.76-5.88-10.92c0-1.02,0.78-1.5,2.7-1.5 c1.02,0,2.22,0.18,3.3,0.48l1.98-8.1c-1.5-0.24-3.24-0.36-4.92-0.36C204.78,63,200.22,67.62,200.22,73.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M237.66,63c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74c4.02,0,8.46-0.72,12.36-2.04V84 c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72c10.14-0.18,17.88-3.54,17.88-11.7C248.64,67.38,246.66,63,237.66,63 z M231.72,76.02c0.72-2.34,2.16-5.04,4.8-5.04c1.2,0,1.74,0.6,1.74,1.5C238.26,75.12,235.38,75.96,231.72,76.02z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M265.2,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C271.14,62.16,268.08,64.74,265.2,69.78z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M289.67,79.02h-0.12c-0.12-2.82-0.36-5.94-0.78-8.94l-0.9-6.36H276.6l4.92,29.82h11.28l15.06-28.32 l-10.62-2.88L289.67,79.02z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M321.89,48.84c-3.6,0-6.96,2.82-6.96,6.72c0,3.06,2.46,5.88,6.12,5.88c3.6,0,6.96-2.82,6.96-6.84 C328.01,51.66,325.49,48.84,321.89,48.84z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M309.23,64.2l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l5.7-29.88 C319.55,63.48,314.21,63.66,309.23,64.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M344.69,72.36c1.2,0,2.34,0.18,3.36,0.6l2.52-9.48c-1.8-0.36-3.54-0.54-5.4-0.54 c-10.98,0-18.12,8.88-18.12,20.4c0,7.02,3.66,11.04,11.88,11.04c2.04,0,4.2-0.24,6.18-0.84l1.14-9.48c-1.26,0.42-2.7,0.6-4.02,0.6 c-2.52,0-3.84-1.38-3.84-3.72C338.39,77.04,340.25,72.36,344.69,72.36z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M367.49,63c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74c4.02,0,8.46-0.72,12.36-2.04V84 c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72c10.14-0.18,17.88-3.54,17.88-11.7C378.47,67.38,376.49,63,367.49,63 z M361.55,76.02c0.72-2.34,2.16-5.04,4.8-5.04c1.2,0,1.74,0.6,1.74,1.5C368.09,75.12,365.21,75.96,361.55,76.02z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M381.9,22.79C399.24,15.4,401.8,4.45,402.96,0c-2.9,3.98-9.35,6.39-13.5,7.39c-3.78,0.92-11.1,1.93-18.09,5.3 c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29C364.21,28.98,369.51,28.08,381.9,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M374,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.89-3.98,9.35-6.39,13.5-7.39c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C391.7,24.34,386.39,25.23,374,30.52z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTraktorservice);\nexport default __webpack_public_path__ + \"static/media/Traktorservice.5b8518ea3e88463024282f89cea284ef.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgVilofarm(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 265.67 109.62\",\n style: {\n enableBackground: \"new 0 0 265.67 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#255088;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M244.61,22.79C261.94,15.4,264.5,4.46,265.67,0c-2.9,3.98-9.35,6.39-13.5,7.39 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C226.91,28.98,232.22,28.08,244.61,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M236.7,30.52c-17.33,7.39-19.9,18.34-21.06,22.8c2.9-3.99,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C254.4,24.34,249.1,25.23,236.7,30.52z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M17.7,73.32c0.24,2.16,0.42,4.44,0.48,7.2h0.12c0.96-2.52,1.56-4.08,3.36-7.8l9.66-19.68h11.46L22.2,93.54 H9.36L5.04,61.32c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.38-0.48,9.12-0.66,14.1-0.54L17.7,73.32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M50.04,93.54H39.3l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54 L50.04,93.54z M51.54,61.44c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72c3.6,0,6.12,2.82,6.12,5.76 C58.5,58.62,55.14,61.44,51.54,61.44z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M69.72,93.54H58.98l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54 L69.72,93.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M89.34,94.26c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4c9.42,0,12.54,4.74,12.54,11.1 C108.12,86.28,99.18,94.26,89.34,94.26z M93.9,72.48c-4.14,0-6,5.64-6,9.3c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18 C96.84,73.5,96.12,72.48,93.9,72.48z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M134.28,58.38c-0.78-0.24-1.86-0.42-2.64-0.42c-2.28,0-3.06,0.78-3.66,3.9l-0.36,1.86h4.92l-1.62,8.4h-4.98 l-4.08,21.84c-1.74,9.36-6.9,13.98-14.58,13.98c-1.68,0-3.6-0.18-5.28-0.54l2.46-8.88c0.66,0.18,1.74,0.36,2.52,0.36 c2.04,0,3.3-0.72,4.14-5.16l4.08-21.6h-3.72l1.68-8.4h3.72l0.42-2.4c1.32-7.68,5.22-12.24,14.64-12.24c1.56,0,3.24,0.12,4.68,0.48 L134.28,58.38z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M157.38,93.54c0,0-1.74,0.12-6.6,0.12c-1.26,0-2.52,0-3.78-0.06c0.48-2.04,0.9-3.66,1.74-5.7h-0.12 c-2.82,4.2-6.36,6.42-10.5,6.42c-4.92,0-7.5-3.18-7.5-9.72c0-11.64,6.6-21.6,19.74-21.6c3.9,0,8.22,0.24,12.36,1.02 C159,83.22,157.38,93.54,157.38,93.54z M148.44,71.58c-4.08,0-6.72,6.36-6.72,10.92c0,1.56,0.24,2.34,1.14,2.34 c2.28,0,6.42-6.72,7.38-11.7l0.24-1.26C149.88,71.7,149.28,71.58,148.44,71.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M187.62,73.62c-4.02-1.5-8.04,2.16-10.26,13.86l-1.14,6.06h-10.74l4.14-21.42v-0.18 c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.26-0.72,15.3-0.54c-0.36,1.92-0.9,3.84-1.8,6.12h0.12 c2.88-5.04,5.94-7.62,10.5-6.66L187.62,73.62z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M235.56,93.54h-10.74l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88h-10.68 l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88h-10.74l4.08-21.36l0.06-0.24 c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.38-0.72,15.42-0.54c-0.3,1.62-0.9,3.72-1.8,5.7h0.12 c2.7-3.84,5.82-6.42,10.68-6.42c3.36,0,6.18,1.74,6.18,5.88c0,0.18,0,0.48-0.06,0.9h0.06c2.76-4.26,6-6.78,10.86-6.78 c6.12,0,7.68,4.38,6.66,9.66L235.56,93.54z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgVilofarm);\nexport default __webpack_public_path__ + \"static/media/Vilofarm.052c567d89b4cbe52facd19cdef51f3c.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgVilomix(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 243.85 115.29\",\n style: {\n enableBackground: \"new 0 0 243.85 115.29\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#255088;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M17.7,78.99c0.24,2.16,0.42,4.44,0.48,7.2h0.12c0.96-2.52,1.56-4.08,3.36-7.8l9.66-19.68h11.46L22.2,99.21 H9.36L5.04,66.99c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.38-0.48,9.12-0.66,14.1-0.54L17.7,78.99z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M50.04,99.21H39.3l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54 L50.04,99.21z M51.54,67.11c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72c3.6,0,6.12,2.82,6.12,5.76 C58.5,64.29,55.14,67.11,51.54,67.11z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M69.66,99.21H58.92l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54 L69.66,99.21z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M89.34,99.93c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4c9.42,0,12.54,4.74,12.54,11.1 C108.12,91.95,99.18,99.93,89.34,99.93z M93.9,78.15c-4.14,0-6,5.64-6,9.3c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18 C96.84,79.17,96.12,78.15,93.9,78.15z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M155.7,99.21h-10.74l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88H128.1 l3.48-18.18c0.42-2.22,0.18-2.94-0.6-2.94c-1.86,0-6.18,6-7.38,12.24l-1.68,8.88h-10.74l4.08-21.36l0.06-0.24 c-1.38-0.24-3.36-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.38-0.72,15.42-0.54c-0.3,1.62-0.9,3.72-1.8,5.7h0.12 c2.7-3.84,5.82-6.42,10.68-6.42c3.36,0,6.18,1.74,6.18,5.88c0,0.18,0,0.48-0.06,0.9h0.06c2.76-4.26,6-6.78,10.86-6.78 c6.12,0,7.68,4.38,6.66,9.66L155.7,99.21z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M174.78,99.21h-10.74l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14 c4.98-0.54,10.32-0.72,16.02-0.54L174.78,99.21z M176.28,67.11c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72 c3.6,0,6.12,2.82,6.12,5.76C183.24,64.29,179.88,67.11,176.28,67.11z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M204.48,84.99l6.06,14.22h-12.42l-2.28-7.8l-7.68,9.96l-9.3-4.92l11.82-13.14l-5.94-13.92h11.82l2.52,7.86 l7.62-10.02l9,4.86L204.48,84.99z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M222.8,28.46c17.33-7.39,19.9-18.34,21.06-22.79c-2.89,3.98-9.35,6.39-13.5,7.39 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C205.1,34.64,210.41,33.75,222.8,28.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M214.9,36.19c-17.33,7.39-19.9,18.34-21.06,22.8c2.9-3.99,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C232.59,30,227.29,30.9,214.9,36.19z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgVilomix);\nexport default __webpack_public_path__ + \"static/media/Vilomix.98adeab021fadf91f0061943326058d2.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgVilovet(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 215.69 115.29\",\n style: {\n enableBackground: \"new 0 0 215.69 115.29\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#255088;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M17.7,78.99c0.24,2.16,0.42,4.44,0.48,7.2h0.12c0.96-2.52,1.56-4.08,3.36-7.8l9.66-19.68h11.46L22.2,99.21 H9.36L5.04,66.99c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.38-0.48,9.12-0.66,14.1-0.54L17.7,78.99z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M50.04,99.21H39.3l4.14-21.48v-0.12c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54 L50.04,99.21z M51.54,67.11c-3.66,0-6.12-2.82-6.12-5.88c0-3.9,3.36-6.72,6.96-6.72c3.6,0,6.12,2.82,6.12,5.76 C58.5,64.29,55.14,67.11,51.54,67.11z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M69.66,99.21H58.92l6.78-35.58c-1.38-0.24-3.3-0.48-5.04-0.6l1.32-7.14c4.98-0.54,10.32-0.72,16.02-0.54 L69.66,99.21z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M89.34,99.93c-9.54,0-12.66-4.26-12.66-10.86c0-13.32,9.54-20.4,18.9-20.4c9.42,0,12.54,4.74,12.54,11.1 C108.12,91.95,99.18,99.93,89.34,99.93z M93.9,78.15c-4.14,0-6,5.64-6,9.3c0,1.56,0.6,2.94,2.7,2.94c4.5,0,6.24-5.46,6.24-9.18 C96.84,79.17,96.12,78.15,93.9,78.15z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M127.32,99.21h-11.28l-4.92-29.82h11.28l0.9,6.36c0.42,3,0.66,6.12,0.78,8.94h0.12l7.56-16.68l10.62,2.88 L127.32,99.21z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M150.48,88.41v0.72c0,1.62,0.78,2.34,4.02,2.34c2.88,0,6.06-0.66,9.06-1.8v8.22 c-3.9,1.32-8.34,2.04-12.36,2.04c-8.7,0-11.34-4.38-11.34-10.74c0-13.74,9.18-20.52,17.52-20.52c9,0,10.98,4.38,10.98,8.04 C168.36,84.87,160.62,88.23,150.48,88.41z M156.24,76.65c-2.64,0-4.08,2.7-4.8,5.04c3.66-0.06,6.54-0.9,6.54-3.54 C157.98,77.25,157.44,76.65,156.24,76.65z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M190.44,77.79h-5.46l-1.92,10.38c-0.36,2.1,0,2.7,1.68,2.7c1.26,0,2.22-0.18,3.18-0.36l-1.26,8.52 c-2.28,0.6-4.92,0.9-6.9,0.9c-6.84,0-9-3.24-7.56-10.98l2.1-11.16h-3.72l1.68-8.4h3.6l1.62-8.4l11.1-2.1l-1.98,10.5h5.52 L190.44,77.79z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M194.63,22.79C211.96,15.4,214.52,4.46,215.69,0c-2.9,3.98-9.35,6.39-13.5,7.4 c-3.78,0.92-11.1,1.93-18.09,5.3c-6.95,3.34-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29 C176.93,28.98,182.24,28.08,194.63,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M186.73,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.9-3.98,9.35-6.39,13.5-7.39c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C204.43,24.34,199.12,25.24,186.73,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgVilovet);\nexport default __webpack_public_path__ + \"static/media/Vilovet.67567ded2e8bbae7509e34d73bf858de.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgVinderupMaskiner(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 533.26 109.62\",\n style: {\n enableBackground: \"new 0 0 533.26 109.62\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#A81D35;}\\n\\t.st1{fill:#849938;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M31.32,53.04l-9.66,19.68c-1.8,3.72-2.4,5.28-3.36,7.8h-0.12c-0.06-2.76-0.24-5.04-0.48-7.2l-2.28-20.28 c-4.98-0.12-9.72,0.06-14.1,0.54L0,60.72c1.74,0.12,3.66,0.36,5.04,0.6l4.32,32.22H22.2l20.58-40.5H31.32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M39.72,64.2l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.12L39.3,93.54h10.74l5.7-29.88 C50.04,63.48,44.7,63.66,39.72,64.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M52.38,48.84c-3.6,0-6.96,2.82-6.96,6.72c0,3.06,2.46,5.88,6.12,5.88c3.6,0,6.96-2.82,6.96-6.84 C58.5,51.66,55.98,48.84,52.38,48.84z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M83.28,62.94c-4.86,0-8.16,2.58-10.8,6.42h-0.12c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24 c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18h10.74l3.96-20.94C90.96,67.32,89.4,62.94,83.28,62.94z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M110.7,50.22l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.06l-0.96,5.1C112.5,63,112.08,63,111.66,63 c-13.14,0-19.74,9.96-19.74,21.6c0,6.54,2.58,9.72,7.5,9.72c4.14,0,7.68-2.22,10.5-6.42h0.12c-0.84,1.98-1.32,3.78-1.68,5.7 c1.2,0.06,2.46,0.06,3.72,0.06c4.92,0,6.6-0.12,6.6-0.12s1.56-10.32,8.04-43.86C121.02,49.5,115.68,49.68,110.7,50.22z M111.54,73.14c-0.96,4.98-5.1,11.7-7.38,11.7c-0.9,0-1.14-0.78-1.14-2.34c0-4.56,2.64-10.92,6.72-10.92 c0.84,0,1.44,0.12,2.04,0.3L111.54,73.14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M141.96,63c-8.34,0-17.52,6.78-17.52,20.52c0,6.36,2.64,10.74,11.34,10.74c4.02,0,8.46-0.72,12.36-2.04V84 c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72c10.14-0.18,17.88-3.54,17.88-11.7 C152.94,67.38,150.96,63,141.96,63z M136.02,76.02c0.72-2.34,2.16-5.04,4.8-5.04c1.2,0,1.74,0.6,1.74,1.5 C142.56,75.12,139.68,75.96,136.02,76.02z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M169.5,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C175.44,62.16,172.38,64.74,169.5,69.78z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M202.98,63.72l-1.68,8.88c-1.2,6.24-5.52,12.24-7.38,12.24c-0.78,0-1.02-0.72-0.6-2.94l3.48-18.24 c-5.22-0.18-10.8,0-15.96,0.54l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-2.46,12.6c-1.02,5.28,0.54,9.66,6.66,9.66 c4.86,0,8.16-2.58,10.8-6.42h0.12c-0.96,2.22-1.38,4.2-1.68,5.7c1.14,0.06,2.94,0.06,4.38,0.06c2.28,0,4.44-0.06,6-0.12 c0,0,1.68-10.32,5.34-29.82H202.98z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M239.76,62.94c-4.14,0-7.68,2.22-10.5,6.42h-0.12c0.84-1.98,1.38-3.78,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-6.78,35.4h10.74l2.52-13.38c0.96,0.12,1.38,0.12,1.8,0.12 c13.14,0,19.74-9.96,19.74-21.6C247.26,66.12,244.68,62.94,239.76,62.94z M229.44,85.68c-0.84,0-1.44-0.12-2.04-0.3l0.24-1.26 c0.96-4.98,5.1-11.7,7.38-11.7c0.9,0,1.14,0.78,1.14,2.34C236.16,79.32,233.52,85.68,229.44,85.68z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M290.94,66.9c-1.56,3.18-2.76,5.94-4.02,9.36h-0.12c0-3.54-0.12-6.36-0.42-9.18l-1.5-14.04 c0,0-4.02-0.06-7.2-0.06c-4.14,0-8.1,0.18-11.82,0.6l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6l-11.4,32.22h11.34L273.54,81 c0.96-3.06,1.92-6.18,2.88-10.14h0.06c-0.06,3.72,0.12,8.22,0.48,11.94l1.08,10.74h10.2l5.46-12.06 c1.68-3.72,3.12-7.08,4.38-10.62h0.12c-0.3,3.48-0.48,6.48-0.6,9.18l-0.66,13.5h11.88l0.96-40.5h-12L290.94,66.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M332.46,63c-13.14,0-19.74,9.96-19.74,21.6c0,6.54,2.58,9.72,7.5,9.72c4.14,0,7.68-2.22,10.5-6.42h0.12 c-0.84,2.04-1.26,3.66-1.74,5.7c1.26,0.06,2.52,0.06,3.78,0.06c4.86,0,6.6-0.12,6.6-0.12s1.62-10.32,5.34-29.52 C340.68,63.24,336.36,63,332.46,63z M332.34,73.14c-0.96,4.98-5.1,11.7-7.38,11.7c-0.9,0-1.14-0.78-1.14-2.34 c0-4.56,2.64-10.92,6.72-10.92c0.84,0,1.44,0.12,2.04,0.3L332.34,73.14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M347.4,73.56c0,6.84,5.64,7.86,5.64,10.74c0,0.9-0.78,1.44-2.46,1.44c-1.38,0-3.54-0.42-4.62-0.84l-1.8,8.82 c1.5,0.3,3.54,0.54,5.52,0.54c10.44,0,14.76-5.82,14.76-10.86c0-6.3-5.88-8.76-5.88-10.92c0-1.02,0.78-1.5,2.7-1.5 c1.02,0,2.22,0.18,3.3,0.48l1.98-8.1c-1.5-0.24-3.24-0.36-4.92-0.36C351.96,63,347.4,67.62,347.4,73.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M393.3,61.56l-11.46,13.62l4.86-25.5c-5.7-0.18-11.04,0-16.02,0.54l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6 l-0.06,0.18l-6.72,35.4h10.74l2.64-13.8l3.9,13.8h12.9l-6.48-15.78l10.74-10.98L393.3,61.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M403.74,64.2l-1.32,7.14c1.74,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l5.7-29.88 C414.06,63.48,408.72,63.66,403.74,64.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M416.4,48.84c-3.6,0-6.96,2.82-6.96,6.72c0,3.06,2.46,5.88,6.12,5.88c3.6,0,6.96-2.82,6.96-6.84 C422.52,51.66,420,48.84,416.4,48.84z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M447.3,62.94c-4.86,0-8.16,2.58-10.8,6.42h-0.12c1.02-2.22,1.5-4.2,1.8-5.7c-5.04-0.18-10.44,0-15.42,0.54 l-1.32,7.14c1.68,0.12,3.66,0.36,5.04,0.6v0.12l-4.14,21.48h10.74l1.68-8.88c1.2-6.24,5.52-12.24,7.38-12.24 c0.78,0,1.02,0.72,0.6,2.94l-3.48,18.18H450l3.96-20.94C454.98,67.32,453.42,62.94,447.3,62.94z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M473.52,63C465.18,63,456,69.78,456,83.52c0,6.36,2.64,10.74,11.34,10.74c4.02,0,8.46-0.72,12.36-2.04V84 c-3,1.14-6.18,1.8-9.06,1.8c-3.24,0-4.02-0.72-4.02-2.34v-0.72c10.14-0.18,17.88-3.54,17.88-11.7C484.5,67.38,482.52,63,473.52,63 z M467.58,76.02c0.72-2.34,2.16-5.04,4.8-5.04c1.2,0,1.74,0.6,1.74,1.5C474.12,75.12,471.24,75.96,467.58,76.02z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M501.06,69.78h-0.12c0.9-2.28,1.44-4.2,1.8-6.12c-5.04-0.18-10.32,0-15.3,0.54l-1.32,7.14 c1.68,0.12,3.66,0.36,5.04,0.6v0.18l-4.14,21.42h10.74l1.14-6.06c2.22-11.7,6.24-15.36,10.26-13.86l2.4-10.5 C507,62.16,503.94,64.74,501.06,69.78z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M512.2,22.79C529.54,15.4,532.1,4.46,533.26,0c-2.9,3.98-9.35,6.39-13.5,7.4c-3.78,0.92-11.1,1.93-18.09,5.3 c-6.95,3.35-9.73,9.03-11.77,13.37c-2.24,4.77-3.49,12.29-3.49,12.29C494.51,28.98,499.81,28.08,512.2,22.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M504.3,30.52c-17.33,7.4-19.9,18.34-21.06,22.8c2.89-3.98,9.35-6.39,13.5-7.4c3.78-0.92,11.1-1.93,18.09-5.3 c6.95-3.34,9.73-9.03,11.77-13.37c2.24-4.77,3.49-12.3,3.49-12.3C522,24.34,516.69,25.23,504.3,30.52z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgVinderupMaskiner);\nexport default __webpack_public_path__ + \"static/media/Vinderup_Maskiner.cf0e34c659901f569ac53d6eec5253f7.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgCeraGreen(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"100%\",\n viewBox: \"0 0 2832 732\",\n enableBackground: \"new 0 0 2832 732\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n opacity: 1,\n stroke: \"none\",\n d: \" M1613.000000,733.000000 C1075.666626,733.000000 538.333313,733.000000 1.000000,733.000000 C1.000000,690.558472 1.000000,648.235168 1.372676,605.515198 C2.824273,608.702759 3.981369,612.265503 4.969985,615.874451 C14.370006,650.189941 36.318832,672.937439 69.888489,683.595459 C96.279434,691.974304 123.335709,690.548645 150.103973,684.409058 C173.013702,679.154419 194.118317,669.466980 213.611038,656.487610 C222.976334,650.251587 231.867355,643.243896 238.086533,633.449097 C245.275970,622.126221 246.029160,609.472412 239.654175,600.271790 C231.705109,607.745483 223.890701,615.347473 215.796921,622.639343 C205.131302,632.248291 193.262421,640.281677 180.233383,646.204712 C159.571991,655.597595 138.035812,660.758484 115.004807,658.075562 C94.190117,655.650757 77.541313,646.206299 64.915276,629.706848 C52.974659,614.103088 48.437870,595.729065 47.171890,576.644470 C45.925808,557.859802 47.801239,539.147522 52.054413,520.764343 C60.660870,483.565247 77.821144,451.233398 106.770370,425.751038 C124.020332,410.566895 143.901459,402.539856 167.206284,402.903931 C189.380157,403.250397 206.327362,413.299408 219.829681,429.923004 C224.787704,436.027191 228.657043,443.015656 233.022491,449.599976 C240.841537,444.278534 248.089142,435.013275 250.210999,426.338196 C252.320709,417.712708 251.188858,409.751160 244.512817,402.839355 C238.053726,396.152039 230.257889,391.966003 221.792953,388.883179 C203.359070,382.169739 184.369797,381.166656 164.894745,382.816864 C144.750366,384.523773 125.648575,389.555084 107.578659,398.279236 C82.155128,410.553650 61.462051,428.912903 43.970558,450.760132 C21.832830,478.410583 8.075247,509.909851 2.910260,545.065125 C2.756119,546.114258 1.658002,547.024841 1.000000,548.000000 C1.000000,365.713226 1.000000,183.426422 1.000000,1.000000 C356.362701,1.000000 711.725403,1.000000 1067.542480,1.406854 C1067.663940,3.233562 1067.344971,4.656918 1066.995728,6.072768 C1059.343994,37.094646 1052.072144,68.190285 1047.917847,99.926872 C1045.709717,116.794769 1042.988281,133.601913 1041.108521,150.504333 C1039.598633,164.081787 1038.156006,177.763168 1038.185913,191.395142 C1038.246216,218.926682 1038.891113,246.476135 1040.161743,273.978149 C1040.856445,289.015076 1042.967529,304.020599 1045.091797,318.947540 C1047.089966,332.989197 1049.011597,347.155609 1052.626343,360.828461 C1059.105835,385.336914 1065.689575,409.931183 1074.343994,433.720490 C1083.625732,459.234619 1095.343994,483.862335 1105.737183,509.100281 C1095.527344,523.214966 1085.792603,537.265503 1075.583130,550.962097 C1058.261841,574.199280 1038.983643,595.683960 1016.418701,613.995361 C1005.065002,623.208801 993.388794,632.019470 978.293884,634.437561 C973.087646,635.271667 966.899475,633.037048 963.891724,628.775391 C957.980591,620.400085 956.002869,610.657959 956.187134,600.882141 C956.549744,581.647034 956.916382,562.299438 959.285645,543.247620 C961.486023,525.553894 965.731384,508.039368 970.183838,490.730835 C972.585144,481.395782 977.307495,472.657776 981.247864,463.000427 C975.431396,463.000427 969.570251,462.682587 963.755127,463.064941 C950.655212,463.926331 938.224915,466.410217 931.227539,479.940094 C928.983643,478.884735 926.907410,477.912201 924.834534,476.932678 C903.223999,466.720459 880.966858,460.030121 856.582031,462.899780 C842.629272,464.541748 829.718201,468.821899 817.685852,475.885071 C804.054443,483.886932 792.818054,494.620239 782.745911,506.709625 C769.083740,523.108032 758.703796,541.360779 752.131104,561.625000 C745.218994,582.935669 742.389221,604.806763 743.883972,627.287781 C744.734375,640.077637 747.134766,652.255493 753.270874,663.587280 C762.758850,681.109070 776.477051,687.605164 791.910095,686.792969 C803.895264,686.162231 814.716431,681.308899 824.738892,674.801758 C842.051819,663.561157 856.369080,649.028015 869.932007,633.657654 C884.052979,617.654663 896.087585,600.208557 906.299744,581.485352 C909.235779,576.102356 912.202209,570.735840 915.789429,564.206604 C915.465576,569.459717 915.061768,573.234619 915.032043,577.012512 C914.942993,588.344788 914.213257,599.748413 915.217468,610.991699 C916.257324,622.634521 917.886108,634.479309 921.341431,645.587463 C925.670105,659.502747 935.151489,669.438599 950.553528,671.622253 C960.072632,672.971863 969.478333,671.877075 978.554321,668.664795 C1001.602295,660.507385 1020.332703,645.665710 1037.942261,629.372437 C1047.452637,620.573120 1056.547119,611.209900 1064.936401,601.341980 C1075.770630,588.598022 1086.043335,575.337646 1095.930542,561.840210 C1103.469360,551.548584 1110.032104,540.541992 1117.340332,530.033752 C1129.094238,548.776367 1140.185547,567.567078 1152.064453,585.845825 C1168.559448,611.228088 1188.357422,634.040527 1209.408569,655.689209 C1219.153931,665.711121 1229.947510,674.739502 1240.545166,683.894897 C1245.299561,688.002380 1250.739746,691.315918 1256.132935,695.139343 C1257.042480,695.141602 1257.722412,695.079407 1258.328491,694.834656 C1282.710938,684.984375 1303.621826,669.725952 1322.412598,651.774170 C1336.077271,638.719543 1348.717163,624.524658 1361.133423,610.246277 C1381.109741,587.273987 1398.361816,562.201477 1413.366089,535.794983 C1428.202759,509.683624 1442.195435,483.031250 1455.220825,455.972351 C1464.846558,435.975861 1473.042969,415.205536 1480.599731,394.318176 C1493.193726,359.507263 1503.755127,324.022339 1511.519287,287.788208 C1516.656860,263.811279 1521.517212,239.767593 1526.011353,215.662338 C1529.987061,194.338455 1533.328857,172.895386 1536.851929,151.488724 C1537.793213,145.769302 1538.373657,139.990509 1539.119751,134.238953 C1536.043091,135.181778 1534.179321,136.503708 1532.503296,138.031433 C1527.470459,142.619171 1522.543823,147.323517 1517.516235,151.917297 C1498.768921,169.047119 1479.837769,185.980118 1461.307373,203.341095 C1452.825195,211.287933 1444.865479,219.835815 1437.118286,228.512436 C1427.959961,238.769150 1419.207520,249.393311 1410.430542,259.983612 C1403.884155,267.882172 1397.578125,275.979797 1391.092285,283.528809 C1390.346313,272.225372 1389.752441,261.376251 1388.972900,250.540482 C1388.431763,243.020569 1387.872559,235.487991 1386.896606,228.016586 C1385.463867,217.048782 1383.749390,206.114624 1381.974365,195.195480 C1379.968018,182.853531 1378.202271,170.448074 1375.541626,158.242493 C1371.377563,139.139191 1366.647461,120.156380 1361.957642,101.171829 C1359.889893,92.801666 1357.332275,84.552490 1354.766602,75.428406 C1350.516235,81.311462 1346.650757,86.311150 1343.154907,91.557091 C1319.083130,127.680458 1295.628540,164.197937 1277.708740,203.874969 C1268.609741,224.021408 1260.428467,244.582260 1251.517578,264.768250 C1243.544678,245.591187 1236.622192,226.263077 1228.071655,207.684204 C1211.463867,171.598038 1191.418701,137.438644 1168.107422,105.194046 C1152.404541,83.473633 1135.845703,62.522251 1116.967529,43.456253 C1102.899902,29.248714 1088.848389,15.031077 1072.704834,3.096834 C1072.218750,2.737561 1072.223877,1.713919 1072.000000,1.000007 C1658.893921,1.000000 2245.787842,1.000000 2833.000000,1.000000 C2833.000000,173.362579 2833.000000,345.725372 2832.636230,518.535706 C2827.090088,515.971375 2821.907471,512.959473 2816.761719,509.969055 C2815.770264,511.349121 2814.840576,512.499573 2814.064697,513.745728 C2797.344971,540.595032 2781.057129,567.725464 2763.785400,594.214417 C2752.895996,610.915100 2741.831055,627.794800 2724.970215,639.485168 C2719.303223,643.414429 2713.170654,646.835327 2705.957031,645.378967 C2697.333984,643.638000 2694.406738,636.363586 2693.184326,629.081543 C2691.179443,617.138794 2689.711182,605.030701 2689.143799,592.939392 C2688.264893,574.197327 2688.608887,555.400208 2687.891357,536.647217 C2687.496582,526.331970 2686.552246,515.964966 2684.841797,505.791809 C2682.857910,493.992279 2679.046143,482.547577 2670.823486,473.475098 C2659.124512,460.566620 2642.474121,459.062256 2625.176758,466.417603 C2608.140869,473.661865 2595.752930,486.649811 2584.065430,500.423126 C2565.563232,522.226929 2551.239258,546.762451 2537.719971,571.788696 C2531.760742,582.819885 2526.390625,594.169250 2520.144531,606.584106 C2520.836670,597.035706 2521.301514,588.906982 2522.039551,580.803101 C2523.618652,563.460571 2525.372070,546.133911 2526.981445,528.794006 C2527.469238,523.539429 2527.219482,518.168274 2528.194824,513.018555 C2529.609131,505.549164 2529.319824,498.331726 2527.056641,491.160461 C2524.337402,482.543579 2520.417725,479.734192 2511.508057,480.039337 C2509.404785,480.111389 2507.252930,480.449829 2505.234375,481.042572 C2496.422119,483.630005 2487.650635,486.356201 2479.298828,488.899719 C2481.861328,494.685791 2484.318604,499.606384 2486.234131,504.729584 C2488.287598,510.222107 2488.612061,515.227234 2484.321533,520.626465 C2475.290527,531.991211 2467.337646,544.204834 2458.618408,555.827209 C2445.795654,572.919922 2431.068604,588.236572 2415.142822,602.514282 C2401.058350,615.141235 2386.279785,626.795044 2369.999756,636.334961 C2348.212891,649.101868 2325.097656,658.062256 2299.187744,655.888306 C2289.479492,655.073730 2280.575684,651.796875 2273.097900,644.791260 C2266.020752,638.161072 2262.458740,629.823792 2260.233398,620.942688 C2258.560059,614.264832 2258.461914,607.192383 2257.689941,600.531921 C2263.726074,599.949463 2268.634521,599.213074 2273.562012,599.051025 C2286.905518,598.612061 2299.800293,595.825439 2312.555176,592.147888 C2333.040039,586.241638 2351.708984,576.871216 2368.278320,563.350525 C2381.501953,552.559875 2392.443359,540.321045 2396.515625,523.072205 C2402.555664,497.490509 2391.953369,474.493927 2365.675049,465.900818 C2353.928223,462.059601 2342.047119,461.559937 2329.745605,462.822937 C2316.592041,464.173492 2303.966309,467.014709 2292.041748,472.540161 C2275.785645,480.072754 2261.969971,490.848846 2250.031494,504.308197 C2238.255371,517.584473 2229.060303,532.246216 2222.959229,548.879822 C2221.286133,553.440552 2220.758301,559.052368 2217.725098,562.373779 C2204.682617,576.655762 2191.215088,590.587891 2177.305420,604.029297 C2162.772461,618.072815 2146.225098,629.503113 2128.482666,639.273621 C2109.849365,649.534851 2090.483154,656.462891 2068.822754,656.076416 C2048.789551,655.718933 2034.231812,647.700684 2026.791504,628.428406 C2023.279053,619.330505 2022.672852,609.863098 2021.993286,600.523315 C2027.454346,599.967407 2032.186523,599.211853 2036.938721,599.052612 C2051.933838,598.550232 2066.477783,595.651184 2080.655762,590.949280 C2105.842285,582.596619 2128.629883,570.303223 2146.454346,550.054199 C2157.330322,537.698425 2162.463379,523.471741 2162.125732,506.863281 C2161.755127,488.610321 2149.671631,472.908203 2133.213867,466.986572 C2120.669678,462.472931 2107.903320,461.472900 2094.527832,462.761841 C2080.150635,464.147339 2066.662842,467.757446 2053.663086,473.737030 C2036.671875,481.552460 2023.149780,493.910400 2011.070312,507.705170 C2001.488403,518.647583 1993.898193,531.085327 1988.559204,544.805420 C1983.248535,558.452576 1980.256348,572.472473 1978.798096,587.075928 C1977.137329,603.708130 1978.141846,619.904907 1983.083740,635.778076 C1990.250977,658.799805 2004.872437,675.154846 2027.979736,682.846191 C2046.734497,689.088806 2065.883057,687.460693 2084.865234,683.550049 C2110.342529,678.301270 2133.223145,666.816833 2154.613281,652.553894 C2174.335449,639.402832 2192.809570,624.529175 2209.232910,607.287415 C2210.537109,605.918152 2211.989014,604.689270 2212.936035,603.803223 C2214.640381,613.716064 2215.499023,623.743958 2218.172119,633.262268 C2224.732178,656.621582 2238.679443,673.682434 2262.203613,682.140198 C2279.674316,688.421570 2297.502930,687.869934 2315.172607,684.719055 C2340.494385,680.203613 2363.710449,669.806702 2385.238281,655.876282 C2401.769287,645.179199 2417.234131,633.090637 2431.920654,619.868042 C2446.600830,606.650940 2459.636963,592.062378 2472.004639,576.788940 C2476.577881,571.141113 2480.780273,565.193176 2485.997559,558.257812 C2485.997559,560.933533 2486.102539,562.197266 2485.980957,563.438782 C2485.004639,573.401428 2483.977295,583.359070 2482.980957,593.319824 C2481.313721,609.986389 2479.685791,626.656982 2477.981445,643.319763 C2477.431396,648.698730 2476.386719,654.042297 2476.102539,659.430176 C2475.394043,672.859741 2477.367920,683.697205 2492.121582,686.416138 C2496.471680,687.217834 2501.276123,686.380005 2505.728760,685.535767 C2509.144287,684.888062 2512.707520,683.534729 2515.406250,681.457520 C2516.261719,680.799011 2514.535889,676.798340 2514.011719,674.322693 C2513.943848,674.003540 2513.926025,673.637573 2514.010742,673.327637 C2515.885498,666.468201 2516.725098,659.082031 2519.866699,652.858887 C2528.839111,635.086243 2538.504150,617.647461 2548.359375,600.340820 C2557.882812,583.617615 2567.468018,566.886292 2577.998291,550.794678 C2585.770752,538.917236 2595.172363,528.112366 2603.720703,516.734009 C2609.052002,509.637939 2615.729980,504.199829 2623.560059,500.217072 C2631.171387,496.345551 2638.774902,498.169800 2641.719238,506.074463 C2644.914551,514.653748 2646.782471,523.933289 2647.794434,533.066406 C2648.995605,543.904968 2648.629639,554.914490 2649.008545,565.847595 C2649.644531,584.216309 2649.629639,602.645447 2651.248779,620.928772 C2652.304443,632.849365 2654.990723,644.786865 2658.402100,656.284851 C2660.976807,664.963135 2666.532715,672.434570 2674.956055,676.978577 C2690.775391,685.512451 2706.011719,682.491272 2720.506592,673.853027 C2733.599121,666.050354 2744.991943,656.082397 2754.452637,644.035950 C2762.742676,633.480164 2771.414551,623.194763 2779.199219,612.277466 C2798.467285,585.256592 2814.968994,556.530396 2830.427490,527.191589 C2830.914795,526.266113 2832.126221,525.722046 2833.000000,525.000000 C2833.000000,594.312988 2833.000000,663.626038 2833.000000,733.000000 C2433.970703,733.000000 2034.941284,733.000000 1635.191650,732.642822 C1635.476196,731.857422 1636.447876,731.174622 1637.490845,731.039124 C1654.414185,728.840332 1668.296387,722.539673 1673.740479,704.601624 C1681.815796,677.994751 1690.182129,651.472595 1697.921753,624.768677 C1704.123291,603.371460 1709.577515,581.757690 1715.362549,560.239746 C1718.843384,547.292603 1722.322388,534.344910 1725.864380,521.166809 C1724.206299,521.166809 1722.806885,520.852783 1721.610596,521.213379 C1699.364380,527.919189 1676.345337,529.651428 1653.413818,532.032776 C1639.240234,533.504639 1625.040405,534.931458 1610.972412,537.142517 C1600.558960,538.779175 1590.977051,542.787354 1586.022949,553.179321 C1582.711060,560.126404 1579.877319,567.301514 1576.877075,574.264099 C1593.154053,570.084045 1608.654785,564.972717 1624.565674,562.333069 C1640.719116,559.653076 1657.277344,559.412170 1674.088135,558.068787 C1673.919067,560.884705 1674.087280,562.262146 1673.723999,563.481079 C1670.151123,575.464905 1667.250488,587.723572 1662.662598,599.311707 C1656.824585,614.058411 1647.053345,626.557373 1634.757690,636.457520 C1617.612671,650.262390 1598.026733,656.369812 1575.640747,653.155518 C1560.507324,650.982605 1547.472046,645.141174 1536.402100,634.837402 C1527.894775,626.918945 1521.664917,617.386292 1517.218750,606.619751 C1511.172729,591.979431 1509.654663,576.526489 1509.156738,560.979492 C1508.948486,554.476562 1510.322144,547.921265 1511.000122,541.392212 C1512.545288,526.511414 1516.488892,512.279785 1522.726196,498.693726 C1529.742920,483.410065 1539.088257,469.766113 1550.166382,457.035522 C1560.897705,444.703522 1573.231445,434.540710 1587.209351,426.502228 C1611.235596,412.685364 1637.183960,407.060150 1664.818970,411.050598 C1681.980347,413.528656 1695.599121,421.616211 1703.839844,437.471436 C1704.689331,439.105682 1705.693359,440.659576 1707.465820,443.684265 C1715.250000,432.832489 1723.011963,423.463654 1729.101074,413.110901 C1735.091187,402.925934 1731.412354,394.390533 1720.760864,388.927307 C1709.611084,383.208405 1697.382935,382.869019 1685.389526,382.148041 C1668.727173,381.146423 1652.163086,382.959747 1635.719604,385.958374 C1610.842041,390.495056 1587.853149,399.846924 1566.474121,413.116150 C1545.673828,426.026093 1527.163452,441.675140 1511.090698,460.268097 C1500.971924,471.973450 1492.213013,484.520905 1485.010376,498.147797 C1474.573975,517.892456 1468.671265,539.129333 1467.206787,561.274414 C1465.934692,580.509705 1467.208862,599.624207 1474.832153,617.956604 C1484.358276,640.864380 1499.708862,658.368469 1521.445068,669.988831 C1540.416138,680.130981 1560.795776,683.287537 1582.280884,681.136414 C1600.817261,679.280701 1617.416504,672.722778 1632.738037,662.647827 C1640.706543,657.408020 1648.151489,651.371948 1656.150879,645.460632 C1655.799072,646.603577 1655.588867,647.517883 1655.242065,648.377136 C1652.501709,655.167358 1650.062256,662.103333 1646.910645,668.698425 C1639.669312,683.851562 1632.248657,698.925659 1624.548828,713.850281 C1621.138916,720.460266 1616.875854,726.630249 1613.000000,733.000000 M646.154053,546.678772 C649.542908,542.596436 652.799316,538.394775 656.346924,534.455383 C665.166016,524.662109 674.452576,515.218872 686.441223,509.410095 C699.344421,503.158173 710.468201,503.928192 719.180908,517.691345 C719.924866,518.866577 720.925903,519.879150 721.940430,521.131287 C725.766602,518.084961 729.500916,515.756104 732.414917,512.656128 C738.302307,506.392944 744.421326,500.166199 749.186707,493.078491 C754.338684,485.415924 752.679504,477.348663 746.361145,470.861206 C739.896667,464.223602 731.769409,461.618774 722.821533,462.122284 C711.876404,462.738190 701.840088,466.498291 692.354553,472.045959 C675.152771,482.106537 661.586670,496.160187 648.554688,510.891388 C629.099854,532.882751 613.227539,557.346497 598.658264,582.721008 C594.058472,590.732239 589.528442,598.783691 584.755676,607.187866 C584.367554,606.267883 584.101990,605.957581 584.150879,605.709106 C588.595947,583.105103 593.332825,560.554199 597.430237,537.887695 C599.813110,524.706177 601.795288,511.386200 602.790344,498.041473 C603.545105,487.917969 597.863647,482.923401 587.852112,483.050385 C583.887146,483.100677 579.838440,483.300934 575.987915,484.154633 C568.978149,485.708832 562.087830,487.802094 555.523254,489.569305 C555.445190,490.869110 555.378906,491.058380 555.435608,491.197601 C555.621155,491.653442 555.837708,492.098236 556.066467,492.534698 C562.820435,505.422607 564.433533,517.990173 553.795837,529.827209 C553.248718,530.435974 552.929688,531.243530 552.448853,531.919006 C535.283630,556.033264 516.799438,578.941345 494.775635,598.954041 C480.593231,611.841431 465.855743,623.866821 449.558380,633.891357 C426.982605,647.777710 403.141266,657.763245 375.840485,655.985840 C364.672546,655.258728 354.451080,651.602600 346.995392,643.182739 C337.448303,632.401001 334.522675,618.948242 333.958649,604.854736 C333.810974,601.164673 335.171997,600.066772 338.835602,599.898743 C347.109070,599.519348 355.424713,599.020325 363.602203,597.775391 C391.977875,593.455383 418.083893,583.340271 441.080353,565.918884 C454.817902,555.511719 466.364838,543.246094 471.374969,526.188293 C479.747375,497.683136 467.284637,472.110016 436.967133,464.452972 C420.396606,460.267883 403.923248,461.736725 387.721771,465.726501 C355.851532,473.574951 332.074921,492.944061 313.704956,519.550110 C300.692688,538.396362 293.251190,559.276123 290.914948,582.025818 C288.789429,602.724060 288.905609,623.246948 297.141418,642.809448 C305.048004,661.589966 318.142731,675.269104 337.764038,682.067688 C353.852051,687.642029 370.220154,687.653198 386.869354,685.135681 C417.488922,680.505859 444.465515,667.380859 469.500122,649.901611 C480.496185,642.224060 491.328247,634.141235 501.279602,625.181641 C513.459106,614.215881 524.776672,602.272705 536.185852,590.480286 C541.524475,584.962341 546.203247,578.805908 551.690125,572.338806 C551.690125,574.347473 551.867615,575.503784 551.664246,576.588684 C546.199036,605.740601 540.468262,634.845398 535.321960,664.053223 C533.563904,674.031372 536.659607,684.286133 550.039368,686.319824 C558.928955,687.671021 566.690369,685.006653 574.570251,681.814636 C577.064148,680.804382 577.857727,679.333679 578.114990,676.629517 C578.597717,671.555054 579.314819,666.400696 580.794250,661.541321 C586.689148,642.178650 595.808838,624.146118 606.251404,607.001709 C618.661072,586.627747 632.580017,567.172974 646.154053,546.678772 M1845.074829,562.609497 C1836.193848,577.826843 1827.312866,593.044128 1817.827271,609.297424 C1819.378662,601.581543 1820.706909,595.068542 1821.995728,588.547852 C1825.534668,570.643433 1829.291260,552.777649 1832.508667,534.815491 C1834.882812,521.561462 1838.920898,508.469879 1837.048706,494.680725 C1836.123047,487.862915 1831.237671,482.980133 1824.282349,483.053741 C1820.016357,483.098846 1815.663208,483.228149 1811.512939,484.099457 C1804.008179,485.675049 1796.625854,487.834381 1789.159180,489.758453 C1791.051636,493.665314 1792.811768,496.634308 1793.966187,499.822601 C1796.242310,506.108490 1796.137451,512.528320 1795.097168,519.153992 C1793.294556,530.633423 1792.459473,542.268494 1790.544434,553.725586 C1788.423584,566.412781 1785.500000,578.964355 1783.009521,591.591492 C1779.414795,609.819397 1775.624512,628.015381 1772.462158,646.319031 C1770.984619,654.871399 1770.462280,663.631592 1770.122192,672.321655 C1769.915527,677.602722 1774.219971,683.327393 1780.267578,685.281799 C1791.224121,688.822632 1800.794312,685.397339 1810.421265,681.146729 C1811.178345,680.812500 1811.902344,679.462341 1811.931396,678.561462 C1812.375122,664.820618 1817.839233,652.494690 1823.403931,640.408875 C1833.589966,618.286499 1845.512939,597.068481 1859.028076,576.764771 C1872.458984,556.587769 1886.793457,537.158020 1904.799927,520.742920 C1911.363892,514.759094 1918.485840,509.416473 1927.171997,506.980530 C1936.441040,504.381195 1945.032593,505.476288 1951.382080,514.781616 C1952.822876,516.893127 1954.428711,518.892029 1956.263306,521.351318 C1966.694824,512.749023 1977.689453,504.929749 1984.072510,492.591583 C1987.941162,485.113342 1986.611694,476.101318 1980.846924,470.380280 C1975.090210,464.667084 1967.830322,462.187012 1959.964844,462.082367 C1946.589600,461.904419 1934.654907,467.013031 1923.662109,473.990479 C1906.693726,484.760956 1892.245972,498.499542 1880.124390,514.483521 C1868.284302,530.096313 1857.017578,546.143982 1845.074829,562.609497 z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#A4C408\",\n opacity: 1,\n stroke: \"none\",\n d: \" M1071.600098,1.000007 C1072.223877,1.713919 1072.218750,2.737561 1072.704834,3.096834 C1088.848389,15.031077 1102.899902,29.248714 1116.967529,43.456253 C1135.845703,62.522251 1152.404541,83.473633 1168.107422,105.194046 C1191.418701,137.438644 1211.463867,171.598038 1228.071655,207.684204 C1236.622192,226.263077 1243.544678,245.591187 1251.460449,265.130615 C1251.339966,266.957367 1251.027222,268.257965 1250.574463,269.507721 C1230.174927,325.804138 1220.192261,384.052246 1219.440186,443.767181 C1219.115723,469.530121 1220.285889,495.398163 1222.386963,521.086792 C1226.344360,569.471741 1234.925293,617.161926 1247.371826,664.106689 C1249.920166,673.717834 1253.349854,683.095276 1256.324707,692.882935 C1256.140381,693.786804 1256.004639,694.388306 1255.868774,694.989746 C1250.739746,691.315918 1245.299561,688.002380 1240.545166,683.894897 C1229.947510,674.739502 1219.153931,665.711121 1209.408569,655.689209 C1188.357422,634.040527 1168.559448,611.228088 1152.064453,585.845825 C1140.185547,567.567078 1129.094238,548.776367 1117.308838,529.680054 C1113.310303,522.389648 1109.654663,515.633301 1105.998901,508.876923 C1095.343994,483.862335 1083.625732,459.234619 1074.343994,433.720490 C1065.689575,409.931183 1059.105835,385.336914 1052.626343,360.828461 C1049.011597,347.155609 1047.089966,332.989197 1045.091797,318.947540 C1042.967529,304.020599 1040.856445,289.015076 1040.161743,273.978149 C1038.891113,246.476135 1038.246216,218.926682 1038.185913,191.395142 C1038.156006,177.763168 1039.598633,164.081787 1041.108521,150.504333 C1042.988281,133.601913 1045.709717,116.794769 1047.917847,99.926872 C1052.072144,68.190285 1059.343994,37.094646 1066.995728,6.072768 C1067.344971,4.656918 1067.663940,3.233562 1067.998535,1.406854 C1069.066650,1.000000 1070.133423,1.000000 1071.600098,1.000007 z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#A4C408\",\n opacity: 1,\n stroke: \"none\",\n d: \" M2833.000000,524.571533 C2832.126221,525.722046 2830.914795,526.266113 2830.427490,527.191589 C2814.968994,556.530396 2798.467285,585.256592 2779.199219,612.277466 C2771.414551,623.194763 2762.742676,633.480164 2754.452637,644.035950 C2744.991943,656.082397 2733.599121,666.050354 2720.506592,673.853027 C2706.011719,682.491272 2690.775391,685.512451 2674.956055,676.978577 C2666.532715,672.434570 2660.976807,664.963135 2658.402100,656.284851 C2654.990723,644.786865 2652.304443,632.849365 2651.248779,620.928772 C2649.629639,602.645447 2649.644531,584.216309 2649.008545,565.847595 C2648.629639,554.914490 2648.995605,543.904968 2647.794434,533.066406 C2646.782471,523.933289 2644.914551,514.653748 2641.719238,506.074463 C2638.774902,498.169800 2631.171387,496.345551 2623.560059,500.217072 C2615.729980,504.199829 2609.052002,509.637939 2603.720703,516.734009 C2595.172363,528.112366 2585.770752,538.917236 2577.998291,550.794678 C2567.468018,566.886292 2557.882812,583.617615 2548.359375,600.340820 C2538.504150,617.647461 2528.839111,635.086243 2519.866699,652.858887 C2516.725098,659.082031 2515.885498,666.468201 2514.010742,673.327637 C2513.926025,673.637573 2513.943848,674.003540 2514.011719,674.322693 C2514.535889,676.798340 2516.261719,680.799011 2515.406250,681.457520 C2512.707520,683.534729 2509.144287,684.888062 2505.728760,685.535767 C2501.276123,686.380005 2496.471680,687.217834 2492.121582,686.416138 C2477.367920,683.697205 2475.394043,672.859741 2476.102539,659.430176 C2476.386719,654.042297 2477.431396,648.698730 2477.981445,643.319763 C2479.685791,626.656982 2481.313721,609.986389 2482.980957,593.319824 C2483.977295,583.359070 2485.004639,573.401428 2485.980957,563.438782 C2486.102539,562.197266 2485.997559,560.933533 2485.997559,558.257812 C2480.780273,565.193176 2476.577881,571.141113 2472.004639,576.788940 C2459.636963,592.062378 2446.600830,606.650940 2431.920654,619.868042 C2417.234131,633.090637 2401.769287,645.179199 2385.238281,655.876282 C2363.710449,669.806702 2340.494385,680.203613 2315.172607,684.719055 C2297.502930,687.869934 2279.674316,688.421570 2262.203613,682.140198 C2238.679443,673.682434 2224.732178,656.621582 2218.172119,633.262268 C2215.499023,623.743958 2214.640381,613.716064 2212.936035,603.803223 C2211.989014,604.689270 2210.537109,605.918152 2209.232910,607.287415 C2192.809570,624.529175 2174.335449,639.402832 2154.613281,652.553894 C2133.223145,666.816833 2110.342529,678.301270 2084.865234,683.550049 C2065.883057,687.460693 2046.734497,689.088806 2027.979736,682.846191 C2004.872437,675.154846 1990.250977,658.799805 1983.083740,635.778076 C1978.141846,619.904907 1977.137329,603.708130 1978.798096,587.075928 C1980.256348,572.472473 1983.248535,558.452576 1988.559204,544.805420 C1993.898193,531.085327 2001.488403,518.647583 2011.070312,507.705170 C2023.149780,493.910400 2036.671875,481.552460 2053.663086,473.737030 C2066.662842,467.757446 2080.150635,464.147339 2094.527832,462.761841 C2107.903320,461.472900 2120.669678,462.472931 2133.213867,466.986572 C2149.671631,472.908203 2161.755127,488.610321 2162.125732,506.863281 C2162.463379,523.471741 2157.330322,537.698425 2146.454346,550.054199 C2128.629883,570.303223 2105.842285,582.596619 2080.655762,590.949280 C2066.477783,595.651184 2051.933838,598.550232 2036.938721,599.052612 C2032.186523,599.211853 2027.454346,599.967407 2021.993286,600.523315 C2022.672852,609.863098 2023.279053,619.330505 2026.791504,628.428406 C2034.231812,647.700684 2048.789551,655.718933 2068.822754,656.076416 C2090.483154,656.462891 2109.849365,649.534851 2128.482666,639.273621 C2146.225098,629.503113 2162.772461,618.072815 2177.305420,604.029297 C2191.215088,590.587891 2204.682617,576.655762 2217.725098,562.373779 C2220.758301,559.052368 2221.286133,553.440552 2222.959229,548.879822 C2229.060303,532.246216 2238.255371,517.584473 2250.031494,504.308197 C2261.969971,490.848846 2275.785645,480.072754 2292.041748,472.540161 C2303.966309,467.014709 2316.592041,464.173492 2329.745605,462.822937 C2342.047119,461.559937 2353.928223,462.059601 2365.675049,465.900818 C2391.953369,474.493927 2402.555664,497.490509 2396.515625,523.072205 C2392.443359,540.321045 2381.501953,552.559875 2368.278320,563.350525 C2351.708984,576.871216 2333.040039,586.241638 2312.555176,592.147888 C2299.800293,595.825439 2286.905518,598.612061 2273.562012,599.051025 C2268.634521,599.213074 2263.726074,599.949463 2257.689941,600.531921 C2258.461914,607.192383 2258.560059,614.264832 2260.233398,620.942688 C2262.458740,629.823792 2266.020752,638.161072 2273.097900,644.791260 C2280.575684,651.796875 2289.479492,655.073730 2299.187744,655.888306 C2325.097656,658.062256 2348.212891,649.101868 2369.999756,636.334961 C2386.279785,626.795044 2401.058350,615.141235 2415.142822,602.514282 C2431.068604,588.236572 2445.795654,572.919922 2458.618408,555.827209 C2467.337646,544.204834 2475.290527,531.991211 2484.321533,520.626465 C2488.612061,515.227234 2488.287598,510.222107 2486.234131,504.729584 C2484.318604,499.606384 2481.861328,494.685791 2479.298828,488.899719 C2487.650635,486.356201 2496.422119,483.630005 2505.234375,481.042572 C2507.252930,480.449829 2509.404785,480.111389 2511.508057,480.039337 C2520.417725,479.734192 2524.337402,482.543579 2527.056641,491.160461 C2529.319824,498.331726 2529.609131,505.549164 2528.194824,513.018555 C2527.219482,518.168274 2527.469238,523.539429 2526.981445,528.794006 C2525.372070,546.133911 2523.618652,563.460571 2522.039551,580.803101 C2521.301514,588.906982 2520.836670,597.035706 2520.144531,606.584106 C2526.390625,594.169250 2531.760742,582.819885 2537.719971,571.788696 C2551.239258,546.762451 2565.563232,522.226929 2584.065430,500.423126 C2595.752930,486.649811 2608.140869,473.661865 2625.176758,466.417603 C2642.474121,459.062256 2659.124512,460.566620 2670.823486,473.475098 C2679.046143,482.547577 2682.857910,493.992279 2684.841797,505.791809 C2686.552246,515.964966 2687.496582,526.331970 2687.891357,536.647217 C2688.608887,555.400208 2688.264893,574.197327 2689.143799,592.939392 C2689.711182,605.030701 2691.179443,617.138794 2693.184326,629.081543 C2694.406738,636.363586 2697.333984,643.638000 2705.957031,645.378967 C2713.170654,646.835327 2719.303223,643.414429 2724.970215,639.485168 C2741.831055,627.794800 2752.895996,610.915100 2763.785400,594.214417 C2781.057129,567.725464 2797.344971,540.595032 2814.064697,513.745728 C2814.840576,512.499573 2815.770264,511.349121 2816.761719,509.969055 C2821.907471,512.959473 2827.090088,515.971375 2832.636230,518.991638 C2833.000000,520.714355 2833.000000,522.428711 2833.000000,524.571533 M2339.224121,483.000275 C2334.029541,483.584839 2328.691162,483.597046 2323.666260,484.857941 C2306.499268,489.165558 2295.336182,501.685425 2285.149170,514.885986 C2274.481445,528.709900 2267.760986,544.662903 2263.300293,561.497803 C2261.738281,567.394226 2260.892578,573.480469 2259.527344,580.465576 C2267.157227,579.207092 2273.738037,578.265930 2280.260986,577.020569 C2306.565918,571.998474 2329.520264,560.804749 2346.705811,539.685486 C2355.549805,528.817261 2360.225098,516.470764 2358.067871,502.039978 C2356.316650,490.327972 2351.568115,484.996887 2339.224121,483.000275 M2060.000244,502.500061 C2038.891235,523.907043 2028.599976,550.311707 2023.760132,580.528442 C2032.998169,578.929688 2041.555664,577.895691 2049.890869,575.922119 C2074.393066,570.120422 2095.940430,559.002502 2111.644775,538.710632 C2120.785889,526.899109 2125.485107,513.391724 2121.867920,498.330078 C2118.461914,484.147217 2108.018066,481.307007 2093.156006,483.480286 C2080.037354,485.398590 2069.600586,492.672119 2060.000244,502.500061 z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#A4C408\",\n opacity: 1,\n stroke: \"none\",\n d: \" M1613.468506,733.000000 C1616.875854,726.630249 1621.138916,720.460266 1624.548828,713.850281 C1632.248657,698.925659 1639.669312,683.851562 1646.910645,668.698425 C1650.062256,662.103333 1652.501709,655.167358 1655.242065,648.377136 C1655.588867,647.517883 1655.799072,646.603577 1656.150879,645.460632 C1648.151489,651.371948 1640.706543,657.408020 1632.738037,662.647827 C1617.416504,672.722778 1600.817261,679.280701 1582.280884,681.136414 C1560.795776,683.287537 1540.416138,680.130981 1521.445068,669.988831 C1499.708862,658.368469 1484.358276,640.864380 1474.832153,617.956604 C1467.208862,599.624207 1465.934692,580.509705 1467.206787,561.274414 C1468.671265,539.129333 1474.573975,517.892456 1485.010376,498.147797 C1492.213013,484.520905 1500.971924,471.973450 1511.090698,460.268097 C1527.163452,441.675140 1545.673828,426.026093 1566.474121,413.116150 C1587.853149,399.846924 1610.842041,390.495056 1635.719604,385.958374 C1652.163086,382.959747 1668.727173,381.146423 1685.389526,382.148041 C1697.382935,382.869019 1709.611084,383.208405 1720.760864,388.927307 C1731.412354,394.390533 1735.091187,402.925934 1729.101074,413.110901 C1723.011963,423.463654 1715.250000,432.832489 1707.465820,443.684265 C1705.693359,440.659576 1704.689331,439.105682 1703.839844,437.471436 C1695.599121,421.616211 1681.980347,413.528656 1664.818970,411.050598 C1637.183960,407.060150 1611.235596,412.685364 1587.209351,426.502228 C1573.231445,434.540710 1560.897705,444.703522 1550.166382,457.035522 C1539.088257,469.766113 1529.742920,483.410065 1522.726196,498.693726 C1516.488892,512.279785 1512.545288,526.511414 1511.000122,541.392212 C1510.322144,547.921265 1508.948486,554.476562 1509.156738,560.979492 C1509.654663,576.526489 1511.172729,591.979431 1517.218750,606.619751 C1521.664917,617.386292 1527.894775,626.918945 1536.402100,634.837402 C1547.472046,645.141174 1560.507324,650.982605 1575.640747,653.155518 C1598.026733,656.369812 1617.612671,650.262390 1634.757690,636.457520 C1647.053345,626.557373 1656.824585,614.058411 1662.662598,599.311707 C1667.250488,587.723572 1670.151123,575.464905 1673.723999,563.481079 C1674.087280,562.262146 1673.919067,560.884705 1674.088135,558.068787 C1657.277344,559.412170 1640.719116,559.653076 1624.565674,562.333069 C1608.654785,564.972717 1593.154053,570.084045 1576.877075,574.264099 C1579.877319,567.301514 1582.711060,560.126404 1586.022949,553.179321 C1590.977051,542.787354 1600.558960,538.779175 1610.972412,537.142517 C1625.040405,534.931458 1639.240234,533.504639 1653.413818,532.032776 C1676.345337,529.651428 1699.364380,527.919189 1721.610596,521.213379 C1722.806885,520.852783 1724.206299,521.166809 1725.864380,521.166809 C1722.322388,534.344910 1718.843384,547.292603 1715.362549,560.239746 C1709.577515,581.757690 1704.123291,603.371460 1697.921753,624.768677 C1690.182129,651.472595 1681.815796,677.994751 1673.740479,704.601624 C1668.296387,722.539673 1654.414185,728.840332 1637.490845,731.039124 C1636.447876,731.174622 1635.476196,731.857422 1634.735596,732.642822 C1627.979004,733.000000 1620.958130,733.000000 1613.468506,733.000000 z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#125930\",\n opacity: 1,\n stroke: \"none\",\n d: \" M1.000000,548.468628 C1.658002,547.024841 2.756119,546.114258 2.910260,545.065125 C8.075247,509.909851 21.832830,478.410583 43.970558,450.760132 C61.462051,428.912903 82.155128,410.553650 107.578659,398.279236 C125.648575,389.555084 144.750366,384.523773 164.894745,382.816864 C184.369797,381.166656 203.359070,382.169739 221.792953,388.883179 C230.257889,391.966003 238.053726,396.152039 244.512817,402.839355 C251.188858,409.751160 252.320709,417.712708 250.210999,426.338196 C248.089142,435.013275 240.841537,444.278534 233.022491,449.599976 C228.657043,443.015656 224.787704,436.027191 219.829681,429.923004 C206.327362,413.299408 189.380157,403.250397 167.206284,402.903931 C143.901459,402.539856 124.020332,410.566895 106.770370,425.751038 C77.821144,451.233398 60.660870,483.565247 52.054413,520.764343 C47.801239,539.147522 45.925808,557.859802 47.171890,576.644470 C48.437870,595.729065 52.974659,614.103088 64.915276,629.706848 C77.541313,646.206299 94.190117,655.650757 115.004807,658.075562 C138.035812,660.758484 159.571991,655.597595 180.233383,646.204712 C193.262421,640.281677 205.131302,632.248291 215.796921,622.639343 C223.890701,615.347473 231.705109,607.745483 239.654175,600.271790 C246.029160,609.472412 245.275970,622.126221 238.086533,633.449097 C231.867355,643.243896 222.976334,650.251587 213.611038,656.487610 C194.118317,669.466980 173.013702,679.154419 150.103973,684.409058 C123.335709,690.548645 96.279434,691.974304 69.888489,683.595459 C36.318832,672.937439 14.370006,650.189941 4.969985,615.874451 C3.981369,612.265503 2.824273,608.702759 1.372676,605.059265 C1.000000,586.312439 1.000000,567.624878 1.000000,548.468628 z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F6DA1F\",\n opacity: 1,\n stroke: \"none\",\n d: \" M1256.373291,692.580444 C1253.349854,683.095276 1249.920166,673.717834 1247.371826,664.106689 C1234.925293,617.161926 1226.344360,569.471741 1222.386963,521.086792 C1220.285889,495.398163 1219.115723,469.530121 1219.440186,443.767181 C1220.192261,384.052246 1230.174927,325.804138 1250.574463,269.507721 C1251.027222,268.257965 1251.339966,266.957367 1251.775146,265.318115 C1260.428467,244.582260 1268.609741,224.021408 1277.708740,203.874969 C1295.628540,164.197937 1319.083130,127.680458 1343.154907,91.557091 C1346.650757,86.311150 1350.516235,81.311462 1354.766602,75.428406 C1357.332275,84.552490 1359.889893,92.801666 1361.957642,101.171829 C1366.647461,120.156380 1371.377563,139.139191 1375.541626,158.242493 C1378.202271,170.448074 1379.968018,182.853531 1381.974365,195.195480 C1383.749390,206.114624 1385.463867,217.048782 1386.896606,228.016586 C1387.872559,235.487991 1388.431763,243.020569 1388.972900,250.540482 C1389.752441,261.376251 1390.346313,272.225372 1391.023193,283.990417 C1390.684814,305.474152 1390.614746,326.045837 1389.893921,346.594696 C1389.491211,358.074036 1388.483521,369.581726 1386.898193,380.958130 C1384.592651,397.503540 1382.577393,414.207550 1378.521362,430.362579 C1372.722900,453.458313 1366.238892,476.499298 1358.117432,498.862671 C1349.352051,522.998962 1339.171875,546.713501 1328.113647,569.898926 C1317.340088,592.487427 1305.294800,614.536194 1292.657227,636.149109 C1281.379150,655.437012 1268.529419,673.805969 1256.373291,692.580444 z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#125930\",\n opacity: 1,\n stroke: \"none\",\n d: \" M1256.324707,692.882935 C1268.529419,673.805969 1281.379150,655.437012 1292.657227,636.149109 C1305.294800,614.536194 1317.340088,592.487427 1328.113647,569.898926 C1339.171875,546.713501 1349.352051,522.998962 1358.117432,498.862671 C1366.238892,476.499298 1372.722900,453.458313 1378.521362,430.362579 C1382.577393,414.207550 1384.592651,397.503540 1386.898193,380.958130 C1388.483521,369.581726 1389.491211,358.074036 1389.893921,346.594696 C1390.614746,326.045837 1390.684814,305.474152 1391.096069,284.450378 C1397.578125,275.979797 1403.884155,267.882172 1410.430542,259.983612 C1419.207520,249.393311 1427.959961,238.769150 1437.118286,228.512436 C1444.865479,219.835815 1452.825195,211.287933 1461.307373,203.341095 C1479.837769,185.980118 1498.768921,169.047119 1517.516235,151.917297 C1522.543823,147.323517 1527.470459,142.619171 1532.503296,138.031433 C1534.179321,136.503708 1536.043091,135.181778 1539.119751,134.238953 C1538.373657,139.990509 1537.793213,145.769302 1536.851929,151.488724 C1533.328857,172.895386 1529.987061,194.338455 1526.011353,215.662338 C1521.517212,239.767593 1516.656860,263.811279 1511.519287,287.788208 C1503.755127,324.022339 1493.193726,359.507263 1480.599731,394.318176 C1473.042969,415.205536 1464.846558,435.975861 1455.220825,455.972351 C1442.195435,483.031250 1428.202759,509.683624 1413.366089,535.794983 C1398.361816,562.201477 1381.109741,587.273987 1361.133423,610.246277 C1348.717163,624.524658 1336.077271,638.719543 1322.412598,651.774170 C1303.621826,669.725952 1282.710938,684.984375 1258.328491,694.834656 C1257.722412,695.079407 1257.042480,695.141602 1256.132935,695.139343 C1256.004639,694.388306 1256.140381,693.786804 1256.324707,692.882935 z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#125930\",\n opacity: 1,\n stroke: \"none\",\n d: \" M645.999512,546.999390 C632.580017,567.172974 618.661072,586.627747 606.251404,607.001709 C595.808838,624.146118 586.689148,642.178650 580.794250,661.541321 C579.314819,666.400696 578.597717,671.555054 578.114990,676.629517 C577.857727,679.333679 577.064148,680.804382 574.570251,681.814636 C566.690369,685.006653 558.928955,687.671021 550.039368,686.319824 C536.659607,684.286133 533.563904,674.031372 535.321960,664.053223 C540.468262,634.845398 546.199036,605.740601 551.664246,576.588684 C551.867615,575.503784 551.690125,574.347473 551.690125,572.338806 C546.203247,578.805908 541.524475,584.962341 536.185852,590.480286 C524.776672,602.272705 513.459106,614.215881 501.279602,625.181641 C491.328247,634.141235 480.496185,642.224060 469.500122,649.901611 C444.465515,667.380859 417.488922,680.505859 386.869354,685.135681 C370.220154,687.653198 353.852051,687.642029 337.764038,682.067688 C318.142731,675.269104 305.048004,661.589966 297.141418,642.809448 C288.905609,623.246948 288.789429,602.724060 290.914948,582.025818 C293.251190,559.276123 300.692688,538.396362 313.704956,519.550110 C332.074921,492.944061 355.851532,473.574951 387.721771,465.726501 C403.923248,461.736725 420.396606,460.267883 436.967133,464.452972 C467.284637,472.110016 479.747375,497.683136 471.374969,526.188293 C466.364838,543.246094 454.817902,555.511719 441.080353,565.918884 C418.083893,583.340271 391.977875,593.455383 363.602203,597.775391 C355.424713,599.020325 347.109070,599.519348 338.835602,599.898743 C335.171997,600.066772 333.810974,601.164673 333.958649,604.854736 C334.522675,618.948242 337.448303,632.401001 346.995392,643.182739 C354.451080,651.602600 364.672546,655.258728 375.840485,655.985840 C403.141266,657.763245 426.982605,647.777710 449.558380,633.891357 C465.855743,623.866821 480.593231,611.841431 494.775635,598.954041 C516.799438,578.941345 535.283630,556.033264 552.448853,531.919006 C552.929688,531.243530 553.248718,530.435974 553.795837,529.827209 C564.433533,517.990173 562.820435,505.422607 556.066467,492.534698 C555.837708,492.098236 555.621155,491.653442 555.435608,491.197601 C555.378906,491.058380 555.445190,490.869110 555.523254,489.569305 C562.087830,487.802094 568.978149,485.708832 575.987915,484.154633 C579.838440,483.300934 583.887146,483.100677 587.852112,483.050385 C597.863647,482.923401 603.545105,487.917969 602.790344,498.041473 C601.795288,511.386200 599.813110,524.706177 597.430237,537.887695 C593.332825,560.554199 588.595947,583.105103 584.150879,605.709106 C584.101990,605.957581 584.367554,606.267883 584.755676,607.187866 C589.528442,598.783691 594.058472,590.732239 598.658264,582.721008 C613.227539,557.346497 629.099854,532.882751 648.554688,510.891388 C661.586670,496.160187 675.152771,482.106537 692.354553,472.045959 C701.840088,466.498291 711.876404,462.738190 722.821533,462.122284 C731.769409,461.618774 739.896667,464.223602 746.361145,470.861206 C752.679504,477.348663 754.338684,485.415924 749.186707,493.078491 C744.421326,500.166199 738.302307,506.392944 732.414917,512.656128 C729.500916,515.756104 725.766602,518.084961 721.940430,521.131287 C720.925903,519.879150 719.924866,518.866577 719.180908,517.691345 C710.468201,503.928192 699.344421,503.158173 686.441223,509.410095 C674.452576,515.218872 665.166016,524.662109 656.346924,534.455383 C652.799316,538.394775 649.542908,542.596436 645.999512,546.999390 M432.592285,495.290985 C428.901520,486.912994 422.379150,483.192047 413.327820,482.952515 C395.384888,482.477661 381.931915,491.564331 370.194000,503.552765 C360.027893,513.935852 351.956299,526.112793 346.867279,539.727661 C342.480957,551.462585 339.526215,563.741943 336.167511,575.844116 C335.440369,578.464050 336.347076,580.349670 339.941284,579.588562 C343.811615,578.768982 347.824829,578.651978 351.735962,577.992798 C378.679932,573.451721 402.306488,562.550781 420.737793,541.775452 C432.452606,528.570801 436.491852,513.330994 432.592285,495.290985 z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#125930\",\n opacity: 1,\n stroke: \"none\",\n d: \" M1105.737183,509.100281 C1109.654663,515.633301 1113.310303,522.389648 1116.997559,529.499756 C1110.032104,540.541992 1103.469360,551.548584 1095.930542,561.840210 C1086.043335,575.337646 1075.770630,588.598022 1064.936401,601.341980 C1056.547119,611.209900 1047.452637,620.573120 1037.942261,629.372437 C1020.332703,645.665710 1001.602295,660.507385 978.554321,668.664795 C969.478333,671.877075 960.072632,672.971863 950.553528,671.622253 C935.151489,669.438599 925.670105,659.502747 921.341431,645.587463 C917.886108,634.479309 916.257324,622.634521 915.217468,610.991699 C914.213257,599.748413 914.942993,588.344788 915.032043,577.012512 C915.061768,573.234619 915.465576,569.459717 915.789429,564.206604 C912.202209,570.735840 909.235779,576.102356 906.299744,581.485352 C896.087585,600.208557 884.052979,617.654663 869.932007,633.657654 C856.369080,649.028015 842.051819,663.561157 824.738892,674.801758 C814.716431,681.308899 803.895264,686.162231 791.910095,686.792969 C776.477051,687.605164 762.758850,681.109070 753.270874,663.587280 C747.134766,652.255493 744.734375,640.077637 743.883972,627.287781 C742.389221,604.806763 745.218994,582.935669 752.131104,561.625000 C758.703796,541.360779 769.083740,523.108032 782.745911,506.709625 C792.818054,494.620239 804.054443,483.886932 817.685852,475.885071 C829.718201,468.821899 842.629272,464.541748 856.582031,462.899780 C880.966858,460.030121 903.223999,466.720459 924.834534,476.932678 C926.907410,477.912201 928.983643,478.884735 931.227539,479.940094 C938.224915,466.410217 950.655212,463.926331 963.755127,463.064941 C969.570251,462.682587 975.431396,463.000427 981.247864,463.000427 C977.307495,472.657776 972.585144,481.395782 970.183838,490.730835 C965.731384,508.039368 961.486023,525.553894 959.285645,543.247620 C956.916382,562.299438 956.549744,581.647034 956.187134,600.882141 C956.002869,610.657959 957.980591,620.400085 963.891724,628.775391 C966.899475,633.037048 973.087646,635.271667 978.293884,634.437561 C993.388794,632.019470 1005.065002,623.208801 1016.418701,613.995361 C1038.983643,595.683960 1058.261841,574.199280 1075.583130,550.962097 C1085.792603,537.265503 1095.527344,523.214966 1105.737183,509.100281 M882.161926,492.174133 C878.792908,491.288879 875.426086,490.395142 872.054504,489.519745 C850.794067,483.999603 833.036438,490.365143 818.553284,506.117523 C808.588379,516.955688 801.598633,529.819275 796.028809,543.420776 C790.520203,556.872864 787.482910,570.921082 785.681702,585.315125 C783.796265,600.381775 782.819031,615.355896 787.022522,630.225342 C791.252319,645.187927 806.419067,652.550415 819.330811,644.913086 C830.349976,638.395203 839.667114,630.016479 847.481506,619.986816 C861.840515,601.557129 876.385437,583.254883 890.165894,564.397461 C901.123291,549.403015 910.823059,533.493896 921.597534,518.358459 C924.550354,514.210388 923.364014,512.720032 919.823486,510.949890 C907.511292,504.794312 895.200439,498.636261 882.161926,492.174133 z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#A4C408\",\n opacity: 1,\n stroke: \"none\",\n d: \" M1845.286865,562.305115 C1857.017578,546.143982 1868.284302,530.096313 1880.124390,514.483521 C1892.245972,498.499542 1906.693726,484.760956 1923.662109,473.990479 C1934.654907,467.013031 1946.589600,461.904419 1959.964844,462.082367 C1967.830322,462.187012 1975.090210,464.667084 1980.846924,470.380280 C1986.611694,476.101318 1987.941162,485.113342 1984.072510,492.591583 C1977.689453,504.929749 1966.694824,512.749023 1956.263306,521.351318 C1954.428711,518.892029 1952.822876,516.893127 1951.382080,514.781616 C1945.032593,505.476288 1936.441040,504.381195 1927.171997,506.980530 C1918.485840,509.416473 1911.363892,514.759094 1904.799927,520.742920 C1886.793457,537.158020 1872.458984,556.587769 1859.028076,576.764771 C1845.512939,597.068481 1833.589966,618.286499 1823.403931,640.408875 C1817.839233,652.494690 1812.375122,664.820618 1811.931396,678.561462 C1811.902344,679.462341 1811.178345,680.812500 1810.421265,681.146729 C1800.794312,685.397339 1791.224121,688.822632 1780.267578,685.281799 C1774.219971,683.327393 1769.915527,677.602722 1770.122192,672.321655 C1770.462280,663.631592 1770.984619,654.871399 1772.462158,646.319031 C1775.624512,628.015381 1779.414795,609.819397 1783.009521,591.591492 C1785.500000,578.964355 1788.423584,566.412781 1790.544434,553.725586 C1792.459473,542.268494 1793.294556,530.633423 1795.097168,519.153992 C1796.137451,512.528320 1796.242310,506.108490 1793.966187,499.822601 C1792.811768,496.634308 1791.051636,493.665314 1789.159180,489.758453 C1796.625854,487.834381 1804.008179,485.675049 1811.512939,484.099457 C1815.663208,483.228149 1820.016357,483.098846 1824.282349,483.053741 C1831.237671,482.980133 1836.123047,487.862915 1837.048706,494.680725 C1838.920898,508.469879 1834.882812,521.561462 1832.508667,534.815491 C1829.291260,552.777649 1825.534668,570.643433 1821.995728,588.547852 C1820.706909,595.068542 1819.378662,601.581543 1817.827271,609.297424 C1827.312866,593.044128 1836.193848,577.826843 1845.286865,562.305115 z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCeraGreen);\nexport default __webpack_public_path__ + \"static/media/CeraGreen.bd36a2bf0b17737ea5ee0c8579cfd2e2.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgAgrosan(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 847 198\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.848 50.0346C87.9947 43.2079 87.1414 36.3812 86.928 29.9799H86.5014C84.1547 36.1666 80.9547 42.9932 77.5414 49.8199L55.1414 92.6999H95.0347L88.848 50.0346ZM101.861 144.117L97.808 114.675H44.2614L28.9014 144.117H0.525391L76.688 0.113281H108.688L131.089 144.117H101.861ZM210.235 57.4999C185.701 57.4999 174.393 86.0866 174.393 108.275C174.393 118.516 177.38 122.995 182.5 122.995C197.647 122.995 216.42 88.2212 220.687 65.8212L222.18 58.9946C218.767 58.1413 214.927 57.5013 210.233 57.5013M231.14 150.729C225.593 179.957 207.673 197.451 166.287 197.451C154.34 197.451 143.887 195.744 135.567 192.971L141.753 168.011C150.287 172.064 161.167 174.197 170.767 174.197C191.033 174.197 201.913 166.517 205.54 147.528C207.887 135.368 210.447 127.689 216.42 111.048L215.993 110.835C207.673 126.195 192.953 146.463 171.833 146.463C155.407 146.463 146.873 136.009 146.873 113.396C146.873 73.2892 168.42 36.1666 214.927 36.1666C227.727 36.1666 240.527 37.0199 252.476 39.3666L231.14 150.729ZM341.645 62.6199C323.085 55.5812 305.164 87.1532 298.551 121.076L294.284 144.116H267.617L283.831 58.9932C279.137 58.1412 272.097 57.2866 265.911 56.8612L269.111 39.7946C282.764 38.0879 299.191 37.4479 313.271 37.8746C311.777 46.1946 309.004 55.5813 304.097 70.0879H304.524C315.831 47.4746 327.564 31.9013 347.404 36.1679L341.645 62.6199ZM403.724 59.2079C383.884 59.2079 371.937 82.8879 371.937 104.008C371.937 115.528 376.631 122.781 389.004 122.781C407.991 122.781 421.219 101.661 421.219 77.9812C421.219 65.8212 416.099 59.2079 403.725 59.2079M385.379 146.248C355.725 146.248 343.991 132.171 343.991 108.275C343.991 63.9012 373.857 35.9546 407.777 35.9546C438.072 35.9546 449.379 52.1679 449.379 74.5679C449.379 118.301 418.659 146.248 385.379 146.248ZM525.751 58.3546C521.057 56.8612 516.15 56.2199 511.457 56.2199C500.364 56.2199 495.031 60.6999 495.031 67.5266C495.031 80.5399 522.552 86.7266 522.552 110.196C522.552 127.903 507.191 146.249 474.123 146.249C467.083 146.249 460.896 145.609 455.563 144.329L460.469 121.501C465.376 123.421 471.349 124.488 476.682 124.488C487.562 124.488 494.389 120.435 494.389 112.755C494.389 98.4612 467.083 95.2612 467.083 70.3013C467.083 50.8866 482.229 35.9533 512.737 35.9533C519.564 35.9533 525.325 36.3799 530.658 37.4466L525.751 58.3546ZM603.832 57.4999C579.299 57.4999 567.99 86.0866 567.99 108.275C567.99 118.516 570.977 122.995 576.097 122.995C591.244 122.995 610.017 88.2212 614.284 65.8212L615.777 58.9946C612.364 58.1413 608.524 57.5013 603.83 57.5013M630.073 123.208C634.765 124.061 641.805 124.916 647.78 125.343L644.58 142.409C630.925 144.116 614.712 144.756 600.417 144.329C602.337 135.796 605.324 125.129 610.23 110.409H609.804C601.271 126.196 586.551 146.463 565.431 146.463C549.004 146.463 540.47 136.009 540.47 113.396C540.47 73.2892 562.017 36.1666 608.524 36.1666C621.324 36.1666 634.126 37.0199 646.073 39.3666L630.073 123.208ZM759.136 144.116H732.256L744.842 77.5559C747.402 64.5399 745.269 59.2066 738.656 59.2066C724.362 59.2066 704.949 92.4879 700.469 117.235L695.349 144.116H668.68L684.893 58.9932C680.201 58.1412 673.161 57.2866 666.973 56.8612L670.173 39.7946C683.828 38.0879 700.468 37.4479 714.549 37.8746C713.269 44.2746 710.922 54.3012 704.949 70.9412H705.376C715.189 52.1679 729.909 35.7413 749.962 35.7413C770.656 35.7413 776.842 50.2479 772.789 70.9412L759.136 144.116ZM816.71 45.4932H814.721V51.8372H816.089C819.073 51.8372 820.442 50.3453 820.442 48.4786C820.442 46.4893 819.322 45.4932 816.709 45.4932M820.317 67.5079L815.592 56.9359H814.721V67.5092H807.258V39.7732H818.825C825.665 39.7732 828.65 42.8826 828.65 47.4839C828.65 51.8373 826.536 54.3239 823.054 55.3186C823.676 56.0653 824.421 57.1853 825.168 58.6786L829.272 67.5079H820.317ZM817.457 34.1773C814.891 34.1711 812.35 34.6719 809.978 35.6508C807.606 36.6298 805.451 38.0676 803.637 39.8818C801.822 41.696 800.384 43.8507 799.405 46.2223C798.426 48.5938 797.925 51.1355 797.93 53.7013C797.93 64.3986 806.637 73.3546 817.457 73.3546C828.153 73.3546 836.857 64.6479 836.857 53.8266C836.857 43.1332 828.153 34.1773 817.457 34.1773ZM817.457 82.4319C801.164 82.4319 788.354 69.8692 788.354 53.8266C788.354 37.7826 801.413 25.0973 817.457 25.0973C833.625 25.0973 846.56 37.5332 846.56 53.8266C846.56 69.7466 833.376 82.4319 817.457 82.4319Z\",\n fill: \"#231F20\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgAgrosan);\nexport default __webpack_public_path__ + \"static/media/Agrosan.d85a925ec20ba202e93153e53a697dec.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _path, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgTrinol(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 182.05 87.52\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .cls-1 {\\n fill: #006b37;\\n }\\n\\n .cls-1, .cls-2 {\\n stroke-width: 0px;\\n }\\n\\n .cls-2 {\\n fill: #1d1d1b;\\n }\\n \"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m130.66,24.22c-2.21-.02-4.28-.14-5.92-.28.02-.2.04-.41.02-.62-.01-.19-.05-.37-.09-.55,1.61-.33,3.65-.71,5.85-.99,6.38-.82,11.75-3.93,10.03-10.66-2.01-7.86-10.43-3.24-10.43-3.24,0,0-.7.59-1.22.28-.56-.24-.51-1.15-.51-1.15,0,0-1.35-9.51-8.85-6.4-6.42,2.66-5.68,8.82-2.51,14.42,1.09,1.93,2.04,3.8,2.74,5.29-.33.15-.64.35-.9.59-1.08-1.23-2.41-2.8-3.74-4.54-3.9-5.12-9.28-8.21-14.24-3.36-5.8,5.68,2.41,10.66,2.41,10.66,0,0,.86.31.86.91.08.6-.74,1.01-.74,1.01,0,0-7.21,5.49-.77,10.43,5.51,4.23,10.13.95,13.39-4.6,1.11-1.89,2.24-3.61,3.17-4.96.29.21.62.37.97.48-.53,1.57-1.23,3.53-2.09,5.58-2.48,5.94-2.48,12.14,4.21,14.01,7.82,2.19,8.02-7.41,8.02-7.41,0,0-.16-.9.37-1.2.48-.37,1.24.13,1.24.13,0,0,8.91,3.59,9.97-4.46.91-6.89-4.8-9.33-11.23-9.38Z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m17.61,31.05l-12.65,2.96v11.55H0v7.97h4.96v21.23c0,1.45.25,2.87.74,4.24.51,1.42,1.35,2.68,2.49,3.75,1.11,1.04,2.54,1.89,4.24,2.53,1.69.63,3.74.95,6.1.95,1.32,0,2.42-.09,3.39-.26.99-.18,1.72-.38,2.25-.6l.77-.32v-7.68l-1.51.32c-.44.09-.83.17-1.19.24-.28.05-.6.08-.96.08-1.38,0-2.33-.3-2.83-.89-.56-.66-.83-1.57-.83-2.77v-20.83h7.32v-7.97h-7.32v-14.51Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m46.26,46.23c-2.21.07-4.21.22-5.94.45-1.77.23-3.36.54-4.74.91-1.38.37-2.68.8-3.87,1.26l-.8.31v36.65h12.65v-31.22c.88-.29,1.92-.46,3.12-.51,1.57-.06,3.17.14,4.75.59l1.16.33,2.9-8.79-1.7-.03c-2.82-.04-5.36-.03-7.53.03Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m70.65,32.95c-1.27-.94-2.86-1.42-4.73-1.42s-3.38.47-4.68,1.41c-1.4,1.01-2.14,2.37-2.14,3.93,0,1.06.37,2.58,2.14,3.86,1.29.94,2.87,1.41,4.68,1.41s3.46-.48,4.73-1.42c1.72-1.28,2.08-2.8,2.08-3.85,0-1.55-.72-2.91-2.08-3.92Z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-2\",\n x: 59.62,\n y: 47.38,\n width: 12.59,\n height: 38.34\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m114.28,49.79c-1.5-1.13-3.49-2.03-5.9-2.68-2.36-.64-5.29-.96-8.7-.96-3.86,0-7.31.24-10.23.73-2.95.49-5.54,1.16-7.71,2l-.8.31v36.63h12.65v-31.24c.61-.17,1.25-.32,1.9-.43.95-.17,2.23-.25,3.78-.25,1.44,0,2.62.16,3.5.47.85.3,1.52.68,2,1.12.45.42.76.9.95,1.44.2.61.31,1.22.31,1.8v27.09h12.65v-27.24c0-1.66-.34-3.26-1.03-4.75-.69-1.52-1.83-2.87-3.37-4.03Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m159.22,52.95c-1.67-1.82-3.77-3.26-6.26-4.28-2.47-1.01-5.39-1.52-8.69-1.52s-6.23.51-8.69,1.52c-2.49,1.02-4.58,2.46-6.23,4.28-1.63,1.81-2.87,3.99-3.7,6.47-.81,2.44-1.23,5.12-1.23,7.95s.41,5.5,1.23,7.92c.83,2.46,2.07,4.62,3.7,6.43,1.64,1.83,3.74,3.27,6.23,4.29,2.47,1,5.39,1.51,8.69,1.51s6.22-.51,8.69-1.51c2.49-1.02,4.58-2.46,6.23-4.29,1.63-1.81,2.87-3.98,3.7-6.43.81-2.42,1.23-5.09,1.23-7.92s-.4-5.49-1.18-7.93c-.8-2.49-2.05-4.67-3.71-6.49Zm-7.64,14.35c0,1.64-.11,3.26-.32,4.8-.2,1.46-.58,2.77-1.13,3.88-.51,1.05-1.22,1.86-2.15,2.49-.89.6-2.14.9-3.71.9s-2.73-.3-3.63-.9c-.93-.63-1.64-1.44-2.15-2.49-.55-1.13-.95-2.44-1.18-3.9-.24-1.52-.36-3.13-.36-4.78s.11-3.35.32-4.9c.2-1.49.58-2.83,1.14-3.99.51-1.09,1.23-1.93,2.19-2.58.92-.62,2.15-.94,3.67-.94s2.8.31,3.69.93c.93.65,1.64,1.49,2.16,2.59.55,1.16.93,2.51,1.14,3.99.21,1.56.32,3.21.32,4.9Z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-2\",\n x: 169.4,\n y: 31.93,\n width: 12.65,\n height: 53.89\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTrinol);\nexport default __webpack_public_path__ + \"static/media/Trinol.d0f7d15f5bd74771adfe058545cd5970.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgLollandFalsterBioenergi(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 231 116\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_37157_38839)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.854 35.1641C96.9261 35.1641 91.3105 40.7797 91.3105 47.7073C91.3105 54.635 96.9261 60.2506 103.854 60.2506C110.782 60.2506 116.397 54.635 116.397 47.7073C116.397 40.7797 110.782 35.1641 103.854 35.1641ZM103.854 54.9973C99.9763 54.9973 96.838 51.8542 96.838 47.9815C96.838 44.1089 99.9812 40.9657 103.854 40.9657C107.726 40.9657 110.87 44.1089 110.87 47.9815C110.87 51.8542 107.726 54.9973 103.854 54.9973Z\",\n fill: \"#E6C06A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5403 48.7715C5.61266 48.7715 -0.00292969 54.3871 -0.00292969 61.3148C-0.00292969 68.2425 5.61266 73.858 12.5403 73.858C19.468 73.858 25.0836 68.2425 25.0836 61.3148C25.0836 54.3871 19.468 48.7715 12.5403 48.7715ZM12.5403 68.6048C8.6628 68.6048 5.52453 65.4616 5.52453 61.5889C5.52453 57.7163 8.66769 54.5731 12.5403 54.5731C16.413 54.5731 19.5562 57.7163 19.5562 61.5889C19.5562 65.4616 16.413 68.6048 12.5403 68.6048Z\",\n fill: \"#E6C06A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.7112 57.4799C33.6414 55.6831 40.3389 53.6366 48.564 52.0552C47.815 50.7774 46.733 48.726 45.9056 46.3711C37.6119 48.0504 30.9241 50.1409 26.0527 51.9475C27.3599 53.5142 28.2853 55.404 28.7063 57.4799H28.7112Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.9835 67.6242C63.068 67.7319 61.8636 67.8983 60.7816 67.9864C62.5931 73.2055 64.8354 82.8357 60.2822 90.4978C56.1158 97.4989 46.9899 101.494 33.1541 102.365C32.0868 97.3912 30.4467 85.4109 36.5518 76.2654C40.826 69.8567 48.2481 65.8763 58.598 64.4124C58.598 64.4124 62.5833 63.9375 67.2735 63.4137C78.2893 61.9694 86.2304 59.7026 91.562 57.6953C90.2206 56.158 89.2316 54.2877 88.742 52.2266C83.3125 54.1996 75.0237 56.4615 63.4009 57.7442C63.4009 57.7442 59.9787 58.0723 56.1942 58.6255C44.8259 60.53 36.5078 65.3378 31.465 72.9166C22.0208 87.1098 27.656 105.655 27.9008 106.439L28.596 108.652L30.9167 108.569C48.3558 107.952 60.0031 102.909 65.5306 93.5822C70.9797 84.3926 69.0948 73.7979 66.9749 67.2227C65.5943 67.4234 64.5123 67.5605 63.9835 67.6242Z\",\n fill: \"#CC6B30\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.1905 43.9416C60.439 46.6148 61.3839 47.9856 62.412 49.3957C73.8195 46.3651 81.741 40.8817 85.971 33.0483C93.6086 18.8991 86.2599 2.60071 85.9466 1.91528L85.0604 -0.00390625L82.9552 0.152762C65.1733 1.48934 53.5652 7.07555 48.4539 16.7547C42.9411 27.1977 46.5983 39.3689 49.3498 45.6013C51.6607 50.8399 54.0303 54.3748 54.5297 55.2658C55.7291 55.0015 58.2701 54.507 60.9775 54.3307C60.9775 54.3307 57.663 48.7886 55.3669 44.1179C53.0707 39.4472 49.2568 28.2552 53.8491 19.5846C57.7218 12.2701 66.9163 7.83931 81.1731 6.4244C82.6761 10.7573 85.4276 21.2834 80.6003 30.194C76.9969 36.8475 69.795 41.4594 59.1905 43.9465V43.9416Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.094 89.4578H84.832V91.3916H77.1797V74.1973H79.094V89.4578Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.435 74.0781H92.2061C93.9246 74.0781 95.3003 75.4539 95.3003 77.1723V88.521C95.3003 90.2395 93.9246 91.6152 92.2061 91.6152H89.435C87.7166 91.6152 86.3408 90.2395 86.3408 88.521V77.1723C86.3408 75.4539 87.7166 74.0781 89.435 74.0781ZM89.435 89.6764H92.2061C92.8964 89.6764 93.3664 89.2015 93.3664 88.5161V77.1674C93.3664 76.482 92.8915 76.0071 92.2061 76.0071H89.435C88.7496 76.0071 88.2747 76.482 88.2747 77.1674V88.5161C88.2747 89.2015 88.7496 89.6764 89.435 89.6764Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.214 89.4578H105.952V91.3916H98.2998V74.1973H100.214V89.4578Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.701 89.4578H115.439V91.3916H107.787V74.1973H109.701V89.4578Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M118.589 87.2203L117.904 91.3916H115.97L118.765 74.9267C118.829 74.584 119.24 74.1973 119.691 74.1973H123.108C123.558 74.1973 123.97 74.5645 124.033 74.9267L126.829 91.3916H124.895L124.21 87.2203H118.599H118.589ZM122.393 76.4102C122.349 76.2193 122.285 76.1311 122.178 76.1311H120.611C120.484 76.1311 120.42 76.2193 120.396 76.4102L118.912 85.2865H123.877L122.393 76.4102Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M136.345 89.4578H136.541V74.1973H138.475V91.3916H135.038L130.974 76.1311H130.803V91.3916H128.869V74.1973H132.331L136.35 89.4578H136.345Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.782 77.1642V88.2974C150.782 90.0159 149.406 91.3916 147.688 91.3916H141.822V74.1973H147.688C149.406 74.1973 150.782 75.4457 150.782 77.1642ZM148.848 88.2974V77.1642C148.848 76.4983 148.373 76.1311 147.688 76.1311H143.756V89.4578H147.688C148.373 89.4578 148.848 88.9829 148.848 88.2974Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M157.324 84.7952H153.363V82.8809H157.324V84.7952Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M167.648 76.3456H161.891V80.9428H167.046V82.8767H161.891V91.3858H159.957V74.1914H167.653V76.3407L167.648 76.3456Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M170.519 87.2203L169.833 91.3916H167.899L170.695 74.9267C170.759 74.584 171.17 74.1973 171.62 74.1973H175.038C175.488 74.1973 175.899 74.5645 175.963 74.9267L178.758 91.3916H176.825L176.139 87.2203H170.529H170.519ZM174.323 76.4102C174.279 76.2193 174.215 76.1311 174.107 76.1311H172.541C172.413 76.1311 172.35 76.2193 172.325 76.4102L170.842 85.2865H175.806L174.323 76.4102Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M182.714 89.4578H188.452V91.3916H180.8V74.1973H182.714V89.4578Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M191.607 88.5161C191.607 89.2015 192.082 89.6764 192.767 89.6764H195.323C196.008 89.6764 196.483 89.2015 196.483 88.5161V86.8613C196.483 84.4329 194.53 83.488 192.787 82.4991C191.22 81.5982 189.8 80.3057 189.8 78.3522V77.1723C189.8 75.4539 191.176 74.0781 192.894 74.0781H195.45C197.168 74.0781 198.544 75.4539 198.544 77.1723H196.61C196.61 76.4869 196.135 76.012 195.45 76.012H192.894C192.209 76.012 191.734 76.4869 191.734 77.1723V78.3522C191.734 79.7916 193.389 80.5897 194.892 81.4464C196.591 82.4158 198.417 83.9825 198.417 86.8613V88.5161C198.417 90.2346 197.041 91.6103 195.323 91.6103H192.767C191.049 91.6103 189.673 90.2346 189.673 88.5161V85.3338H191.607V88.5161Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.797 74.1973H209.231V76.1311H205.471V91.3916H203.537V76.1311H199.797V74.1973Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M218.728 76.1302H212.99V80.9428H218.145V82.8767H212.99V89.4519H218.728V91.3858H211.056V74.1914H218.728V76.1253V76.1302Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M230.059 76.7774V79.8716C230.059 80.9879 229.373 81.9768 228.404 82.4077C229.456 82.7944 230.21 83.803 230.21 84.9878V91.3916H228.277V84.9878C228.277 84.1066 227.934 83.6317 227.351 83.3771H223.18V91.3916H221.246V74.1973H227.479C228.898 74.1973 230.059 75.3576 230.059 76.7774ZM228.1 79.9157V76.7774C228.1 76.3906 227.777 76.1116 227.39 76.1116H223.18V81.4432H227.371C227.953 81.1837 228.1 80.7137 228.1 79.9157Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.9923 100.606V103.7C85.9923 104.816 85.3069 105.805 84.3375 106.236C85.3901 106.623 86.1441 107.631 86.1441 108.816V112.64C86.1441 114.059 84.9837 115.22 83.5639 115.22H77.1797V98.0254H83.4122C84.832 98.0254 85.9923 99.1857 85.9923 100.606ZM84.0388 103.744V100.606C84.0388 100.263 83.8234 99.9397 83.4171 99.9397H79.1185V105.271H83.3093C83.892 105.012 84.0388 104.219 84.0388 103.744ZM84.2102 112.64V108.816C84.2102 108.258 83.8675 107.46 83.2849 107.205H79.1136V113.286H83.5395C83.9703 113.286 84.2053 113.026 84.2053 112.64H84.2102Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.0843 115.22H89.1504V98.0254H91.0843V115.22Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.3188 97.9062H100.09C101.808 97.9062 103.184 99.282 103.184 101V112.349C103.184 114.068 101.808 115.443 100.09 115.443H97.3188C95.6004 115.443 94.2246 114.068 94.2246 112.349V101C94.2246 99.282 95.6004 97.9062 97.3188 97.9062ZM97.3188 113.509H100.09C100.78 113.509 101.25 113.035 101.25 112.349V101C101.25 100.315 100.775 99.8401 100.09 99.8401H97.3188C96.6334 99.8401 96.1585 100.315 96.1585 101V112.349C96.1585 113.035 96.6334 113.509 97.3188 113.509Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.862 99.9583H108.124V104.771H113.28V106.705H108.124V113.28H113.862V115.214H106.19V98.0195H113.862V99.9534V99.9583Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.853 113.286H124.049V98.0254H125.983V115.22H122.546L118.482 99.9593H118.311V115.22H116.377V98.0254H119.838L123.858 113.286H123.853Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M137.018 99.9583H131.28V104.771H136.435V106.705H131.28V113.28H137.018V115.214H129.346V98.0195H137.018V99.9534V99.9583Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M148.342 100.606V103.7C148.342 104.816 147.656 105.805 146.687 106.236C147.74 106.623 148.494 107.631 148.494 108.816V115.22H146.56V108.816C146.56 107.935 146.217 107.46 145.634 107.205H141.463V115.22H139.529V98.0254H145.762C147.182 98.0254 148.342 99.1857 148.342 100.606ZM146.384 103.744V100.606C146.384 100.219 146.06 99.9397 145.674 99.9397H141.463V105.271H145.654C146.237 105.012 146.384 104.542 146.384 103.744Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M154.156 97.9062H156.844C158.562 97.9062 159.938 99.282 159.938 101V103.708H158.004V101C158.004 100.315 157.529 99.8401 156.844 99.8401H154.156C153.47 99.8401 152.995 100.315 152.995 101V112.349C152.995 113.035 153.47 113.509 154.156 113.509H156.844C157.96 113.509 158.004 112.609 158.004 112.349V108.31H154.929V106.376H159.938V112.349C159.938 114.068 158.562 115.443 156.844 115.443H154.156C152.437 115.443 151.062 114.068 151.062 112.349V101C151.062 99.282 152.437 97.9062 154.156 97.9062Z\",\n fill: \"#7C9B4F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M164.866 115.22H162.932V98.0254H164.866V115.22Z\",\n fill: \"#7C9B4F\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_37157_38839\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 230.2,\n height: 115.445,\n fill: \"white\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLollandFalsterBioenergi);\nexport default __webpack_public_path__ + \"static/media/Lolland_Falster_Bioenergi.7b3b8b0756cb7760a67527701f545ce5.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\n// Logos\nimport { ReactComponent as AdaGreenEnergy } from \"../../../assets/svg/logos/Ada_Green_Energy.svg\";\nimport { ReactComponent as Agromex } from \"../../../assets/svg/logos/Agromex.svg\";\nimport { ReactComponent as APJoergensen } from \"../../../assets/svg/logos/AP_Joergensen.svg\";\nimport { ReactComponent as BalticAgro } from \"../../../assets/svg/logos/Baltic_Agro.svg\";\nimport { ReactComponent as Ceravis } from \"../../../assets/svg/logos/Ceravis.svg\";\nimport { ReactComponent as DanishAgro } from \"../../../assets/svg/logos/Danish_Agro.svg\";\nimport { ReactComponent as DAVAFoods } from \"../../../assets/svg/logos/DAVA_Foods.svg\";\nimport { ReactComponent as DLAAgro } from \"../../../assets/svg/logos/DLA_Agro.svg\";\nimport { ReactComponent as Hankkija } from \"../../../assets/svg/logos/Hankkija.svg\";\nimport { ReactComponent as Hatting } from \"../../../assets/svg/logos/Hatting.svg\";\nimport { ReactComponent as HesselbjergAgro } from \"../../../assets/svg/logos/Hesselbjerg_Agro.svg\";\nimport { ReactComponent as HerculesWildbird } from \"../../../assets/svg/logos/Hercules_Wildbird.svg\";\nimport { ReactComponent as HungariaAgro } from \"../../../assets/svg/logos/Hungaria_Agro.svg\";\nimport { ReactComponent as NordicSeed } from \"../../../assets/svg/logos/Nordic_Seed.svg\";\nimport { ReactComponent as NorwegianAgro } from \"../../../assets/svg/logos/Norwegian_Agro.svg\";\nimport { ReactComponent as PolishAgro } from \"../../../assets/svg/logos/Polish_Agro.svg\";\nimport { ReactComponent as Raitech } from \"../../../assets/svg/logos/Raitech.svg\";\nimport { ReactComponent as RingeMaskinforretning } from \"../../../assets/svg/logos/Ringe_Maskinforretning.svg\";\nimport { ReactComponent as RoestofteMaskiner } from \"../../../assets/svg/logos/Roestofte_Maskiner.svg\";\nimport { ReactComponent as Scanfedt } from \"../../../assets/svg/logos/Scanfedt.svg\";\nimport { ReactComponent as Scanola } from \"../../../assets/svg/logos/Scanola.svg\";\nimport { ReactComponent as SwedishAgro } from \"../../../assets/svg/logos/Swedish_Agro.svg\";\nimport { ReactComponent as TraktorHoest } from \"../../../assets/svg/logos/Traktor_Hoest.svg\";\nimport { ReactComponent as Traktorservice } from \"../../../assets/svg/logos/Traktorservice.svg\";\nimport { ReactComponent as Vilofarm } from \"../../../assets/svg/logos/Vilofarm.svg\";\nimport { ReactComponent as Vilomix } from \"../../../assets/svg/logos/Vilomix.svg\";\nimport { ReactComponent as Vilovet } from \"../../../assets/svg/logos/Vilovet.svg\";\nimport { ReactComponent as VinderupMaskiner } from \"../../../assets/svg/logos/Vinderup_Maskiner.svg\";\nimport { ReactComponent as CeraGreen } from \"../../../assets/svg/logos/CeraGreen.svg\";\nimport { ReactComponent as Agrosan } from \"../../../assets/svg/logos/Agrosan.svg\";\nimport { ReactComponent as Trinol } from \"../../../assets/svg/logos/Trinol.svg\";\nimport { ReactComponent as LollandFalsterBioenergi } from \"../../../assets/svg/logos/Lolland_Falster_Bioenergi.svg\";\n\nexport enum DA_LogoNames {\n AdaGreenEnergy = \"AdaGreenEnergy\",\n Agromex = \"Agromex\",\n APJoergensen = \"AP Joergensen\",\n BalticAgro = \"Baltic Agro\",\n Ceravis = \"Ceravis\",\n DanishAgro = \"Danish Agro\",\n DAVAFoods = \"DAVA Foods\",\n DLAAgro = \"DLA Agro\",\n Hankkija = \"Hankkija\",\n Hatting = \"Hatting\",\n HesselbjergAgro = \"hesselbjerg Agro\",\n HerculesWildbird = \"Hercules Wildbird\",\n HungariaAgro = \"Hungaria Agro\",\n NordicSeed = \"Nordic Seed\",\n NorwegianAgro = \"Norwegian Agro\",\n PolishAgro = \"Polish Agro\",\n Raitech = \"Raitech\",\n RingeMaskinforretning = \"Ringe Maskinforretning\",\n RoestofteMaskiner = \"Roestofte Maskiner\",\n Scanfedt = \"Scanfedt\",\n Scanola = \"Scanola\",\n SwedishAgro = \"Swedish Agro\",\n TraktorHoest = \"Traktor Hoest\",\n Traktorservice = \"Traktorservice\",\n Vilofarm = \"Vilofarm\",\n Vilomix = \"Vilomix\",\n Vilovet = \"Vilovet\",\n VinderupMaskiner = \"VinderupMaskiner\",\n CeraGreen = \"CeraGreen\",\n Agrosan = \"Agrosan\",\n Trinol = \"Trinol\",\n LollandFalsterBioenergi = \"Lolland Falster Bioenergi\",\n}\n\nexport interface DA_LogoProps {\n name: DA_LogoNames;\n}\n\nexport const DA_Logo = ({ name }: DA_LogoProps) => {\n let ReturnLogo = React.Fragment;\n\n switch (name) {\n case DA_LogoNames.AdaGreenEnergy:\n ReturnLogo = AdaGreenEnergy;\n break;\n case DA_LogoNames.Agromex:\n ReturnLogo = Agromex;\n break;\n case DA_LogoNames.APJoergensen:\n ReturnLogo = APJoergensen;\n break;\n case DA_LogoNames.BalticAgro:\n ReturnLogo = BalticAgro;\n break;\n case DA_LogoNames.Ceravis:\n ReturnLogo = Ceravis;\n break;\n case DA_LogoNames.DanishAgro:\n ReturnLogo = DanishAgro;\n break;\n case DA_LogoNames.DAVAFoods:\n ReturnLogo = DAVAFoods;\n break;\n case DA_LogoNames.DLAAgro:\n ReturnLogo = DLAAgro;\n break;\n case DA_LogoNames.Hankkija:\n ReturnLogo = Hankkija;\n break;\n case DA_LogoNames.Hatting:\n ReturnLogo = Hatting;\n break;\n case DA_LogoNames.HesselbjergAgro:\n ReturnLogo = HesselbjergAgro;\n break;\n case DA_LogoNames.HerculesWildbird:\n ReturnLogo = HerculesWildbird;\n break;\n case DA_LogoNames.HungariaAgro:\n ReturnLogo = HungariaAgro;\n break;\n case DA_LogoNames.NordicSeed:\n ReturnLogo = NordicSeed;\n break;\n case DA_LogoNames.NorwegianAgro:\n ReturnLogo = NorwegianAgro;\n break;\n case DA_LogoNames.PolishAgro:\n ReturnLogo = PolishAgro;\n break;\n case DA_LogoNames.Raitech:\n ReturnLogo = Raitech;\n break;\n case DA_LogoNames.RingeMaskinforretning:\n ReturnLogo = RingeMaskinforretning;\n break;\n case DA_LogoNames.RoestofteMaskiner:\n ReturnLogo = RoestofteMaskiner;\n break;\n case DA_LogoNames.Scanfedt:\n ReturnLogo = Scanfedt;\n break;\n case DA_LogoNames.Scanola:\n ReturnLogo = Scanola;\n break;\n case DA_LogoNames.SwedishAgro:\n ReturnLogo = SwedishAgro;\n break;\n case DA_LogoNames.TraktorHoest:\n ReturnLogo = TraktorHoest;\n break;\n case DA_LogoNames.Traktorservice:\n ReturnLogo = Traktorservice;\n break;\n case DA_LogoNames.Vilofarm:\n ReturnLogo = Vilofarm;\n break;\n case DA_LogoNames.Vilomix:\n ReturnLogo = Vilomix;\n break;\n case DA_LogoNames.Vilovet:\n ReturnLogo = Vilovet;\n break;\n case DA_LogoNames.VinderupMaskiner:\n ReturnLogo = VinderupMaskiner;\n break;\n case DA_LogoNames.CeraGreen:\n ReturnLogo = CeraGreen;\n break;\n case DA_LogoNames.Agrosan:\n ReturnLogo = Agrosan;\n break;\n case DA_LogoNames.Trinol:\n ReturnLogo = Trinol;\n break;\n case DA_LogoNames.LollandFalsterBioenergi:\n ReturnLogo = LollandFalsterBioenergi;\n break;\n }\n\n return <ReturnLogo />;\n};\n","import {\n GET_B2B_SITE_ORIGIN,\n GET_CMS_SITE_ORIGIN,\n GET_MYFARM_SITE_ORIGIN,\n} from \"@danishagro/shared/src/helpers/urlRoot.helper\";\n\nexport const getLoginLink = (site: \"B2B\" | \"MYFARM\" | \"CMS\" = \"B2B\") => {\n let origin = undefined;\n\n switch (site) {\n case \"MYFARM\":\n origin = GET_MYFARM_SITE_ORIGIN(\"ABSOLUTE\");\n break;\n case \"CMS\":\n origin = GET_CMS_SITE_ORIGIN(\"ABSOLUTE\");\n break;\n default:\n origin = GET_B2B_SITE_ORIGIN(\"ABSOLUTE\");\n break;\n }\n\n return `${origin}/login?redirectUrl=${location.pathname + location.search + location.hash}`;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"badge\":\"Badge_badge__XD1ko\",\"small\":\"Badge_small__ilOej\",\"action\":\"Badge_action__Jo25Y\",\"alert\":\"Badge_alert__+3k6e\",\"hasSpinner\":\"Badge_hasSpinner__TsUU9\"};","import React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Spinner } from \"../../../atoms/Spinner/Spinner.component\";\nimport S from \"./Badge.module.scss\";\n\nexport enum DA_BadgeColor {\n Action,\n Alert,\n}\n\ninterface DA_BadgeProps {\n text: React.ReactNode;\n color?: DA_BadgeColor;\n size?: \"normal\" | \"small\";\n className?: string;\n showSpinner?: boolean;\n}\n\nexport const DA_Badge = ({ text, color, size, className, showSpinner }: DA_BadgeProps) => (\n <span\n className={cn(\n S.badge,\n size === \"small\" && S.small,\n color === DA_BadgeColor.Action ? S.action : S.alert,\n showSpinner && S.hasSpinner,\n className\n )}\n >\n {showSpinner ? <DA_Spinner /> : text}\n </span>\n);\n","export const getRelativeRootOnLocalhost = (root: string) =>\n `${document.location.hostname === \"localhost\" ? \"\" : root}`;\n","import { DA_B2bImageProps } from \"../interfaces/b2bImageProps.interface\";\n\nexport const getB2bImage = (\n image: DA_B2bImageProps,\n maxSize?: number | { maxWidth?: number; maxHeight?: number }\n): DA_B2bImageProps => {\n const sizeIsNumber = typeof maxSize === \"number\";\n const maxWidth = sizeIsNumber ? maxSize : maxSize?.maxWidth;\n const maxHeight = sizeIsNumber ? maxSize : maxSize?.maxHeight;\n\n if (image?.url) {\n // Return image data with URL to sized image, width and height\n\n const ratio = Math.min(maxWidth / image.width || 1, maxHeight / image.height || 1, 1);\n\n const width = Math.round(image.width * ratio);\n const height = Math.round(image.height * ratio);\n\n return {\n ...image,\n url: `${image.url}&Width=${width}&Height=${height}&Format=webp`,\n width,\n height,\n };\n }\n\n // Generate fallback image\n\n const padding = 450;\n const bgColor = \"eee\";\n const fgColor = \"858585\";\n const size = Math.min(maxWidth, maxHeight);\n\n return {\n ...image,\n url: `data:image/svg+xml;utf8,%3Csvg\n width='${569 + padding * 2}'\n height='${602 + padding * 2}'\n viewBox='${-padding} ${-padding} ${569 + padding * 2} ${602 + padding * 2}'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'%3E\n %3Crect\n x='${-padding}'\n y='${-padding}'\n width='${569 + padding * 2}'\n height='${602 + padding * 2}'\n fill='%23${bgColor}'\n /%3E%3Cpath d='M363.673 318.555C341.939 340.289 315.548 351.156 284.5 351.156C253.451 351.156 227.06 340.289 205.327 318.555C183.593 296.822 172.726 270.431 172.726 239.382C172.726 208.334 183.593 181.943 205.327 160.209C227.06 138.475 253.451 127.608 284.5 127.608C315.548 127.608 341.939 138.475 363.673 160.209C385.407 181.943 396.274 208.334 396.274 239.382C396.274 270.431 385.407 296.822 363.673 318.555ZM332.004 191.878C318.963 178.838 303.129 172.318 284.5 172.318C265.871 172.318 250.036 178.838 236.996 191.878C223.956 204.919 217.435 220.753 217.435 239.382C217.435 258.011 223.956 273.846 236.996 286.886C250.036 299.927 265.871 306.447 284.5 306.447C303.129 306.447 318.963 299.927 332.004 286.886C345.044 273.846 351.564 258.011 351.564 239.382C351.564 220.753 345.044 204.919 332.004 191.878ZM262.145 239.382C262.145 243.729 260.593 247.455 257.488 250.56C255.004 253.044 251.589 254.286 247.242 254.286C242.895 254.286 239.169 253.044 236.064 250.56C233.581 247.455 232.339 243.729 232.339 239.382C232.339 225.1 237.306 212.991 247.242 203.056C257.798 192.499 270.218 187.221 284.5 187.221C288.846 187.221 292.262 188.774 294.746 191.878C297.85 194.362 299.403 197.778 299.403 202.124C299.403 206.471 297.85 210.197 294.746 213.302C292.262 215.786 288.846 217.028 284.5 217.028C278.29 217.028 273.012 219.201 268.665 223.548C264.318 227.894 262.145 233.173 262.145 239.382ZM365.536 104.322L343.181 44.7095H225.818L203.464 104.322H90.7584V372.58H478.241V104.322H365.536ZM347.838 0C365.225 0 377.024 8.07256 383.233 24.2177L396.274 59.6127H478.241C490.66 59.6127 501.217 63.9595 509.91 72.653C518.604 81.3465 522.951 91.9029 522.951 104.322V372.58C522.951 384.999 518.604 395.555 509.91 404.249C501.217 412.942 490.66 417.289 478.241 417.289H90.7584C78.3391 417.289 67.7826 412.942 59.0891 404.249C50.3956 395.555 46.0488 384.999 46.0488 372.58V104.322C46.0488 91.9029 50.3956 81.3465 59.0891 72.653C67.7826 63.9595 78.3391 59.6127 90.7584 59.6127H172.726L183.903 28.8749C186.387 23.2862 189.492 18.3185 193.218 13.9717C197.564 9.62497 202.532 6.20966 208.121 3.7258C213.71 1.24193 219.609 0 225.818 0H347.838Z' fill='%23${fgColor}'/%3E %3Cpath d='M16.3037 573.289H8.83301V509.041H44.6484V515.677H16.3037V539.188H42.9346V545.823H16.3037V573.289ZM95.8008 549.163C95.8008 557.015 93.8232 563.152 89.8682 567.576C85.9131 571.971 80.4492 574.168 73.4766 574.168C69.1699 574.168 65.3467 573.157 62.0068 571.136C58.667 569.114 56.0889 566.214 54.2725 562.435C52.4561 558.655 51.5479 554.231 51.5479 549.163C51.5479 541.312 53.5107 535.203 57.4365 530.838C61.3623 526.443 66.8115 524.246 73.7842 524.246C80.5225 524.246 85.8691 526.487 89.8242 530.97C93.8086 535.452 95.8008 541.517 95.8008 549.163ZM59.1064 549.163C59.1064 555.315 60.3369 560.003 62.7979 563.226C65.2588 566.448 68.877 568.06 73.6523 568.06C78.4277 568.06 82.0459 566.463 84.5068 563.27C86.9971 560.047 88.2422 555.345 88.2422 549.163C88.2422 543.04 86.9971 538.396 84.5068 535.232C82.0459 532.039 78.3984 530.442 73.5645 530.442C68.7891 530.442 65.1855 532.01 62.7539 535.145C60.3223 538.279 59.1064 542.952 59.1064 549.163ZM124.189 568.147C125.479 568.147 126.724 568.06 127.925 567.884C129.126 567.679 130.078 567.474 130.781 567.269V572.85C129.99 573.23 128.818 573.538 127.266 573.772C125.742 574.036 124.365 574.168 123.135 574.168C113.818 574.168 109.16 569.261 109.16 559.446V530.794H102.261V527.278L109.16 524.246L112.236 513.963H116.455V525.125H130.43V530.794H116.455V559.139C116.455 562.039 117.144 564.266 118.521 565.818C119.897 567.371 121.787 568.147 124.189 568.147ZM182.021 549.163C182.021 557.015 180.044 563.152 176.089 567.576C172.134 571.971 166.67 574.168 159.697 574.168C155.391 574.168 151.567 573.157 148.228 571.136C144.888 569.114 142.31 566.214 140.493 562.435C138.677 558.655 137.769 554.231 137.769 549.163C137.769 541.312 139.731 535.203 143.657 530.838C147.583 526.443 153.032 524.246 160.005 524.246C166.743 524.246 172.09 526.487 176.045 530.97C180.029 535.452 182.021 541.517 182.021 549.163ZM145.327 549.163C145.327 555.315 146.558 560.003 149.019 563.226C151.479 566.448 155.098 568.06 159.873 568.06C164.648 568.06 168.267 566.463 170.728 563.27C173.218 560.047 174.463 555.345 174.463 549.163C174.463 543.04 173.218 538.396 170.728 535.232C168.267 532.039 164.619 530.442 159.785 530.442C155.01 530.442 151.406 532.01 148.975 535.145C146.543 538.279 145.327 542.952 145.327 549.163ZM238.579 574.168C231.46 574.168 225.835 572 221.704 567.664C217.603 563.328 215.552 557.308 215.552 549.603C215.552 541.839 217.456 535.672 221.265 531.102C225.103 526.531 230.244 524.246 236.689 524.246C242.725 524.246 247.5 526.238 251.016 530.223C254.531 534.178 256.289 539.407 256.289 545.911V550.525H223.11C223.257 556.18 224.678 560.472 227.373 563.401C230.098 566.331 233.921 567.796 238.843 567.796C244.028 567.796 249.155 566.712 254.224 564.544V571.048C251.646 572.161 249.199 572.952 246.885 573.421C244.6 573.919 241.831 574.168 238.579 574.168ZM236.602 530.354C232.734 530.354 229.644 531.614 227.329 534.134C225.044 536.653 223.696 540.14 223.286 544.593H248.467C248.467 539.993 247.441 536.478 245.391 534.046C243.34 531.585 240.41 530.354 236.602 530.354ZM290.742 524.246C292.881 524.246 294.8 524.422 296.499 524.773L295.488 531.541C293.496 531.102 291.738 530.882 290.215 530.882C286.318 530.882 282.979 532.464 280.195 535.628C277.441 538.792 276.064 542.732 276.064 547.449V573.289H268.77V525.125H274.79L275.625 534.046H275.977C277.764 530.911 279.917 528.494 282.437 526.795C284.956 525.096 287.725 524.246 290.742 524.246ZM351.299 574.168C348.164 574.168 345.293 573.597 342.686 572.454C340.107 571.282 337.939 569.495 336.182 567.093H335.654C336.006 569.905 336.182 572.571 336.182 575.091V594.91H328.887V525.125H334.819L335.83 531.717H336.182C338.057 529.08 340.239 527.176 342.729 526.004C345.22 524.832 348.076 524.246 351.299 524.246C357.686 524.246 362.607 526.429 366.064 530.794C369.551 535.159 371.294 541.282 371.294 549.163C371.294 557.073 369.521 563.226 365.977 567.62C362.461 571.985 357.568 574.168 351.299 574.168ZM350.244 530.442C345.322 530.442 341.763 531.805 339.565 534.529C337.368 537.254 336.24 541.59 336.182 547.537V549.163C336.182 555.931 337.31 560.779 339.565 563.709C341.821 566.609 345.439 568.06 350.42 568.06C354.58 568.06 357.832 566.375 360.176 563.006C362.549 559.637 363.735 554.993 363.735 549.075C363.735 543.069 362.549 538.47 360.176 535.276C357.832 532.054 354.521 530.442 350.244 530.442ZM413.701 573.289L412.251 566.434H411.899C409.497 569.451 407.095 571.502 404.692 572.586C402.319 573.641 399.346 574.168 395.771 574.168C390.996 574.168 387.246 572.938 384.521 570.477C381.826 568.016 380.479 564.515 380.479 559.974C380.479 550.247 388.257 545.149 403.813 544.681L411.987 544.417V541.429C411.987 537.649 411.167 534.866 409.526 533.079C407.915 531.263 405.322 530.354 401.748 530.354C397.734 530.354 393.193 531.585 388.125 534.046L385.884 528.465C388.257 527.176 390.85 526.165 393.662 525.433C396.504 524.7 399.346 524.334 402.188 524.334C407.93 524.334 412.178 525.608 414.932 528.157C417.715 530.706 419.106 534.793 419.106 540.418V573.289H413.701ZM397.222 568.147C401.763 568.147 405.322 566.902 407.9 564.412C410.508 561.922 411.812 558.436 411.812 553.953V549.603L404.517 549.91C398.716 550.115 394.526 551.023 391.948 552.635C389.399 554.217 388.125 556.692 388.125 560.062C388.125 562.698 388.916 564.705 390.498 566.082C392.109 567.459 394.351 568.147 397.222 568.147ZM411.68 509.217C411.68 512.088 410.771 514.402 408.955 516.16C407.168 517.889 404.78 518.753 401.792 518.753C398.833 518.753 396.475 517.903 394.717 516.204C392.959 514.476 392.08 512.176 392.08 509.305C392.08 506.434 392.959 504.163 394.717 502.493C396.504 500.794 398.862 499.944 401.792 499.944C404.751 499.944 407.139 500.823 408.955 502.581C410.771 504.31 411.68 506.521 411.68 509.217ZM406.934 509.305C406.934 507.664 406.45 506.404 405.483 505.525C404.517 504.617 403.286 504.163 401.792 504.163C400.298 504.163 399.067 504.617 398.101 505.525C397.134 506.404 396.65 507.664 396.65 509.305C396.65 510.945 397.09 512.22 397.969 513.128C398.848 514.007 400.122 514.446 401.792 514.446C403.315 514.446 404.546 514.007 405.483 513.128C406.45 512.22 406.934 510.945 406.934 509.305ZM468.105 573.289L449.824 525.125H457.646L468.018 553.689C470.361 560.369 471.738 564.705 472.148 566.697H472.5C472.822 565.145 473.833 561.937 475.532 557.073C477.261 552.181 481.113 541.531 487.09 525.125H494.912L476.631 573.289H468.105ZM522.993 574.168C515.874 574.168 510.249 572 506.118 567.664C502.017 563.328 499.966 557.308 499.966 549.603C499.966 541.839 501.87 535.672 505.679 531.102C509.517 526.531 514.658 524.246 521.104 524.246C527.139 524.246 531.914 526.238 535.43 530.223C538.945 534.178 540.703 539.407 540.703 545.911V550.525H507.524C507.671 556.18 509.092 560.472 511.787 563.401C514.512 566.331 518.335 567.796 523.257 567.796C528.442 567.796 533.569 566.712 538.638 564.544V571.048C536.06 572.161 533.613 572.952 531.299 573.421C529.014 573.919 526.245 574.168 522.993 574.168ZM521.016 530.354C517.148 530.354 514.058 531.614 511.743 534.134C509.458 536.653 508.11 540.14 507.7 544.593H532.881C532.881 539.993 531.855 536.478 529.805 534.046C527.754 531.585 524.824 530.354 521.016 530.354ZM547.339 594.91C544.556 594.91 542.3 594.544 540.571 593.812V587.879C542.593 588.465 544.585 588.758 546.548 588.758C548.833 588.758 550.503 588.128 551.558 586.868C552.642 585.638 553.184 583.748 553.184 581.199V525.125H560.479V580.672C560.479 590.164 556.099 594.91 547.339 594.91ZM552.568 512.073C552.568 510.403 552.979 509.188 553.799 508.426C554.619 507.635 555.645 507.239 556.875 507.239C558.047 507.239 559.058 507.635 559.907 508.426C560.757 509.217 561.182 510.433 561.182 512.073C561.182 513.714 560.757 514.944 559.907 515.765C559.058 516.556 558.047 516.951 556.875 516.951C555.645 516.951 554.619 516.556 553.799 515.765C552.979 514.944 552.568 513.714 552.568 512.073Z' fill='%23${fgColor}'/%3E %3C/svg%3E`,\n width: size,\n height: size,\n };\n};\n","import { useMemo } from \"react\";\nimport { FetchOptions } from \"../../../interfaces/fetchOptions.interface\";\nimport { getApiUrl } from \"../../../helpers/getApiUrl.helper\";\nimport { useAppData } from \"../../appData.context\";\nimport { B2B_API_ROOT } from \"../../../constants/urlRoot.constants\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype QueryObject = Record<string, any>;\n\nexport const useCartRequest = () => {\n const { customerNumber, fetchWithAuthB2b } = useAppData();\n\n return useMemo(\n () => ({\n get: (path: string, parameters?: QueryObject, options?: FetchOptions) =>\n (customerNumber\n ? fetchWithAuthB2b(\n getApiUrl(B2B_API_ROOT, path, parameters),\n customerNumber,\n options\n )\n : fetch(getApiUrl(B2B_API_ROOT, path, parameters), options)\n ).then((response) => response.json()),\n post: (\n path: string,\n parameters: QueryObject | string | number | boolean,\n options?: FetchOptions\n ) => {\n const opts = {\n ...options,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body:\n typeof parameters === \"object\"\n ? JSON.stringify(parameters)\n : typeof parameters !== \"string\"\n ? parameters.toString()\n : parameters,\n };\n\n return (\n customerNumber\n ? fetchWithAuthB2b(getApiUrl(B2B_API_ROOT, path), customerNumber, opts)\n : fetch(getApiUrl(B2B_API_ROOT, path), opts)\n ).then((data) => data.json());\n },\n patch: (\n path: string,\n parameters: QueryObject | string | number | boolean,\n options?: FetchOptions\n ) => {\n const opts = {\n ...options,\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body:\n typeof parameters === \"object\"\n ? JSON.stringify(parameters)\n : typeof parameters !== \"string\"\n ? parameters.toString()\n : parameters,\n };\n\n return (\n customerNumber\n ? fetchWithAuthB2b(getApiUrl(B2B_API_ROOT, path), customerNumber, opts)\n : fetch(getApiUrl(B2B_API_ROOT, path), opts)\n ).then((data) => data.json());\n },\n delete: (\n path: string,\n parameters: QueryObject | string | number | boolean,\n options?: FetchOptions\n ) => {\n const opts = {\n ...options,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body:\n typeof parameters === \"object\"\n ? JSON.stringify(parameters)\n : typeof parameters !== \"string\"\n ? parameters.toString()\n : parameters,\n };\n\n return (\n customerNumber\n ? fetchWithAuthB2b(getApiUrl(B2B_API_ROOT, path), customerNumber, opts)\n : fetch(getApiUrl(B2B_API_ROOT, path), opts)\n ).then((data) => data.json());\n },\n }),\n [fetchWithAuthB2b, customerNumber]\n );\n};\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport toast from \"react-hot-toast\";\nimport {\n DA_CartData,\n DA_CartDataApi,\n DA_CartLineApi,\n} from \"@danishagro/shared/src/interfaces/cartData.interface\";\nimport { DA_CartOrderLine } from \"@danishagro/shared/src/interfaces/cartOrderLine.interface\";\nimport { FetchOptions } from \"@danishagro/shared/src/interfaces/fetchOptions.interface\";\nimport { DA_CartPriceData } from \"@danishagro/shared/src/interfaces/price.interface\";\nimport { usePrevious } from \"@danishagro/shared/src/hooks/usePrevious.hook\";\nimport { useCustomer } from \"@danishagro/shared/src/hooks/useCustomer.hook\";\nimport { DA_Toast } from \"@danishagro/shared/src/components/molecules/Toast/Toast.component\";\nimport { B2B_SITE_ORIGIN } from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { useTranslations } from \"../translations/translations.context\";\nimport { getRelativeRootOnLocalhost } from \"../../helpers/getRelativeUrlOnLocalhost.helper\";\nimport { useRequest } from \"../../hooks/useRequest.hook\";\nimport { ExpressDeliveryModes } from \"../../interfaces/expressDeliveryModes.interface\";\nimport { DA_B2bImageProps } from \"../../interfaces/b2bImageProps.interface\";\nimport { getB2bImage } from \"../../helpers/getB2bImage.helper\";\nimport { useAppData } from \"../appData.context\";\nimport { useCartRequest } from \"./hooks/useCartRequest.hook\";\nimport { useCartPrice } from \"./hooks/useCartPrice.hook\";\n\nexport const CROP_PROTECTION_DELIVERY_MODE_DEFAULT = \"11\";\n\ninterface CartArgs {\n id?: string; // Add id property\n quantity: number;\n productId: string;\n cropProtectionDeliveryMode?: string;\n}\n\ninterface ContactArgs {\n companyName: string;\n cvr: string;\n email: string;\n phone: string;\n}\n\ninterface DeliveryArgs {\n billingAddress?: {\n streetName: string;\n streetNumber: string;\n zipCode: string;\n city: string;\n };\n shippingAddress: {\n id: string;\n streetName: string;\n streetNumber: string;\n zipCode: string;\n city: string;\n };\n shippingSameAsBilling: boolean;\n}\n\ninterface DeliveryOptionsArgs {\n deliveryModeCode: string;\n deliveryDate?: string;\n reference: string;\n phoneNumber?: string;\n}\n\ninterface DeliveryOptionsArgs2 extends DeliveryOptionsArgs {\n id: string;\n secret?: string;\n}\n\ninterface OrderlineDriverMessageArgs {\n lineId: string;\n driverMessage: string;\n}\n\ninterface CompleteOrder extends DA_CartData {\n price: DA_CartPriceData;\n completedDate: Date;\n}\n\ninterface WeightData {\n cropProtectionDeliveryWeight?: number;\n itemGrossWeight?: number;\n lineGrossWeight?: number;\n isAdditionalProduct?: boolean;\n // Add any other properties that you expect to handle in this state\n}\ninterface CartHook {\n cartId?: string;\n secret?: string;\n orderSecret?: string;\n priceData: DA_CartPriceData | undefined;\n priceStatus: ReturnType<typeof useCartPrice>[\"priceStatus\"];\n customerDetails: DA_CartData[\"customerDetails\"];\n shippingDetails: DA_CartData[\"shippingDetails\"];\n cropProtection: DA_CartData[\"showCropProtectionDeliveryMode\"];\n latestShippingDate?: Date;\n orderLines: DA_CartOrderLine[];\n updateCartOrderLines: (cartData: DA_CartData[\"orderLines\"]) => void;\n updateOrderlineDriverMessage: (\n properties: OrderlineDriverMessageArgs,\n options?: FetchOptions\n ) => Promise<boolean>;\n deleteMarkedItems: (properties: string[], options?: FetchOptions) => Promise<DA_CartData>;\n addToCart: (properties: CartArgs, options?: FetchOptions) => Promise<DA_CartData>;\n updateCart: (properties: CartArgs, options?: FetchOptions) => Promise<DA_CartData>;\n removeFromCart: (properties: CartArgs, options?: FetchOptions) => Promise<DA_CartData>;\n resetCart: () => void;\n saveContactInfo: (properties: ContactArgs, options?: FetchOptions) => Promise<DA_CartData>;\n updateExpressDeliveryModes: (\n properties: ExpressDeliveryModes,\n options?: FetchOptions\n ) => Promise<DA_CartData>;\n expressDeliveryModes: ExpressDeliveryModes;\n saveDeliveryInfo: (properties: DeliveryArgs, options?: FetchOptions) => Promise<DA_CartData>;\n completeOrderSimple: (\n properties: DeliveryOptionsArgs,\n options?: FetchOptions\n ) => Promise<string>;\n completeOrderSimple2: (\n properties: DeliveryOptionsArgs2,\n options?: FetchOptions\n ) => Promise<string>;\n completeWithPriceService: (\n properties: DeliveryOptionsArgs2,\n options?: FetchOptions\n ) => Promise<string>;\n completeOrder: (options?: FetchOptions) => Promise<string>;\n getCompletedOrder: (cartId: string, options?: FetchOptions) => Promise<CompleteOrder>;\n setCombinedDeliveryMode: (isCombinedDelivery: boolean, options?: FetchOptions) => Promise<void>;\n\n isLoadingCart: boolean;\n isUpdatingCart: boolean;\n isFarmInTimeCart: boolean;\n cropProtectionDeliveryWeight?: number;\n disableCropProtectionDelivery?: boolean;\n combinedDelivery?: boolean;\n cropProtectionDeliveryMode?: string;\n wightData: WeightData;\n}\n\nconst CartContext = React.createContext<CartHook>({} as CartHook);\n\ntype Props = {\n customerNumber?: string;\n orderSecret?: string;\n children: React.ReactNode;\n};\n\nexport const CartProvider = ({\n customerNumber,\n orderSecret: givenOrderSecret,\n children,\n}: Props): JSX.Element => {\n const [cartId, setCartId] = useState<string>();\n const [orderSecret, _setOrderSecret] = useState<string>(givenOrderSecret);\n const [isLoadingCart, setIsLoadingCart] = useState(false);\n const [isUpdatingCart, setIsUpdatingCart] = useState(false);\n const [customerDetails, setCustomerDetails] = useState<DA_CartData[\"customerDetails\"]>();\n const [shippingDetails, setShippingDetails] = useState<DA_CartData[\"shippingDetails\"]>();\n const [cropProtectionDeliveryWeight, setCropProtectionDeliveryWeight] = useState(0);\n\n const [wightData, setWeightData] = useState<WeightData | undefined>(undefined);\n\n const [disableCropProtectionDelivery, setDisableCropProtectionDelivery] = useState(false);\n const [combinedDelivery, setCombinedDelivery] = useState(false);\n const [cropProtectionDeliveryMode, setCropProtectionDeliveryMode] = useState(\"\");\n const [cropProtection, setCropProtection] =\n useState<DA_CartData[\"showCropProtectionDeliveryMode\"]>();\n const [expressDeliveryModes, setExpressDeliveryModes] = useState<ExpressDeliveryModes>({\n isExpressDelivery: false,\n cropProtectionDeliveryMode: CROP_PROTECTION_DELIVERY_MODE_DEFAULT,\n });\n const [orderLines, setOrderLines] = useState<DA_CartOrderLine[]>([]);\n const { getDictionaryString } = useTranslations();\n const { customer } = useCustomer();\n const previousCustomerNumber = usePrevious(customerNumber);\n const { currentCulture } = useAppData();\n\n const request = useRequest();\n const b2bRequest = useCartRequest();\n const { priceData, priceStatus, latestShippingDate } = useCartPrice(\n customerNumber,\n cartId,\n orderLines,\n expressDeliveryModes,\n isUpdatingCart,\n shippingDetails\n );\n\n const getStoredCartId = useCallback(() => {\n const localCartId = localStorage.getItem(`cartId:${cartId}`);\n if (cartId) {\n setCartId(cartId);\n return localCartId;\n }\n return null;\n }, [cartId]);\n\n const storeCartId = useCallback(\n (id: string) => {\n if (cartId !== id) {\n localStorage.setItem(`cartId:${customerNumber}`, id);\n setCartId(id);\n }\n },\n [cartId, customerNumber]\n );\n\n const updateCartOrderLines = useCallback((orderLines: DA_CartData[\"orderLines\"]) => {\n setOrderLines(orderLines);\n }, []);\n\n const resetCartId = useCallback(() => {\n localStorage.removeItem(`cartId:${customerNumber}`);\n setCartId(undefined);\n }, [customerNumber]);\n\n // ---------------------------------------------------------------\n\n // TODO: Move mappers to cart helper\n\n const mapToCartOrderLine = useCallback((line: DA_CartLineApi): DA_CartOrderLine => {\n const { id, productId, productNumber, productVariantId, quantity, url } = line;\n\n const img: DA_B2bImageProps = {\n url: line.imageUrl,\n width: 85,\n height: 85,\n };\n const sizedImage = getB2bImage(img, {\n maxWidth: 85,\n maxHeight: 85,\n });\n\n return {\n id,\n productId,\n productName: line.name,\n productNumber,\n productVariantId,\n quantity,\n url,\n\n driverMessage: line.data?.driverMessage,\n allowCropProtectionDelivery: line.data?.allowCropProtectionDelivery,\n allowExpressDelivery: line.data?.allowExpressDelivery,\n\n unit: line.data?.unit,\n lineGrossWeight: line.data?.lineGrossWeight,\n itemGrossWeight: line.data?.itemGrossWeight,\n isAdditionalProduct: line.data?.isAdditionalProduct,\n\n // TODO: get these values from API later and map them correctly\n image: sizedImage,\n imageUrl: line.imageUrl,\n foVariantId: null,\n productVariantName: \"\",\n };\n }, []);\n\n const mapToCartData = useCallback(\n (data: DA_CartDataApi): DA_CartData => {\n const addressData = {\n ...data.shippingDetails?.shippingAddress,\n id: data.shippingDetails?.shippingAddress.id,\n countryCode: data.shippingDetails?.shippingAddress.country,\n companyName: data.shippingDetails?.shippingAddress.name,\n };\n\n return {\n id: data.id,\n orderLines: data.lines?.map((line) => mapToCartOrderLine(line)),\n state: data.basketStatus,\n secret: data.secret,\n customerNumber: data.customerNumber,\n showCropProtectionDeliveryMode: data.data?.showCropProtectionDeliveryMode,\n cropProtectionDeliveryWeight: data.data?.cropProtectionDeliveryWeight,\n disableCropProtectionDelivery: data.data?.disableCropProtectionDelivery,\n combinedDelivery: data.data?.combinedDelivery,\n cropProtectionDeliveryMode: data.data?.cropProtectionDeliveryMode,\n unit: data.data?.unit,\n lineGrossWeight: data.data?.lineGrossWeight,\n itemGrossWeight: data.data?.itemGrossWeight,\n isAdditionalProduct: data.data?.isAdditionalProduct,\n\n customerDetails: {\n ...addressData,\n email: undefined,\n phone: undefined,\n cvr: undefined,\n },\n shippingDetails: {\n ...addressData,\n locationId: data.shippingDetails?.shippingAddress.locationId,\n },\n invoiceDetails: {\n invoiceAddress: data.invoiceDetails?.invoiceAddress,\n },\n\n // TODO: get these values from API later and map them correctly\n farmInTimeReferenceId: null,\n farmInTimeDriverMessage: null,\n isCompleted: false,\n isExpressDelivery: false,\n transactionId: null,\n };\n },\n [mapToCartOrderLine]\n );\n\n const mapToOrder = useCallback(\n (data: DA_CartDataApi): CompleteOrder => {\n const cartData = mapToCartData(data);\n const result = {\n ...cartData,\n\n // TODO: figure out missing fields\n price: data.data?.price,\n completedDate: data.updatedDate,\n };\n return result;\n },\n [mapToCartData]\n );\n\n const mapToCartLineApi = useCallback((args: CartArgs): DA_CartLineApi => {\n return {\n id: null,\n productId: args.productId,\n quantity: args.quantity,\n name: null,\n description: null,\n imageUrl: null,\n data: null,\n };\n }, []);\n\n // ---------------------------------------------------------------\n\n const updateCartData = useCallback(\n (cartData: Omit<DA_CartData, \"price\">) => {\n if (cartData) {\n setCartId(cartData.id);\n setCustomerDetails(cartData.customerDetails);\n setCropProtection(cartData.showCropProtectionDeliveryMode);\n setCropProtectionDeliveryWeight(cartData?.cropProtectionDeliveryWeight);\n setWeightData({\n cropProtectionDeliveryWeight: cartData.cropProtectionDeliveryWeight,\n itemGrossWeight: cartData.itemGrossWeight,\n lineGrossWeight: cartData.lineGrossWeight,\n });\n setDisableCropProtectionDelivery(cartData?.disableCropProtectionDelivery);\n setCombinedDelivery(cartData?.combinedDelivery);\n setCropProtectionDeliveryMode(cartData?.cropProtectionDeliveryMode);\n setOrderLines(\n // TODO: Remove this map-function when FO can handle express delivery\n cartData.orderLines?.map((line) => ({ ...line, allowExpressDelivery: false }))\n );\n setShippingDetails(cartData.shippingDetails);\n setExpressDeliveryModes({\n isExpressDelivery: cartData.isExpressDelivery,\n cropProtectionDeliveryMode: cartData.cropProtectionDeliveryMode,\n });\n storeCartId(cartData.id);\n }\n },\n [storeCartId]\n );\n\n const resetCart = useCallback(() => {\n setCartId(undefined);\n setCustomerDetails(undefined);\n setOrderLines([]);\n setShippingDetails(undefined);\n resetCartId();\n }, [resetCartId]);\n\n const getCart = useCallback(\n (options?: FetchOptions) => {\n setIsLoadingCart(true);\n\n const properties = {};\n // Farm in time cart context\n if (customerNumber && givenOrderSecret) {\n properties[\"customerNumber\"] = customerNumber;\n properties[\"secret\"] = orderSecret;\n properties[\"mergeCart\"] = \"false\";\n properties[\"version\"] = \"2\";\n }\n // Logged in get latest cart\n else if (customerNumber) {\n // properties[\"customerNumber\"] = customerNumber;\n\n //TODO: use current culture. Currently api fails on currentCulture\n properties[\"culture\"] = \"da\";\n properties[\"version\"] = \"2\";\n }\n // Receipt\n else {\n properties[\"secret\"] = orderSecret;\n }\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .get(`/carts/customers/${customerNumber}`, properties, options)\n .then((data) => {\n if (data) {\n updateCartData(mapToCartData(data));\n resolve(data);\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsLoadingCart(false))\n );\n },\n [customerNumber, givenOrderSecret, orderSecret, b2bRequest, updateCartData, mapToCartData]\n );\n\n const getCartById = useCallback(\n (options?: FetchOptions) => {\n setIsLoadingCart(true);\n\n const properties = {};\n // Farm in time cart context\n if (customerNumber) {\n properties[\"customerNumber\"] = customerNumber;\n properties[\"culture\"] = \"da\";\n properties[\"mergeCart\"] = \"true\";\n properties[\"version\"] = \"2\";\n }\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .get(`/carts/${orderSecret}`, properties, options)\n .then((data) => {\n if (data) {\n updateCartData(mapToCartData(data));\n resolve(data);\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsLoadingCart(false))\n );\n },\n [customerNumber, orderSecret, b2bRequest, updateCartData, mapToCartData]\n );\n\n const addToCart: CartHook[\"addToCart\"] = useCallback(\n (properties, options) => {\n setIsUpdatingCart(true);\n const props = mapToCartLineApi(properties);\n\n if (customerNumber) {\n props[\"customerNumber\"] = customerNumber;\n }\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .post(`/carts/customers/${customerNumber}/lines?version=2`, props, options)\n .then((data) => {\n if (data && data?.id) {\n updateCartData(mapToCartData(data));\n resolve(data);\n toast.custom(() => (\n <DA_Toast\n href={`${getRelativeRootOnLocalhost(B2B_SITE_ORIGIN)}/cart`}\n goTo={getDictionaryString(\"ToastShowCart\")}\n message={\n <>\n <div>{getDictionaryString(\"ToastAddedToCartText\")}</div>\n {customer && (\n <div className=\"break-all\">\n {getDictionaryString(\"ToastAccountText\")}\n <strong>{customer?.name}</strong>\n </div>\n )}\n </>\n }\n />\n ));\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsUpdatingCart(false))\n );\n },\n [\n customerNumber,\n b2bRequest,\n mapToCartData,\n mapToCartLineApi,\n updateCartData,\n getDictionaryString,\n customer,\n ]\n );\n\n const updateCart: CartHook[\"updateCart\"] = useCallback(\n (properties, options) => {\n setIsUpdatingCart(true);\n\n const props = {};\n\n if (customerNumber) {\n props[\"customerNumber\"] = customerNumber;\n props[\"version\"] = \"2\";\n }\n\n if (cartId) {\n props[\"basketId\"] = cartId;\n }\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .patch(\n `/carts/customers/${customerNumber}/lines/${\n properties[\"id\"]\n }/updatequantity?${new URLSearchParams(props).toString()}`,\n properties.quantity,\n options\n )\n .then((data) => {\n if (data) {\n updateCartData(mapToCartData(data));\n resolve(data);\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsUpdatingCart(false))\n );\n },\n [b2bRequest, customerNumber, mapToCartData, updateCartData, cartId]\n );\n\n const removeFromCart: CartHook[\"removeFromCart\"] = useCallback(\n (properties, options) => {\n setIsUpdatingCart(true);\n\n const props = {};\n\n if (customerNumber) {\n props[\"customerNumber\"] = customerNumber;\n }\n\n const lineId = properties[\"id\"];\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .delete(\n `/carts/customers/${customerNumber}/lines/${lineId}?version=2`,\n props,\n options\n )\n .then((data) => {\n if (data && data?.id) {\n updateCartData(mapToCartData(data));\n resolve(data);\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsUpdatingCart(false))\n );\n },\n [b2bRequest, customerNumber, updateCartData, mapToCartData]\n );\n\n const saveContactInfo: CartHook[\"saveContactInfo\"] = useCallback(\n (properties, options) => {\n setIsUpdatingCart(true);\n\n const props = {\n ...properties,\n orderSecret,\n };\n\n if (customerNumber) {\n props[\"customerNumber\"] = customerNumber;\n }\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .post(\"/checkout/SaveContactInfo\", props, options)\n .then((data) => {\n if (data.success) {\n updateCartData(data.cart);\n resolve(data.cart);\n } else {\n reject(data.message);\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsUpdatingCart(false))\n );\n },\n [b2bRequest, customerNumber, orderSecret, updateCartData]\n );\n\n const updateExpressDeliveryModes: CartHook[\"updateExpressDeliveryModes\"] = useCallback(\n (properties, options) => {\n setIsUpdatingCart(true);\n\n const cropProtectionDeliveryModeValue = disableCropProtectionDelivery\n ? \"\"\n : properties.cropProtectionDeliveryMode;\n\n const props = {\n id: cartId,\n cropProtectionDeliveryMode: cropProtectionDeliveryModeValue,\n };\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .patch(\n `/carts/customers/${customerNumber}/setcropprotectiondeliverymode`,\n props,\n options\n )\n .then((data) => {\n if (data.id) {\n // Update the express delivery modes in the context\n setExpressDeliveryModes({\n cropProtectionDeliveryMode: cropProtectionDeliveryModeValue,\n isExpressDelivery: properties.isExpressDelivery,\n });\n resolve(data);\n } else {\n reject(data.message);\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsUpdatingCart(false))\n );\n },\n [b2bRequest, cartId, customerNumber, disableCropProtectionDelivery, setExpressDeliveryModes]\n );\n\n // New setCombinedDeliveryMode function\n const setCombinedDeliveryMode: CartHook[\"setCombinedDeliveryMode\"] = useCallback(\n (isCombinedDelivery, options) => {\n setIsUpdatingCart(true);\n\n const props = {\n id: cartId,\n isCombinedDelivery,\n };\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .patch(\n `/carts/customers/${customerNumber}/setcombineddeliverymode`,\n props,\n options\n )\n .then((data) => {\n if (data.id) {\n // Update the cart data in the context\n updateCartData(mapToCartData(data));\n resolve();\n } else {\n reject(data.message);\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsUpdatingCart(false))\n );\n },\n [b2bRequest, cartId, customerNumber, updateCartData, mapToCartData]\n );\n\n const saveDeliveryInfo: CartHook[\"saveDeliveryInfo\"] = useCallback(\n (properties, options) => {\n if (!cartId) {\n return Promise.reject(\"Cart ID is missing\");\n }\n\n setIsUpdatingCart(true);\n\n const props = {\n id: cartId,\n locationId: properties.shippingAddress?.id || \"\",\n };\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .patch(\n `/carts/customers/${customerNumber}/savedeliveryinfo?version=2`,\n props,\n options\n )\n .then((data) => {\n if (data.id) {\n updateCartData(mapToCartData(data));\n resolve(data);\n } else {\n reject(data.message);\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsUpdatingCart(false))\n );\n },\n [b2bRequest, cartId, customerNumber, mapToCartData, updateCartData]\n );\n\n const completeOrder: CartHook[\"completeOrder\"] = useCallback(\n (options) => {\n const props = {\n id: cartId,\n };\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .post(`/orders/${customerNumber}/complete?version=3`, props, options)\n .then((data) => {\n if (data.id) {\n resolve(data.id);\n } else {\n reject(data.message);\n }\n })\n .catch((error) => {\n console.error(\"ERROR\", error);\n reject(error);\n })\n );\n },\n [cartId, b2bRequest, customerNumber]\n );\n\n const completeOrderSimple: CartHook[\"completeOrderSimple\"] = useCallback(\n (properties, options) => {\n const props = {\n orderSecret,\n };\n\n const params = new URLSearchParams();\n params.append(\"deliveryDate\", properties.deliveryDate);\n params.append(\"deliveryModeCode\", properties.deliveryModeCode);\n params.append(\"customerRequisitionNumber\", properties.reference);\n params.append(\"phoneNumber\", properties.phoneNumber);\n\n return new Promise((resolve, reject) =>\n request\n .post(\n `/orders/${customerNumber}/completesimple?${params.toString()}`,\n props,\n options\n )\n .then((response) => response.json())\n .then((data) => {\n if (data.success) {\n resolve(orderSecret);\n } else {\n reject(data.message);\n }\n })\n .catch((error) => reject(error))\n );\n },\n [request, customerNumber, orderSecret]\n );\n\n const deleteMarkedItems: CartHook[\"deleteMarkedItems\"] = useCallback(\n (properties, options) => {\n return new Promise<DA_CartData>((resolve, reject) =>\n request\n .post(\n `/carts/customers/${customerNumber}/lines/delete?version=2`,\n properties,\n options\n )\n .then((response) => response.json()) // Convert the response to JSON\n .then((data) => {\n if (data) {\n updateCartData(mapToCartData(data));\n resolve(data); // data is now of type DA_CartData\n }\n })\n .catch((error) => reject(error))\n );\n },\n [request, customerNumber, updateCartData, mapToCartData]\n );\n\n const completeOrderSimple2: CartHook[\"completeOrderSimple2\"] = useCallback(\n (properties, options) => {\n const props = {\n id: properties.id,\n secret: properties.secret,\n };\n\n const params = new URLSearchParams();\n params.append(\"deliveryDate\", properties.deliveryDate);\n params.append(\"deliveryModeCode\", properties.deliveryModeCode);\n params.append(\"customerRequisitionNumber\", properties.reference);\n params.append(\"phoneNumber\", properties.phoneNumber);\n params.append(\"culture\", currentCulture);\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .post(\n `/orders/${customerNumber}/completesimple?version=3&${params.toString()}`,\n props,\n options\n )\n .then((response) => {\n if (response.id) {\n resolve(response.id);\n } else {\n reject(response.message);\n }\n })\n .catch((error) => {\n console.error(\"ERROR\", error);\n reject(error.message);\n })\n );\n },\n [currentCulture, b2bRequest, customerNumber]\n );\n\n const completeWithPriceService: CartHook[\"completeWithPriceService\"] = useCallback(\n (properties, options) => {\n const props = {\n id: properties.id,\n secret: properties.secret,\n };\n\n const params = new URLSearchParams();\n params.append(\"deliveryModeCode\", properties.deliveryModeCode);\n params.append(\"culture\", currentCulture);\n\n if (properties.reference) {\n params.append(\"customerRequisitionNumber\", properties.reference);\n }\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .post(\n `/orders/${customerNumber}/completeWithPriceService?version=1&${params.toString()}`,\n props,\n options\n )\n .then((response) => {\n if (response.id) {\n resolve(response.id);\n } else {\n reject(response.message);\n }\n })\n .catch((error) => {\n console.error(\"ERROR\", error);\n reject(error.message);\n })\n );\n },\n [currentCulture, b2bRequest, customerNumber]\n );\n\n const getCompletedOrder: CartHook[\"getCompletedOrder\"] = useCallback(\n (cartId, options) => {\n const properties = {};\n properties[\"culture\"] = \"da\";\n\n if (customerNumber) {\n properties[\"customerNumber\"] = customerNumber;\n }\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .get(`/carts/getcompletedcart/${cartId}`, properties, options)\n .then((data) => {\n if (data.id) {\n resolve(mapToOrder(data));\n } else {\n reject(data.message);\n }\n })\n .catch((error) => reject(error))\n );\n },\n [b2bRequest, customerNumber, mapToOrder]\n );\n\n const updateOrderlineDriverMessage: CartHook[\"updateOrderlineDriverMessage\"] = useCallback(\n (properties, options) => {\n const props = {\n id: cartId,\n lineId: properties.lineId,\n driverMessage: properties.driverMessage,\n };\n\n return new Promise((resolve, reject) =>\n b2bRequest\n .patch(`/carts/customers/${customerNumber}/savedrivermessage`, props, options)\n .then((data) => {\n if (data.id) {\n updateCartData(mapToCartData(data));\n resolve(true);\n } else {\n reject(data.message);\n }\n })\n .catch((error) => reject(error))\n .finally(() => setIsUpdatingCart(false))\n );\n },\n [b2bRequest, cartId, customerNumber, mapToCartData, updateCartData]\n );\n\n // Get secret on page load\n useEffect(() => {\n if (!cartId && !orderSecret && !givenOrderSecret) {\n getStoredCartId();\n }\n }, [cartId, orderSecret, givenOrderSecret, getStoredCartId]);\n\n // Get cart on page load (using secret or customer number)\n useEffect(() => {\n if (givenOrderSecret) getCartById();\n else if (!cartId && (orderSecret || customerNumber)) {\n getCart().catch(() => {\n if (customerNumber) {\n // If cart doesn't exist, reset the stored secret\n resetCartId();\n }\n });\n }\n }, [cartId, orderSecret, customerNumber, getCart, resetCartId, givenOrderSecret, getCartById]);\n\n // Reset cart when customer number is changed\n useEffect(() => {\n if (customerNumber && previousCustomerNumber && customerNumber !== previousCustomerNumber) {\n resetCart();\n }\n }, [resetCart, customerNumber, previousCustomerNumber]);\n\n return (\n <CartContext.Provider\n value={{\n cartId,\n orderSecret,\n priceData,\n priceStatus,\n orderLines,\n customerDetails,\n shippingDetails,\n latestShippingDate,\n cropProtection,\n updateCartOrderLines,\n updateOrderlineDriverMessage,\n addToCart,\n updateCart,\n removeFromCart,\n resetCart,\n saveContactInfo,\n updateExpressDeliveryModes,\n expressDeliveryModes,\n saveDeliveryInfo,\n completeOrder,\n completeOrderSimple,\n completeOrderSimple2,\n completeWithPriceService,\n getCompletedOrder,\n isLoadingCart,\n isUpdatingCart,\n cropProtectionDeliveryWeight,\n disableCropProtectionDelivery,\n combinedDelivery,\n cropProtectionDeliveryMode,\n wightData,\n isFarmInTimeCart: typeof givenOrderSecret !== \"undefined\",\n deleteMarkedItems,\n setCombinedDeliveryMode,\n }}\n >\n {children}\n </CartContext.Provider>\n );\n};\n\nexport const useCart = (): CartHook => React.useContext(CartContext);\n","import { useMemo } from \"react\";\nimport { useAppData } from \"../contexts/appData.context\";\n\nexport const useCustomer = () => {\n const { cvrAndCustomerNumbers, customerNumber } = useAppData();\n\n const customer = useMemo(\n () =>\n cvrAndCustomerNumbers?.accounts?.find((x) =>\n x.customers?.find((y) => y.number === customerNumber)\n ),\n [cvrAndCustomerNumbers, customerNumber]\n );\n\n return { customer, customerNumber };\n};\n","import { useEffect, useRef } from \"react\";\n\n/* eslint-disable-next-line @typescript-eslint/no-explicit-any */\nexport const usePrevious = (value: any) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n};\n","import { useEffect, useRef, useState } from \"react\";\nimport { DA_CartPriceData } from \"@danishagro/shared/src/interfaces/price.interface\";\nimport { DA_CartOrderLine } from \"@danishagro/shared/src/interfaces/cartOrderLine.interface\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { DA_CartData } from \"@danishagro/shared/src/interfaces/cartData.interface\";\nimport { useRequest } from \"../../../hooks/useRequest.hook\";\nimport { ExpressDeliveryModes } from \"../../../interfaces/expressDeliveryModes.interface\";\n\n// Modified createFingerprint function\nconst createFingerprint = (\n customerNumber: string,\n cartId: string,\n orderLines: DA_CartOrderLine[],\n expressDeliveryModes: ExpressDeliveryModes,\n shippingDetails: DA_CartData[\"shippingDetails\"]\n) => {\n const prefix = `${customerNumber}:${cartId}`;\n const orderLinesString = orderLines?.map(({ id, quantity }) => `${id}:${quantity}`).join(\"|\");\n const expressDeliveryString = `isExpressDelivery:${expressDeliveryModes.isExpressDelivery};cropProtectionDeliveryMode:${expressDeliveryModes.cropProtectionDeliveryMode}`;\n const shippingString = `${shippingDetails?.address}:${shippingDetails?.zipCode}:${shippingDetails?.countryCode}:${shippingDetails?.id}`;\n return [prefix, orderLinesString, expressDeliveryString, shippingString].join(\"--\");\n};\n\ntype States = \"LOADING\" | \"FAILED\" | \"NO_CART\" | \"SUCCESS\";\n\nexport const useCartPrice = (\n customerNumber: string,\n cartId: string,\n orderLines: DA_CartOrderLine[],\n expressDeliveryModes: ExpressDeliveryModes,\n isUpdatingCart: boolean,\n shippingDetails?: DA_CartData[\"shippingDetails\"]\n) => {\n const [priceData, setPriceData] = useState<DA_CartPriceData>();\n const [priceStatus, setPriceState] = useState<States>(\"SUCCESS\");\n const [latestShippingDate, setLatestShippingDate] = useState<Date>();\n const fingerPrint = useRef(\"\");\n\n const controllerRef = useRef<AbortController | null>();\n const request = useRequest();\n const { showPrices } = useAppData();\n\n useEffect(() => {\n if (!showPrices) {\n setPriceData(undefined);\n setLatestShippingDate(undefined);\n return;\n }\n\n if (isUpdatingCart) {\n setPriceState(\"LOADING\");\n setPriceData(undefined);\n setLatestShippingDate(undefined);\n return;\n }\n\n // Only fetch new prices if something important has changed\n const newFingerPrint = createFingerprint(\n customerNumber,\n cartId,\n orderLines,\n expressDeliveryModes,\n shippingDetails\n );\n\n if (fingerPrint.current !== newFingerPrint) {\n fingerPrint.current = newFingerPrint;\n\n if (controllerRef.current) {\n // If a request has already been sent to the API,\n // abort it before sending a new one\n controllerRef.current.abort();\n }\n\n if (cartId && orderLines?.length) {\n controllerRef.current = new AbortController();\n setPriceState(\"LOADING\");\n setPriceData(undefined);\n setLatestShippingDate(undefined);\n\n request\n .post(\n `prices/getbasketprice/${customerNumber}?version=6`,\n {\n id: cartId,\n },\n {\n signal: controllerRef.current.signal,\n }\n )\n .then((response) => response.json())\n .then((data: DA_CartPriceData) => {\n // Set price data but remove all charges of 0\n setPriceData({\n ...data,\n charges: (data.charges || []).filter(\n (fee) => fee.totalCalculated !== 0\n ),\n lines: (data.lines || []).map((line) => ({\n ...line,\n charges: (line.charges || []).filter(\n (fee) => fee.totalCalculated !== 0\n ),\n })),\n });\n setPriceState(\"SUCCESS\");\n\n const latestLineDate = data.lines.reduce(\n (latest, { requestedShippingDay }) => {\n const lineDate = new Date(requestedShippingDay);\n return latest > lineDate ? latest : lineDate;\n },\n new Date()\n );\n setLatestShippingDate(latestLineDate);\n })\n .catch((err) => {\n if (err?.name !== \"AbortError\") {\n setPriceState(\"FAILED\");\n }\n });\n } else if (cartId) {\n // No order lines\n setPriceState(\"SUCCESS\");\n setPriceData({\n charges: [],\n currency: \"\",\n lines: [],\n priceBeforeFees: { priceWithoutVat: 0, priceWithVat: 0 },\n shippingFee: { priceWithoutVat: 0, priceWithVat: 0 },\n totalPrice: { priceWithoutVat: 0, priceWithVat: 0 },\n });\n setLatestShippingDate(undefined);\n } else {\n // No order secret and no order lines\n setPriceState(\"NO_CART\");\n setPriceData(undefined);\n setLatestShippingDate(undefined);\n }\n }\n }, [\n request,\n customerNumber,\n orderLines,\n expressDeliveryModes,\n isUpdatingCart,\n showPrices,\n cartId,\n shippingDetails,\n ]);\n\n return { priceData, priceStatus, latestShippingDate };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"serviceButtons\":\"ServiceButtons_serviceButtons__INzG5\",\"serviceButton\":\"ServiceButtons_serviceButton__+y+xq\",\"active\":\"ServiceButtons_active__JTKzP\",\"user\":\"ServiceButtons_user__p34m3\",\"buttonIconWrapper\":\"ServiceButtons_buttonIconWrapper__MrhE5\",\"icon\":\"ServiceButtons_icon__V8MDk\",\"buttonBadge\":\"ServiceButtons_buttonBadge__iDuam\"};","import React, { ForwardedRef, useEffect, useMemo } from \"react\";\nimport { useMeasure } from \"react-use\";\nimport { useLocation } from \"react-router-dom\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { B2B_SITE_ORIGIN } from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { getLoginLink } from \"@danishagro/shared/src/helpers/getLoginLink.helper\";\nimport { useScreen } from \"../../../../contexts/screen.context\";\nimport { SiteHeaderPopUpType, useSiteHeader } from \"../../../../contexts/siteHeader.context\";\nimport { DA_Icon, DA_IconNames } from \"../../../atoms/Icon/Icon.component\";\nimport { DA_BasicLink } from \"../../../atoms/BasicLink/BasicLink.component\";\nimport { DA_Badge } from \"../Badge/Badge.component\";\nimport { useCart } from \"../../../../contexts/cart/cart.context\";\nimport { useTranslations } from \"../../../../contexts/translations/translations.context\";\nimport { getRelativeRootOnLocalhost } from \"../../../../helpers/getRelativeUrlOnLocalhost.helper\";\nimport { useAppData } from \"../../../../contexts/appData.context\";\nimport S from \"./ServiceButtons.module.scss\";\n\nexport const DA_ServiceButtons = React.forwardRef((_, ref: ForwardedRef<HTMLDivElement>) => {\n const { pathname } = useLocation();\n\n const isFarmInTimePage = useMemo(() => pathname.indexOf(\"bestillingsliste\") >= 0, [pathname]);\n\n const { getDictionaryString } = useTranslations();\n const { cvrAndCustomerNumbers, customerNumber, currentSite } = useAppData();\n\n const { isMobileOrTablet } = useScreen();\n const {\n setCartButtonMeasure,\n setFarmInTimeButtonMeasure,\n setAccountButtonMeasure,\n showMiniCart,\n showAccountPicker,\n togglePopUp,\n } = useSiteHeader();\n const { orderLines, isLoadingCart } = useCart();\n const [cartButtonRef, cartButtonRect] = useMeasure<HTMLButtonElement>();\n const [farmInTimeButtonRef, farmInTimeButtonRect] = useMeasure<HTMLAnchorElement>();\n const [accountButtonRef, accountButtonRect] = useMeasure<HTMLButtonElement>();\n const { isFarmInTimeEnabled, displayFavoritesList } = useAppData();\n\n const totalQuantity = useMemo(() => {\n if (orderLines?.[0]) {\n return orderLines.reduce((total, line) => total + line.quantity, 0);\n }\n\n return 0;\n }, [orderLines]);\n\n const orderListUrl = `${getRelativeRootOnLocalhost(B2B_SITE_ORIGIN)}/bestillingsliste`;\n const favoritesListUrl = `${getRelativeRootOnLocalhost(B2B_SITE_ORIGIN)}/favorites`;\n\n // NOTE: Removed for now because notifications isn't ready for launch.\n // const { viewState, notificationCount } = useNotifications();\n const hasOpenMenu = showMiniCart || showAccountPicker;\n\n useEffect(() => {\n setCartButtonMeasure(cartButtonRect);\n setFarmInTimeButtonMeasure(farmInTimeButtonRect);\n setAccountButtonMeasure(accountButtonRect);\n }, [\n cartButtonRect,\n farmInTimeButtonRect,\n accountButtonRect,\n setCartButtonMeasure,\n setFarmInTimeButtonMeasure,\n setAccountButtonMeasure,\n ]);\n\n return (\n <div className={S.serviceButtons} ref={ref}>\n {/** Cart */}\n <button\n type=\"button\"\n onClick={() => togglePopUp(SiteHeaderPopUpType.MiniCart)}\n className={cn(S.serviceButton, showMiniCart && S.active)}\n ref={cartButtonRef}\n aria-label={getDictionaryString(\"accessibilityButtonCart\")}\n >\n <DA_Icon name={DA_IconNames.Cart} className={S.icon} />\n\n {(totalQuantity > 0 || isLoadingCart) && (\n <DA_Badge\n size=\"small\"\n text={totalQuantity > 99 ? \"99+\" : totalQuantity}\n className={S.buttonBadge}\n showSpinner={isLoadingCart}\n />\n )}\n </button>\n\n {/** Farm in Time */}\n {isFarmInTimeEnabled && cvrAndCustomerNumbers && customerNumber && (\n <DA_BasicLink\n ref={farmInTimeButtonRef}\n href={orderListUrl}\n target=\"_self\"\n className={cn(S.serviceButton, isFarmInTimePage && !hasOpenMenu && S.active)}\n onClick={() => togglePopUp(undefined)}\n ariaLabel={getDictionaryString(\"accessibilityFarmInTimeLinkText\")}\n >\n <DA_Icon name={DA_IconNames.FormCheck} className={S.icon} />\n </DA_BasicLink>\n )}\n\n {/** vilofarm favourties list */}\n {displayFavoritesList && (\n <DA_BasicLink\n href={favoritesListUrl}\n target=\"_self\"\n className={cn(S.serviceButton, isFarmInTimePage && !hasOpenMenu && S.active)}\n ariaLabel={getDictionaryString(\"accessibilityFarmInTimeLinkText\")}\n >\n <DA_Icon name={DA_IconNames.HeartOutline} className={S.icon} />\n </DA_BasicLink>\n )}\n\n {/** Account: Logged Out */}\n {!globalThis.isAuthenticated && (\n <DA_BasicLink\n href={getLoginLink(currentSite)}\n target=\"_self\"\n className={cn(S.serviceButton, S.user)}\n ariaLabel={getDictionaryString(\"accessibilityMobileLogin\")}\n >\n <div className={S.buttonIconWrapper}>\n <DA_Icon name={DA_IconNames.UserLoggedOut} className={S.icon} />\n </div>\n {getDictionaryString(\"loginTitle\")}\n </DA_BasicLink>\n )}\n\n {/** Account: Logged In */}\n {!isMobileOrTablet && globalThis.isAuthenticated && cvrAndCustomerNumbers ? (\n <button\n type=\"button\"\n onClick={() => togglePopUp(SiteHeaderPopUpType.AccountPicker)}\n className={cn(S.serviceButton, S.user, showAccountPicker && S.active)}\n ref={accountButtonRef}\n title={getDictionaryString(\"account picker\")}\n >\n <div className={S.buttonIconWrapper}>\n <DA_Icon name={DA_IconNames.UserLoggedIn} className={S.icon} />\n\n {/* NOTE: Removed for now because notifications isn't ready for launch. */}\n {/* {viewState === \"DONE\" && notificationCount > 0 && (\n <DA_Badge\n size=\"small\"\n text={notificationCount}\n className={S.buttonBadge}\n />\n )} */}\n </div>\n {cvrAndCustomerNumbers.firstName} {cvrAndCustomerNumbers.lastName}\n {customerNumber && ` (${customerNumber})`}\n </button>\n ) : null}\n </div>\n );\n});\n\nDA_ServiceButtons.displayName = \"DA_ServiceButtons\";\n","// extracted by mini-css-extract-plugin\nexport default {\"list\":\"ServiceMenu_list__6VyeR\",\"item\":\"ServiceMenu_item__trYzS\",\"link\":\"ServiceMenu_link__S07pG\",\"isActive\":\"ServiceMenu_isActive__nmYty\"};","import React from \"react\";\nimport {\n B2B_SITE_ORIGIN,\n CMS_SITE_ORIGIN,\n MYFARM_SITE_ORIGIN,\n} from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport S from \"./ServiceMenu.module.scss\";\n\nexport const DA_ServiceMenu = () => {\n const { currentSite, showOnlyUniversalMenu } = useAppData();\n\n const cmsActiveClass = currentSite === \"CMS\" ? S.isActive : undefined;\n const b2bActiveClass = currentSite === \"B2B\" ? S.isActive : undefined;\n const myfarmActiveClass = currentSite === \"MYFARM\" ? S.isActive : undefined;\n\n return (\n <ul className={S.list}>\n {!showOnlyUniversalMenu && globalThis.apiGatewayUrl && (\n <>\n <li className={S.item}>\n <a href={`${CMS_SITE_ORIGIN}/`} className={cn(S.link, cmsActiveClass)}>\n Viden & Værdi\n </a>\n </li>\n <li className={S.item}>\n <a href={`${B2B_SITE_ORIGIN}/`} className={cn(S.link, b2bActiveClass)}>\n Webshop\n </a>\n </li>\n <li className={S.item}>\n <a\n href={`${MYFARM_SITE_ORIGIN}/`}\n className={cn(S.link, myfarmActiveClass)}\n >\n Mit Landbrug\n </a>\n </li>\n </>\n )}\n\n {Array.isArray(globalThis?.universalMenuArr)\n ? globalThis?.universalMenuArr?.map((menu, index) => {\n return (\n <li key={index} className={S.item}>\n <a href={menu.url} target={menu.target || \"_self\"} className={S.link}>\n {menu.name}\n </a>\n </li>\n );\n })\n : null}\n </ul>\n );\n};\n","// src/helpers/adjustUrl.helper.ts\nconst getRelativeUrlPart = (url: string, urlOrigin: string) => {\n const isDomainUrlMatch = url?.startsWith(urlOrigin);\n\n if (isDomainUrlMatch || window.location.hostname === \"localhost\") {\n try {\n const parsedUrl = new URL(url, urlOrigin);\n return parsedUrl.pathname + parsedUrl.search + parsedUrl.hash;\n } catch (error) {\n // If it's already a relative URL or invalid URL, return as is\n return url;\n }\n }\n\n return url;\n};\n\nexport const adjustUrl = (url: string): string => {\n /*\n NOTE:\n --------------------------------------------------------------\n To avoid a large amount of http errors in \n Google Search Console (due to relative urls in script area), \n absolute navigation urls were introduced in this story: \n https://picopublish.atlassian.net/browse/DASLA-37.\n\n So this helper function will return relative part of current domain urls.\n Other external links will not be adjusted\n\n This way we can keep the absolute urls in script, \n but still navigate PLP/PDP links with route links instead of full page reloads.\n --------------------------------------------------------------\n */\n\n if (typeof window !== \"undefined\") {\n return getRelativeUrlPart(url, globalThis.b2bFrontendUrl);\n }\n\n return url;\n};\n","export const checkCurrentOrAncestorPath = (path: string) => {\n if (path) {\n const searchPath = path.replace(/^\\/?([^/]+(?:\\/[^/]+)*)\\/?$/, \"/$1\");\n\n // Checking if given path is a direct match to current pathn\n if (searchPath === window.location.pathname) {\n return true;\n }\n\n // Checking if given path is an ancestor to current pathn\n else if (`^${window.location.pathname}`.indexOf(`^${searchPath}/`) >= 0) {\n return true;\n }\n }\n\n return false;\n};\n","import { DA_NavigationPage } from \"../../../../../interfaces/navigationPage.interface\";\nimport { checkCurrentOrAncestorPath } from \"../../NavigationMobile/helpers/checkCurrentOrAncestorPath.helper\";\n\nexport const recursiveCheckCurrentPathDesktop = (\n previous: DA_NavigationPage[],\n current: DA_NavigationPage\n) => {\n const isInCurrentPath = checkCurrentOrAncestorPath(current.path);\n\n if (isInCurrentPath === true && current.path !== \"/\") {\n previous.push(current);\n\n if (current.children?.[0]) {\n return current.children.reduce(recursiveCheckCurrentPathDesktop, previous);\n }\n }\n\n return previous;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"columnList\":\"ColumnList_columnList__XuR-s\",\"columnItem\":\"ColumnList_columnItem__tsQrW\",\"columnLink\":\"ColumnList_columnLink__rG6OO\",\"active\":\"ColumnList_active__3iapV\",\"showAllLink\":\"ColumnList_showAllLink__yqGae\"};","import React, { useMemo } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { adjustUrl } from \"@danishagro/shared/src/helpers/adjustUrl.helper\";\nimport {\n DA_NavigationPage,\n DA_NavigationPageSimple,\n} from \"../../../../../interfaces/navigationPage.interface\";\nimport { DA_BasicLink } from \"../../../../atoms/BasicLink/BasicLink.component\";\nimport { useAppData } from \"../../../../../contexts/appData.context\";\nimport { useTranslations } from \"../../../../../contexts/translations/translations.context\";\nimport S from \"./ColumnList.module.scss\";\n\ninterface Props {\n parentLink: string;\n pages: (DA_NavigationPage | DA_NavigationPageSimple)[];\n currentItems: DA_NavigationPage[];\n setOpenMenuItem: (index: number) => void;\n}\n\nexport const _ColumnList = ({ parentLink, pages, currentItems, setOpenMenuItem }: Props) => {\n const { currentSite } = useAppData();\n const { getDictionaryString } = useTranslations();\n\n const filteredPages = useMemo(() => pages.filter((link) => !link.hideInNavigation), [pages]);\n const enablePageLimit = filteredPages.length > 5 && currentSite !== \"CMS\";\n\n return (\n <ul className={S.columnList}>\n {filteredPages.slice(0, enablePageLimit ? 4 : undefined).map((link, linkIndex) => {\n const currentItem = currentItems?.[2];\n const isCurrentClass =\n currentItem && link.path === currentItem?.path ? S.active : undefined;\n\n return (\n <li key={linkIndex} className={S.columnItem}>\n <DA_BasicLink\n href={adjustUrl(link.metaUrl || link.url || link.path)}\n className={cn(S.columnLink, isCurrentClass)}\n onClick={() => setOpenMenuItem(-1)}\n >\n {link.name}\n </DA_BasicLink>\n </li>\n );\n })}\n\n {/** Show all filter */}\n {enablePageLimit && (\n <li className={S.columnItem}>\n <DA_BasicLink\n href={adjustUrl(parentLink)}\n className={S.showAllLink}\n onClick={() => setOpenMenuItem(-1)}\n >\n {getDictionaryString(\"showAll\", {\n uppercaseFirst: true,\n })}\n </DA_BasicLink>\n </li>\n )}\n </ul>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"navigationDesktop\":\"NavigationDesktop_navigationDesktop__MJZyo\",\"list\":\"NavigationDesktop_list__KuR+o\",\"item\":\"NavigationDesktop_item__5YSJD\",\"link\":\"NavigationDesktop_link__S8P9N\",\"isButton\":\"NavigationDesktop_isButton__q9hh+\",\"opened\":\"NavigationDesktop_opened__QtTsv\",\"menuClosed\":\"NavigationDesktop_menuClosed__9l6Xz\",\"current\":\"NavigationDesktop_current__bPxJf\",\"megaMenuWrapper\":\"NavigationDesktop_megaMenuWrapper__ybMDr\",\"megaMenuList\":\"NavigationDesktop_megaMenuList__+8x4U\",\"column\":\"NavigationDesktop_column__NRO6r\",\"orphanColumn\":\"NavigationDesktop_orphanColumn__PDG4S\",\"columnTitle\":\"NavigationDesktop_columnTitle__42Ovq\",\"active\":\"NavigationDesktop_active__GKA2X\"};","import React, { Fragment, useCallback, useMemo, useRef, useState } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { adjustUrl } from \"@danishagro/shared/src/helpers/adjustUrl.helper\";\nimport { useSiteHeader } from \"../../../../contexts/siteHeader.context\";\nimport { useOnClickOutside } from \"../../../../hooks/useOnClickOutside.hook\";\nimport { DA_BasicLink } from \"../../../atoms/BasicLink/BasicLink.component\";\nimport { DA_NavigationPage } from \"../../../../interfaces/navigationPage.interface\";\nimport { useAppData } from \"../../../../contexts/appData.context\";\nimport { recursiveCheckCurrentPathDesktop } from \"./helpers/recursiveCheckCurrentPathDesktop.helper\";\nimport { _ColumnList } from \"./ColumnList/ColumnList.component\";\nimport { splitIntoChunks } from \"./helpers/splitIntoChunks.helper\";\nimport S from \"./NavigationDesktop.module.scss\";\n\nexport const DA_NavigationDesktop = () => {\n const [openMenuItem, setOpenMenuItem] = useState(-1);\n const { currentSite } = useAppData();\n const { headerMeasure, pageTree } = useSiteHeader();\n\n const navRef = useRef<HTMLDivElement>();\n const timeoutRef = useRef(null);\n\n const onMouseEnterItem = useCallback((itemIndex: number) => {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => setOpenMenuItem(itemIndex), 150);\n }, []);\n\n const onMouseLeaveItem = useCallback(() => {\n clearTimeout(timeoutRef.current);\n }, []);\n\n const onKeyDownItem = useCallback(\n (itemIndex: number, event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === \" \" || event.key === \"Enter\") {\n setOpenMenuItem(openMenuItem === itemIndex ? -1 : itemIndex);\n }\n },\n [openMenuItem]\n );\n\n const onMouseEnterNav = useCallback(() => {\n clearTimeout(timeoutRef.current);\n }, []);\n\n const onMouseLeaveNav = useCallback(() => {\n clearTimeout(timeoutRef.current);\n if (openMenuItem > -1) {\n timeoutRef.current = setTimeout(() => setOpenMenuItem(-1), 400);\n }\n }, [openMenuItem]);\n\n useOnClickOutside(\n navRef,\n useCallback(() => {\n if (openMenuItem) {\n setOpenMenuItem(-1);\n }\n }, [openMenuItem])\n );\n\n const arrangeChildrenByColumns = useMemo(() => {\n const result = [];\n const columnAmount = 5;\n\n const data = (pageTree[openMenuItem]?.children ?? []) as DA_NavigationPage[];\n\n // Split columns depending on which have children\n const allWithChildren: DA_NavigationPage[] = [];\n const allWithoutChildren: DA_NavigationPage[] = [];\n data.forEach((x) => {\n // Skip pages that are hidden\n if (x.hideInNavigation) return;\n\n // Count children (ignore hidden)\n const childCount = (x.children || []).filter(\n (child) => typeof child !== \"undefined\" && !child.hideInNavigation\n ).length;\n\n // Push to relevant array\n if (childCount > 0) {\n allWithChildren.push(x);\n } else {\n allWithoutChildren.push(x);\n }\n });\n\n // Firstly add all the parents with children into columns\n result.push(...allWithChildren);\n\n // Calculate the remaining columns to spread the orphans across\n // Or else create one more column to spread them across\n const remainingColumns =\n columnAmount - result.length > 0 ? columnAmount - result.length : 1;\n const chunks = splitIntoChunks(allWithoutChildren, remainingColumns);\n\n chunks.forEach((chunk) => {\n result.push(chunk);\n });\n\n return result;\n }, [openMenuItem, pageTree]);\n\n // Mappers\n\n const currentItems = (pageTree as DA_NavigationPage[]).reduce(\n recursiveCheckCurrentPathDesktop,\n []\n );\n\n return (\n <nav\n className={S.navigationDesktop}\n ref={navRef}\n onMouseEnter={onMouseEnterNav}\n onMouseLeave={onMouseLeaveNav}\n >\n <ul className={cn(S.list, openMenuItem === -1 && S.menuClosed)}>\n {pageTree?.map((page, index) => {\n const currentItem = currentItems?.[0];\n const isCurrentClass =\n currentItem && page.path === currentItem?.path ? S.current : undefined;\n\n return page.hideInNavigation ? null : (\n <li key={index} className={S.item}>\n {/** Link with children */}\n\n {currentSite === \"CMS\" ? (\n <DA_BasicLink\n className={cn(\n S.link,\n index === openMenuItem && S.opened,\n isCurrentClass\n )}\n href={page.url || page.path}\n onMouseEnter={() => onMouseEnterItem(index)}\n onClick={() => setOpenMenuItem(-1)}\n >\n {page.name}\n </DA_BasicLink>\n ) : (\n <>\n {page.children && page.children.length > 0 ? (\n <button\n type=\"button\"\n className={cn(\n S.link,\n S.isButton,\n index === openMenuItem && S.opened,\n isCurrentClass\n )}\n onMouseEnter={() => onMouseEnterItem(index)}\n onMouseLeave={onMouseLeaveItem}\n onKeyDown={(event) => onKeyDownItem(index, event)}\n >\n {page.name}\n </button>\n ) : null}\n\n {/** Direct Link */}\n {!page.children || page.children.length === 0 ? (\n <DA_BasicLink\n className={cn(\n S.link,\n index === openMenuItem && S.opened,\n isCurrentClass\n )}\n href={page.url || page.path}\n onMouseEnter={() => onMouseEnterItem(index)}\n onClick={() => setOpenMenuItem(-1)}\n >\n {page.name}\n </DA_BasicLink>\n ) : null}\n </>\n )}\n </li>\n );\n })}\n </ul>\n\n {openMenuItem > -1 && pageTree[openMenuItem].children?.length > 0 && (\n <div\n className={S.megaMenuWrapper}\n style={{\n maxHeight: `calc(100vh - ${headerMeasure?.height || 0}px)`,\n }}\n >\n {/** Child columns */}\n <ul className={S.megaMenuList}>\n {(currentSite === \"CMS\"\n ? pageTree[openMenuItem].children\n : arrangeChildrenByColumns\n ).map((page, level2index) => {\n const currentItem = currentItems?.[1];\n const isCurrentClass =\n currentItem && page.path === currentItem?.path\n ? S.active\n : undefined;\n\n // Determine the condition based on currentSite\n const shouldRenderPage =\n currentSite === \"CMS\"\n ? !page.hideInNavigation\n : !page.hideInNavigation && page.children?.[0];\n\n return (\n <Fragment key={level2index}>\n {/** Child with Children */}\n {shouldRenderPage && (\n <li className={S.column}>\n <DA_BasicLink\n href={adjustUrl(\n page.metaUrl || page.url || page.path\n )}\n className={cn(S.columnTitle, isCurrentClass)}\n onClick={() => setOpenMenuItem(-1)}\n >\n {page.name}\n </DA_BasicLink>\n\n {page.children?.length > 0 && (\n <_ColumnList\n parentLink={page.url || page.path}\n pages={page.children}\n currentItems={currentItems}\n setOpenMenuItem={setOpenMenuItem}\n />\n )}\n </li>\n )}\n\n {/** Child with Orphans */}\n {Array.isArray(page) && page?.[0] ? (\n <li\n key={level2index}\n className={cn(S.column, S.orphanColumn)}\n >\n {page.map((orphan, orphanIndex: number) => {\n const isOrphanCurrentClass =\n currentItem && orphan.path === currentItem?.path\n ? S.active\n : undefined;\n\n return (\n /* DIV here to avoid full width link */\n <div key={orphanIndex}>\n <DA_BasicLink\n href={orphan.url || orphan.path}\n className={cn(\n S.columnTitle,\n isOrphanCurrentClass\n )}\n onClick={() => setOpenMenuItem(-1)}\n >\n {orphan.name}\n </DA_BasicLink>\n </div>\n );\n })}\n </li>\n ) : null}\n </Fragment>\n );\n })}\n </ul>\n </div>\n )}\n </nav>\n );\n};\n","import { DA_NavigationPage } from \"../../../../../interfaces/navigationPage.interface\";\n\nexport const splitIntoChunks = (array: DA_NavigationPage[], parts: number) => {\n const result = [];\n\n for (let i = parts; i > 0; i--) {\n result.push(array.splice(0, Math.ceil(array.length / i)));\n }\n\n return result;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"AccountPicker_wrapper__cdAnF\",\"inside\":\"AccountPicker_inside__Sbnmh\",\"top\":\"AccountPicker_top__RWY5K\",\"hasMultipleCompanies\":\"AccountPicker_hasMultipleCompanies__U-vX3\",\"userName\":\"AccountPicker_userName__OqjMN\",\"buttons\":\"AccountPicker_buttons__AyPzZ\",\"buttonWrapper\":\"AccountPicker_buttonWrapper__YMZgC\",\"buttonLink\":\"AccountPicker_buttonLink__zV16c\",\"buttonIcon\":\"AccountPicker_buttonIcon__rAzdF\",\"buttonText\":\"AccountPicker_buttonText__f4K0O\",\"companies\":\"AccountPicker_companies__QkShP\",\"hasThreeOrMoreCompanies\":\"AccountPicker_hasThreeOrMoreCompanies__Zgo9o\",\"company\":\"AccountPicker_company__Q2hvf\",\"vatNumber\":\"AccountPicker_vatNumber__0uIEW\",\"accounts\":\"AccountPicker_accounts__xMpqn\",\"account\":\"AccountPicker_account__16ydy\",\"accountButton\":\"AccountPicker_accountButton__Cu5gc\",\"active\":\"AccountPicker_active__SRv9Z\",\"accountName\":\"AccountPicker_accountName__dXW-H\",\"accountNumber\":\"AccountPicker_accountNumber__Uv538\",\"accountLabel\":\"AccountPicker_accountLabel__DjAtl\",\"changingCustomerOverlay\":\"AccountPicker_changingCustomerOverlay__CI+8k\",\"fadeIn\":\"AccountPicker_fadeIn__n0I3r\",\"text\":\"AccountPicker_text__0EZLe\"};","import React, { useCallback, useState } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { MYFARM_SITE_ORIGIN } from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { SiteHeaderPopUpType, useSiteHeader } from \"../../../../contexts/siteHeader.context\";\nimport { useScreen } from \"../../../../contexts/screen.context\";\nimport { DA_Title, DA_TitleTag } from \"../../../atoms/Title/Title.component\";\nimport { DA_BasicLink } from \"../../../atoms/BasicLink/BasicLink.component\";\nimport { DA_Icon, DA_IconNames } from \"../../../atoms/Icon/Icon.component\";\nimport { useTranslations } from \"../../../../contexts/translations/translations.context\";\nimport { useBottomSheet } from \"../../../../contexts/bottomSheet/bottomSheet.context\";\nimport { DA_Spinner } from \"../../../atoms/Spinner/Spinner.component\";\nimport { useAppData } from \"../../../../contexts/appData.context\";\nimport { DA_AccountPickerProps } from \"./AccountPicker.props\";\nimport S from \"./AccountPicker.module.scss\";\n\nexport const DA_AccountPicker = (_props: DA_AccountPickerProps) => {\n const [isChangingCustomer, setIsChangingCustomer] = useState(false);\n const { headerMeasure, accountButtonMeasure, togglePopUp } = useSiteHeader();\n const { isMobileOrTablet } = useScreen();\n const { dismissBottomSheet } = useBottomSheet();\n const { getDictionaryString } = useTranslations();\n const {\n isAdmin,\n isMasterAdmin,\n isImpersonator,\n cvrAndCustomerNumbers,\n customerNumber,\n changeCustomer,\n currentSite,\n } = useAppData();\n\n const changeAccount = useCallback(\n (accountNumber: string) => {\n setIsChangingCustomer(true);\n\n // Optionally, guard against re-clicking the same account:\n if (accountNumber === customerNumber) {\n // user clicked the same account, so just close and do nothing else\n togglePopUp(SiteHeaderPopUpType.AccountPicker);\n dismissBottomSheet();\n setIsChangingCustomer(false);\n return;\n }\n\n changeCustomer(accountNumber, true)\n .then(() => {\n // Close any pop-ups\n togglePopUp(SiteHeaderPopUpType.AccountPicker);\n dismissBottomSheet();\n\n // **Now** force reload (only on user action, so no infinite loop)\n window.location.reload();\n })\n .catch((err) => {\n // handle or log err if needed\n console.error(err);\n })\n .finally(() => {\n setIsChangingCustomer(false);\n });\n },\n [changeCustomer, customerNumber, dismissBottomSheet, togglePopUp]\n );\n\n const onCloseButtonClicked = () => {\n dismissBottomSheet();\n togglePopUp(undefined);\n };\n\n const getLinkUrl = useCallback(\n (path: string) => (currentSite === \"MYFARM\" ? path : MYFARM_SITE_ORIGIN + path),\n [currentSite]\n );\n\n return (\n <div\n className={cn(\n S.inside,\n cvrAndCustomerNumbers?.accounts?.length > 1 && S.hasMultipleCompanies,\n cvrAndCustomerNumbers?.accounts?.length > 2 && S.hasThreeOrMoreCompanies\n )}\n style={{\n maxHeight:\n !isMobileOrTablet && accountButtonMeasure\n ? `calc(100vh - ${\n accountButtonMeasure.top + accountButtonMeasure.bottom\n }px)`\n : undefined,\n right: !isMobileOrTablet && headerMeasure ? `${headerMeasure.left}px` : undefined,\n top:\n !isMobileOrTablet && accountButtonMeasure\n ? `${accountButtonMeasure.top + accountButtonMeasure.bottom}px`\n : undefined,\n }}\n >\n <div className={S.top}>\n {!isMobileOrTablet && (\n <div className={S.userName}>\n {cvrAndCustomerNumbers.firstName} {cvrAndCustomerNumbers.lastName}\n </div>\n )}\n\n <div className={S.buttons}>\n {/** Button: Administrator */}\n {(isAdmin ||\n isMasterAdmin ||\n (!isAdmin && !isMasterAdmin && isImpersonator)) && (\n <div className={S.buttonWrapper}>\n <DA_BasicLink\n href={getLinkUrl(\"/admin\")}\n target=\"_self\"\n className={S.buttonLink}\n onClick={onCloseButtonClicked}\n >\n <DA_Icon name={DA_IconNames.UserCrown} className={S.buttonIcon} />\n <span className={S.buttonText}>\n {getDictionaryString(\"administrator\", {\n uppercaseFirst: true,\n })}\n </span>\n </DA_BasicLink>\n </div>\n )}\n\n {/** Button: Notifications */}\n {/* NOTE: Removed for now because notifications isn't ready for launch. */}\n {/* <div className={S.buttonWrapper}>\n <DA_BasicLink\n href={getLinkUrl(\"/notifications\")}\n target=\"_self\"\n className={S.buttonLink}\n onClick={onCloseButtonClicked}\n >\n <div className={S.buttonIconWrapper}>\n <DA_Icon name={DA_IconNames.Bell} className={S.buttonIcon} />\n\n {props.notificationCount > 0 ? (\n <DA_Badge\n size=\"small\"\n text={props.notificationCount}\n className={S.buttonIconBadge}\n />\n ) : null}\n </div>\n\n <span className={S.buttonText}>\n {getDictionaryString(\"notificationsTitle\", {\n uppercaseFirst: true,\n })}\n </span>\n </DA_BasicLink>\n </div> */}\n\n {/** Button: Settings */}\n <div className={S.buttonWrapper}>\n <DA_BasicLink\n href={getLinkUrl(\"/profile\")}\n target=\"_self\"\n className={S.buttonLink}\n onClick={onCloseButtonClicked}\n >\n <DA_Icon name={DA_IconNames.CogwheelStroke} className={S.buttonIcon} />\n <span className={S.buttonText}>\n {getDictionaryString(\"settings\", {\n uppercaseFirst: true,\n })}\n </span>\n </DA_BasicLink>\n </div>\n\n {/** Button: Logout */}\n <div className={S.buttonWrapper}>\n <DA_BasicLink\n // All sites should have their own logout page\n // that sends you to the front page when logged out\n href=\"/logout\"\n target=\"_self\"\n conventionalRouting\n className={S.buttonLink}\n onClick={() => {\n onCloseButtonClicked();\n }}\n >\n <DA_Icon name={DA_IconNames.SignOut} className={S.buttonIcon} />\n <span className={S.buttonText}>\n {getDictionaryString(\"logOut\", {\n uppercaseFirst: true,\n })}\n </span>\n </DA_BasicLink>\n </div>\n </div>\n </div>\n <div className={S.companies}>\n {cvrAndCustomerNumbers?.accounts?.map((account, accountIndex) => (\n <section key={`${account.cvr}-${accountIndex}`} className={S.company}>\n <div className={S.vatNumber}>CVR {account.cvr}</div>\n <DA_Title h3 tag={DA_TitleTag.DIV}>\n {account.name}\n </DA_Title>\n <ul className={S.accounts}>\n {account.customers.map((customer) => (\n <li\n key={`${account.cvr}-${accountIndex}-${customer.number}`}\n className={S.account}\n >\n <button\n type=\"button\"\n className={cn(\n S.accountButton,\n customer.number === customerNumber && S.active\n )}\n onClick={() => changeAccount(String(customer.number))}\n >\n <span className={S.accountName}>{customer.name}</span>\n <span className={S.accountNumber}>\n <span className={S.accountLabel}>\n {getDictionaryString(\"account\", {\n uppercaseFirst: true,\n })}\n </span>\n {customer.number}\n </span>\n </button>\n </li>\n ))}\n </ul>\n </section>\n ))}\n </div>\n\n {isChangingCustomer && (\n <div className={S.changingCustomerOverlay}>\n <div>\n <DA_Spinner />\n <div className={S.text}>\n {getDictionaryString(\"Changing customer number\")}\n </div>\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport const DA_AccountPickerPopUp = () => {\n const { headerMeasure } = useSiteHeader();\n const { isMobileOrTablet } = useScreen();\n\n // NOTE: Removed for now because notifications isn't ready for launch.\n // const { notificationCount } = useNotifications();\n\n return (\n <div\n className={S.wrapper}\n style={{\n right: isMobileOrTablet ? undefined : `${headerMeasure.left}px`,\n top: isMobileOrTablet ? undefined : 0,\n }}\n >\n <DA_AccountPicker notificationCount={undefined} />\n </div>\n );\n};\n","import { ImageConfig } from \"@danishagro/shared/src/content/imageConfigs/imageConfig.enum\";\n\nexport const B2bImageSrc = (image: string, imageConfig: ImageConfig) => {\n if (image && imageConfig) {\n return `${image}/${imageConfig}`;\n } else {\n return `\n data:image/svg+xml;utf8,%3Csvg\n width='1469'\n height='1502'\n viewBox='-450 -450 1469 1502'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'%3E\n %3Crect\n x='-450'\n y='-450'\n width='1469'\n height='1502'\n fill='%23eee'\n /%3E%3Cpath d='M363.673 318.555C341.939 340.289 315.548 351.156 284.5 351.156C253.451 351.156 227.06 340.289 205.327 318.555C183.593 296.822 172.726 270.431 172.726 239.382C172.726 208.334 183.593 181.943 205.327 160.209C227.06 138.475 253.451 127.608 284.5 127.608C315.548 127.608 341.939 138.475 363.673 160.209C385.407 181.943 396.274 208.334 396.274 239.382C396.274 270.431 385.407 296.822 363.673 318.555ZM332.004 191.878C318.963 178.838 303.129 172.318 284.5 172.318C265.871 172.318 250.036 178.838 236.996 191.878C223.956 204.919 217.435 220.753 217.435 239.382C217.435 258.011 223.956 273.846 236.996 286.886C250.036 299.927 265.871 306.447 284.5 306.447C303.129 306.447 318.963 299.927 332.004 286.886C345.044 273.846 351.564 258.011 351.564 239.382C351.564 220.753 345.044 204.919 332.004 191.878ZM262.145 239.382C262.145 243.729 260.593 247.455 257.488 250.56C255.004 253.044 251.589 254.286 247.242 254.286C242.895 254.286 239.169 253.044 236.064 250.56C233.581 247.455 232.339 243.729 232.339 239.382C232.339 225.1 237.306 212.991 247.242 203.056C257.798 192.499 270.218 187.221 284.5 187.221C288.846 187.221 292.262 188.774 294.746 191.878C297.85 194.362 299.403 197.778 299.403 202.124C299.403 206.471 297.85 210.197 294.746 213.302C292.262 215.786 288.846 217.028 284.5 217.028C278.29 217.028 273.012 219.201 268.665 223.548C264.318 227.894 262.145 233.173 262.145 239.382ZM365.536 104.322L343.181 44.7095H225.818L203.464 104.322H90.7584V372.58H478.241V104.322H365.536ZM347.838 0C365.225 0 377.024 8.07256 383.233 24.2177L396.274 59.6127H478.241C490.66 59.6127 501.217 63.9595 509.91 72.653C518.604 81.3465 522.951 91.9029 522.951 104.322V372.58C522.951 384.999 518.604 395.555 509.91 404.249C501.217 412.942 490.66 417.289 478.241 417.289H90.7584C78.3391 417.289 67.7826 412.942 59.0891 404.249C50.3956 395.555 46.0488 384.999 46.0488 372.58V104.322C46.0488 91.9029 50.3956 81.3465 59.0891 72.653C67.7826 63.9595 78.3391 59.6127 90.7584 59.6127H172.726L183.903 28.8749C186.387 23.2862 189.492 18.3185 193.218 13.9717C197.564 9.62497 202.532 6.20966 208.121 3.7258C213.71 1.24193 219.609 0 225.818 0H347.838Z' fill='%23858585'/%3E %3Cpath d='M16.3037 573.289H8.83301V509.041H44.6484V515.677H16.3037V539.188H42.9346V545.823H16.3037V573.289ZM95.8008 549.163C95.8008 557.015 93.8232 563.152 89.8682 567.576C85.9131 571.971 80.4492 574.168 73.4766 574.168C69.1699 574.168 65.3467 573.157 62.0068 571.136C58.667 569.114 56.0889 566.214 54.2725 562.435C52.4561 558.655 51.5479 554.231 51.5479 549.163C51.5479 541.312 53.5107 535.203 57.4365 530.838C61.3623 526.443 66.8115 524.246 73.7842 524.246C80.5225 524.246 85.8691 526.487 89.8242 530.97C93.8086 535.452 95.8008 541.517 95.8008 549.163ZM59.1064 549.163C59.1064 555.315 60.3369 560.003 62.7979 563.226C65.2588 566.448 68.877 568.06 73.6523 568.06C78.4277 568.06 82.0459 566.463 84.5068 563.27C86.9971 560.047 88.2422 555.345 88.2422 549.163C88.2422 543.04 86.9971 538.396 84.5068 535.232C82.0459 532.039 78.3984 530.442 73.5645 530.442C68.7891 530.442 65.1855 532.01 62.7539 535.145C60.3223 538.279 59.1064 542.952 59.1064 549.163ZM124.189 568.147C125.479 568.147 126.724 568.06 127.925 567.884C129.126 567.679 130.078 567.474 130.781 567.269V572.85C129.99 573.23 128.818 573.538 127.266 573.772C125.742 574.036 124.365 574.168 123.135 574.168C113.818 574.168 109.16 569.261 109.16 559.446V530.794H102.261V527.278L109.16 524.246L112.236 513.963H116.455V525.125H130.43V530.794H116.455V559.139C116.455 562.039 117.144 564.266 118.521 565.818C119.897 567.371 121.787 568.147 124.189 568.147ZM182.021 549.163C182.021 557.015 180.044 563.152 176.089 567.576C172.134 571.971 166.67 574.168 159.697 574.168C155.391 574.168 151.567 573.157 148.228 571.136C144.888 569.114 142.31 566.214 140.493 562.435C138.677 558.655 137.769 554.231 137.769 549.163C137.769 541.312 139.731 535.203 143.657 530.838C147.583 526.443 153.032 524.246 160.005 524.246C166.743 524.246 172.09 526.487 176.045 530.97C180.029 535.452 182.021 541.517 182.021 549.163ZM145.327 549.163C145.327 555.315 146.558 560.003 149.019 563.226C151.479 566.448 155.098 568.06 159.873 568.06C164.648 568.06 168.267 566.463 170.728 563.27C173.218 560.047 174.463 555.345 174.463 549.163C174.463 543.04 173.218 538.396 170.728 535.232C168.267 532.039 164.619 530.442 159.785 530.442C155.01 530.442 151.406 532.01 148.975 535.145C146.543 538.279 145.327 542.952 145.327 549.163ZM238.579 574.168C231.46 574.168 225.835 572 221.704 567.664C217.603 563.328 215.552 557.308 215.552 549.603C215.552 541.839 217.456 535.672 221.265 531.102C225.103 526.531 230.244 524.246 236.689 524.246C242.725 524.246 247.5 526.238 251.016 530.223C254.531 534.178 256.289 539.407 256.289 545.911V550.525H223.11C223.257 556.18 224.678 560.472 227.373 563.401C230.098 566.331 233.921 567.796 238.843 567.796C244.028 567.796 249.155 566.712 254.224 564.544V571.048C251.646 572.161 249.199 572.952 246.885 573.421C244.6 573.919 241.831 574.168 238.579 574.168ZM236.602 530.354C232.734 530.354 229.644 531.614 227.329 534.134C225.044 536.653 223.696 540.14 223.286 544.593H248.467C248.467 539.993 247.441 536.478 245.391 534.046C243.34 531.585 240.41 530.354 236.602 530.354ZM290.742 524.246C292.881 524.246 294.8 524.422 296.499 524.773L295.488 531.541C293.496 531.102 291.738 530.882 290.215 530.882C286.318 530.882 282.979 532.464 280.195 535.628C277.441 538.792 276.064 542.732 276.064 547.449V573.289H268.77V525.125H274.79L275.625 534.046H275.977C277.764 530.911 279.917 528.494 282.437 526.795C284.956 525.096 287.725 524.246 290.742 524.246ZM351.299 574.168C348.164 574.168 345.293 573.597 342.686 572.454C340.107 571.282 337.939 569.495 336.182 567.093H335.654C336.006 569.905 336.182 572.571 336.182 575.091V594.91H328.887V525.125H334.819L335.83 531.717H336.182C338.057 529.08 340.239 527.176 342.729 526.004C345.22 524.832 348.076 524.246 351.299 524.246C357.686 524.246 362.607 526.429 366.064 530.794C369.551 535.159 371.294 541.282 371.294 549.163C371.294 557.073 369.521 563.226 365.977 567.62C362.461 571.985 357.568 574.168 351.299 574.168ZM350.244 530.442C345.322 530.442 341.763 531.805 339.565 534.529C337.368 537.254 336.24 541.59 336.182 547.537V549.163C336.182 555.931 337.31 560.779 339.565 563.709C341.821 566.609 345.439 568.06 350.42 568.06C354.58 568.06 357.832 566.375 360.176 563.006C362.549 559.637 363.735 554.993 363.735 549.075C363.735 543.069 362.549 538.47 360.176 535.276C357.832 532.054 354.521 530.442 350.244 530.442ZM413.701 573.289L412.251 566.434H411.899C409.497 569.451 407.095 571.502 404.692 572.586C402.319 573.641 399.346 574.168 395.771 574.168C390.996 574.168 387.246 572.938 384.521 570.477C381.826 568.016 380.479 564.515 380.479 559.974C380.479 550.247 388.257 545.149 403.813 544.681L411.987 544.417V541.429C411.987 537.649 411.167 534.866 409.526 533.079C407.915 531.263 405.322 530.354 401.748 530.354C397.734 530.354 393.193 531.585 388.125 534.046L385.884 528.465C388.257 527.176 390.85 526.165 393.662 525.433C396.504 524.7 399.346 524.334 402.188 524.334C407.93 524.334 412.178 525.608 414.932 528.157C417.715 530.706 419.106 534.793 419.106 540.418V573.289H413.701ZM397.222 568.147C401.763 568.147 405.322 566.902 407.9 564.412C410.508 561.922 411.812 558.436 411.812 553.953V549.603L404.517 549.91C398.716 550.115 394.526 551.023 391.948 552.635C389.399 554.217 388.125 556.692 388.125 560.062C388.125 562.698 388.916 564.705 390.498 566.082C392.109 567.459 394.351 568.147 397.222 568.147ZM411.68 509.217C411.68 512.088 410.771 514.402 408.955 516.16C407.168 517.889 404.78 518.753 401.792 518.753C398.833 518.753 396.475 517.903 394.717 516.204C392.959 514.476 392.08 512.176 392.08 509.305C392.08 506.434 392.959 504.163 394.717 502.493C396.504 500.794 398.862 499.944 401.792 499.944C404.751 499.944 407.139 500.823 408.955 502.581C410.771 504.31 411.68 506.521 411.68 509.217ZM406.934 509.305C406.934 507.664 406.45 506.404 405.483 505.525C404.517 504.617 403.286 504.163 401.792 504.163C400.298 504.163 399.067 504.617 398.101 505.525C397.134 506.404 396.65 507.664 396.65 509.305C396.65 510.945 397.09 512.22 397.969 513.128C398.848 514.007 400.122 514.446 401.792 514.446C403.315 514.446 404.546 514.007 405.483 513.128C406.45 512.22 406.934 510.945 406.934 509.305ZM468.105 573.289L449.824 525.125H457.646L468.018 553.689C470.361 560.369 471.738 564.705 472.148 566.697H472.5C472.822 565.145 473.833 561.937 475.532 557.073C477.261 552.181 481.113 541.531 487.09 525.125H494.912L476.631 573.289H468.105ZM522.993 574.168C515.874 574.168 510.249 572 506.118 567.664C502.017 563.328 499.966 557.308 499.966 549.603C499.966 541.839 501.87 535.672 505.679 531.102C509.517 526.531 514.658 524.246 521.104 524.246C527.139 524.246 531.914 526.238 535.43 530.223C538.945 534.178 540.703 539.407 540.703 545.911V550.525H507.524C507.671 556.18 509.092 560.472 511.787 563.401C514.512 566.331 518.335 567.796 523.257 567.796C528.442 567.796 533.569 566.712 538.638 564.544V571.048C536.06 572.161 533.613 572.952 531.299 573.421C529.014 573.919 526.245 574.168 522.993 574.168ZM521.016 530.354C517.148 530.354 514.058 531.614 511.743 534.134C509.458 536.653 508.11 540.14 507.7 544.593H532.881C532.881 539.993 531.855 536.478 529.805 534.046C527.754 531.585 524.824 530.354 521.016 530.354ZM547.339 594.91C544.556 594.91 542.3 594.544 540.571 593.812V587.879C542.593 588.465 544.585 588.758 546.548 588.758C548.833 588.758 550.503 588.128 551.558 586.868C552.642 585.638 553.184 583.748 553.184 581.199V525.125H560.479V580.672C560.479 590.164 556.099 594.91 547.339 594.91ZM552.568 512.073C552.568 510.403 552.979 509.188 553.799 508.426C554.619 507.635 555.645 507.239 556.875 507.239C558.047 507.239 559.058 507.635 559.907 508.426C560.757 509.217 561.182 510.433 561.182 512.073C561.182 513.714 560.757 514.944 559.907 515.765C559.058 516.556 558.047 516.951 556.875 516.951C555.645 516.951 554.619 516.556 553.799 515.765C552.979 514.944 552.568 513.714 552.568 512.073Z' fill='%23858585'/%3E %3C/svg%3E\n `;\n }\n};\n","export enum ImageConfig {\n // Søgning\n SearchImage = \"SearchImage\", // Search 75x75\n\n // Mini basket\n MiniBasketThumbnail = \"MiniBasketThumbnail\", // minibasket 75x75\n\n // Kategorier på forside\n CategoryImage = \"CategoryImage\", // category 500x500\n\n // Produktdetaljeside\n PdpThumbnail = \"PDPThumbnail\", // product detail 75x75\n PdpMainImage = \"PDPMainImage\", // product detail 545x545\n PdpZoom = \"PDPZoom\", // product detail zoom 2500x2500\n\n // Produktliste\n PlpImage = \"PLPImage\", // product list 250x250\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"miniCart\":\"MiniCart_miniCart__2DczE\",\"content\":\"MiniCart_content__zCxfS\",\"header\":\"MiniCart_header__xQjfq\",\"title\":\"MiniCart_title__ykTQv\",\"account\":\"MiniCart_account__o1a0v\",\"accountMobile\":\"MiniCart_accountMobile__Go7gc\",\"table\":\"MiniCart_table__O9lEd\",\"head\":\"MiniCart_head__dX81J\",\"body\":\"MiniCart_body__ztYjR\",\"imageCell\":\"MiniCart_imageCell__XH3bR\",\"noWrap\":\"MiniCart_noWrap__QqCwz\",\"image\":\"MiniCart_image__c+HJz\",\"productName\":\"MiniCart_productName__kmoUo\",\"buttonWrapper\":\"MiniCart_buttonWrapper__9v3xB\",\"button\":\"MiniCart_button__MsAEx\",\"noProductsText\":\"MiniCart_noProductsText__41mF8\"};","import React from \"react\";\nimport { B2B_SITE_ORIGIN } from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { useScreen } from \"@danishagro/shared/src/contexts/screen.context\";\nimport { useSiteHeader } from \"@danishagro/shared/src/contexts/siteHeader.context\";\nimport { DA_BasicLink } from \"@danishagro/shared/src/components/atoms/BasicLink/BasicLink.component\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { useCart } from \"@danishagro/shared/src/contexts/cart/cart.context\";\nimport { formatNumber } from \"@danishagro/shared/src/helpers/formatNumber.helper\";\nimport { getB2bImage } from \"@danishagro/shared/src/helpers/getB2bImage.helper\";\nimport { useBottomSheet } from \"@danishagro/shared/src/contexts/bottomSheet/bottomSheet.context\";\nimport {\n DA_EmptyState,\n DA_EmptyStateTypes,\n} from \"@danishagro/shared/src/components/molecules/EmptyState/EmptyState.component\";\nimport { B2bImageSrc } from \"@danishagro/shared/src/helpers/imageSrc.helper\";\nimport { ImageConfig } from \"@danishagro/shared/src/content/imageConfigs/imageConfig.enum\";\nimport { useTranslations } from \"../../../../contexts/translations/translations.context\";\nimport { getRelativeRootOnLocalhost } from \"../../../../helpers/getRelativeUrlOnLocalhost.helper\";\nimport { useAppData } from \"../../../../contexts/appData.context\";\nimport S from \"./MiniCart.module.scss\";\n\nexport const DA_MiniCartPopUp = () => {\n const { getDictionaryItem, getDictionaryString } = useTranslations();\n const { currentCulture, cvrAndCustomerNumbers, customerNumber } = useAppData();\n\n const {\n headerMeasure,\n cartButtonMeasure,\n farmInTimeButtonMeasure,\n accountButtonMeasure,\n togglePopUp,\n } = useSiteHeader();\n\n const { isMobileOrTablet } = useScreen();\n const { orderLines, isLoadingCart } = useCart();\n\n const { dismissBottomSheet } = useBottomSheet();\n\n const hasOrderLines = (orderLines?.length ?? 0) > 0;\n const cartUrl = `${getRelativeRootOnLocalhost(B2B_SITE_ORIGIN)}/cart`;\n\n const onCloseButtonClicked = () => {\n dismissBottomSheet();\n togglePopUp(undefined);\n };\n\n return (\n <div\n className={S.miniCart}\n style={{\n maxHeight:\n !isMobileOrTablet && cartButtonMeasure\n ? `calc(100vh - ${cartButtonMeasure.top + cartButtonMeasure.bottom}px)`\n : undefined,\n right:\n !isMobileOrTablet &&\n farmInTimeButtonMeasure &&\n accountButtonMeasure &&\n headerMeasure\n ? `${\n farmInTimeButtonMeasure.width +\n accountButtonMeasure.width +\n headerMeasure.left\n }px`\n : undefined,\n top: !isMobileOrTablet && cartButtonMeasure ? 0 : undefined,\n }}\n >\n <div className={S.content}>\n {!isMobileOrTablet ? (\n <div className={S.header}>\n {/** Header */}\n <h2 className={S.title}>\n {getDictionaryItem(\"miniCartTitle\", {\n uppercaseFirst: true,\n })}\n </h2>\n\n {cvrAndCustomerNumbers && customerNumber ? (\n <div className={S.account}>\n {cvrAndCustomerNumbers.firstName} {cvrAndCustomerNumbers.lastName} (\n {customerNumber})\n </div>\n ) : null}\n </div>\n ) : null}\n\n {isMobileOrTablet && cvrAndCustomerNumbers && customerNumber ? (\n <div className={S.accountMobile}>\n {cvrAndCustomerNumbers.firstName} {cvrAndCustomerNumbers.lastName} (\n {customerNumber})\n </div>\n ) : null}\n\n {isLoadingCart && (\n <DA_EmptyState\n type={DA_EmptyStateTypes.Loading}\n title={getDictionaryString(\"loading cart\")}\n iconOnly\n />\n )}\n\n {/** Order lines */}\n {!isLoadingCart && orderLines?.length > 0 && (\n <table className={S.table}>\n <thead className={S.head}>\n <tr>\n <th colSpan={2}>\n {getDictionaryItem(\"product\", {\n uppercaseFirst: true,\n })}\n </th>\n <th>\n {getDictionaryItem(\"amount\", {\n uppercaseFirst: true,\n })}\n </th>\n </tr>\n </thead>\n <tbody className={S.body}>\n {orderLines.map((orderLine) => {\n const image = getB2bImage(orderLine.image, 60);\n return (\n <tr key={orderLine.id}>\n <td className={S.imageCell}>\n <DA_BasicLink href={orderLine.url}>\n {/* TODO: Fix images */}\n <img\n src={B2bImageSrc(\n orderLine.imageUrl,\n ImageConfig.SearchImage\n )}\n alt={image.alt}\n width={image.width}\n className={S.image}\n />\n\n {/* <DA_Image\n src={image.url}\n alt=\"\"\n width={image.width}\n height={image.height}\n className={S.image}\n /> */}\n </DA_BasicLink>\n </td>\n\n <td>\n <DA_BasicLink\n href={orderLine.url}\n className={S.productName}\n >\n {orderLine.productName}\n </DA_BasicLink>\n </td>\n <td className={S.noWrap}>\n {formatNumber(orderLine.quantity, currentCulture)}{\" \"}\n {getDictionaryItem(\"pcs\")}\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n )}\n\n {hasOrderLines || (\n <div className={S.noProductsText}>\n {getDictionaryItem(\"MiniBasketNoProducts\")}\n </div>\n )}\n </div>\n\n {/** Submit */}\n <div className={S.buttonWrapper}>\n <DA_Button\n href={cartUrl}\n title={getDictionaryString(\"goToCart\")}\n onClick={onCloseButtonClicked}\n target=\"_self\"\n className={S.button}\n disabled={!hasOrderLines}\n />\n </div>\n </div>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"NotificationsAndAccounts_wrapper__GdMJi\"};","import React from \"react\";\nimport { useSiteHeader } from \"../../../../contexts/siteHeader.context\";\nimport { DA_AccountPicker } from \"../AccountPicker/AccountPicker.component\";\nimport { DA_NotificationsAndAccountsPopUpProps } from \"./NotificationsAndAccounts.props\";\nimport S from \"./NotificationsAndAccounts.module.scss\";\n\nexport const DA_NotificationsAndAccountsPopUp = (props: DA_NotificationsAndAccountsPopUpProps) => {\n const { headerMeasure } = useSiteHeader();\n\n return (\n <div\n className={S.wrapper}\n style={{\n maxHeight: headerMeasure ? `calc(100vh - ${headerMeasure.height}px)` : undefined,\n }}\n >\n <DA_AccountPicker notificationCount={props.notificationCount} />\n </div>\n );\n};\n","import { useEffect } from 'react';\nimport useTimeoutFn from './useTimeoutFn';\nexport default function useDebounce(fn, ms, deps) {\n if (ms === void 0) { ms = 0; }\n if (deps === void 0) { deps = []; }\n var _a = useTimeoutFn(fn, ms), isReady = _a[0], cancel = _a[1], reset = _a[2];\n useEffect(reset, deps);\n return [isReady, cancel];\n}\n","import { useCallback, useEffect, useRef } from 'react';\nexport default function useTimeoutFn(fn, ms) {\n if (ms === void 0) { ms = 0; }\n var ready = useRef(false);\n var timeout = useRef();\n var callback = useRef(fn);\n var isReady = useCallback(function () { return ready.current; }, []);\n var set = useCallback(function () {\n ready.current = false;\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n ready.current = true;\n callback.current();\n }, ms);\n }, [ms]);\n var clear = useCallback(function () {\n ready.current = null;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n // update ref when function changes\n useEffect(function () {\n callback.current = fn;\n }, [fn]);\n // set on mount, clear on unmount\n useEffect(function () {\n set();\n return clear;\n }, [ms]);\n return [isReady, clear, set];\n}\n","export const RELEWISE = {\n datasetId: globalThis.relewiseDataSetId,\n datasetName: \"Danish Agro A.M.B.A. - Free Trial\",\n apiKey: globalThis.relewiseApiKey,\n serverUrl: globalThis.relewiseUrl,\n};\n","import React from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { DA_ImageProps } from \"../../../interfaces/imageProps.interface\";\n\nexport interface DA_ImageImgProps extends DA_ImageProps {\n priority?: boolean;\n fetchpriority?: \"high\" | \"low\" | \"auto\";\n}\n\nexport const DA_Image = React.forwardRef<HTMLImageElement, DA_ImageImgProps>(\n ({ alt, src, priority = false, fetchpriority, ...rest }, ref) => (\n <>\n {priority && (\n <Helmet>\n <link rel=\"preload\" as=\"image\" href={src} crossOrigin={rest.crossOrigin} />\n </Helmet>\n )}\n <img\n ref={ref}\n alt={alt}\n src={src}\n {...rest}\n loading={priority ? \"eager\" : rest.loading || \"lazy\"}\n decoding=\"async\"\n {...(fetchpriority ? { fetchpriority } : {})}\n />\n </>\n )\n);\nDA_Image.displayName = \"DA_Image\";\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport {\n ProductSearchBuilder,\n SelectedProductPropertiesSettings,\n Settings,\n ProductCategorySearchResponse,\n ProductCategorySearchBuilder,\n ProductSearchResponse,\n Searcher,\n UserFactory,\n ProductResult,\n Recommender,\n Tracker,\n ProductFacetResult,\n} from \"@relewise/client\";\nimport { RELEWISE } from \"@danishagro/shared/src/constants/relewise.constants\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { twoLetterIsoLanguage } from \"@danishagro/shared/src/helpers/culture.helper\";\nimport { DA_NewProductSimple } from \"@danishagro/shared/src/interfaces/productv2.interface\";\nimport { usePage } from \"@danishagro/shared/src/contexts/page.context\";\nimport { useSearchParams } from \"react-router-dom\";\nimport { addWebUserGroupsFilter } from \"@danishagro/shared/src/helpers/relewiseFilters.helper\";\n\nexport class Dataset {\n datasetId: string;\n apiKey: string;\n language: string;\n currencyCode: string;\n displayName?: string;\n serverUrl?: string;\n\n constructor(\n datasetId?: string,\n apiKey?: string,\n language?: string,\n currencyCode?: string,\n displayName?: string,\n serverUrl?: string\n ) {\n this.datasetId = datasetId ?? \"\";\n this.displayName = displayName;\n this.apiKey = apiKey ?? \"\";\n this.language = language ?? \"\";\n this.currencyCode = currencyCode ?? \"\";\n this.serverUrl = serverUrl;\n }\n}\n\ninterface RelewiseHook {\n getSelectedDataset: () => Dataset;\n getSearcher: () => Searcher;\n getTracker: () => Tracker;\n getRecommender: () => Recommender;\n getProductSettings: () => SelectedProductPropertiesSettings;\n getDefaultSettings: () => Settings;\n isConfigured: () => boolean;\n fetchProducts: (\n currentPage?: number,\n currentPageSize?: number\n ) => Promise<ProductSearchResponse>;\n getCategory: (categoryId: string) => Promise<ProductCategorySearchResponse>;\n categoryId: string;\n setCategoryId: (categoryId: string) => void;\n page: number;\n pageCount: number;\n setPage: (newPage: number) => void;\n pageSize: number;\n initialDefaultPageSize: number;\n initialQuickOrderPageSize: number;\n setPageSize: (pageSize: number) => void;\n facetGroups: string[];\n setFacetGroups: (facetGroups: string[]) => void;\n selectedFacets: Record<string, string[]>;\n setSelectedFacets: (facetValues: Record<string, string[]>) => void;\n removeFilter: (facetKey: string, facetValue: string) => void;\n resetFilters: () => void;\n relewiseUser: () => UserFactory;\n allowTracking: () => boolean;\n\n sortingOptions: string[];\n selectedSortingOption: string;\n setSelectedSortingOption: (sortingOption: string) => void;\n\n products: DA_NewProductSimple[];\n totalProductCount: number;\n\n facets: ProductFacetResult;\n\n handleProductResponse: (reponse: ProductSearchResponse, aggregateProduct?: boolean) => void;\n mapProduct: (product: ProductResult, currentCategoryId?: string) => DA_NewProductSimple;\n mapProductSearchResponse: (\n productSearchResponse: ProductSearchResponse,\n currentCategoryId: string\n ) => DA_NewProductSimple[];\n}\n\nconst RelewiseContext = React.createContext<RelewiseHook>({\n getSelectedDataset: () => null,\n getSearcher: () => null,\n getTracker: () => null,\n getRecommender: () => null,\n getProductSettings: () => null,\n getDefaultSettings: () => null,\n isConfigured: () => null,\n fetchProducts: () => null,\n getCategory: () => null,\n page: null,\n pageCount: null,\n setPage: () => null,\n categoryId: null,\n setCategoryId: () => null,\n pageSize: null,\n initialDefaultPageSize: null,\n initialQuickOrderPageSize: null,\n setPageSize: () => null,\n facetGroups: null,\n setFacetGroups: () => null,\n selectedFacets: null,\n setSelectedFacets: () => null,\n removeFilter: () => null,\n resetFilters: () => null,\n relewiseUser: () => null,\n\n allowTracking: () => null,\n\n sortingOptions: null,\n selectedSortingOption: null,\n setSelectedSortingOption: () => null,\n\n products: null,\n totalProductCount: null,\n facets: null,\n handleProductResponse: () => null,\n\n mapProduct: () => null,\n mapProductSearchResponse: () => null,\n});\n\ntype Props = {\n paginationPageSize?: number;\n children: React.ReactNode;\n};\n\nexport enum Sort {\n Recommended = \"Recommended\",\n Popular = \"Popular\",\n AlphabeticalAsc = \"AlphabeticalAsc\",\n AlphabeticalDesc = \"AlphabeticalDesc\",\n}\n\nconst initialSortingOption = Sort.Popular;\nconst queryStringSortParamKey = \"sortBy\";\n\nexport const RelewiseProvider = ({ paginationPageSize, children }: Props): JSX.Element => {\n const [initialDefaultPageSize] = useState<number>(24);\n const [initialQuickOrderPageSize] = useState<number>(200);\n const [pageSize, setPageSize] = useState<number>(paginationPageSize || initialDefaultPageSize);\n const [page, setPage] = useState<number>(1);\n const [pageCount, setPageCount] = useState<number>(0);\n const [categoryId, setCategoryId] = useState<string>(undefined);\n const [totalProductCount, setTotalProductCount] = useState<number>(0);\n const [facetGroups, setFacetGroups] = useState<string[]>(null);\n const [products, setProducts] = useState<DA_NewProductSimple[]>([]);\n const [facets, setFacets] = useState<ProductFacetResult>(undefined);\n\n const [dataSet, setDataSet] = useState<Dataset>(undefined);\n const {\n currentCulture,\n customerNumber,\n cvrAndCustomerNumbers,\n isAdmin,\n isMasterAdmin,\n isImpersonator,\n } = useAppData();\n const { getCategoryPathFromId } = usePage();\n\n const [selectedSortingOption, setSelectedSortingOption] = useState<string>(() => {\n const params = new URLSearchParams(location.search);\n return params.has(queryStringSortParamKey)\n ? params.get(queryStringSortParamKey)\n : initialSortingOption;\n });\n\n const [sortingOptions] = useState<string[]>([\n Sort.Recommended,\n Sort.Popular,\n Sort.AlphabeticalAsc,\n Sort.AlphabeticalDesc,\n ]);\n\n const [selectedFacets, setSelectedFacets] = useState<Record<string, string[]>>({});\n const [searchParams] = useSearchParams();\n\n if (!dataSet) {\n setDataSet(\n new Dataset(\n RELEWISE.datasetId,\n RELEWISE.apiKey,\n twoLetterIsoLanguage(currentCulture),\n \"DKK\",\n RELEWISE.datasetName,\n RELEWISE.serverUrl\n )\n );\n }\n\n const removeFilter = useCallback(\n (filterKey: string, filterValue: string) => {\n const tempFacets = { ...selectedFacets };\n setSelectedFacets(null);\n\n const index = tempFacets[filterKey].indexOf(filterValue);\n tempFacets[filterKey].splice(index, 1);\n setSelectedFacets(tempFacets);\n },\n [selectedFacets]\n );\n\n const resetFilters = useCallback(() => {\n const selectedFilters: Record<string, string[]> = {};\n\n if (facetGroups?.length) {\n facetGroups.map((group) => {\n selectedFilters[group] = [];\n });\n }\n\n setSelectedFacets(selectedFilters);\n }, [facetGroups]);\n\n const getSelectedDataset = useCallback(() => {\n if (!dataSet) {\n console.error(\"Dataset not correctly initialized\");\n }\n return dataSet;\n }, [dataSet]);\n\n const isConfigured = useCallback(() => {\n const selectedDataset = getSelectedDataset();\n if (\n !selectedDataset.apiKey ||\n !selectedDataset.datasetId ||\n !selectedDataset.currencyCode ||\n !selectedDataset.language\n ) {\n console.error(\"Dataset not correctly configured\");\n return false;\n }\n\n return true;\n }, [getSelectedDataset]);\n\n const getRecommender = useCallback(() => {\n const selectedDataset = getSelectedDataset();\n\n return new Recommender(selectedDataset.datasetId, selectedDataset.apiKey, {\n serverUrl: selectedDataset.serverUrl,\n });\n }, [getSelectedDataset]);\n\n const getSearcher = useCallback(() => {\n const selectedDataset = getSelectedDataset();\n return new Searcher(selectedDataset.datasetId, selectedDataset.apiKey, {\n serverUrl: selectedDataset.serverUrl,\n });\n }, [getSelectedDataset]);\n\n const getTracker = useCallback(() => {\n const selectedDataset = getSelectedDataset();\n\n return new Tracker(selectedDataset.datasetId, selectedDataset.apiKey, {\n serverUrl: selectedDataset.serverUrl,\n });\n }, [getSelectedDataset]);\n\n const getProductSettings = useCallback(() => {\n return {\n displayName: true,\n allData: true,\n brand: true,\n categoryPaths: true,\n pricing: true,\n allVariants: true,\n } as SelectedProductPropertiesSettings;\n }, []);\n\n const getDefaultSettings = useCallback(() => {\n if (!isConfigured()) {\n throw new Error(\"Missing language or currencycode\");\n }\n\n const dataset = getSelectedDataset();\n // TODO: Change location and user\n\n return {\n language: dataset.language,\n currency: dataset.currencyCode,\n displayedAtLocation: \"Product Listing Page\",\n user: UserFactory.anonymous(),\n };\n }, [getSelectedDataset, isConfigured]);\n\n const fetchProducts = (currentPage?: number, currentPageSize?: number) => {\n const builder = new ProductSearchBuilder(getDefaultSettings())\n .setSelectedProductProperties(getProductSettings())\n .setSelectedVariantProperties({ allData: true })\n .setExplodedVariants(1)\n .facets((f) => {\n facetGroups?.map((facetGroup) => {\n const facetValues = selectedFacets ? selectedFacets[facetGroup] : [];\n f.addProductDataStringValueFacet(\n facetGroup,\n \"ProductWithFallbackToVariant\",\n facetValues\n );\n });\n })\n .filters((f) => {\n f.addProductCategoryIdFilter(\"Ancestor\", [categoryId]);\n\n // Conditionally apply the `addWebUserGroupsFilter`\n if (globalThis.useCustomerGroups) {\n addWebUserGroupsFilter(f, customerNumber, cvrAndCustomerNumbers);\n }\n })\n .pagination((p) =>\n p\n .setPageSize(currentPageSize ? currentPageSize : pageSize)\n .setPage(currentPage || page)\n )\n .sorting((s) => {\n s.sortByProductPopularity();\n\n switch (selectedSortingOption) {\n case Sort.Popular: {\n s.sortByProductPopularity();\n break;\n }\n case Sort.Recommended: {\n s.sortByProductRelevance();\n break;\n }\n case Sort.AlphabeticalAsc: {\n s.sortByProductAttribute(\"DisplayName\", \"Ascending\");\n break;\n }\n case Sort.AlphabeticalDesc: {\n s.sortByProductAttribute(\"DisplayName\", \"Descending\");\n break;\n }\n default: {\n break;\n }\n }\n });\n\n return getSearcher().searchProducts(builder.build());\n };\n\n const getCategory = useCallback(\n (categoryId: string) => {\n const builder = new ProductCategorySearchBuilder(getDefaultSettings())\n .setSelectedCategoryProperties({ displayName: true })\n .filters((f) =>\n f.addProductCategoryIdFilter(\"ImmediateParentOrItsParent\", [categoryId])\n );\n\n return getSearcher().searchProductCategories(builder.build());\n },\n [getDefaultSettings, getSearcher]\n );\n\n // Set user based on authentication\n const relewiseUser = useCallback(() => {\n return customerNumber\n ? UserFactory.byAuthenticatedId(cvrAndCustomerNumbers.userId)\n : UserFactory.anonymous();\n }, [customerNumber, cvrAndCustomerNumbers.userId]);\n\n // Allow tracking if not admin, impersonator or master admin\n const allowTracking = useCallback(() => {\n if (isAdmin || isImpersonator || isMasterAdmin) {\n return false;\n }\n return true;\n }, [isAdmin, isImpersonator, isMasterAdmin]);\n\n // TODO: move mappers to new helper\n // -------------------------------------------------------\n // Mapping Relewise data types\n // -------------------------------------------------------\n const getProductUrl = useCallback(\n (product: ProductResult, currentCategoryId) => {\n if (!product.categoryPaths?.length) {\n return undefined;\n }\n\n const leafCategories = product.categoryPaths?.map(\n (cp) => cp.pathFromRoot.reduce((_acc, current) => current).id\n );\n\n const foundInLeafCategory = leafCategories.findIndex(\n (cat) => cat === currentCategoryId\n );\n\n // Id is found in leaf categoryPaths\n // Use it to stay in correct context (as product can be present in many categories)\n if (foundInLeafCategory > 0) {\n return `${getCategoryPathFromId(leafCategories[foundInLeafCategory])}/${\n product.data?.webNameSlug?.value\n }`;\n }\n\n // Id is found in leaf category tree\n // Use it to stay in context as much as possible\n const foundInCategoryTree = product.categoryPaths?.find((cp) =>\n cp.pathFromRoot.find((p) => p.id === currentCategoryId)\n );\n\n if (foundInCategoryTree?.pathFromRoot?.length) {\n const treeCategoryId = foundInCategoryTree.pathFromRoot.reduce(\n (_acc, current) => current\n ).id;\n return `${getCategoryPathFromId(treeCategoryId)}/${\n product.data?.webNameSlug?.value\n }`;\n }\n\n // Id not found in either leaf category or category tree.\n // Just fallback to canonicalBaseUrl\n return `${product.data?.canonicalBaseUrl?.value}/${product.data?.webNameSlug?.value}`;\n },\n [getCategoryPathFromId]\n );\n\n const mapProduct = useCallback(\n (product: ProductResult, currentCategoryId?: string): DA_NewProductSimple => {\n // TODO: Delete categoryId\n return {\n webName: product.displayName,\n displayName: product.displayName,\n entityId: product.productId,\n variantEntityId: product.variant?.variantId ?? \"\", // Ensure a default value if variantId is null\n hasVariants: product.allVariants?.length > 1,\n quantityOnPallet: product?.data?.quantityOnPallet,\n\n masterProductNumber: product.data?.masterProductNumber?.value, // TODO: missing data from Relewise\n productNumber: product.data?.masterProductNumber?.value, // TODO: missing data from Relewise\n\n hasHazardStatement: product.data?.hazardStatement?.value?.length > 0,\n\n retailVariantId: \"\", // TODO: missing data\n newProduct: false, // TODO: missing data\n\n imageUrl: product.data?.mediaUrl?.value ?? \"\", // Ensure a default value if mediaUrl is null\n url: getProductUrl(product, currentCategoryId),\n productUrl: `${product.data?.canonicalBaseUrl?.value}/${product.data?.webNameSlug?.value}`,\n data: product.data,\n\n // TODO: Delete temp prop\n relewiseProduct: product,\n };\n },\n [getProductUrl]\n );\n\n const mapProductSearchResponse = useCallback(\n (\n productSearchResponse: ProductSearchResponse,\n currentCategoryId: string\n ): DA_NewProductSimple[] => {\n return productSearchResponse.results?.map((product) =>\n mapProduct(product, currentCategoryId)\n );\n },\n [mapProduct]\n );\n\n useEffect(() => {\n // Set initial facet selection - prepare records with page facets and QS params\n if (facetGroups?.length) {\n const selectedFilters: Record<string, string[]> = {};\n facetGroups.map((group) => {\n selectedFilters[group] = searchParams.has(group)\n ? searchParams.get(group).split(\",\")\n : [];\n });\n setSelectedFacets(selectedFilters);\n }\n }, [facetGroups, searchParams]);\n\n const generateFacetQueryString = useCallback(() => {\n const params = new URLSearchParams(location.search);\n // const params = new URLSearchParams(searchParams.toString());\n\n Object.keys(selectedFacets).map((facet) => {\n if (selectedFacets[facet].length) {\n params.set(facet, selectedFacets[facet].toString());\n } else {\n params.delete(facet);\n }\n });\n\n if (selectedSortingOption !== initialSortingOption) {\n params.set(queryStringSortParamKey, selectedSortingOption);\n } else {\n params.delete(queryStringSortParamKey);\n }\n\n return params;\n }, [selectedFacets, selectedSortingOption]);\n\n const updateSearchParams = (params: URLSearchParams) => {\n const newUrl = [window.location.pathname, params.toString()].filter(Boolean).join(\"?\");\n\n // alright, let's talk about this...\n // Normally you'd update the params via useSearchParams from react-router-dom\n // and updating the search params will trigger the search to update for you.\n // However, it also triggers a navigation to the new url, which will trigger\n // the loader to run which we do not want because all our data is already\n // on the client and we're just doing client-side filtering of data we\n // already have. So we manually call `window.history.pushState` to avoid\n // the router from triggering the loader.\n\n window.history.replaceState(null, \"\", newUrl);\n };\n\n const handleSearchParams = useCallback(\n (): Promise<void> =>\n new Promise((resolve) => {\n // Use custom param handling to avoid double requests to relewise on facets\n updateSearchParams(generateFacetQueryString());\n return resolve(null);\n }),\n [generateFacetQueryString]\n );\n\n const handleProductResponse = useCallback(\n (response: ProductSearchResponse, aggregateProduct?: boolean) => {\n setPageCount(Math.ceil(response?.hits / pageSize));\n setTotalProductCount(response?.hits);\n setFacets(response.facets);\n handleSearchParams();\n\n if (aggregateProduct) {\n // Aggregate products instead of just setting them - to support infinite scroll\n setProducts((prevState) => [\n ...prevState,\n ...mapProductSearchResponse(response, categoryId),\n ]);\n } else {\n setPage(1);\n // Sorting or facets changed, so replace products\n setProducts(mapProductSearchResponse(response, categoryId));\n }\n },\n [categoryId, handleSearchParams, mapProductSearchResponse, pageSize]\n );\n\n return (\n <RelewiseContext.Provider\n value={{\n getSelectedDataset,\n getDefaultSettings,\n getProductSettings,\n getSearcher,\n getTracker,\n getRecommender,\n isConfigured,\n fetchProducts,\n getCategory,\n page,\n pageCount,\n setPage,\n categoryId,\n setCategoryId,\n pageSize,\n initialDefaultPageSize,\n initialQuickOrderPageSize,\n setPageSize,\n facetGroups,\n setFacetGroups,\n selectedFacets,\n setSelectedFacets,\n removeFilter,\n resetFilters,\n\n sortingOptions,\n selectedSortingOption,\n setSelectedSortingOption,\n\n products,\n totalProductCount,\n facets,\n handleProductResponse,\n\n mapProduct,\n mapProductSearchResponse,\n relewiseUser,\n\n allowTracking,\n }}\n >\n {children}\n </RelewiseContext.Provider>\n );\n};\n\nexport const useRelewise = (): RelewiseHook => React.useContext(RelewiseContext);\n","// extracted by mini-css-extract-plugin\nexport default {\"link\":\"SearchProduct_link__rUe9P\",\"image\":\"SearchProduct_image__xa9Ge\",\"imagesrc\":\"SearchProduct_imagesrc__3ZTdd\",\"data\":\"SearchProduct_data__8mJMC\",\"details\":\"SearchProduct_details__yixmi\",\"productNumber\":\"SearchProduct_productNumber__eGAyM\"};","import React from \"react\";\nimport reactStringReplace from \"react-string-replace\";\nimport { B2bImageSrc } from \"@danishagro/shared/src/helpers/imageSrc.helper\";\nimport { ImageConfig } from \"@danishagro/shared/src/content/imageConfigs/imageConfig.enum\";\nimport { GET_B2B_SITE_ORIGIN } from \"@danishagro/shared/src/helpers/urlRoot.helper\";\nimport { DA_BasicLink } from \"../../../../atoms/BasicLink/BasicLink.component\";\nimport { RelewiseSearchProduct } from \"../interfaces/relewiseSearchProduct.interface\";\nimport S from \"./SearchProduct.module.scss\";\n\nexport const _SearchProduct = ({\n highlightedString,\n onResultClicked,\n ...props\n}: RelewiseSearchProduct & { highlightedString: string; onResultClicked: () => void }) => {\n const baseUrl = GET_B2B_SITE_ORIGIN(\"ABSOLUTE\");\n const productUrl = `${baseUrl}${props.data?.canonicalBaseUrl?.value}/${props.data?.webNameSlug?.value}`;\n\n const mediaUrl = props.data?.mediaUrl?.value;\n\n return (\n <DA_BasicLink\n forceNativeUrl\n onClick={onResultClicked}\n href={productUrl}\n target=\"_self\"\n className={S.link}\n >\n <figure className={S.image}>\n <img\n src={B2bImageSrc(mediaUrl, ImageConfig.SearchImage)}\n alt={props.displayName}\n width=\"50\"\n height=\"50\"\n className={S.imagesrc}\n />\n </figure>\n <div className={S.data}>\n <div className={S.details}>\n <div className={S.productNumber}>{props.data.masterProductNumber.value}</div>\n {reactStringReplace(\n props.displayName || \"Mangler produktnavn\",\n new RegExp(`(${highlightedString})`, \"ig\"),\n (match, index) => (\n <b key={index}>{match}</b>\n )\n )}\n </div>\n </div>\n </DA_BasicLink>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"link\":\"SearchPage_link__R59NT\",\"data\":\"SearchPage_data__Bzm2f\",\"details\":\"SearchPage_details__Nfhvk\"};","import React from \"react\";\nimport reactStringReplace from \"react-string-replace\";\nimport { DA_BasicLink } from \"../../../../atoms/BasicLink/BasicLink.component\";\nimport { CMS_SITE_ORIGIN } from \"../../../../../constants/urlRoot.constants\";\nimport { DA_NavigationPageSimple } from \"../../../../../interfaces/navigationPage.interface\";\nimport S from \"./SearchPage.module.scss\";\n\nexport const _SearchPage = ({\n highlightedString,\n onResultClicked,\n ...props\n}: DA_NavigationPageSimple & { highlightedString: string; onResultClicked: () => void }) => {\n return (\n <DA_BasicLink\n onClick={onResultClicked}\n href={`${CMS_SITE_ORIGIN}${props.url}`}\n target=\"_self\"\n className={S.link}\n >\n <div className={S.data}>\n <div className={S.details}>\n {reactStringReplace(\n props.name,\n new RegExp(`(${highlightedString})`, \"ig\"),\n (match, index) => (\n <b key={index}>{match}</b>\n )\n )}\n </div>\n </div>\n </DA_BasicLink>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"SearchInput_wrapper__FFjKw\",\"form\":\"SearchInput_form__9XGem\",\"input\":\"SearchInput_input__I1fXb\",\"button\":\"SearchInput_button__5zJKP\",\"searchIcon\":\"SearchInput_searchIcon__Lb-H7\",\"clearIcon\":\"SearchInput_clearIcon__C+7d4\",\"incrementalSearchResults\":\"SearchInput_incrementalSearchResults__KP2Zz\",\"resultsContainer\":\"SearchInput_resultsContainer__BfQX2\",\"statusContainer\":\"SearchInput_statusContainer__u81vN\",\"productList\":\"SearchInput_productList__5r63s\"};","import React, {\n FormEvent,\n useCallback,\n useDeferredValue,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport ReactFocusLock from \"react-focus-lock\";\nimport { ProductSearchBuilder, ProductSearchResponse } from \"@relewise/client\";\nimport { useDebounce } from \"react-use\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { useOnClickOutside } from \"@danishagro/shared/src/hooks/useOnClickOutside.hook\";\nimport { blurActiveElement } from \"@danishagro/shared/src/helpers/blurActiveElement.helper\";\nimport { useBottomSheet } from \"@danishagro/shared/src/contexts/bottomSheet/bottomSheet.context\";\nimport { useSiteHeader } from \"@danishagro/shared/src/contexts/siteHeader.context\";\nimport { DA_Spinner } from \"@danishagro/shared/src/components/atoms/Spinner/Spinner.component\";\nimport { useRelewise } from \"@danishagro/shared/src/contexts/relewise.context\";\nimport { useSearch } from \"@danishagro/shared/src/hooks/useSearch.hook\";\nimport { addWebUserGroupsFilter } from \"@danishagro/shared/src/helpers/relewiseFilters.helper\";\nimport { DA_SearchResults } from \"../../../../interfaces/search.interface\";\nimport { _SearchProduct } from \"./SearchProduct/SearchProduct.component\";\nimport { RelewiseSearchProduct } from \"./interfaces/relewiseSearchProduct.interface\";\nimport { _SearchPage } from \"./SearchPage/SearchPage.component\";\nimport S from \"./SearchInput.module.scss\";\n\ninterface DA_SearchInputProps {\n trapFocus?: boolean;\n}\n\nexport const DA_SearchInput = (props: DA_SearchInputProps) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const deferredSearchTerm = useDeferredValue(searchTerm);\n const [viewState, setViewState] = useState<string>(\"NONE\");\n const [results, setResults] = useState<DA_SearchResults>();\n const [relewiseResults, setRelewiseResults] = useState<RelewiseSearchProduct[]>();\n const [totalResults, setTotalResults] = useState(0);\n const { currentSite, cvrAndCustomerNumbers, customerNumber } = useAppData();\n const { getDictionaryString } = useTranslations();\n const location = useLocation();\n const wrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const controllerRef = useRef<AbortController | null>();\n const search = useSearch();\n\n const { dismissBottomSheet } = useBottomSheet();\n const { togglePopUp } = useSiteHeader();\n\n const { getSearcher, relewiseUser } = useRelewise();\n\n const settings = {\n language: \"da\",\n currency: \"DKK\",\n displayedAtLocation: \"Relewise Demo Store\",\n user: relewiseUser(),\n };\n\n const builder = new ProductSearchBuilder(settings)\n .setSelectedProductProperties({\n displayName: true,\n pricing: true,\n allData: true,\n dataKeys: [\"*\"],\n })\n .setExplodedVariants(1)\n .setTerm(searchTerm);\n if (globalThis.useCustomerGroups) {\n builder.filters((f) => {\n addWebUserGroupsFilter(f, customerNumber, cvrAndCustomerNumbers);\n });\n }\n\n const clearSearch = useCallback(() => {\n setSearchTerm(\"\");\n setResults(undefined);\n setTotalResults(0);\n setViewState(\"NONE\");\n }, []);\n\n const onResultClicked = useCallback(() => {\n clearSearch();\n\n dismissBottomSheet();\n togglePopUp(undefined);\n }, [clearSearch, dismissBottomSheet, togglePopUp]);\n\n const reset = useCallback(() => {\n clearSearch();\n inputRef.current.value = \"\";\n }, [clearSearch]);\n\n const onFocus = useCallback(() => {\n if (inputRef.current?.value) {\n setSearchTerm(inputRef.current.value);\n }\n }, []);\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \"Escape\") {\n reset();\n }\n },\n [reset]\n );\n\n const onSubmit = useCallback((event: FormEvent<HTMLFormElement>) => event.preventDefault(), []);\n\n useOnClickOutside(\n wrapperRef,\n useCallback(() => {\n clearSearch();\n setTimeout(() => blurActiveElement(), 10);\n }, [clearSearch]),\n [totalResults > 0]\n );\n\n useDebounce(\n () => {\n if (controllerRef.current) {\n // If a request has already been sent to the API,\n // abort it before sending a new one\n controllerRef.current.abort();\n }\n\n if (deferredSearchTerm) {\n setViewState(\"LOADING\");\n controllerRef.current = new AbortController();\n\n if (currentSite === \"CMS\") {\n search(\n deferredSearchTerm,\n { maxProducts: 10 },\n { signal: controllerRef.current.signal }\n )\n .then((results) => {\n setResults(results);\n setViewState(\"DONE\");\n })\n .catch((err) => {\n // Ignore abort errors, since they only occur\n // when we initiate them ourselves (a few lines up)\n if (err?.name !== \"AbortError\") {\n setViewState(\"ERROR\");\n console.log(err);\n }\n });\n } else {\n getSearcher()\n .searchProducts(builder.build())\n .then((response: ProductSearchResponse) => {\n if (response && response.results.length > 0) {\n setViewState(\"DONE\");\n setRelewiseResults(response.results as RelewiseSearchProduct[]);\n setTotalResults(response.hits);\n } else {\n setViewState(\"EMPTY\");\n }\n })\n .catch((err) => {\n console.error(err);\n // Ignore abort errors, since they only occur\n // when we initiate them ourselves (a few lines up)\n if (err?.name !== \"AbortError\") {\n setViewState(\"ERROR\");\n console.log(err);\n }\n });\n }\n } else {\n setViewState(\"NONE\");\n setResults(undefined);\n setTotalResults(0);\n }\n },\n 250,\n [deferredSearchTerm]\n );\n\n // Reset search on location change\n useEffect(() => {\n reset();\n }, [location, reset]);\n\n const searchPlaceholderText = useMemo(() => {\n switch (currentSite) {\n case \"CMS\":\n return getDictionaryString(\"General.SearchPlaceholderCms\");\n case \"MYFARM\":\n return getDictionaryString(\"searchPlaceholderMyfarm\");\n case \"B2B\":\n return getDictionaryString(\"searchPlaceholderB2b\");\n default:\n return getDictionaryString(\"searchPlaceholder\");\n }\n }, [currentSite, getDictionaryString]);\n\n return (\n <ReactFocusLock disabled={!props.trapFocus || totalResults === 0 || false}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div className={S.wrapper} ref={wrapperRef} onKeyDown={onKeyDown}>\n <form role=\"search\" className={S.form} onSubmit={onSubmit}>\n <input\n type=\"search\"\n name=\"term\"\n className={S.input}\n placeholder={searchPlaceholderText}\n onChange={({ target }) => setSearchTerm(target.value)}\n onFocus={onFocus}\n autoComplete=\"off\"\n ref={inputRef}\n />\n\n {deferredSearchTerm ? (\n <button\n type=\"button\"\n className={S.button}\n onClick={reset}\n aria-label={getDictionaryString(\"accessibilityButtonReset\")}\n >\n <DA_Icon name={DA_IconNames.Close} className={S.clearIcon} />\n </button>\n ) : (\n <button\n type=\"button\"\n className={S.button}\n onClick={() => inputRef.current?.focus()}\n tabIndex={-1}\n aria-label={getDictionaryString(\"accessibilityButtonSearch\")}\n >\n <DA_Icon name={DA_IconNames.Zoom} className={S.searchIcon} />\n </button>\n )}\n </form>\n\n <div className={S.incrementalSearchResults}>\n {viewState === \"DONE\" ? (\n <div className={S.resultsContainer}>\n <ul className={S.productList}>\n {currentSite === \"CMS\" && (\n <ul className={S.productList}>\n {results?.cms?.map((page, index) => (\n <li key={`${index}`}>\n <_SearchPage\n highlightedString={searchTerm}\n onResultClicked={onResultClicked}\n {...page}\n />\n </li>\n ))}\n </ul>\n )}\n {(currentSite === \"B2B\" || currentSite === \"MYFARM\") &&\n relewiseResults.map((product: RelewiseSearchProduct) => (\n <li key={product.productId}>\n <_SearchProduct\n highlightedString={searchTerm}\n onResultClicked={onResultClicked}\n {...product}\n />\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n\n {/** Loading */}\n {viewState === \"LOADING\" ? (\n <div className={S.statusContainer}>\n <DA_Spinner />\n </div>\n ) : null}\n\n {/** Empty */}\n {viewState === \"EMPTY\" ? (\n <div className={S.statusContainer}>{getDictionaryString(\"noResults\")}</div>\n ) : null}\n\n {/** Error */}\n {viewState === \"ERROR\" ? (\n <div className={S.statusContainer}>\n {getDictionaryString(\"search error\")}\n </div>\n ) : null}\n </div>\n </div>\n </ReactFocusLock>\n );\n};\n","import { useCallback } from \"react\";\nimport { B2B_SITE_ORIGIN } from \"../constants/urlRoot.constants\";\nimport { useAppData } from \"../contexts/appData.context\";\nimport { DA_SearchResults } from \"../interfaces/search.interface\";\nimport { GET_CMS_SITE_ORIGIN } from \"../helpers/urlRoot.helper\";\n\ntype SearchFunction = (\n searchTerm: string,\n options?: { maxProducts?: number },\n fetchOptions?: RequestInit\n) => Promise<DA_SearchResults>;\n\nexport const useSearch = () => {\n const { currentSite } = useAppData();\n\n return useCallback<SearchFunction>(\n async (searchTerm, options?, fetchOptions?) => {\n let request = undefined;\n const cultureCode =\n Array.isArray(globalThis?.cultures) && globalThis.cultures[0]?.alias;\n\n if (currentSite === \"CMS\") {\n request = await fetch(\n `${GET_CMS_SITE_ORIGIN(\"ABSOLUTE\")}/search?rootNodeId=${\n globalThis.rootNodeId\n }&term=${searchTerm.trim()}&pageSize=${\n options?.maxProducts || 10\n }&cultureCode=${cultureCode || \"da-dk\"}`, // Fallback cultureCode if cultureCode from globalThis is undefined\n {\n ...fetchOptions,\n credentials: \"include\",\n }\n );\n } else {\n request = await fetch(\n `${B2B_SITE_ORIGIN}/api/search?term=${searchTerm.trim()}&pageSize=${\n options?.maxProducts || 10\n }`,\n {\n ...fetchOptions,\n credentials: \"include\",\n }\n );\n }\n\n const response = await request.json();\n\n return {\n b2b: currentSite !== \"CMS\" ? response : undefined,\n cms: currentSite === \"CMS\" ? response : undefined,\n };\n },\n [currentSite]\n );\n};\n","import { FilterBuilder, StringCollectionDataValue } from \"@relewise/client\";\n\nconst ASSORTMENT_NAME = \"webUserGroups\";\n\nexport function addWebUserGroupsFilter(\n f: FilterBuilder,\n customerNumber: string,\n cvrAndCustomerNumbers\n) {\n // Initialize an empty array for group names.\n let groupNames: string[] = [];\n\n // If we have customer data (i.e. the user is logged in)\n if (cvrAndCustomerNumbers?.accounts?.length && customerNumber) {\n for (const account of cvrAndCustomerNumbers.accounts) {\n const customer = account.customers.find((c) => c.number === customerNumber);\n if (customer) {\n // Get the customer groups from the matched customer, if available.\n groupNames = (customer.customerGroups || []).map((group) => group.name);\n break;\n }\n }\n }\n\n // Determine the default filter from globalThis\n const defaultFilter = globalThis.relewiseDefaultGroupFilter;\n\n // Always add the default group filter.\n groupNames.push(defaultFilter);\n\n // Remove any duplicates (if needed)\n groupNames = Array.from(new Set(groupNames));\n\n const groups = new StringCollectionDataValue(groupNames);\n\n f.addProductDataFilter(\n ASSORTMENT_NAME,\n (cb) => {\n cb.addContainsCondition(groups, \"Any\");\n },\n true, // mustMatchAllConditions\n true, // filterOutIfKeyIsNotFound\n false // negated\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"MiniSearch_wrapper__Km8tK\"};","import React from \"react\";\nimport { DA_SearchInput } from \"../SearchInput/SearchInput.component\";\nimport S from \"./MiniSearch.module.scss\";\n\nexport const DA_MiniSearch = () => (\n <div className={S.wrapper}>\n <DA_SearchInput />\n </div>\n);\n","// extracted by mini-css-extract-plugin\nexport default {\"toolbar\":\"Toolbar_toolbar__Z6n3K\",\"inner\":\"Toolbar_inner__jkSe0\",\"serviceButton\":\"Toolbar_serviceButton__mvBaQ\",\"button\":\"Toolbar_button__WWqsd\",\"isActive\":\"Toolbar_isActive__uq6VD\",\"icon\":\"Toolbar_icon__CgzWR\",\"badge\":\"Toolbar_badge__eIG9S\",\"searchFullWidthBtn\":\"Toolbar_searchFullWidthBtn__oiXFK\",\"messageBottom\":\"Toolbar_messageBottom__ubZHR\",\"messageBottomBox\":\"Toolbar_messageBottomBox__yVqp5\",\"messageTitle\":\"Toolbar_messageTitle__zLiJ5\",\"messageContent\":\"Toolbar_messageContent__bm9pH\",\"closeMessageBtn\":\"Toolbar_closeMessageBtn__qwsic\",\"closeIcon\":\"Toolbar_closeIcon__+1CGa\",\"bottomSheetContent\":\"Toolbar_bottomSheetContent__cF1DL\",\"bottomSheetCloseBtn\":\"Toolbar_bottomSheetCloseBtn__a93f8\",\"bottomSheetText\":\"Toolbar_bottomSheetText__hAHOS\",\"buttonLink\":\"Toolbar_buttonLink__ED1yo\",\"buttonIcon\":\"Toolbar_buttonIcon__+aUpT\"};","import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { getLoginLink } from \"@danishagro/shared/src/helpers/getLoginLink.helper\";\nimport { useBottomSheet } from \"@danishagro/shared/src/contexts/bottomSheet/bottomSheet.context\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { useStickyBannerMessages } from \"@danishagro/shared/src/hooks/useStickyBannerMessages.hook\";\nimport { B2B_SITE_ORIGIN } from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { DA_Badge } from \"../Badge/Badge.component\";\nimport { DA_BasicLink } from \"../../../atoms/BasicLink/BasicLink.component\";\nimport { DA_Icon, DA_IconNames } from \"../../../atoms/Icon/Icon.component\";\nimport { useScreen } from \"../../../../contexts/screen.context\";\nimport { useAppData } from \"../../../../contexts/appData.context\";\nimport { useTranslations } from \"../../../../contexts/translations/translations.context\";\nimport { getRelativeRootOnLocalhost } from \"../../../../helpers/getRelativeUrlOnLocalhost.helper\";\nimport { useAccountButton } from \"./hooks/useAccountButton\";\nimport { useCartButton } from \"./hooks/useCartButton\";\nimport { useFarmInTimeButton } from \"./hooks/useFarmInTimeButton\";\nimport { useSearchButton } from \"./hooks/useSearchButton\";\nimport S from \"./Toolbar.module.scss\";\n\ntype DA_ToolbarProps = {\n isLoginOptionsTrue?: boolean;\n};\n\nexport const DA_Toolbar = ({ isLoginOptionsTrue }: DA_ToolbarProps) => {\n const { isMobileOrTablet } = useScreen();\n const { currentSite, isFarmInTimeEnabled, displayFavoritesList } = useAppData();\n const { getDictionaryString } = useTranslations();\n const { presentBottomSheet, dismissBottomSheet } = useBottomSheet();\n const messages = Array.isArray(globalThis?.announcementMessages)\n ? globalThis?.announcementMessages\n : null;\n const activeStickyBanners = useStickyBannerMessages(messages);\n const [stickyBannersToShow, setStickyBannersToShow] = useState([]);\n const [isBottomSheetOpen, setIsBottomSheetOpen] = useState(false);\n\n // ExcellenceProgramme CMS\n const isExcellenceProgrammeCmsSite =\n typeof globalThis?.isUsingCustomAd === \"string\"\n ? globalThis.isUsingCustomAd.toLowerCase() === \"true\"\n : false;\n\n // FavoritesListUrl\n const favoritesListUrl = `${getRelativeRootOnLocalhost(B2B_SITE_ORIGIN)}/favorites`;\n\n // Cart\n const { showCart, onCartButtonClicked, cartBadge, isCartMenuActive, isLoadingCart } =\n useCartButton();\n const isCartMenuActiveClass = isCartMenuActive ? S.isActive : undefined;\n\n // Farm In Time\n const { showFarmInTime, farmInTimeLink, isFarmInTimeMenuActive } = useFarmInTimeButton();\n const isFarmInTimeMenuActiveClass = isFarmInTimeMenuActive ? S.isActive : undefined;\n\n // Account\n const { onAccountButtonClicked, accountBadge, isAccountMenuActive } = useAccountButton();\n const isAccountMenuActiveClass = isAccountMenuActive ? S.isActive : undefined;\n\n // Search\n const { showSearch, onSearchButtonClicked, isSearchMenuActive } = useSearchButton();\n const isSearchMenuActiveClass = isSearchMenuActive ? S.isActive : undefined;\n\n // Message\n // Filter out banners already shown in the session\n const SHOW_STICKY_BANNER = \"shownStickyBanners\";\n const BOTTOM_SHEET_NAME = \"sticky-banner\";\n const SNAP_POINT_BOTTOM_SHEET = 200;\n\n useEffect(() => {\n const shownBanners = sessionStorage.getItem(SHOW_STICKY_BANNER)\n ? JSON.parse(sessionStorage.getItem(SHOW_STICKY_BANNER))\n : [];\n const bannersToShow = activeStickyBanners?.filter(\n (banner) => !shownBanners.includes(banner.id)\n );\n setStickyBannersToShow(bannersToShow);\n }, [activeStickyBanners]);\n\n // Common function to handle banner dismissal\n const dismissBanner = useCallback((bannerId) => {\n // Update session storage to mark this banner as shown\n const shownBanners = JSON.parse(sessionStorage.getItem(SHOW_STICKY_BANNER) || \"[]\");\n if (!shownBanners.includes(bannerId)) {\n shownBanners.push(bannerId);\n sessionStorage.setItem(SHOW_STICKY_BANNER, JSON.stringify(shownBanners));\n }\n\n // Remove this banner from the stickyBannersToShow\n setStickyBannersToShow((prev) => prev.filter((b) => b.id !== bannerId));\n }, []);\n\n const showStickyBannerMessage = useCallback(\n (banner) => {\n setIsBottomSheetOpen(true);\n // Present the bottom sheet with the banner content\n presentBottomSheet(\n <div className={S.bottomSheetContent}>\n <span\n className={S.bottomSheetText}\n dangerouslySetInnerHTML={{\n __html: banner.content,\n }}\n />\n <DA_Button\n className={S.bottomSheetCloseBtn}\n title={getDictionaryString(\"OK\")}\n onClick={() => {\n dismissBottomSheet();\n setIsBottomSheetOpen(false);\n }}\n />\n </div>,\n {\n id: `${BOTTOM_SHEET_NAME}-${banner.id}`,\n contentPadding: true,\n headerTitle: <>{banner.headline}</>,\n snapPoints: [SNAP_POINT_BOTTOM_SHEET],\n }\n );\n dismissBanner(banner.id);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dismissBottomSheet, presentBottomSheet, dismissBanner]\n );\n\n const handleCloseBanner = useCallback(\n (event, bannerId) => {\n event.stopPropagation();\n dismissBanner(bannerId);\n },\n [dismissBanner]\n );\n\n return (\n <Fragment>\n {isMobileOrTablet ? (\n <div className={S.toolbar}>\n {isMobileOrTablet &&\n !isBottomSheetOpen &&\n stickyBannersToShow?.map((banner) => (\n <div\n className={S.messageBottom}\n key={banner.id}\n onClick={() => showStickyBannerMessage(banner)}\n onKeyPress={(e) =>\n e.key === \"Enter\" && showStickyBannerMessage(banner)\n }\n role=\"button\"\n tabIndex={0}\n >\n <button\n className={S.closeMessageBtn}\n onClick={(e) => handleCloseBanner(e, banner.id)}\n aria-label={getDictionaryString(\"close\")}\n >\n <DA_Icon className={S.closeIcon} name={DA_IconNames.Close} />\n </button>\n <div className={S.messageBottomBox}>\n <span className={S.messageTitle}>{banner.headline}</span>\n <span\n className={S.messageContent}\n dangerouslySetInnerHTML={{\n __html: banner.content,\n }}\n />\n </div>\n </div>\n ))}\n\n <div className={S.inner}>\n {isExcellenceProgrammeCmsSite ? (\n <DA_BasicLink\n href=\"/logout\"\n target=\"_self\"\n conventionalRouting\n className={S.buttonLink}\n >\n <DA_Icon name={DA_IconNames.SignOut} className={S.buttonIcon} />\n </DA_BasicLink>\n ) : (\n <>\n {/** Cart */}\n {isLoginOptionsTrue && showCart ? (\n <button\n onClick={onCartButtonClicked}\n className={cn(S.button, isCartMenuActiveClass)}\n aria-label={getDictionaryString(\"accessibilityButtonCart\")}\n >\n <DA_Icon\n name={DA_IconNames.CartWeighted}\n className={S.icon}\n />\n\n {/** Quantity Badge */}\n {isLoadingCart ? (\n <DA_Badge text=\"\" className={S.badge} showSpinner />\n ) : cartBadge > 0 ? (\n <DA_Badge text={cartBadge} className={S.badge} />\n ) : null}\n </button>\n ) : null}\n\n {/** vilofarm favourties list */}\n {displayFavoritesList && (\n <DA_BasicLink\n href={favoritesListUrl}\n target=\"_self\"\n className={cn(S.serviceButton, S.button)}\n ariaLabel={getDictionaryString(\n \"accessibilityFarmInTimeLinkText\"\n )}\n >\n <DA_Icon\n name={DA_IconNames.HeartOutline}\n className={S.icon}\n />\n </DA_BasicLink>\n )}\n\n {/** Farm In Time */}\n {isFarmInTimeEnabled && isLoginOptionsTrue && showFarmInTime ? (\n <DA_BasicLink\n href={farmInTimeLink}\n target=\"_self\"\n className={cn(S.button, isFarmInTimeMenuActiveClass)}\n ariaLabel={getDictionaryString(\n \"accessibilityFarmInTimeLinkText\"\n )}\n >\n <DA_Icon\n name={DA_IconNames.FormCheckWeighted}\n className={S.icon}\n />\n </DA_BasicLink>\n ) : null}\n\n {/** Account: Logged Out */}\n {isLoginOptionsTrue && !globalThis.isAuthenticated ? (\n <DA_BasicLink\n href={getLoginLink(currentSite)}\n target=\"_self\"\n className={S.button}\n ariaLabel={getDictionaryString(\"accessibilityMobileLogin\")}\n >\n <DA_Icon\n name={DA_IconNames.UserLoggedOutWeighted}\n className={S.icon}\n />\n </DA_BasicLink>\n ) : null}\n\n {/** Account: Logged In */}\n {isLoginOptionsTrue && globalThis.isAuthenticated ? (\n <button\n onClick={onAccountButtonClicked}\n className={cn(S.button, isAccountMenuActiveClass)}\n aria-label={getDictionaryString(\"account picker\")}\n >\n <DA_Icon\n name={DA_IconNames.UserLoggedInWeighted}\n className={S.icon}\n />\n\n {/** Notifications Badge */}\n {accountBadge > 0 ? (\n <DA_Badge text={accountBadge} className={S.badge} />\n ) : null}\n </button>\n ) : null}\n </>\n )}\n\n {/** Search */}\n {showSearch ? (\n <button\n onClick={onSearchButtonClicked}\n className={cn(\n S.button,\n isSearchMenuActiveClass,\n !isLoginOptionsTrue && S.searchFullWidthBtn\n )}\n aria-label={getDictionaryString(\"accessibilityButtonSearch\")}\n >\n <DA_Icon name={DA_IconNames.ZoomWeighted} className={S.icon} />\n </button>\n ) : null}\n </div>\n </div>\n ) : null}\n </Fragment>\n );\n};\n","import React, { useMemo } from \"react\";\nimport { useCart } from \"../../../../../contexts/cart/cart.context\";\nimport { useSiteHeader } from \"../../../../../contexts/siteHeader.context\";\nimport { DA_MiniCartPopUp } from \"../../MiniCart/MiniCart.component\";\nimport { useBottomSheet } from \"../../../../../contexts/bottomSheet/bottomSheet.context\";\nimport { useTranslations } from \"../../../../../contexts/translations/translations.context\";\n\nexport const useCartButton = () => {\n const { orderLines, isLoadingCart } = useCart();\n const { showMiniCart, closeMobileNav, showMobileNav } = useSiteHeader();\n const { getDictionaryString } = useTranslations();\n\n const { presentBottomSheet, dismissBottomSheet, activeBottomSheet } = useBottomSheet();\n\n const onCartButtonClicked = () => {\n const id = \"cart\";\n\n if (activeBottomSheet !== id) {\n presentBottomSheet(<DA_MiniCartPopUp />, {\n id: id,\n headerTitle: getDictionaryString(\"miniCartTitle\", {\n uppercaseFirst: true,\n }),\n });\n // Close mobileNav after bottomSheet has opened\n if (showMobileNav) {\n setTimeout(() => {\n closeMobileNav();\n }, 500);\n }\n } else {\n dismissBottomSheet();\n }\n };\n\n // Mappers\n\n const totalQuantity = useMemo(() => {\n if (orderLines?.[0]) {\n return orderLines.reduce((total, line) => total + line.quantity, 0);\n }\n\n return 0;\n }, [orderLines]);\n\n return {\n showCart: true,\n onCartButtonClicked,\n cartBadge: totalQuantity,\n isCartMenuActive: showMiniCart,\n isLoadingCart,\n };\n};\n","import { useMemo } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { B2B_SITE_ORIGIN } from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { useAppData } from \"../../../../../contexts/appData.context\";\nimport { useSiteHeader } from \"../../../../../contexts/siteHeader.context\";\nimport { getRelativeRootOnLocalhost } from \"../../../../../helpers/getRelativeUrlOnLocalhost.helper\";\n\nexport const useFarmInTimeButton = () => {\n const { cvrAndCustomerNumbers, customerNumber } = useAppData();\n const { pathname } = useLocation();\n\n const { showMiniCart, showAccountPicker } = useSiteHeader();\n\n // Mappers\n\n const hasOpenMenu = useMemo(\n (): boolean => showMiniCart || showAccountPicker,\n [showMiniCart, showAccountPicker]\n );\n\n const isFarmInTimePage = useMemo(\n (): boolean => pathname.indexOf(\"bestillingsliste\") >= 0,\n [pathname]\n );\n\n return {\n showFarmInTime: cvrAndCustomerNumbers && customerNumber,\n farmInTimeLink: `${getRelativeRootOnLocalhost(B2B_SITE_ORIGIN)}/bestillingsliste`,\n isFarmInTimeMenuActive: isFarmInTimePage && !hasOpenMenu,\n };\n};\n","import React from \"react\";\nimport { useBottomSheet } from \"../../../../../contexts/bottomSheet/bottomSheet.context\";\nimport { useAppData } from \"../../../../../contexts/appData.context\";\nimport { useSiteHeader } from \"../../../../../contexts/siteHeader.context\";\nimport { DA_NotificationsAndAccountsPopUp } from \"../../NotificationsAndAccounts/NotificationsAndAccounts.component\";\n\nexport const useAccountButton = () => {\n // NOTE: Removed for now because notifications isn't ready for launch.\n // const { notificationCount } = useNotifications();\n const { showAccountPicker, closeMobileNav, showMobileNav } = useSiteHeader();\n const { cvrAndCustomerNumbers } = useAppData();\n\n const { presentBottomSheet, dismissBottomSheet, activeBottomSheet } = useBottomSheet();\n\n const onAccountButtonClicked = () => {\n const id = \"account\";\n\n if (activeBottomSheet !== id) {\n presentBottomSheet(<DA_NotificationsAndAccountsPopUp notificationCount={undefined} />, {\n id: id,\n headerTitle: (\n <>\n {cvrAndCustomerNumbers.firstName} {cvrAndCustomerNumbers.lastName}\n </>\n ),\n });\n // Close mobileNav after bottomSheet has opened\n if (showMobileNav) {\n setTimeout(() => {\n closeMobileNav();\n }, 500);\n }\n } else {\n dismissBottomSheet();\n }\n };\n\n return {\n onAccountButtonClicked,\n accountBadge: undefined,\n isAccountMenuActive: showAccountPicker,\n };\n};\n","import React from \"react\";\nimport { useBottomSheet } from \"../../../../../contexts/bottomSheet/bottomSheet.context\";\nimport { useTranslations } from \"../../../../../contexts/translations/translations.context\";\nimport { DA_MiniSearch } from \"../../MiniSearch/MiniSearch.component\";\nimport { useSiteHeader } from \"../../../../../contexts/siteHeader.context\";\n\nexport const useSearchButton = () => {\n const { getDictionaryString } = useTranslations();\n const { closeMobileNav, showMobileNav } = useSiteHeader();\n\n const { presentBottomSheet, dismissBottomSheet, activeBottomSheet } = useBottomSheet();\n\n const onSearchButtonClicked = () => {\n const id = \"search\";\n\n if (activeBottomSheet !== id) {\n presentBottomSheet(<DA_MiniSearch />, {\n id: id,\n headerTitle: getDictionaryString(\"searchModalTitle\"),\n });\n // Close mobileNav after bottomSheet has opened\n if (showMobileNav) {\n setTimeout(() => {\n closeMobileNav();\n }, 500);\n }\n } else {\n dismissBottomSheet();\n }\n };\n\n return {\n showSearch: true,\n onSearchButtonClicked,\n isSearchMenuActive: false,\n };\n};\n","import { DA_NavigationPage } from \"../../../../../interfaces/navigationPage.interface\";\nimport { checkCurrentOrAncestorPath } from \"./checkCurrentOrAncestorPath.helper\";\n\nexport const recursiveCheckCurrentPathMobile = (\n previous: DA_NavigationPage[],\n current: DA_NavigationPage\n) => {\n const isInCurrentPath = checkCurrentOrAncestorPath(current.path);\n\n if (isInCurrentPath === true && current.path !== \"/\" && current.children?.[0]) {\n previous.push(current);\n return current.children.reduce(recursiveCheckCurrentPathMobile, previous);\n }\n\n return previous;\n};\n","var _path, _rect, _rect2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgUnknown(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 48 36\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48 34C48 35.105 47.105 36 46 36H2C0.895 36 0 35.105 0 34V2C0 0.895 0.895 0 2 0H46C47.105 0 48 0.895 48 2V34Z\",\n fill: \"#CCCCCC\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: -1,\n width: 100,\n height: 2,\n transform: \"rotate(36 0, -1)\",\n fill: \"#AAAAAA\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: 35,\n width: 100,\n height: 2,\n transform: \"rotate(-36 0, 37)\",\n fill: \"#AAAAAA\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgUnknown);\nexport default __webpack_public_path__ + \"static/media/unknown.d780ebe7a13ab143f94442545d90e4cd.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagBg(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59508)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V30.64H139.13V0Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 30.64H0.5V61.53H139.13V30.64Z\",\n fill: \"#74B83D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 61.53H0.5V92.42H139.13V61.53Z\",\n fill: \"#DB1919\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59508\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagBg);\nexport default __webpack_public_path__ + \"static/media/Flag_BG.426aea741f6ecaeca69310fa6bdaa083.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagBr(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59544)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V92.42H139.13V0Z\",\n fill: \"#6BA82F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.8 46.09L69.7 10.85L126.9 46.09L69.8001 81.22L12.8 46.09Z\",\n fill: \"#F3DE3D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M69.68 69.96C82.85 69.96 93.6 59.5 93.6 46.67C93.6 33.84 82.85 23.38 69.68 23.38C56.5 23.38 45.76 33.84 45.76 46.67C45.76 59.5 56.5 69.96 69.68 69.96Z\",\n fill: \"#EBEBEB\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M69.68 23.38C82.62 23.38 93.16 33.39 93.59 45.88C83.65 39.99 72.03 36.6 59.62 36.6C55.52 36.6 51.51 36.97 47.61 37.68C51.22 29.28 59.74 23.38 69.68 23.38ZM93.05 51.66C83.43 45.42 71.95 41.79 59.62 41.79C54.95 41.79 50.39 42.31 46.02 43.3C45.86 44.4 45.77 45.53 45.77 46.67C45.77 59.53 56.48 69.96 69.69 69.96C81.13 69.96 90.7 62.13 93.05 51.66Z\",\n fill: \"#253887\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M52.1199 39.8C52.1499 40.18 52.0499 40.5 51.8399 40.76C51.6299 41.02 51.3499 41.17 51.0199 41.19C50.6999 41.21 50.4199 41.12 50.1899 40.91C49.9599 40.7 49.8299 40.42 49.7999 40.06C49.7699 39.68 49.8699 39.36 50.0799 39.1C50.2899 38.83 50.5699 38.69 50.8999 38.67C51.2199 38.65 51.4999 38.74 51.7299 38.95C51.9699 39.17 52.0999 39.45 52.1199 39.8ZM51.6199 39.89C51.5999 39.63 51.5199 39.43 51.3799 39.28C51.2399 39.13 51.0699 39.06 50.8799 39.08C50.6999 39.09 50.5599 39.18 50.4399 39.35C50.3299 39.52 50.2799 39.73 50.2999 39.97C50.3199 40.23 50.3999 40.43 50.5399 40.58C50.6799 40.73 50.8499 40.8 51.0399 40.78C51.2199 40.77 51.3599 40.68 51.4799 40.51C51.5899 40.35 51.6399 40.14 51.6199 39.89ZM54.5599 40.76L54.0199 40.82C53.8299 40.4 53.6999 40.15 53.6099 40.05C53.5199 39.96 53.3999 39.92 53.2299 39.94C53.1599 39.95 53.0899 39.95 53.0299 39.96C53.0599 40.28 53.0999 40.59 53.1499 40.91L52.6399 40.96C52.6199 40.59 52.5799 40.17 52.5299 39.71C52.4799 39.26 52.4399 38.88 52.3899 38.57L52.6999 38.54C52.7399 38.54 52.8099 38.53 52.9299 38.51C53.0399 38.49 53.1499 38.48 53.2499 38.47C53.8099 38.41 54.1099 38.57 54.1499 38.96C54.1799 39.26 54.0399 39.49 53.7399 39.65V39.68C53.8599 39.7 53.9799 39.79 54.0899 39.93C54.1999 40.08 54.3499 40.36 54.5599 40.76ZM53.6999 39.15C53.6699 38.91 53.5099 38.8 53.1999 38.83C53.0899 38.84 52.9899 38.86 52.8999 38.89C52.9299 39.08 52.9699 39.32 52.9999 39.63C53.0699 39.62 53.1199 39.62 53.1699 39.61C53.5499 39.57 53.7199 39.42 53.6999 39.15ZM56.7699 39.35C56.7899 39.7 56.7099 40.01 56.4999 40.29C56.2999 40.57 55.9999 40.72 55.5999 40.75C55.4199 40.76 55.1699 40.77 54.8499 40.78C54.8399 40.41 54.8199 39.99 54.7899 39.52C54.7599 39.07 54.7199 38.69 54.6899 38.38L55.0099 38.36C55.0599 38.36 55.1399 38.35 55.2399 38.34C55.3399 38.33 55.4099 38.32 55.4399 38.32C55.8799 38.29 56.2099 38.38 56.4199 38.58C56.6299 38.78 56.7499 39.04 56.7699 39.35ZM56.2799 39.46C56.2599 39.22 56.1799 39.03 56.0299 38.88C55.8799 38.73 55.6699 38.66 55.3899 38.68C55.3399 38.68 55.2699 38.69 55.1799 38.71C55.2099 38.96 55.2299 39.21 55.2499 39.48C55.2699 39.77 55.2999 40.06 55.3299 40.35C55.4099 40.36 55.4899 40.36 55.5699 40.36C55.8299 40.34 56.0199 40.25 56.1299 40.07C56.2499 39.9 56.2999 39.7 56.2799 39.46ZM58.7799 40.15V40.56L57.2299 40.63C57.2299 40.26 57.2199 39.84 57.1999 39.37C57.1799 38.92 57.1499 38.54 57.1199 38.23L58.5999 38.16V38.57C58.2299 38.57 57.8999 38.57 57.5999 38.59C57.6199 38.76 57.6399 38.96 57.6499 39.19C57.8999 39.18 58.1799 39.16 58.4699 39.13L58.4899 39.52C58.1999 39.52 57.9299 39.53 57.6699 39.54C57.6799 39.79 57.6999 40.02 57.7199 40.24C58.0499 40.22 58.4099 40.19 58.7799 40.15ZM61.9199 40.55H61.3899C61.3899 40.34 61.3699 39.99 61.3499 39.49C61.3199 38.99 61.3099 38.68 61.3099 38.56H61.2799C61.2699 38.63 61.2399 38.77 61.1899 38.97C61.1399 39.17 61.0399 39.46 60.8999 39.85C60.7599 40.24 60.6899 40.47 60.6899 40.55H60.2899C60.2899 40.47 60.2199 40.24 60.0799 39.85C59.9399 39.46 59.8499 39.19 59.7999 39.03C59.7599 38.87 59.7199 38.72 59.6999 38.56H59.6699C59.6699 38.71 59.6599 39.04 59.6299 39.55C59.5999 40.06 59.5899 40.39 59.5899 40.55H59.1099C59.1099 40.51 59.1499 40.14 59.2399 39.44C59.3299 38.74 59.3699 38.3 59.3699 38.14H60.0799C60.0799 38.28 60.1599 38.58 60.3099 39.05C60.4599 39.52 60.5399 39.82 60.5399 39.95H60.5699C60.5699 39.82 60.6499 39.52 60.8199 39.04C60.9899 38.57 61.0699 38.26 61.0699 38.13H61.7699C61.7699 38.39 61.7999 38.84 61.8599 39.49C61.8899 40.17 61.9199 40.51 61.9199 40.55ZM67.4199 40.55L67.3699 40.95L65.8199 40.83C65.8599 40.46 65.9099 40.04 65.9399 39.58C65.9699 39.13 65.9999 38.75 66.0099 38.43L67.4899 38.55L67.4399 38.95C67.0799 38.9 66.7499 38.86 66.4499 38.84C66.4499 39.01 66.4399 39.21 66.4199 39.45C66.6699 39.47 66.9499 39.49 67.2399 39.5L67.2099 39.88C66.9299 39.85 66.6499 39.82 66.3899 39.8C66.3699 40.05 66.3599 40.28 66.3499 40.5C66.6799 40.52 67.0399 40.54 67.4199 40.55ZM72.8399 39.88C72.7899 40.17 72.6399 40.36 72.4099 40.46C72.1699 40.56 71.8999 40.58 71.5899 40.52C71.5299 40.51 71.4899 40.5 71.4699 40.49C71.4299 40.72 71.3799 41.02 71.3299 41.4L70.8199 41.31C70.8999 40.96 70.9799 40.55 71.0599 40.08C71.1399 39.64 71.1999 39.27 71.2399 38.95L71.5499 39.01C71.5899 39.02 71.6799 39.03 71.8099 39.05C71.9399 39.07 72.0499 39.09 72.1399 39.1C72.3699 39.14 72.5499 39.23 72.6899 39.36C72.8299 39.5 72.8799 39.67 72.8399 39.88ZM72.3599 39.9C72.4099 39.64 72.2599 39.48 71.9199 39.42C71.8399 39.41 71.7399 39.4 71.6399 39.4C71.6099 39.63 71.5699 39.89 71.5199 40.18C71.5499 40.19 71.5799 40.19 71.6199 40.2C72.0599 40.28 72.3099 40.18 72.3599 39.9ZM74.6999 42.12C74.6399 41.67 74.5799 41.36 74.5299 41.18C74.4799 41 74.3899 40.88 74.2799 40.82L74.2899 40.79C74.6299 40.74 74.8299 40.57 74.8999 40.27C74.9899 39.89 74.7599 39.64 74.2099 39.51C74.1099 39.49 74.0099 39.47 73.8899 39.44C73.7799 39.42 73.6999 39.4 73.6599 39.39L73.3499 39.32C73.2999 39.63 73.2199 40.01 73.1199 40.44C73.0199 40.9 72.9199 41.3 72.8199 41.66L73.3199 41.77C73.3799 41.45 73.4499 41.14 73.5199 40.83C73.5799 40.84 73.6499 40.86 73.7199 40.88C73.8799 40.92 73.9899 41 74.0399 41.11C74.0899 41.23 74.1399 41.51 74.1799 41.97L74.6999 42.12ZM74.4099 40.31C74.3499 40.57 74.1299 40.66 73.7499 40.58C73.6999 40.57 73.6499 40.55 73.5799 40.54C73.6499 40.24 73.6999 40 73.7299 39.81C73.8199 39.81 73.9199 39.83 74.0299 39.85C74.3399 39.91 74.4599 40.07 74.4099 40.31ZM77.4299 41.49C77.3399 41.86 77.1499 42.13 76.8699 42.32C76.5899 42.51 76.2799 42.56 75.9599 42.47C75.6499 42.39 75.4099 42.21 75.2599 41.94C75.0999 41.67 75.0699 41.36 75.1599 41.01C75.2499 40.64 75.4399 40.37 75.7199 40.18C75.9999 39.99 76.3099 39.94 76.6399 40.03C76.9499 40.11 77.1899 40.29 77.3399 40.56C77.4799 40.84 77.5199 41.15 77.4299 41.49ZM76.9299 41.42C76.9899 41.17 76.9799 40.95 76.8899 40.76C76.7999 40.57 76.6599 40.45 76.4799 40.41C76.3099 40.37 76.1399 40.41 75.9799 40.53C75.8199 40.66 75.7099 40.84 75.6499 41.08C75.5899 41.33 75.5999 41.55 75.6899 41.74C75.7799 41.93 75.9099 42.05 76.0999 42.09C76.2699 42.13 76.4399 42.09 76.5999 41.97C76.7599 41.84 76.8699 41.65 76.9299 41.42ZM79.4099 43.37C79.1099 43.36 78.8699 43.32 78.6799 43.26C78.2799 43.13 78.0099 42.93 77.8699 42.64C77.7299 42.35 77.7099 42.05 77.8099 41.74C77.9099 41.41 78.1199 41.15 78.4199 40.98C78.7199 40.81 79.0699 40.78 79.4699 40.91C79.6599 40.97 79.8199 41.04 79.9499 41.12L79.7599 41.52C79.5899 41.41 79.4399 41.34 79.2899 41.29C79.0399 41.21 78.8399 41.23 78.6699 41.34C78.4999 41.45 78.3799 41.62 78.3199 41.84C78.2499 42.06 78.2599 42.28 78.3399 42.49C78.4199 42.7 78.5799 42.84 78.8199 42.92C78.8899 42.94 78.9699 42.96 79.0599 42.97C79.0799 42.83 79.1099 42.7 79.1499 42.58C79.1899 42.45 79.2199 42.31 79.2499 42.14L79.7399 42.3C79.6699 42.48 79.6099 42.66 79.5599 42.84C79.5299 42.96 79.4699 43.15 79.4099 43.37ZM81.6399 44.28C81.6299 43.83 81.6099 43.51 81.5799 43.33C81.5499 43.15 81.4799 43.02 81.3699 42.95L81.3799 42.92C81.7199 42.92 81.9399 42.77 82.0399 42.48C82.1699 42.12 81.9699 41.84 81.4399 41.65C81.3499 41.62 81.2499 41.58 81.1299 41.55C81.0199 41.51 80.9499 41.49 80.9099 41.48L80.6099 41.37C80.5199 41.67 80.3999 42.04 80.2499 42.46C80.0899 42.9 79.9499 43.29 79.8099 43.64L80.2899 43.81C80.3899 43.5 80.4899 43.2 80.5899 42.9C80.6499 42.92 80.7099 42.94 80.7799 42.97C80.9399 43.03 81.0399 43.12 81.0699 43.24C81.1099 43.36 81.1199 43.65 81.1099 44.11L81.6399 44.28ZM81.5499 42.44C81.4599 42.7 81.2299 42.76 80.8699 42.63C80.8299 42.62 80.7699 42.59 80.7099 42.57C80.8099 42.28 80.8899 42.04 80.9399 41.86C81.0299 41.87 81.1299 41.9 81.2299 41.94C81.5299 42.04 81.6399 42.21 81.5499 42.44ZM83.5299 44.6L83.3699 44.97L81.9199 44.4C82.0699 44.06 82.2299 43.67 82.3999 43.24C82.5599 42.82 82.6899 42.46 82.7899 42.16L84.1699 42.71L84.0099 43.08C83.6799 42.93 83.3699 42.8 83.0899 42.69C83.0399 42.85 82.9699 43.04 82.8899 43.26C83.1299 43.35 83.3799 43.45 83.6599 43.54L83.5199 43.9C83.2599 43.78 83.0099 43.68 82.7599 43.58C82.6699 43.81 82.5899 44.03 82.5199 44.24C82.8399 44.36 83.1799 44.48 83.5299 44.6ZM85.4799 45.17C85.5499 44.98 85.5499 44.8 85.4699 44.62C85.4099 44.49 85.2999 44.34 85.1299 44.19C84.9799 44.04 84.8799 43.94 84.8399 43.88C84.7999 43.81 84.7899 43.73 84.8199 43.66C84.8799 43.52 85.0399 43.5 85.3099 43.6C85.4899 43.67 85.6399 43.76 85.7799 43.88L85.9899 43.52C85.8499 43.42 85.6699 43.33 85.4499 43.24C85.1799 43.13 84.9499 43.11 84.7599 43.16C84.5699 43.22 84.4399 43.34 84.3599 43.54C84.2899 43.71 84.2899 43.87 84.3599 44.03C84.4099 44.16 84.5099 44.29 84.6599 44.44C84.8199 44.6 84.9299 44.72 84.9699 44.8C85.0199 44.89 85.0299 44.98 84.9999 45.06C84.9699 45.14 84.8999 45.19 84.8099 45.19C84.7199 45.19 84.5799 45.16 84.3999 45.09C84.2399 45.03 84.0799 44.93 83.9199 44.79L83.6899 45.14C83.8599 45.27 84.0499 45.37 84.2599 45.46C84.8999 45.71 85.3099 45.61 85.4799 45.17ZM87.3299 45.97C87.1399 46.41 86.7299 46.5 86.0999 46.23C85.8899 46.14 85.6999 46.03 85.5299 45.89L85.7699 45.55C85.9299 45.69 86.0799 45.8 86.2499 45.87C86.4299 45.95 86.5699 45.99 86.6599 45.98C86.7499 45.98 86.8199 45.94 86.8499 45.85C86.8899 45.76 86.8799 45.68 86.8299 45.59C86.7899 45.51 86.6899 45.39 86.5299 45.22C86.3899 45.07 86.2899 44.93 86.2399 44.8C86.1799 44.64 86.1899 44.47 86.2599 44.31C86.3399 44.12 86.4799 43.99 86.6699 43.95C86.8599 43.9 87.0899 43.94 87.3599 44.05C87.5799 44.14 87.7599 44.24 87.8899 44.34L87.6699 44.69C87.5399 44.57 87.3899 44.47 87.2099 44.39C86.9499 44.28 86.7799 44.29 86.7199 44.43C86.6899 44.51 86.6899 44.58 86.7299 44.65C86.7699 44.71 86.8599 44.82 87.0099 44.97C87.1699 45.13 87.2799 45.28 87.3299 45.41C87.4099 45.6 87.4099 45.79 87.3299 45.97ZM89.9299 46.69C90.0899 46.38 90.1299 46.07 90.0399 45.77C89.9499 45.47 89.7699 45.24 89.4799 45.09C89.1799 44.93 88.8699 44.91 88.5499 45.02C88.2299 45.13 87.9899 45.36 87.8099 45.69C87.6499 46 87.6099 46.31 87.6999 46.61C87.7899 46.91 87.9699 47.14 88.2599 47.29C88.5599 47.45 88.8699 47.47 89.1799 47.36C89.5199 47.25 89.7599 47.03 89.9299 46.69ZM89.4599 46.51C89.3499 46.73 89.1999 46.88 89.0099 46.96C88.8299 47.05 88.6499 47.05 88.4999 46.96C88.3299 46.87 88.2299 46.72 88.1799 46.52C88.1399 46.32 88.1799 46.1 88.2899 45.87C88.3999 45.65 88.5499 45.5 88.7399 45.42C88.9199 45.34 89.0999 45.33 89.2499 45.42C89.4199 45.51 89.5299 45.66 89.5699 45.86C89.6199 46.06 89.5799 46.28 89.4599 46.51Z\",\n fill: \"#609831\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M84.38 58.12L84.65 56.97L83.71 56.33L84.92 56.22L85.29 55.22L85.71 56.24L86.82 56.29L85.94 57L86.27 58.05L85.31 57.45L84.38 58.12ZM46.9 47.33L47.17 46.18L46.23 45.54L47.44 45.43L47.81 44.43L48.23 45.45L49.34 45.5L48.47 46.2L48.8 47.25L47.84 46.65L46.9 47.33ZM48.51 54.81L48.66 54.15L48.12 53.79L48.81 53.73L49.02 53.16L49.26 53.74L49.9 53.77L49.4 54.17L49.59 54.77L49.04 54.43L48.51 54.81ZM50.6 53.5L50.86 52.35L49.92 51.71L51.13 51.6L51.49 50.6L51.92 51.62L53.03 51.67L52.16 52.37L52.49 53.42L51.53 52.82L50.6 53.5ZM53.76 51.12L53.88 50.61L53.46 50.33L53.99 50.28L54.15 49.84L54.34 50.29L54.83 50.31L54.44 50.62L54.58 51.09L54.15 50.83L53.76 51.12ZM56.5 55.05L56.65 54.39L56.11 54.03L56.8 53.97L57.01 53.4L57.25 53.98L57.89 54.01L57.39 54.41L57.58 55.01L57.03 54.67L56.5 55.05ZM55.74 57.6L55.89 56.94L55.35 56.58L56.04 56.52L56.25 55.95L56.5 56.53L57.13 56.56L56.63 56.96L56.82 57.56L56.27 57.22L55.74 57.6ZM59.05 60.23L59.32 59.08L58.38 58.44L59.59 58.33L59.96 57.33L60.38 58.35L61.49 58.4L60.62 59.1L60.95 60.15L59.99 59.55L59.05 60.23ZM61.6 50.71L61.87 49.56L60.93 48.92L62.14 48.81L62.51 47.81L62.94 48.83L64.05 48.88L63.18 49.58L63.51 50.63L62.55 50.03L61.6 50.71ZM67.1 55.4L67.37 54.25L66.43 53.61L67.64 53.5L68.01 52.5L68.44 53.52L69.55 53.57L68.68 54.27L69.01 55.32L68.05 54.72L67.1 55.4ZM69.57 52.5L69.84 51.35L68.9 50.71L70.11 50.6L70.48 49.6L70.91 50.62L72.02 50.67L71.15 51.37L71.48 52.42L70.52 51.82L69.57 52.5ZM70.12 56.79L70.24 56.28L69.82 56L70.35 55.95L70.51 55.51L70.7 55.96L71.19 55.98L70.81 56.29L70.95 56.76L70.52 56.5L70.12 56.79ZM70.48 58.98L70.63 58.32L70.09 57.96L70.78 57.9L70.99 57.33L71.23 57.91L71.86 57.94L71.36 58.34L71.55 58.94L71 58.6L70.48 58.98ZM70.15 64.19L70.3 63.53L69.76 63.16L70.45 63.1L70.66 62.53L70.9 63.11L71.54 63.14L71.04 63.54L71.23 64.14L70.68 63.8L70.15 64.19ZM72.87 55.53L73.14 54.38L72.2 53.74L73.41 53.63L73.78 52.63L74.21 53.65L75.32 53.7L74.45 54.4L74.77 55.45L73.81 54.85L72.87 55.53ZM76.98 47.21L77.13 46.55L76.59 46.19L77.28 46.13L77.49 45.56L77.73 46.14L78.37 46.17L77.87 46.57L78.06 47.17L77.51 46.83L76.98 47.21ZM76.25 61.15L76.37 60.64L75.95 60.36L76.49 60.31L76.65 59.87L76.84 60.32L77.33 60.34L76.95 60.65L77.09 61.12L76.66 60.86L76.25 61.15ZM77.48 63.24L77.6 62.73L77.18 62.45L77.72 62.4L77.88 61.96L78.07 62.41L78.56 62.43L78.17 62.74L78.31 63.21L77.88 62.95L77.48 63.24ZM79 61.91L79.12 61.4L78.7 61.12L79.23 61.07L79.39 60.63L79.58 61.08L80.07 61.1L79.68 61.41L79.82 61.88L79.39 61.62L79 61.91ZM79.35 39.01L79.62 37.86L78.68 37.22L79.89 37.11L80.26 36.11L80.68 37.13L81.79 37.18L80.92 37.88L81.25 38.93L80.29 38.33L79.35 39.01ZM81.07 62.87L81.18 62.41L80.8 62.15L81.29 62.11L81.44 61.71L81.61 62.12L82.06 62.14L81.71 62.42L81.84 62.84L81.45 62.6L81.07 62.87ZM82.39 63.98L82.48 63.59L82.16 63.37L82.57 63.33L82.69 63L82.83 63.35L83.21 63.37L82.92 63.61L83.03 63.97L82.7 63.77L82.39 63.98ZM82.53 61.47L82.62 61.08L82.3 60.86L82.71 60.82L82.83 60.48L82.97 60.83L83.35 60.85L83.06 61.09L83.17 61.45L82.84 61.25L82.53 61.47ZM84.31 61.29L84.4 60.9L84.08 60.68L84.49 60.64L84.61 60.3L84.75 60.64L85.13 60.66L84.84 60.9L84.95 61.26L84.62 61.06L84.31 61.29ZM85.59 59.85L85.71 59.34L85.29 59.06L85.82 59.01L85.98 58.57L86.17 59.02L86.66 59.04L86.27 59.35L86.41 59.82L85.98 59.56L85.59 59.85ZM86.5 61.24L86.62 60.73L86.2 60.45L86.73 60.4L86.89 59.96L87.08 60.41L87.57 60.43L87.19 60.74L87.33 61.21L86.9 60.95L86.5 61.24ZM88.46 56.69L88.61 56.03L88.07 55.66L88.76 55.6L88.97 55.03L89.21 55.61L89.85 55.64L89.35 56.04L89.54 56.64L88.99 56.3L88.46 56.69Z\",\n fill: \"#EBEBEB\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59544\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagBr);\nexport default __webpack_public_path__ + \"static/media/Flag_BR.c27050312a48430aad8ab7842dc87230.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagCn(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59513)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V92.42H139.13V0Z\",\n fill: \"#D01317\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.9501 13.24L30.4501 25.02L41.8401 25L32.6101 32.25L36.1501 44.01L26.9501 36.72L17.7401 44.01L21.2901 32.25L12.0601 25L23.4501 25.02L26.9501 13.24Z\",\n fill: \"#F3DE3D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M61.46 37.48L62.38 40.58L65.38 40.57L62.95 42.48L63.88 45.58L61.46 43.66L59.04 45.58L59.97 42.48L57.54 40.57L60.54 40.58L61.46 37.48Z\",\n fill: \"#F3DE3D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.7701 21.36L62 23.54L64.59 21.91L63.37 24.88L65.6 27.06L62.62 26.71L61.4001 29.69L60.78 26.5L57.8 26.17L60.4001 24.54L59.7701 21.36Z\",\n fill: \"#F3DE3D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.08 8.76001L53.16 12.02L56.04 12.93L53.21 14.02L53.3 17.28L51.48 14.69L48.65 15.79L50.35 13.11L48.52 10.53L51.39 11.45L53.08 8.76001Z\",\n fill: \"#F3DE3D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M54.0899 47.96L53.8099 51.2L56.5599 52.49L53.6399 53.2L53.3599 56.44L51.8399 53.64L48.9099 54.36L50.8999 51.92L49.3599 49.12L52.1199 50.41L54.0899 47.96Z\",\n fill: \"#F3DE3D\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59513\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagCn);\nexport default __webpack_public_path__ + \"static/media/Flag_CN.490cede5bdb29bdfa35d8d176c7f4929.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagCz(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59489)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.5 92.42H139.13V46.48H52.23L0.5 92.42Z\",\n fill: \"#DB1919\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.5 0L52.23 46.48L0.5 92.42V0Z\",\n fill: \"#3855A2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M139.13 0V46.48H52.23L0.5 0H139.13Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59489\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagCz);\nexport default __webpack_public_path__ + \"static/media/Flag_CZ.654758c1d28b5d56f0ee3b32f5f287d4.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagDe(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59494)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V30.64H139.13V0Z\",\n fill: \"#161617\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 30.64H0.5V61.53H139.13V30.64Z\",\n fill: \"#D01317\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 61.53H0.5V92.42H139.13V61.53Z\",\n fill: \"#F3DE3D\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59494\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagDe);\nexport default __webpack_public_path__ + \"static/media/Flag_DE.a0217d1603d2cf89cd1eab8633419703.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagDk(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59419)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0V36.22H64.32V0H139.13ZM44.04 0H0.5V36.22H44.04V0ZM0.5 56.2V92.42H44.04V56.2H0.5ZM64.32 92.42H139.13V56.2H64.32V92.42Z\",\n fill: \"#D01317\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.32 0H44.04V36.22H0.5V56.2H44.04V92.42H64.32V56.2H139.13V36.22H64.32V0Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59419\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagDk);\nexport default __webpack_public_path__ + \"static/media/Flag_DK.6f61ffbb8e2edfd91c940ea0c28872e0.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagEe(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59552)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 30.8101H0.5V61.6201H139.13V30.8101Z\",\n fill: \"#161617\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V30.81H139.13V0Z\",\n fill: \"#354F9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 61.61H0.5V92.42H139.13V61.61Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59552\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagEe);\nexport default __webpack_public_path__ + \"static/media/Flag_EE.854f7105289fd6e418d4a462d2269898.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagEn(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59521)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V92.42H139.13V0Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M139.13 38.46V53.96H76.6V92.42H63.03V53.96H0.5V38.46H63.03V0H76.6V38.46H139.13Z\",\n fill: \"#CE1417\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.29 0H59.5V30.47L13.29 0ZM80.13 0H126.35L80.13 30.47V0ZM139.13 9.47L101.53 34.25H139.13V9.47ZM101.53 58.17H139.13V82.96L101.53 58.17ZM126.35 92.42L80.13 61.96V92.42H126.35ZM0.5 58.17H38.1L0.5 82.96V58.17ZM59.5 61.96L13.29 92.42H59.5V61.96ZM38.1 34.25L0.5 9.47V34.25H38.1Z\",\n fill: \"#233C90\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.11 34.25L0.5 6.15995V0.449951L51.78 34.25H43.11Z\",\n fill: \"#CE1417\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.5 58.88L8.62 92.42H0.5V92.06L51.91 58.17H59.5V58.88Z\",\n fill: \"#CE1417\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M139.13 0.67L88.1899 34.25H80.1299V33.85L131.47 0H139.13V0.67Z\",\n fill: \"#CE1417\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M139.13 91.73L88.22 58.17H96.88L139.13 86.02V91.73Z\",\n fill: \"#CE1417\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59521\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagEn);\nexport default __webpack_public_path__ + \"static/media/Flag_EN.f616b7c271cf3713b834a169a1a1190a.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagEs(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59562)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V23.1H139.13V0Z\",\n fill: \"#D01317\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 69.3199H0.5V92.4199H139.13V69.3199Z\",\n fill: \"#D01317\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 23.1H0.5V69.31H139.13V23.1Z\",\n fill: \"#F8EA3B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.61 40.7401C59.62 40.7401 59.63 40.7301 59.63 40.7301C59.65 40.6801 59.67 40.6101 59.67 40.5201C59.67 40.2101 59.43 39.9701 59.13 39.9701C59.04 39.9701 58.91 40.0001 58.82 40.0801C58.81 40.0901 58.81 40.1001 58.82 40.1101C58.83 40.1201 58.84 40.1201 58.85 40.1101C58.92 40.0401 59.04 40.0101 59.13 40.0101C59.41 40.0101 59.63 40.2401 59.63 40.5201C59.63 40.6001 59.61 40.6701 59.59 40.7101C59.59 40.7301 59.59 40.7401 59.61 40.7401Z\",\n fill: \"#020203\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.7201 40.55C58.7301 40.55 58.7401 40.54 58.7401 40.54C58.7601 40.49 58.7801 40.42 58.7801 40.33C58.7801 40.02 58.5401 39.78 58.2401 39.78C58.1501 39.78 58.0201 39.81 57.9301 39.89C57.9201 39.9 57.9201 39.91 57.9301 39.92C57.9401 39.93 57.9501 39.93 57.9601 39.92C58.0301 39.85 58.1501 39.82 58.2401 39.82C58.5201 39.82 58.7401 40.05 58.7401 40.33C58.7401 40.41 58.7201 40.48 58.7001 40.52C58.6901 40.54 58.7001 40.55 58.7201 40.55Z\",\n fill: \"#020203\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.6501 40.55C56.6401 40.55 56.6301 40.54 56.6301 40.54C56.6101 40.49 56.5901 40.42 56.5901 40.33C56.5901 40.02 56.8301 39.78 57.1301 39.78C57.2201 39.78 57.3501 39.81 57.4401 39.89C57.4501 39.9 57.4501 39.91 57.4401 39.92C57.4301 39.93 57.4201 39.93 57.4101 39.92C57.3401 39.85 57.2201 39.82 57.1301 39.82C56.8501 39.82 56.6301 40.05 56.6301 40.33C56.6301 40.41 56.6501 40.48 56.6701 40.52C56.6801 40.54 56.6701 40.55 56.6501 40.55Z\",\n fill: \"#020203\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.6901 41.14C28.6901 41.14 28.6001 41.14 28.5401 41.11C28.4901 41.08 28.3301 40.93 28.3301 40.93L28.2001 40.84L28.0901 40.68C28.0901 40.68 27.9501 40.46 28.0201 40.29C28.0801 40.12 28.1901 40.06 28.2801 40.01C28.3701 39.96 28.5701 39.9 28.5701 39.9C28.5701 39.9 28.7301 39.83 28.7801 39.82C28.8301 39.81 29.0201 39.76 29.0201 39.76C29.0201 39.76 29.0701 39.73 29.1201 39.71C29.1701 39.69 29.2501 39.69 29.2901 39.68C29.3301 39.67 29.4401 39.64 29.5001 39.63C29.6001 39.63 29.7501 39.65 29.8001 39.65C29.8501 39.65 30.0301 39.66 30.1001 39.66C30.1701 39.66 30.4301 39.64 30.5101 39.64C30.5801 39.64 30.6401 39.63 30.7201 39.64C30.8001 39.65 30.9501 39.7 30.9901 39.72C31.0301 39.74 31.2801 39.83 31.3801 39.86C31.4701 39.89 31.7001 39.93 31.8101 39.98C31.9101 40.03 31.9801 40.11 32.0301 40.18C32.0801 40.25 32.0901 40.32 32.1101 40.37C32.1301 40.42 32.1301 40.53 32.1101 40.58C32.0901 40.63 32.0201 40.73 32.0201 40.73L31.9001 40.92L31.7501 41.04C31.7501 41.04 31.6401 41.14 31.5601 41.13C31.4801 41.12 30.6301 40.97 30.0901 40.97C29.5601 40.98 28.6901 41.14 28.6901 41.14Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.3701 39.9301C30.3701 39.6801 30.2601 39.4701 30.1101 39.4701C29.9701 39.4701 29.8501 39.6801 29.8501 39.9301C29.8501 40.1901 29.9601 40.3901 30.1101 40.3901C30.2501 40.3901 30.3701 40.1801 30.3701 39.9301Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.23 39.93C30.23 39.7 30.18 39.5 30.11 39.5C30.04 39.5 29.99 39.69 29.99 39.93C29.99 40.17 30.04 40.36 30.11 40.36C30.18 40.35 30.23 40.16 30.23 39.93Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.29 39.44C30.29 39.35 30.21 39.28 30.12 39.28C30.02 39.28 29.95 39.35 29.95 39.44C29.95 39.53 30.03 39.6 30.12 39.6C30.21 39.6 30.29 39.53 30.29 39.44Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.3501 39.3801V39.4901H29.8801V39.3801H30.0601V39.1401H29.9401V39.0401H30.0601V38.9301H30.1701V39.0401H30.2801V39.1401H30.1701V39.3801H30.3501Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0485,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.16 39.28C30.23 39.3 30.29 39.36 30.29 39.44C30.29 39.53 30.21 39.6 30.12 39.6C30.03 39.6 29.95 39.53 29.95 39.44C29.95 39.37 30 39.3 30.08 39.29L30.16 39.28Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.1101 41.1101H29.2201L29.2001 40.8901L29.1601 40.6601L29.1201 40.3801C28.8701 40.0601 28.6501 39.8401 28.5701 39.8901C28.5901 39.8301 28.6101 39.7901 28.6601 39.7601C28.8801 39.6301 29.3301 39.9401 29.6701 40.4501C29.7001 40.5001 29.7301 40.5401 29.7501 40.5901H30.4801C30.5101 40.5401 30.5401 40.5001 30.5701 40.4501C30.9101 39.9401 31.3601 39.6301 31.5701 39.7601C31.6201 39.7901 31.6401 39.8301 31.6601 39.8901C31.5801 39.8501 31.3601 40.0601 31.1101 40.3801L31.0701 40.6601L31.0301 40.8901L31.0101 41.1101H30.1101Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.7601 40.5901L30.7301 40.5701C31.0101 40.1401 31.3501 39.8501 31.5501 39.8501C31.5801 39.8501 31.6101 39.8601 31.6301 39.8701L31.6101 39.9101C31.4501 39.8101 31.0701 40.1201 30.7601 40.5901ZM29.4701 40.5901C29.1701 40.1301 28.7801 39.8201 28.6201 39.9101L28.6001 39.8701C28.7801 39.7701 29.1801 40.0701 29.5001 40.5701L29.4701 40.5901Z\",\n fill: \"#020203\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.7999 41.51C28.7599 41.4 28.6899 41.31 28.6899 41.31C29.0499 41.21 29.5499 41.14 30.1099 41.14C30.6699 41.14 31.1699 41.21 31.5299 41.31C31.5299 41.31 31.4899 41.38 31.4299 41.48C31.3999 41.54 31.3599 41.63 31.3599 41.63C31.0399 41.53 30.6199 41.48 30.0999 41.48C29.5799 41.48 29.0899 41.54 28.8299 41.64C28.8499 41.64 28.8199 41.58 28.7999 41.51Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.11 41.9701C30.56 41.9701 31.05 41.9001 31.24 41.8501C31.36 41.8101 31.43 41.7601 31.42 41.6901C31.41 41.6601 31.39 41.6301 31.35 41.6201C31.08 41.5301 30.6 41.4701 30.11 41.4701C29.62 41.4701 29.14 41.5301 28.87 41.6201C28.84 41.6301 28.81 41.6601 28.8 41.6901C28.79 41.7501 28.86 41.8101 28.98 41.8501C29.17 41.9001 29.66 41.9701 30.11 41.9701Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.5599 41.1101L31.4499 41.0101C31.4499 41.0101 31.3499 41.0701 31.2099 41.0501C31.0799 41.0301 31.0399 40.8701 31.0399 40.8701C31.0399 40.8701 30.8899 40.9901 30.7699 40.9801C30.6499 40.9701 30.5699 40.8701 30.5699 40.8701C30.5699 40.8701 30.4399 40.9601 30.3199 40.9601C30.2099 40.9501 30.0999 40.8101 30.0999 40.8101C30.0999 40.8101 29.9799 40.9601 29.8699 40.9701C29.7599 40.9801 29.6599 40.8701 29.6599 40.8701C29.6599 40.8701 29.6099 40.9801 29.4599 41.0001C29.3099 41.0201 29.1899 40.8901 29.1899 40.8901C29.1899 40.8901 29.1099 41.0201 29.0099 41.0601C28.9099 41.0901 28.7799 41.0101 28.7799 41.0101C28.7799 41.0101 28.7599 41.0601 28.7399 41.0901C28.7299 41.1201 28.6799 41.1301 28.6799 41.1301L28.7099 41.2201C29.0699 41.1201 29.5499 41.0501 30.0999 41.0501C30.6499 41.0501 31.1499 41.1101 31.5099 41.2201L31.5599 41.1101Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.1101 40.63L30.1601 40.64C30.1501 40.66 30.1501 40.68 30.1501 40.71C30.1501 40.82 30.2401 40.9 30.3601 40.9C30.4501 40.9 30.5301 40.84 30.5601 40.77C30.5601 40.77 30.5801 40.7 30.5901 40.7C30.6001 40.7 30.6001 40.78 30.6001 40.78C30.6101 40.88 30.7001 40.95 30.8001 40.95C30.9101 40.95 31.0001 40.86 31.0001 40.75C31.0001 40.74 31.0001 40.74 31.0001 40.73L31.0701 40.67L31.1001 40.75C31.0901 40.78 31.0801 40.8 31.0801 40.84C31.0801 40.94 31.1701 41.03 31.2801 41.03C31.3501 41.03 31.4101 41 31.4401 40.95L31.4801 40.9V40.97C31.4801 41.03 31.5001 41.09 31.5701 41.1C31.5701 41.1 31.6401 41.11 31.7401 41.03C31.8401 40.96 31.8901 40.89 31.8901 40.89V40.97C31.8901 40.97 31.8001 41.12 31.7101 41.17C31.6601 41.2 31.5901 41.23 31.5301 41.22C31.4701 41.21 31.4301 41.16 31.4101 41.11C31.3701 41.14 31.3201 41.15 31.2601 41.15C31.1401 41.15 31.0401 41.09 31.0001 40.99C30.9501 41.05 30.8701 41.08 30.7901 41.08C30.6901 41.08 30.6101 41.04 30.5601 40.97C30.5101 41.02 30.4401 41.05 30.3601 41.05C30.2601 41.05 30.1701 41 30.1101 40.92C30.0601 41 29.9701 41.05 29.8601 41.05C29.7801 41.05 29.7101 41.02 29.6601 40.97C29.6101 41.03 29.5201 41.08 29.4301 41.08C29.3401 41.08 29.2701 41.05 29.2101 40.99C29.1701 41.08 29.0601 41.15 28.9501 41.15C28.9001 41.15 28.8501 41.14 28.8001 41.11C28.7801 41.17 28.7301 41.21 28.6701 41.22C28.6101 41.23 28.5401 41.2 28.5001 41.17C28.4101 41.12 28.3101 40.97 28.3101 40.97L28.3201 40.89C28.3201 40.89 28.3701 40.95 28.4701 41.03C28.5701 41.11 28.6401 41.1 28.6401 41.1C28.7001 41.09 28.7301 41.03 28.7301 40.97V40.9L28.7701 40.95C28.8001 41 28.8601 41.03 28.9301 41.03C29.0401 41.03 29.1301 40.95 29.1301 40.84C29.1301 40.81 29.1301 40.78 29.1101 40.75L29.1501 40.67L29.2101 40.73C29.2101 40.74 29.2101 40.74 29.2101 40.75C29.2101 40.86 29.3001 40.95 29.4201 40.95C29.5201 40.95 29.6101 40.88 29.6301 40.78C29.6301 40.78 29.6301 40.7 29.6401 40.7C29.6501 40.7 29.6701 40.77 29.6701 40.77C29.7001 40.85 29.7701 40.9 29.8701 40.9C29.9801 40.9 30.0701 40.81 30.0701 40.71C30.0701 40.69 30.0701 40.66 30.0601 40.64L30.1101 40.63Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.1101 41.14C29.5501 41.14 29.0501 41.21 28.6901 41.31C28.6701 41.32 28.6401 41.3 28.6301 41.28C28.6201 41.26 28.6401 41.23 28.6601 41.22C29.0201 41.11 29.5301 41.04 30.1001 41.04C30.6701 41.04 31.1901 41.11 31.5501 41.22C31.5701 41.23 31.5901 41.25 31.5801 41.28C31.5701 41.3 31.5401 41.32 31.5201 41.31C31.1701 41.21 30.6701 41.14 30.1101 41.14Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.22 40.91C28.22 40.91 28.15 40.82 28.1 40.77C28.06 40.74 27.97 40.71 27.97 40.71C27.97 40.7 28.02 40.66 28.08 40.66C28.11 40.66 28.14 40.67 28.16 40.7L28.17 40.66C28.17 40.66 28.21 40.67 28.23 40.72C28.25 40.77 28.24 40.85 28.24 40.85C28.24 40.85 28.24 40.89 28.22 40.91Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.57 40.7701L28.55 40.8901L28.29 40.9201L28.25 40.9001L28.26 40.8601L28.46 40.7001L28.57 40.7701Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.57 40.7701L28.55 40.8901L28.29 40.9201L28.25 40.9001L28.26 40.8601L28.46 40.7001L28.57 40.7701Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.2201 40.86C28.2401 40.84 28.2901 40.84 28.3201 40.87C28.3501 40.9 28.3701 40.94 28.3401 40.96C28.3201 40.98 28.2701 40.98 28.2401 40.95C28.2101 40.93 28.2001 40.89 28.2201 40.86Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.7 40.8901C28.69 40.8601 28.7 40.8201 28.72 40.8101C28.75 40.8001 28.78 40.8301 28.79 40.8601C28.8 40.9001 28.79 40.9301 28.77 40.9401C28.74 40.9501 28.71 40.9201 28.7 40.8901Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.8201 40.7301L28.9101 40.8201L29.1401 40.7001L29.1601 40.6601L29.1301 40.6301L28.8701 40.6101L28.8201 40.7301Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.8201 40.7301L28.9101 40.8201L29.1401 40.7001L29.1601 40.6601L29.1301 40.6301L28.8701 40.6101L28.8201 40.7301Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.08 40.3101L28.96 40.4301L29.12 40.6401L29.16 40.6601L29.19 40.6301L29.25 40.3801L29.08 40.3101Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.08 40.3101L28.96 40.4301L29.12 40.6401L29.16 40.6601L29.19 40.6301L29.25 40.3801L29.08 40.3101Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.4999 40.6L29.4499 40.72L29.1899 40.7L29.1599 40.67L29.1799 40.63L29.4099 40.51L29.4999 40.6Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.4999 40.6L29.4499 40.72L29.1899 40.7L29.1599 40.67L29.1799 40.63L29.4099 40.51L29.4999 40.6Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.2501 40.6601C29.2501 40.6101 29.2101 40.5701 29.1601 40.5701C29.1101 40.5701 29.0701 40.6101 29.0701 40.6601C29.0701 40.7101 29.1101 40.7501 29.1601 40.7501C29.2101 40.7501 29.2501 40.7101 29.2501 40.6601Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.59 40.72C29.58 40.68 29.6 40.65 29.63 40.65C29.65 40.65 29.68 40.67 29.68 40.71C29.69 40.74 29.67 40.78 29.64 40.78C29.62 40.78 29.6 40.75 29.59 40.72Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.76 40.5901L29.83 40.7001L30.08 40.6201L30.11 40.5901L30.08 40.5501L29.83 40.4801L29.76 40.5901Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.76 40.5901L29.83 40.7001L30.08 40.6201L30.11 40.5901L30.08 40.5501L29.83 40.4801L29.76 40.5901Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.11 40.2001L29.95 40.3001L30.07 40.5501L30.11 40.5801L30.15 40.5501L30.27 40.3001L30.11 40.2001Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.4601 40.5901L30.3901 40.6901L30.1401 40.6101L30.1101 40.5801L30.1401 40.5401L30.3901 40.4701L30.4601 40.5901Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.2 40.5801C30.2 40.5301 30.16 40.4901 30.11 40.4901C30.06 40.4901 30.02 40.5301 30.02 40.5801C30.02 40.6301 30.06 40.6701 30.11 40.6701C30.16 40.6701 30.2 40.6301 30.2 40.5801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.63 40.72C30.63 40.68 30.61 40.65 30.59 40.65C30.56 40.65 30.54 40.67 30.53 40.71C30.53 40.74 30.54 40.78 30.57 40.78C30.6 40.78 30.63 40.75 30.63 40.72Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.73 40.6L30.78 40.72L31.04 40.7L31.07 40.67L31.05 40.63L30.82 40.51L30.73 40.6Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.73 40.6L30.78 40.72L31.04 40.7L31.07 40.67L31.05 40.63L30.82 40.51L30.73 40.6Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.15 40.3101L31.27 40.4301L31.11 40.6401L31.07 40.6601L31.04 40.6301L30.98 40.3801L31.15 40.3101Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.15 40.3101L31.27 40.4301L31.11 40.6401L31.07 40.6601L31.04 40.6301L30.98 40.3801L31.15 40.3101Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.4101 40.7301L31.3201 40.8201L31.0901 40.7001L31.0701 40.6601L31.1101 40.6301L31.3701 40.6101L31.4101 40.7301Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.4101 40.7301L31.3201 40.8201L31.0901 40.7001L31.0701 40.6601L31.1101 40.6301L31.3701 40.6101L31.4101 40.7301Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.16 40.6601C31.16 40.6101 31.12 40.5701 31.07 40.5701C31.02 40.5701 30.98 40.6101 30.98 40.6601C30.98 40.7101 31.02 40.7501 31.07 40.7501C31.12 40.7501 31.16 40.7101 31.16 40.6601Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.53 40.8901C31.54 40.8601 31.53 40.8201 31.51 40.8101C31.48 40.8001 31.45 40.8301 31.44 40.8601C31.43 40.9001 31.44 40.9301 31.47 40.9401C31.49 40.9501 31.52 40.9201 31.53 40.8901Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.97 40.91C31.97 40.91 32.04 40.82 32.09 40.77C32.12 40.74 32.21 40.71 32.21 40.71C32.21 40.7 32.16 40.66 32.1 40.66C32.07 40.66 32.04 40.67 32.02 40.7L32.01 40.66C32.01 40.66 31.96 40.67 31.94 40.72C31.92 40.77 31.93 40.85 31.93 40.85C31.93 40.85 31.96 40.89 31.97 40.91Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.6201 40.7701L31.6401 40.8901L31.9001 40.9201L31.9401 40.9001L31.9301 40.8601L31.7401 40.7001L31.6201 40.7701Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.6201 40.7701L31.6401 40.8901L31.9001 40.9201L31.9401 40.9001L31.9301 40.8601L31.7401 40.7001L31.6201 40.7701Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.97 40.86C31.95 40.84 31.91 40.84 31.87 40.87C31.84 40.9 31.83 40.94 31.85 40.96C31.87 40.98 31.92 40.98 31.95 40.95C31.99 40.93 32 40.89 31.97 40.86Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.7 41.5201L28.76 41.4301L28.8799 41.4501L28.8099 41.5601L28.7 41.5201Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.22 41.43L29.09 41.4501C29.06 41.4501 29.02 41.4301 29.02 41.4001C29.02 41.3701 29.04 41.34 29.07 41.34L29.2 41.32L29.33 41.3C29.36 41.3 29.39 41.32 29.4 41.35C29.4 41.38 29.38 41.41 29.35 41.42L29.22 41.43Z\",\n fill: \"#419846\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.22 41.43L29.09 41.4501C29.06 41.4501 29.02 41.4301 29.02 41.4001C29.02 41.3701 29.04 41.34 29.07 41.34L29.2 41.32L29.33 41.3C29.36 41.3 29.39 41.32 29.4 41.35C29.4 41.38 29.38 41.41 29.35 41.42L29.22 41.43Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.7301 41.34C29.7301 41.3 29.6901 41.26 29.6501 41.26C29.6101 41.26 29.5701 41.29 29.5701 41.34C29.5701 41.38 29.6101 41.42 29.6501 41.42C29.7001 41.41 29.7301 41.38 29.7301 41.34Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.1201 41.37H29.9401C29.9101 41.37 29.8801 41.34 29.8801 41.31C29.8801 41.28 29.9001 41.25 29.9401 41.25H30.3001C30.3401 41.25 30.3601 41.28 30.3601 41.31C30.3601 41.34 30.3301 41.37 30.3001 41.37H30.1201Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.65 41.34C30.65 41.3 30.61 41.26 30.57 41.26C30.52 41.26 30.49 41.29 30.49 41.34C30.49 41.38 30.53 41.42 30.57 41.42C30.62 41.41 30.65 41.38 30.65 41.34Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.0001 41.43L31.1301 41.4501C31.1601 41.4501 31.1901 41.4301 31.2001 41.4001C31.2001 41.3701 31.1801 41.34 31.1501 41.34L31.0201 41.32L30.8901 41.3C30.8601 41.3 30.8301 41.32 30.8201 41.35C30.8101 41.38 30.8401 41.41 30.8701 41.42L31.0001 41.43Z\",\n fill: \"#419846\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.0001 41.43L31.1301 41.4501C31.1601 41.4501 31.1901 41.4301 31.2001 41.4001C31.2001 41.3701 31.1801 41.34 31.1501 41.34L31.0201 41.32L30.8901 41.3C30.8601 41.3 30.8301 41.32 30.8201 41.35C30.8101 41.38 30.8401 41.41 30.8701 41.42L31.0001 41.43Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.5101 41.5301L31.4601 41.4301L31.3401 41.4401L31.4001 41.5501L31.5101 41.5301Z\",\n fill: \"#BF1818\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.5101 41.5301L31.4601 41.4301L31.3401 41.4401L31.4001 41.5501L31.5101 41.5301Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.11 41.8601C29.66 41.8601 29.25 41.8201 28.95 41.7401C29.26 41.6601 29.67 41.6101 30.11 41.6101C30.56 41.6101 30.97 41.6601 31.28 41.7401C30.97 41.8201 30.56 41.8601 30.11 41.8601Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.3199 41.85V41.63M30.2099 41.86V41.63M30.1399 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.001595,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.0701 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.003233,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.004829,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.95 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.006467,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.8801 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.006467,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.8301 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.73 41.85V41.64M29.78 41.85V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.009722,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.6399 41.84V41.64M29.6799 41.85V41.64\",\n stroke: \"#020203\",\n strokeWidth: 0.0113,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.51 41.83V41.66M29.55 41.83V41.65M29.6 41.84V41.65\",\n stroke: \"#020203\",\n strokeWidth: 0.013,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.47 41.83V41.66\",\n stroke: \"#020203\",\n strokeWidth: 0.0145,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.4299 41.82V41.66\",\n stroke: \"#020203\",\n strokeWidth: 0.0162,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.3801 41.82V41.67\",\n stroke: \"#020203\",\n strokeWidth: 0.0178,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.29 41.8001V41.6901M29.34 41.8101V41.6801\",\n stroke: \"#020203\",\n strokeWidth: 0.0194,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.25 41.7901V41.6901\",\n stroke: \"#020203\",\n strokeWidth: 0.0194,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.2 41.7801V41.7001\",\n stroke: \"#020203\",\n strokeWidth: 0.021,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.1599 41.7701V41.7001\",\n stroke: \"#020203\",\n strokeWidth: 0.0226,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.1101 41.7701V41.7201\",\n stroke: \"#020203\",\n strokeWidth: 0.0242,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.0601 41.7601V41.7401\",\n stroke: \"#020203\",\n strokeWidth: 0.0291,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33 61.1801C32.72 61.1801 32.46 61.1201 32.27 61.0201C32.09 60.9301 31.83 60.8701 31.56 60.8701C31.28 60.8701 31.02 60.9301 30.84 61.0201C30.65 61.1201 30.4 61.1801 30.12 61.1801C29.84 61.1801 29.58 61.1101 29.39 61.0101C29.21 60.9201 28.96 60.8601 28.69 60.8601C28.41 60.8601 28.16 60.9101 27.98 61.0101C27.79 61.1101 27.53 61.1701 27.25 61.1701V61.6201C27.53 61.6201 27.79 61.5501 27.98 61.4601C28.17 61.3601 28.41 61.3101 28.69 61.3101C28.96 61.3101 29.21 61.3701 29.39 61.4601C29.58 61.5601 29.83 61.6301 30.12 61.6301C30.4 61.6301 30.66 61.5701 30.84 61.4701C31.03 61.3701 31.28 61.3101 31.56 61.3101C31.84 61.3101 32.09 61.3701 32.27 61.4601C32.46 61.5601 32.71 61.6201 32.99 61.6201L33 61.1801Z\",\n fill: \"#3955A2\",\n stroke: \"#020203\",\n strokeWidth: 0.0986,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33 61.6301C32.72 61.6301 32.46 61.5701 32.27 61.4701C32.09 61.3801 31.83 61.3201 31.56 61.3201C31.28 61.3201 31.02 61.3801 30.84 61.4701C30.65 61.5701 30.4 61.6301 30.12 61.6301C29.84 61.6301 29.58 61.5601 29.39 61.4601C29.21 61.3701 28.96 61.3101 28.69 61.3101C28.41 61.3101 28.16 61.3601 27.98 61.4601C27.79 61.5601 27.53 61.6201 27.25 61.6201V62.0701C27.53 62.0701 27.79 62.0001 27.98 61.9101C28.17 61.8101 28.41 61.7601 28.69 61.7601C28.96 61.7601 29.21 61.8201 29.39 61.9101C29.58 62.0101 29.83 62.0801 30.12 62.0801C30.4 62.0801 30.66 62.0201 30.84 61.9201C31.03 61.8201 31.28 61.7701 31.56 61.7701C31.84 61.7701 32.09 61.8301 32.27 61.9201C32.46 62.0201 32.71 62.0801 32.99 62.0801L33 61.6301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33 62.08C32.72 62.08 32.46 62.02 32.27 61.92C32.09 61.82 31.83 61.77 31.56 61.77C31.28 61.77 31.02 61.83 30.84 61.92C30.65 62.02 30.4 62.08 30.12 62.08C29.84 62.08 29.58 62.01 29.39 61.91C29.21 61.82 28.96 61.76 28.69 61.76C28.41 61.76 28.16 61.81 27.98 61.91C27.79 62.01 27.53 62.07 27.25 62.07V62.51C27.53 62.51 27.79 62.45 27.98 62.35C28.17 62.26 28.41 62.2 28.69 62.2C28.96 62.2 29.21 62.26 29.39 62.35C29.58 62.45 29.83 62.52 30.12 62.52C30.4 62.52 30.66 62.46 30.84 62.36C31.03 62.26 31.28 62.21 31.56 62.21C31.84 62.21 32.09 62.27 32.27 62.36C32.46 62.46 32.71 62.52 32.99 62.52L33 62.08Z\",\n fill: \"#3955A2\",\n stroke: \"#020203\",\n strokeWidth: 0.0986,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.99 62.9701C32.71 62.9701 32.46 62.9101 32.27 62.8101C32.09 62.7201 31.83 62.6601 31.56 62.6601C31.28 62.6601 31.02 62.7201 30.84 62.8101C30.65 62.9101 30.4 62.9701 30.12 62.9701C29.84 62.9701 29.58 62.9001 29.39 62.8001C29.21 62.7101 28.96 62.6501 28.69 62.6501C28.41 62.6501 28.16 62.7001 27.98 62.8001C27.79 62.9001 27.53 62.9601 27.25 62.9601V62.5201C27.53 62.5201 27.79 62.4501 27.98 62.3501C28.17 62.2601 28.41 62.2001 28.69 62.2001C28.96 62.2001 29.21 62.2601 29.39 62.3501C29.58 62.4501 29.83 62.5201 30.12 62.5201C30.4 62.5201 30.66 62.4601 30.84 62.3601C31.03 62.2601 31.28 62.2101 31.56 62.2101C31.84 62.2101 32.09 62.2701 32.27 62.3601C32.46 62.4601 32.71 62.5201 33 62.5201L32.99 62.9701Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.99 62.9701C32.71 62.9701 32.46 62.9101 32.27 62.8101C32.09 62.7201 31.83 62.6601 31.56 62.6601C31.28 62.6601 31.02 62.7201 30.84 62.8101C30.65 62.9101 30.4 62.9701 30.12 62.9701C29.84 62.9701 29.58 62.9001 29.39 62.8001C29.21 62.7101 28.96 62.6501 28.69 62.6501C28.41 62.6501 28.16 62.7001 27.98 62.8001C27.79 62.9001 27.53 62.9601 27.25 62.9601V62.5201C27.53 62.5201 27.79 62.4501 27.98 62.3501C28.17 62.2601 28.41 62.2001 28.69 62.2001C28.96 62.2001 29.21 62.2601 29.39 62.3501C29.58 62.4501 29.83 62.5201 30.12 62.5201C30.4 62.5201 30.66 62.4601 30.84 62.3601C31.03 62.2601 31.28 62.2101 31.56 62.2101C31.84 62.2101 32.09 62.2701 32.27 62.3601C32.46 62.4601 32.71 62.5201 33 62.5201L32.99 62.9701Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.99 63.41C32.71 63.41 32.46 63.35 32.27 63.25C32.09 63.15 31.83 63.1 31.56 63.1C31.28 63.1 31.02 63.16 30.84 63.25C30.65 63.35 30.4 63.41 30.12 63.41C29.84 63.41 29.58 63.34 29.39 63.24C29.21 63.15 28.96 63.09 28.69 63.09C28.41 63.09 28.16 63.15 27.98 63.24C27.79 63.34 27.53 63.4 27.25 63.4V62.96C27.53 62.96 27.79 62.89 27.98 62.79C28.17 62.69 28.41 62.64 28.69 62.64C28.96 62.64 29.21 62.7 29.39 62.79C29.58 62.89 29.83 62.96 30.12 62.96C30.4 62.96 30.66 62.9 30.84 62.8C31.03 62.7 31.28 62.65 31.56 62.65C31.84 62.65 32.09 62.71 32.27 62.8C32.46 62.9 32.71 62.96 33 62.96L32.99 63.41Z\",\n fill: \"#3955A2\",\n stroke: \"#020203\",\n strokeWidth: 0.0986,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.49 59.3501C28.5 59.3901 28.51 59.4201 28.51 59.4701C28.51 59.7401 28.27 59.9601 27.99 59.9601H32.23C31.94 59.9601 31.71 59.7401 31.71 59.4701C31.71 59.4301 31.72 59.3901 31.73 59.3501C31.71 59.3601 31.68 59.3601 31.65 59.3601H28.57C28.55 59.3701 28.52 59.3601 28.49 59.3501Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.5701 59.0801H31.6501C31.7601 59.0801 31.8401 59.1401 31.8401 59.2201C31.8401 59.3001 31.7601 59.3701 31.6501 59.3701H28.5701C28.4701 59.3701 28.3801 59.3001 28.3801 59.2201C28.3801 59.1401 28.4701 59.0801 28.5701 59.0801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.23 59.9601H28V61.0401H32.23V59.9601Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6101 44.1801H28.6101V58.9001H31.6101V44.1801Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.75 44.2001V58.8901M31.09 44.2001V58.8901\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.1801 41.9301H28.0601V43.0101H32.1801V41.9301Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.49 43.73C28.52 43.72 28.53 43.72 28.57 43.72H31.65C31.68 43.72 31.71 43.73 31.74 43.74C31.63 43.71 31.56 43.61 31.56 43.5C31.56 43.39 31.64 43.29 31.75 43.25C31.72 43.26 31.69 43.26 31.66 43.26H28.57C28.54 43.26 28.51 43.26 28.48 43.25H28.5C28.61 43.28 28.67 43.38 28.67 43.49C28.67 43.59 28.6 43.7 28.49 43.73Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.5701 43.7201H31.6501C31.7601 43.7201 31.8401 43.7901 31.8401 43.8701C31.8401 43.9501 31.7601 44.0201 31.6501 44.0201H28.5701C28.4701 44.0201 28.3801 43.9601 28.3801 43.8701C28.3801 43.7801 28.4701 43.7201 28.5701 43.7201Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.5701 43.01H31.6601C31.7701 43.01 31.8501 43.07 31.8501 43.13C31.8501 43.2 31.7601 43.25 31.6601 43.25H28.5701C28.4701 43.25 28.3801 43.19 28.3801 43.13C28.3801 43.07 28.4701 43.01 28.5701 43.01Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M27.6699 55.26C27.2499 55.5 26.9699 55.75 27.0099 55.87C27.0299 55.98 27.1699 56.07 27.3599 56.19C27.6599 56.4 27.8399 56.77 27.6999 56.94C27.9499 56.74 28.0999 56.44 28.0999 56.11C28.1099 55.77 27.9399 55.46 27.6699 55.26Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.68 49.6901C34.03 49.4201 32.91 49.2201 31.63 49.1801C31.19 49.1801 30.7 49.2301 30.19 49.3101C28.39 49.6101 27.02 50.3301 27.13 50.9101C27.13 50.9201 27.14 50.9501 27.14 50.9601C27.14 50.9601 26.47 49.4401 26.46 49.3901C26.34 48.7401 27.86 47.9401 29.85 47.6101C30.48 47.5001 31.09 47.4601 31.62 47.4701C32.9 47.4701 34 47.6301 34.67 47.8801L34.68 49.6901Z\",\n fill: \"#BF1818\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.68 49.6901C34.03 49.4201 32.91 49.2201 31.63 49.1801C31.19 49.1801 30.7 49.2301 30.19 49.3101C28.39 49.6101 27.02 50.3301 27.13 50.9101C27.13 50.9201 27.14 50.9501 27.14 50.9601C27.14 50.9601 26.47 49.4401 26.46 49.3901C26.34 48.7401 27.86 47.9401 29.85 47.6101C30.48 47.5001 31.09 47.4601 31.62 47.4701C32.9 47.4701 34 47.6301 34.67 47.8801L34.68 49.6901Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.61 51.53C27.78 51.47 27.21 51.25 27.14 50.9C27.09 50.62 27.37 50.31 27.87 50.04C28.09 50.07 28.35 50.1 28.61 50.1V51.53Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.6201 50.41C32.1401 50.49 32.5301 50.62 32.7201 50.78L32.7401 50.81C32.8301 51 32.3801 51.41 31.6101 51.86L31.6201 50.41Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.7401 54.38C26.6601 54.14 27.4701 53.66 28.6201 53.24C29.1501 53.05 29.5801 52.86 30.1201 52.62C31.7201 51.91 32.8901 51.11 32.7501 50.81L32.7301 50.78C32.8201 50.85 32.9501 52.3 32.9501 52.3C33.0901 52.57 32.0201 53.37 30.5501 54.07C30.0801 54.3 29.0901 54.66 28.6201 54.83C27.7801 55.12 26.9501 55.67 27.0301 55.87L26.7401 54.38Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.69 40.8001C57.69 40.8001 57.55 40.9401 57.45 40.9601C57.35 40.9801 57.23 40.8701 57.23 40.8701C57.23 40.8701 57.14 40.9601 57.03 40.9901C56.92 41.0201 56.77 40.8701 56.77 40.8701C56.77 40.8701 56.66 41.0201 56.57 41.0501C56.48 41.0801 56.36 41.0101 56.36 41.0101C56.36 41.0101 56.32 41.0801 56.24 41.1201C56.21 41.1401 56.15 41.1101 56.15 41.1101L56.04 41.0401L55.91 40.9101L55.8 40.8701C55.8 40.8701 55.75 40.7001 55.74 40.6701C55.74 40.6401 55.72 40.5601 55.72 40.5601C55.7 40.4401 55.88 40.3001 56.15 40.2401C56.3 40.2001 56.43 40.2101 56.53 40.2401C56.63 40.1501 56.86 40.0901 57.12 40.0901C57.36 40.0901 57.57 40.1401 57.68 40.2201C57.79 40.1401 58 40.0901 58.24 40.0901C58.5 40.0901 58.72 40.1501 58.83 40.2401C58.93 40.2101 59.06 40.2101 59.21 40.2401C59.47 40.3001 59.66 40.4401 59.63 40.5601C59.63 40.5601 59.62 40.6401 59.62 40.6701C59.62 40.7001 59.56 40.8701 59.56 40.8701L59.44 40.9101L59.31 41.0401L59.2 41.1101C59.2 41.1101 59.14 41.1401 59.11 41.1201C59.03 41.0801 58.99 41.0101 58.99 41.0101C58.99 41.0101 58.87 41.0901 58.78 41.0501C58.69 41.0201 58.58 40.8701 58.58 40.8701C58.58 40.8701 58.43 41.0201 58.32 40.9901C58.21 40.9701 58.12 40.8701 58.12 40.8701C58.12 40.8701 58 40.9801 57.9 40.9601C57.82 40.9501 57.69 40.8001 57.69 40.8001Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.9399 40.02C57.9399 39.82 57.8299 39.66 57.6899 39.66C57.5499 39.66 57.4399 39.82 57.4399 40.02C57.4399 40.22 57.5499 40.38 57.6899 40.38C57.8199 40.39 57.9399 40.22 57.9399 40.02Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.8001 40.0201C57.8001 39.8401 57.7501 39.6901 57.6801 39.6901C57.6201 39.6901 57.5601 39.8401 57.5601 40.0201C57.5601 40.2001 57.6101 40.3501 57.6801 40.3501C57.7501 40.3601 57.8001 40.2101 57.8001 40.0201Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.68 39.7701C57.7739 39.7701 57.85 39.6984 57.85 39.6101C57.85 39.5217 57.7739 39.4501 57.68 39.4501C57.5861 39.4501 57.51 39.5217 57.51 39.6101C57.51 39.6984 57.5861 39.7701 57.68 39.7701Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.73 39.4501C57.8 39.4701 57.85 39.5301 57.85 39.6001C57.85 39.6901 57.77 39.7601 57.68 39.7601C57.59 39.7601 57.51 39.6901 57.51 39.6001C57.51 39.5301 57.56 39.4601 57.64 39.4401L57.73 39.4501Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.92 39.5501V39.6601H57.46V39.5501H57.63V39.3101H57.52V39.2001H57.63V39.1001H57.74V39.2001H57.86V39.3101H57.74V39.5501H57.92Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0485,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.38 41.53C56.34 41.42 56.28 41.33 56.28 41.33C56.64 41.22 57.14 41.16 57.7 41.16C58.26 41.16 58.76 41.23 59.12 41.33C59.12 41.33 59.08 41.4 59.02 41.5C58.99 41.56 58.95 41.65 58.95 41.65C58.63 41.55 58.21 41.5 57.69 41.5C57.17 41.5 56.68 41.57 56.42 41.66C56.42 41.65 56.4 41.59 56.38 41.53Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.6901 41.9801C58.1401 41.9801 58.6301 41.9101 58.8201 41.8601C58.9401 41.8201 59.0101 41.7701 59.0001 41.7101C58.9901 41.6801 58.9701 41.6501 58.9301 41.6401C58.6601 41.5501 58.1801 41.4901 57.6901 41.4901C57.2001 41.4901 56.7201 41.5501 56.4501 41.6401C56.4201 41.6501 56.3901 41.6801 56.3801 41.7101C56.3701 41.7701 56.4401 41.8301 56.5601 41.8601C56.7401 41.9101 57.2401 41.9801 57.6901 41.9801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.13 41.1201L59.02 41.0201C59.02 41.0201 58.91 41.0801 58.78 41.0601C58.65 41.0401 58.61 40.8801 58.61 40.8801C58.61 40.8801 58.46 41.0001 58.34 41.0001C58.22 40.9901 58.14 40.8801 58.14 40.8801C58.14 40.8801 58.01 40.9701 57.89 40.9701C57.78 40.9601 57.67 40.8201 57.67 40.8201C57.67 40.8201 57.55 40.9701 57.44 40.9801C57.33 40.9901 57.23 40.8801 57.23 40.8801C57.23 40.8801 57.18 40.9901 57.03 41.0101C56.88 41.0301 56.76 40.9001 56.76 40.9001C56.76 40.9001 56.68 41.0301 56.58 41.0701C56.48 41.1001 56.35 41.0201 56.35 41.0201C56.35 41.0201 56.33 41.0701 56.31 41.1001C56.3 41.1301 56.25 41.1401 56.25 41.1401L56.28 41.2301C56.64 41.1301 57.12 41.0601 57.67 41.0601C58.22 41.0601 58.72 41.1301 59.08 41.2301L59.13 41.1201Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.6899 40.65L57.7399 40.66C57.7299 40.68 57.7299 40.7 57.7299 40.73C57.7299 40.84 57.8199 40.92 57.9399 40.92C58.0299 40.92 58.1099 40.86 58.1399 40.79C58.1399 40.79 58.1599 40.72 58.1699 40.72C58.1799 40.72 58.1799 40.8 58.1799 40.8C58.1899 40.9 58.2799 40.97 58.3799 40.97C58.4899 40.97 58.5799 40.88 58.5799 40.77C58.5799 40.76 58.5799 40.76 58.5799 40.75L58.6499 40.69L58.6799 40.77C58.6699 40.8 58.6599 40.82 58.6599 40.85C58.6599 40.95 58.7499 41.04 58.8599 41.04C58.9299 41.04 58.9899 41.01 59.0199 40.96L59.0599 40.91V40.98C59.0599 41.04 59.0899 41.1 59.1499 41.11C59.1499 41.11 59.2199 41.12 59.3199 41.04C59.4199 40.96 59.4699 40.9 59.4699 40.9L59.4799 40.98C59.4799 40.98 59.3899 41.14 59.2999 41.18C59.2499 41.21 59.1799 41.24 59.1199 41.23C59.0599 41.22 59.0199 41.17 58.9999 41.12C58.9599 41.15 58.9099 41.16 58.8499 41.16C58.7299 41.16 58.6299 41.09 58.5899 41C58.5399 41.06 58.4599 41.09 58.3799 41.09C58.2899 41.09 58.1999 41.05 58.1499 40.98C58.0999 41.03 58.0299 41.06 57.9499 41.06C57.8499 41.06 57.7599 41.01 57.6999 40.93C57.6499 41.01 57.5599 41.06 57.4499 41.06C57.3699 41.06 57.2999 41.03 57.2499 40.98C57.1999 41.04 57.1099 41.09 57.0199 41.09C56.9299 41.09 56.8599 41.05 56.7999 41C56.7599 41.09 56.6499 41.16 56.5399 41.16C56.4899 41.16 56.4399 41.15 56.3899 41.12C56.3699 41.17 56.3299 41.22 56.2599 41.23C56.1999 41.24 56.1299 41.21 56.0899 41.18C55.9999 41.13 55.8999 40.98 55.8999 40.98L55.9099 40.9C55.9099 40.9 55.9599 40.96 56.0599 41.04C56.1599 41.12 56.2299 41.11 56.2299 41.11C56.2899 41.1 56.3199 41.04 56.3199 40.98V40.91L56.3599 40.96C56.3999 41.01 56.4499 41.04 56.5199 41.04C56.6299 41.04 56.7199 40.96 56.7199 40.85C56.7199 40.82 56.7199 40.79 56.6999 40.77L56.7399 40.69L56.7999 40.75C56.7999 40.76 56.7999 40.76 56.7999 40.77C56.7999 40.88 56.8899 40.97 57.0099 40.97C57.1099 40.97 57.1999 40.9 57.2199 40.8C57.2199 40.8 57.2199 40.72 57.2299 40.72C57.2399 40.72 57.2599 40.79 57.2599 40.79C57.2899 40.87 57.3599 40.92 57.4599 40.92C57.5699 40.92 57.6699 40.83 57.6699 40.73C57.6699 40.7 57.6699 40.68 57.6599 40.66L57.6899 40.65Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256,\n strokeLinecap: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.6899 41.1501C57.1299 41.1501 56.6299 41.22 56.2699 41.32C56.2499 41.33 56.2199 41.3101 56.2099 41.2901C56.1999 41.2701 56.2199 41.24 56.2399 41.23C56.5999 41.12 57.1099 41.05 57.6899 41.05C58.2599 41.05 58.7799 41.12 59.1399 41.23C59.1599 41.24 59.1799 41.2601 59.1699 41.2901C59.1599 41.3101 59.1299 41.33 59.1099 41.32C58.7499 41.22 58.2399 41.1501 57.6899 41.1501Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.8001 40.92C55.8001 40.92 55.7301 40.83 55.6801 40.78C55.6401 40.75 55.5601 40.72 55.5601 40.72C55.5601 40.7 55.6101 40.67 55.6701 40.67C55.7001 40.67 55.7301 40.68 55.7501 40.71L55.7601 40.67C55.7601 40.67 55.8001 40.68 55.8201 40.73C55.8401 40.78 55.8301 40.86 55.8301 40.86C55.8301 40.86 55.8101 40.91 55.8001 40.92Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.1401 40.7801L56.1201 40.9001L55.8601 40.9301L55.8201 40.9101L55.8301 40.8701L56.0301 40.7101L56.1401 40.7801Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.1401 40.7801L56.1201 40.9001L55.8601 40.9301L55.8201 40.9101L55.8301 40.8701L56.0301 40.7101L56.1401 40.7801Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.8 40.88C55.82 40.86 55.87 40.86 55.9 40.89C55.93 40.92 55.95 40.96 55.92 40.98C55.9 41 55.85 41 55.82 40.97C55.79 40.94 55.78 40.9 55.8 40.88Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.27 40.9001C56.26 40.8701 56.27 40.8301 56.29 40.8201C56.32 40.8101 56.35 40.8401 56.36 40.8701C56.37 40.9001 56.36 40.9401 56.33 40.9501C56.32 40.9601 56.29 40.9401 56.27 40.9001Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.3899 40.75L56.4799 40.84L56.7099 40.72L56.7299 40.68L56.6999 40.65L56.4399 40.63L56.3899 40.75Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.3899 40.75L56.4799 40.84L56.7099 40.72L56.7299 40.68L56.6999 40.65L56.4399 40.63L56.3899 40.75Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.65 40.3301L56.53 40.4501L56.69 40.6601L56.73 40.6801L56.76 40.6501L56.81 40.4001L56.65 40.3301Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.65 40.3301L56.53 40.4501L56.69 40.6601L56.73 40.6801L56.76 40.6501L56.81 40.4001L56.65 40.3301Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.08 40.61L57.03 40.73L56.77 40.71L56.74 40.68L56.76 40.64L56.99 40.52L57.08 40.61Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.08 40.61L57.03 40.73L56.77 40.71L56.74 40.68L56.76 40.64L56.99 40.52L57.08 40.61Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.8299 40.6801C56.8299 40.6301 56.7899 40.5901 56.7399 40.5901C56.6899 40.5901 56.6499 40.6301 56.6499 40.6801C56.6499 40.7301 56.6899 40.7701 56.7399 40.7701C56.7799 40.7601 56.8299 40.7201 56.8299 40.6801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.1701 40.73C57.1601 40.69 57.1801 40.66 57.2101 40.66C57.2401 40.66 57.2601 40.68 57.2701 40.72C57.2701 40.75 57.2601 40.79 57.2301 40.79C57.2001 40.79 57.1701 40.77 57.1701 40.73Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.3401 40.6001L57.4101 40.7101L57.6601 40.6301L57.6901 40.6001L57.6601 40.5601L57.4101 40.4901L57.3401 40.6001Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.3401 40.6001L57.4101 40.7101L57.6601 40.6301L57.6901 40.6001L57.6601 40.5601L57.4101 40.4901L57.3401 40.6001Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.69 40.2101L57.53 40.3101L57.65 40.5601L57.69 40.5901L57.73 40.5601L57.85 40.3101L57.69 40.2101Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.0399 40.6001L57.9599 40.7101L57.7199 40.6301L57.6899 40.5901L57.7199 40.5601L57.9599 40.4801L58.0399 40.6001Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.7801 40.59C57.7801 40.54 57.7401 40.5 57.6901 40.5C57.6401 40.5 57.6001 40.54 57.6001 40.59C57.6001 40.64 57.6401 40.68 57.6901 40.68C57.7401 40.68 57.7801 40.64 57.7801 40.59Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.2101 40.73C58.2101 40.69 58.1901 40.66 58.1701 40.66C58.1401 40.66 58.1201 40.68 58.1101 40.72C58.1101 40.75 58.1201 40.79 58.1501 40.79C58.1801 40.79 58.2101 40.77 58.2101 40.73Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.3 40.61L58.35 40.73L58.6101 40.71L58.64 40.68L58.62 40.64L58.39 40.52L58.3 40.61Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.3 40.61L58.35 40.73L58.6101 40.71L58.64 40.68L58.62 40.64L58.39 40.52L58.3 40.61Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.7201 40.3301L58.84 40.4501L58.68 40.6601L58.64 40.6801L58.6101 40.6501L58.55 40.4001L58.7201 40.3301Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.7201 40.3301L58.84 40.4501L58.68 40.6601L58.64 40.6801L58.6101 40.6501L58.55 40.4001L58.7201 40.3301Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.9801 40.75L58.8901 40.84L58.6601 40.72L58.6401 40.68L58.6801 40.65L58.9401 40.63L58.9801 40.75Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.9801 40.75L58.8901 40.84L58.6601 40.72L58.6401 40.68L58.6801 40.65L58.9401 40.63L58.9801 40.75Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.7401 40.6801C58.7401 40.6301 58.7001 40.5901 58.6501 40.5901C58.6001 40.5901 58.5601 40.6301 58.5601 40.6801C58.5601 40.7301 58.6001 40.7701 58.6501 40.7701C58.7001 40.7601 58.7401 40.7201 58.7401 40.6801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.1101 40.9001C59.1201 40.8701 59.1101 40.8301 59.0901 40.8201C59.0601 40.8101 59.0301 40.8401 59.0201 40.8701C59.0101 40.9001 59.0201 40.9401 59.0501 40.9501C59.0601 40.9601 59.0901 40.9401 59.1101 40.9001Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.5501 40.92C59.5501 40.92 59.6201 40.83 59.6701 40.78C59.7101 40.75 59.7901 40.72 59.7901 40.72C59.7901 40.7 59.7401 40.67 59.6801 40.67C59.6501 40.67 59.6201 40.68 59.6001 40.71L59.5901 40.67C59.5901 40.67 59.5501 40.68 59.5201 40.73C59.5001 40.78 59.5101 40.86 59.5101 40.86C59.5101 40.86 59.5301 40.91 59.5501 40.92Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.2 40.7801L59.22 40.9001L59.4799 40.9301L59.52 40.9101L59.5099 40.8701L59.32 40.7101L59.2 40.7801Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.2 40.7801L59.22 40.9001L59.4799 40.9301L59.52 40.9101L59.5099 40.8701L59.32 40.7101L59.2 40.7801Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.5501 40.88C59.5301 40.86 59.4901 40.86 59.4501 40.89C59.4201 40.92 59.4001 40.96 59.4301 40.98C59.4501 41 59.5001 41 59.5301 40.97C59.5601 40.94 59.5701 40.9 59.5501 40.88Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.7599 40.7401C55.7499 40.7401 55.74 40.7301 55.74 40.7301C55.72 40.6801 55.7 40.6101 55.7 40.5201C55.7 40.2101 55.94 39.9701 56.24 39.9701C56.33 39.9701 56.4599 40.0001 56.5499 40.0801C56.5599 40.0901 56.5599 40.1001 56.5499 40.1101C56.5399 40.1201 56.53 40.1201 56.52 40.1101C56.45 40.0401 56.33 40.0101 56.24 40.0101C55.96 40.0101 55.74 40.2401 55.74 40.5201C55.74 40.6001 55.7599 40.6701 55.7799 40.7101C55.7799 40.7301 55.7799 40.7401 55.7599 40.7401Z\",\n fill: \"#020203\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.68 40.48C55.68 40.44 55.64 40.4 55.6 40.4C55.55 40.4 55.52 40.44 55.52 40.48C55.52 40.52 55.56 40.56 55.6 40.56C55.65 40.56 55.68 40.53 55.68 40.48Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.7201 40.1901C55.7201 40.1501 55.6801 40.1101 55.6401 40.1101C55.5901 40.1101 55.5601 40.1401 55.5601 40.1901C55.5601 40.2301 55.6001 40.2701 55.6401 40.2701C55.6801 40.2701 55.7201 40.2301 55.7201 40.1901Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.9 39.97C55.9 39.93 55.86 39.89 55.82 39.89C55.77 39.89 55.74 39.93 55.74 39.97C55.74 40.01 55.78 40.05 55.82 40.05C55.87 40.05 55.9 40.01 55.9 39.97Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.15 39.85C56.15 39.81 56.11 39.77 56.07 39.77C56.02 39.77 55.99 39.81 55.99 39.85C55.99 39.89 56.03 39.93 56.07 39.93C56.12 39.93 56.15 39.89 56.15 39.85Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.42 39.86C56.42 39.82 56.38 39.78 56.34 39.78C56.29 39.78 56.26 39.81 56.26 39.86C56.26 39.9 56.3 39.94 56.34 39.94C56.38 39.94 56.42 39.9 56.42 39.86Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.5799 40.1901C56.5799 40.1501 56.5399 40.1101 56.4999 40.1101C56.4499 40.1101 56.4199 40.1401 56.4199 40.1901C56.4199 40.2301 56.4599 40.2701 56.4999 40.2701C56.5499 40.2701 56.5799 40.2301 56.5799 40.1901Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.63 39.9101C56.63 39.8701 56.59 39.8301 56.55 39.8301C56.5 39.8301 56.47 39.8701 56.47 39.9101C56.47 39.9501 56.51 39.9901 56.55 39.9901C56.59 39.9901 56.63 39.9501 56.63 39.9101Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.8399 39.74C56.8399 39.7 56.7999 39.66 56.7599 39.66C56.7099 39.66 56.6799 39.7 56.6799 39.74C56.6799 39.78 56.7199 39.82 56.7599 39.82C56.7999 39.81 56.8399 39.78 56.8399 39.74Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.0999 39.6501C57.0999 39.6101 57.0599 39.5701 57.0199 39.5701C56.9699 39.5701 56.9399 39.6101 56.9399 39.6501C56.9399 39.6901 56.9799 39.7301 57.0199 39.7301C57.0599 39.7301 57.0999 39.7001 57.0999 39.6501Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.37 39.6601C57.37 39.6201 57.33 39.5801 57.29 39.5801C57.24 39.5801 57.21 39.6201 57.21 39.6601C57.21 39.7001 57.25 39.7401 57.29 39.7401C57.33 39.7401 57.37 39.7101 57.37 39.6601Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.16 39.6601C58.16 39.6201 58.12 39.5801 58.08 39.5801C58.03 39.5801 58 39.6201 58 39.6601C58 39.7001 58.04 39.7401 58.08 39.7401C58.12 39.7401 58.16 39.7101 58.16 39.6601Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.43 39.6501C58.43 39.6101 58.39 39.5701 58.35 39.5701C58.3 39.5701 58.27 39.6101 58.27 39.6501C58.27 39.6901 58.31 39.7301 58.35 39.7301C58.39 39.7301 58.43 39.7001 58.43 39.6501Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.69 39.74C58.69 39.7 58.65 39.66 58.61 39.66C58.56 39.66 58.53 39.7 58.53 39.74C58.53 39.78 58.57 39.82 58.61 39.82C58.65 39.81 58.69 39.78 58.69 39.74Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.89 39.9101C58.89 39.8701 58.85 39.8301 58.81 39.8301C58.76 39.8301 58.73 39.8701 58.73 39.9101C58.73 39.9501 58.77 39.9901 58.81 39.9901C58.86 39.9901 58.89 39.9501 58.89 39.9101Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.94 40.1901C58.94 40.1501 58.9 40.1101 58.86 40.1101C58.81 40.1101 58.78 40.1401 58.78 40.1901C58.78 40.2301 58.82 40.2701 58.86 40.2701C58.9 40.2701 58.94 40.2301 58.94 40.1901Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.0999 39.86C59.0999 39.82 59.0599 39.78 59.0199 39.78C58.9699 39.78 58.9399 39.81 58.9399 39.86C58.9399 39.9 58.9799 39.94 59.0199 39.94C59.0699 39.94 59.0999 39.9 59.0999 39.86Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.37 39.85C59.37 39.81 59.33 39.77 59.29 39.77C59.24 39.77 59.21 39.81 59.21 39.85C59.21 39.89 59.25 39.93 59.29 39.93C59.33 39.93 59.37 39.89 59.37 39.85Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.62 39.97C59.62 39.93 59.58 39.89 59.54 39.89C59.49 39.89 59.46 39.93 59.46 39.97C59.46 40.01 59.5 40.05 59.54 40.05C59.58 40.05 59.62 40.01 59.62 39.97Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.8099 40.1901C59.8099 40.1501 59.7699 40.1101 59.7299 40.1101C59.6799 40.1101 59.6499 40.1401 59.6499 40.1901C59.6499 40.2301 59.6899 40.2701 59.7299 40.2701C59.7699 40.2701 59.8099 40.2301 59.8099 40.1901Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.8399 40.48C59.8399 40.44 59.7999 40.4 59.7599 40.4C59.7099 40.4 59.6799 40.44 59.6799 40.48C59.6799 40.52 59.7199 40.56 59.7599 40.56C59.7999 40.56 59.8399 40.53 59.8399 40.48Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.28 41.5201L56.33 41.4301L56.45 41.4501L56.38 41.5601L56.28 41.5201Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.7901 41.43L56.6601 41.4501C56.6301 41.4501 56.5901 41.4301 56.5901 41.4001C56.5901 41.3701 56.6101 41.34 56.6401 41.34L56.7701 41.32L56.9001 41.3C56.9301 41.3 56.9601 41.32 56.9701 41.35C56.9701 41.38 56.9501 41.41 56.9201 41.42L56.7901 41.43Z\",\n fill: \"#419846\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.7901 41.43L56.6601 41.4501C56.6301 41.4501 56.5901 41.4301 56.5901 41.4001C56.5901 41.3701 56.6101 41.34 56.6401 41.34L56.7701 41.32L56.9001 41.3C56.9301 41.3 56.9601 41.32 56.9701 41.35C56.9701 41.38 56.9501 41.41 56.9201 41.42L56.7901 41.43Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.3099 41.34C57.3099 41.3 57.2699 41.26 57.2299 41.26C57.1799 41.26 57.1499 41.29 57.1499 41.34C57.1499 41.38 57.1899 41.42 57.2299 41.42C57.2699 41.41 57.3099 41.38 57.3099 41.34Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.6899 41.37H57.5099C57.4799 41.37 57.45 41.34 57.45 41.31C57.45 41.28 57.4799 41.25 57.5099 41.25H57.8699C57.8999 41.25 57.93 41.28 57.93 41.31C57.93 41.34 57.8999 41.37 57.8699 41.37H57.6899Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.2301 41.34C58.2301 41.3 58.1901 41.26 58.1501 41.26C58.1101 41.26 58.0701 41.29 58.0701 41.34C58.0701 41.38 58.1101 41.42 58.1501 41.42C58.1901 41.41 58.2301 41.38 58.2301 41.34Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.5799 41.43L58.7099 41.4501C58.7399 41.4501 58.7699 41.4301 58.7799 41.4001C58.7799 41.3701 58.7599 41.34 58.7299 41.34L58.5999 41.32L58.4699 41.3C58.4399 41.3 58.4099 41.32 58.3999 41.35C58.3899 41.38 58.4199 41.41 58.4499 41.42L58.5799 41.43Z\",\n fill: \"#419846\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.5799 41.43L58.7099 41.4501C58.7399 41.4501 58.7699 41.4301 58.7799 41.4001C58.7799 41.3701 58.7599 41.34 58.7299 41.34L58.5999 41.32L58.4699 41.3C58.4399 41.3 58.4099 41.32 58.3999 41.35C58.3899 41.38 58.4199 41.41 58.4499 41.42L58.5799 41.43Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.0799 41.5301L59.0299 41.4301L58.9099 41.4401L58.9699 41.5501L59.0799 41.5301Z\",\n fill: \"#BF1818\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.0799 41.5301L59.0299 41.4301L58.9099 41.4401L58.9699 41.5501L59.0799 41.5301Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.68 41.8601C57.23 41.8601 56.82 41.8201 56.52 41.7401C56.83 41.6601 57.23 41.6101 57.68 41.6101C58.13 41.6101 58.54 41.6601 58.85 41.7401C58.54 41.8201 58.13 41.8601 57.68 41.8601Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.89 41.85V41.63M57.79 41.86V41.63M57.71 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.001595,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.6399 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.003233,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.5801 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.004829,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.52 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.006467,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.46 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.006467,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.4099 41.86V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.3 41.85V41.64M57.35 41.85V41.63\",\n stroke: \"#020203\",\n strokeWidth: 0.009722,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.21 41.84V41.64M57.26 41.85V41.64\",\n stroke: \"#020203\",\n strokeWidth: 0.0113,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.0801 41.83V41.66M57.1301 41.83V41.65M57.1701 41.84V41.65\",\n stroke: \"#020203\",\n strokeWidth: 0.013,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.04 41.83V41.66\",\n stroke: \"#020203\",\n strokeWidth: 0.0145,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57 41.82V41.66\",\n stroke: \"#020203\",\n strokeWidth: 0.0162,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.96 41.82V41.67\",\n stroke: \"#020203\",\n strokeWidth: 0.0178,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.8701 41.8001V41.6901M56.9101 41.8101V41.6801\",\n stroke: \"#020203\",\n strokeWidth: 0.0194,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.8201 41.7901V41.6901\",\n stroke: \"#020203\",\n strokeWidth: 0.0194,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.78 41.7801V41.7001\",\n stroke: \"#020203\",\n strokeWidth: 0.021,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.73 41.7701V41.7001\",\n stroke: \"#020203\",\n strokeWidth: 0.0226,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.6799 41.7701V41.7201\",\n stroke: \"#020203\",\n strokeWidth: 0.0242,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.6399 41.7601V41.7401\",\n stroke: \"#020203\",\n strokeWidth: 0.0291,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.5701 61.1801C60.2901 61.1801 60.0301 61.1201 59.8401 61.0201C59.6601 60.9301 59.4001 60.8701 59.1301 60.8701C58.8501 60.8701 58.5901 60.9301 58.4101 61.0201C58.2201 61.1201 57.9701 61.1801 57.6901 61.1801C57.4101 61.1801 57.1501 61.1101 56.9601 61.0101C56.7801 60.9201 56.5301 60.8601 56.2601 60.8601C55.9801 60.8601 55.7301 60.9101 55.5501 61.0101C55.3601 61.1101 55.1001 61.1701 54.8201 61.1701V61.6201C55.1001 61.6201 55.3601 61.5501 55.5501 61.4601C55.7301 61.3601 55.9801 61.3101 56.2601 61.3101C56.5301 61.3101 56.7801 61.3701 56.9601 61.4601C57.1501 61.5601 57.4001 61.6301 57.6901 61.6301C57.9701 61.6301 58.2301 61.5701 58.4101 61.4701C58.6001 61.3701 58.8501 61.3101 59.1301 61.3101C59.4101 61.3101 59.6601 61.3701 59.8401 61.4601C60.0301 61.5601 60.2801 61.6201 60.5601 61.6201L60.5701 61.1801Z\",\n fill: \"#3955A2\",\n stroke: \"#020203\",\n strokeWidth: 0.0986,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.5701 61.6301C60.2901 61.6301 60.0301 61.5701 59.8401 61.4701C59.6601 61.3801 59.4001 61.3201 59.1301 61.3201C58.8501 61.3201 58.5901 61.3801 58.4101 61.4701C58.2201 61.5701 57.9701 61.6301 57.6901 61.6301C57.4101 61.6301 57.1501 61.5601 56.9601 61.4601C56.7801 61.3701 56.5301 61.3101 56.2601 61.3101C55.9801 61.3101 55.7301 61.3601 55.5501 61.4601C55.3601 61.5601 55.1001 61.6201 54.8201 61.6201V62.0701C55.1001 62.0701 55.3601 62.0001 55.5501 61.9101C55.7301 61.8101 55.9801 61.7601 56.2601 61.7601C56.5301 61.7601 56.7801 61.8201 56.9601 61.9101C57.1501 62.0101 57.4001 62.0801 57.6901 62.0801C57.9701 62.0801 58.2301 62.0201 58.4101 61.9201C58.6001 61.8201 58.8501 61.7701 59.1301 61.7701C59.4101 61.7701 59.6601 61.8301 59.8401 61.9201C60.0301 62.0201 60.2801 62.0801 60.5601 62.0801L60.5701 61.6301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.5701 62.08C60.2901 62.08 60.0301 62.02 59.8401 61.92C59.6601 61.82 59.4001 61.77 59.1301 61.77C58.8501 61.77 58.5901 61.83 58.4101 61.92C58.2201 62.02 57.9701 62.08 57.6901 62.08C57.4101 62.08 57.1501 62.01 56.9601 61.91C56.7801 61.82 56.5301 61.76 56.2601 61.76C55.9801 61.76 55.7301 61.81 55.5501 61.91C55.3601 62.01 55.1001 62.07 54.8201 62.07V62.51C55.1001 62.51 55.3601 62.45 55.5501 62.35C55.7301 62.26 55.9801 62.2 56.2601 62.2C56.5301 62.2 56.7801 62.26 56.9601 62.35C57.1501 62.45 57.4001 62.52 57.6901 62.52C57.9701 62.52 58.2301 62.46 58.4101 62.36C58.6001 62.26 58.8501 62.21 59.1301 62.21C59.4101 62.21 59.6601 62.27 59.8401 62.36C60.0301 62.46 60.2801 62.52 60.5601 62.52L60.5701 62.08Z\",\n fill: \"#3955A2\",\n stroke: \"#020203\",\n strokeWidth: 0.0986,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.5701 62.9701C60.2901 62.9701 60.0401 62.9101 59.8501 62.8101C59.6701 62.7201 59.4101 62.6601 59.1401 62.6601C58.8601 62.6601 58.6001 62.7201 58.4201 62.8101C58.2301 62.9101 57.9801 62.9701 57.7001 62.9701C57.4201 62.9701 57.1601 62.9001 56.9701 62.8001C56.7901 62.7101 56.5401 62.6501 56.2701 62.6501C55.9901 62.6501 55.7401 62.7001 55.5601 62.8001C55.3701 62.9001 55.1101 62.9601 54.8301 62.9601V62.5201C55.1101 62.5201 55.3701 62.4501 55.5601 62.3501C55.7401 62.2601 55.9901 62.2001 56.2701 62.2001C56.5401 62.2001 56.7901 62.2601 56.9701 62.3501C57.1601 62.4501 57.4101 62.5201 57.7001 62.5201C57.9801 62.5201 58.2401 62.4601 58.4201 62.3601C58.6101 62.2601 58.8601 62.2101 59.1401 62.2101C59.4201 62.2101 59.6701 62.2701 59.8501 62.3601C60.0401 62.4601 60.2901 62.5201 60.5801 62.5201L60.5701 62.9701Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.5701 62.9701C60.2901 62.9701 60.0401 62.9101 59.8501 62.8101C59.6701 62.7201 59.4101 62.6601 59.1401 62.6601C58.8601 62.6601 58.6001 62.7201 58.4201 62.8101C58.2301 62.9101 57.9801 62.9701 57.7001 62.9701C57.4201 62.9701 57.1601 62.9001 56.9701 62.8001C56.7901 62.7101 56.5401 62.6501 56.2701 62.6501C55.9901 62.6501 55.7401 62.7001 55.5601 62.8001C55.3701 62.9001 55.1101 62.9601 54.8301 62.9601V62.5201C55.1101 62.5201 55.3701 62.4501 55.5601 62.3501C55.7401 62.2601 55.9901 62.2001 56.2701 62.2001C56.5401 62.2001 56.7901 62.2601 56.9701 62.3501C57.1601 62.4501 57.4101 62.5201 57.7001 62.5201C57.9801 62.5201 58.2401 62.4601 58.4201 62.3601C58.6101 62.2601 58.8601 62.2101 59.1401 62.2101C59.4201 62.2101 59.6701 62.2701 59.8501 62.3601C60.0401 62.4601 60.2901 62.5201 60.5801 62.5201L60.5701 62.9701Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.5701 63.41C60.2901 63.41 60.0401 63.35 59.8501 63.25C59.6701 63.15 59.4101 63.1 59.1401 63.1C58.8601 63.1 58.6001 63.16 58.4201 63.25C58.2301 63.35 57.9801 63.41 57.7001 63.41C57.4201 63.41 57.1601 63.34 56.9701 63.24C56.7901 63.15 56.5401 63.09 56.2701 63.09C55.9901 63.09 55.7401 63.15 55.5601 63.24C55.3701 63.34 55.1101 63.4 54.8301 63.4V62.96C55.1101 62.96 55.3701 62.89 55.5601 62.79C55.7401 62.69 55.9901 62.64 56.2701 62.64C56.5401 62.64 56.7901 62.7 56.9701 62.79C57.1601 62.89 57.4101 62.96 57.7001 62.96C57.9801 62.96 58.2401 62.9 58.4201 62.8C58.6101 62.7 58.8601 62.65 59.1401 62.65C59.4201 62.65 59.6701 62.71 59.8501 62.8C60.0401 62.9 60.2901 62.96 60.5801 62.96L60.5701 63.41Z\",\n fill: \"#3955A2\",\n stroke: \"#020203\",\n strokeWidth: 0.0986,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.0701 59.3501C56.0801 59.3901 56.1001 59.4201 56.1001 59.4701C56.1001 59.7401 55.8601 59.9601 55.5801 59.9601H59.8201C59.5301 59.9601 59.3001 59.7401 59.3001 59.4701C59.3001 59.4301 59.3101 59.3901 59.3201 59.3501C59.3001 59.3601 59.2701 59.3601 59.2401 59.3601H56.1601C56.1201 59.3701 56.0901 59.3601 56.0701 59.3501Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.1399 59.0801H59.22C59.33 59.0801 59.41 59.1401 59.41 59.2201C59.41 59.3001 59.33 59.3701 59.22 59.3701H56.1399C56.0399 59.3701 55.95 59.3001 55.95 59.2201C55.96 59.1401 56.0399 59.0801 56.1399 59.0801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.8101 59.9601H55.5801V61.0401H59.8101V59.9601Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.1799 44.1801H56.1799V58.9001H59.1799V44.1801Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.3201 44.2001V58.8901M58.6601 44.2001V58.8901\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.13 55.26C60.55 55.5 60.83 55.75 60.79 55.87C60.77 55.98 60.6299 56.07 60.4399 56.19C60.1399 56.4 59.9599 56.77 60.0999 56.94C59.8499 56.74 59.7 56.44 59.7 56.11C59.7 55.77 59.87 55.46 60.13 55.26Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.1201 49.6901C53.7701 49.4201 54.8901 49.2201 56.1701 49.1801C56.6101 49.1801 57.1001 49.2301 57.6101 49.3101C59.4101 49.6101 60.7801 50.3301 60.6701 50.9101C60.6701 50.9201 60.6601 50.9501 60.6601 50.9601C60.6601 50.9601 61.3301 49.4401 61.3401 49.3901C61.4601 48.7401 59.9401 47.9401 57.9501 47.6101C57.3201 47.5001 56.7101 47.4601 56.1801 47.4701C54.9001 47.4701 53.7901 47.6301 53.1201 47.8801V49.6901Z\",\n fill: \"#BF1818\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.1201 49.6901C53.7701 49.4201 54.8901 49.2201 56.1701 49.1801C56.6101 49.1801 57.1001 49.2301 57.6101 49.3101C59.4101 49.6101 60.7801 50.3301 60.6701 50.9101C60.6701 50.9201 60.6601 50.9501 60.6601 50.9601C60.6601 50.9601 61.3301 49.4401 61.3401 49.3901C61.4601 48.7401 59.9401 47.9401 57.9501 47.6101C57.3201 47.5001 56.7101 47.4601 56.1801 47.4701C54.9001 47.4701 53.7901 47.6301 53.1201 47.8801V49.6901Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.1999 51.53C60.0299 51.47 60.5999 51.25 60.6699 50.9C60.7199 50.62 60.4399 50.31 59.9299 50.04C59.7099 50.07 59.4499 50.1 59.1899 50.1L59.1999 51.53Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.19 50.41C55.67 50.49 55.28 50.62 55.08 50.78L55.06 50.81C54.97 51 55.42 51.41 56.19 51.86V50.41Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M61.07 54.38C61.15 54.14 60.34 53.66 59.19 53.24C58.67 53.05 58.23 52.86 57.7 52.62C56.1 51.91 54.93 51.11 55.07 50.81L55.09 50.78C55.01 50.85 54.87 52.3 54.87 52.3C54.73 52.57 55.8 53.37 57.27 54.07C57.74 54.3 58.73 54.66 59.2 54.83C60.04 55.12 60.87 55.67 60.79 55.87L61.07 54.38Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.4001 48.9801C28.7701 48.8501 29.0101 48.6901 28.8901 48.4001C28.8101 48.2101 28.6301 48.1801 28.3401 48.2801L27.8401 48.4601L28.2901 49.5701C28.3401 49.5501 28.3901 49.5301 28.4401 49.5101C28.4901 49.4901 28.5501 49.4801 28.6001 49.4601L28.4001 48.9801ZM28.1801 48.4401L28.3101 48.3901C28.4201 48.3501 28.5301 48.4101 28.5901 48.5401C28.6301 48.6401 28.6201 48.7501 28.5001 48.8301C28.4601 48.8501 28.4101 48.8701 28.3701 48.8901L28.1801 48.4401Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.58 47.9801C29.53 48.0001 29.47 48.0101 29.42 48.0201C29.37 48.0301 29.31 48.0401 29.26 48.0401L29.52 49.2001L30.33 49.0401C30.32 49.0201 30.31 48.9901 30.3 48.9701C30.29 48.9401 30.29 48.9201 30.29 48.8901C30.15 48.9301 29.99 48.9801 29.81 49.0101L29.58 47.9801Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.2001 48.98C31.3501 48.56 31.5401 48.16 31.7201 47.75C31.6901 47.76 31.6501 47.76 31.6201 47.76C31.5901 47.76 31.5501 47.76 31.5201 47.76C31.4201 48.06 31.3001 48.35 31.1701 48.65C31.0201 48.37 30.8501 48.1 30.7201 47.82C30.6601 47.83 30.5901 47.84 30.5301 47.84C30.4701 47.84 30.4001 47.84 30.3401 47.84C30.5701 48.22 30.8001 48.6 31.0101 48.99C31.0401 48.98 31.0701 48.98 31.1001 48.97C31.1401 48.97 31.1701 48.97 31.2001 48.98Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.89 48.0801C32.92 48.0201 32.95 47.9701 32.98 47.9201C32.94 47.8801 32.8 47.8201 32.65 47.8001C32.32 47.7701 32.13 47.9101 32.11 48.1101C32.06 48.5301 32.72 48.4901 32.69 48.7701C32.68 48.8901 32.55 48.9401 32.42 48.9201C32.27 48.9101 32.16 48.8201 32.14 48.7001H32.1C32.08 48.7701 32.05 48.8401 32.01 48.9101C32.11 48.9701 32.23 49.0101 32.35 49.0201C32.69 49.0601 32.95 48.9201 32.97 48.7001C33.01 48.3001 32.35 48.2801 32.37 48.0501C32.38 47.9501 32.46 47.8901 32.63 47.9001C32.75 47.9101 32.83 47.9801 32.86 48.0801H32.89Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55 49.04C55.11 48.61 55.26 48.19 55.4 47.77C55.37 47.78 55.34 47.79 55.3 47.79C55.27 47.8 55.23 47.8 55.2 47.8C55.13 48.1 55.04 48.41 54.94 48.71C54.76 48.44 54.57 48.19 54.42 47.92C54.36 47.93 54.29 47.95 54.23 47.96C54.17 47.97 54.1 47.97 54.04 47.98C54.31 48.34 54.57 48.7 54.82 49.07C54.85 49.06 54.88 49.05 54.91 49.05C54.94 49.04 54.97 49.04 55 49.04Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.14 47.78C56.09 47.78 56.03 47.79 55.98 47.79C55.92 47.79 55.87 47.78 55.82 47.78L55.8 48.96L56.6301 48.98C56.6301 48.96 56.62 48.93 56.62 48.9C56.62 48.88 56.6301 48.85 56.6301 48.83C56.4801 48.84 56.3201 48.85 56.1301 48.84L56.14 47.78Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.44 47.97C57.57 47.98 57.7 48 57.83 48.03C57.83 48.01 57.82 47.98 57.83 47.95C57.83 47.93 57.84 47.9 57.85 47.88L56.73 47.79C56.73 47.82 56.74 47.84 56.73 47.86C56.73 47.89 56.72 47.91 56.71 47.93C56.82 47.93 56.96 47.93 57.12 47.94L57.02 49.01C57.07 49.01 57.13 49.01 57.18 49.02C57.24 49.02 57.29 49.03 57.34 49.04L57.44 47.97Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M57.8999 49.1401C57.9499 49.1501 58.0099 49.1601 58.0599 49.1701C58.1099 49.1801 58.1599 49.2001 58.2199 49.2101L58.3499 48.6701H58.3599C58.3899 48.7501 58.4299 48.8401 58.4499 48.8901L58.6199 49.3001C58.6899 49.3101 58.7499 49.3201 58.8099 49.3301C58.8799 49.3501 58.9399 49.3601 58.9999 49.3801L58.9399 49.2601C58.8499 49.0801 58.7599 48.8901 58.6799 48.7001C58.8899 48.7101 59.0499 48.6301 59.0899 48.4701C59.1199 48.3601 59.0699 48.2601 58.9599 48.1901C58.8799 48.1301 58.7199 48.1001 58.6199 48.0801L58.1699 47.9801L57.8999 49.1401ZM58.4799 48.1401C58.6099 48.1701 58.7699 48.1901 58.7699 48.3401C58.7699 48.3801 58.7599 48.4101 58.7599 48.4301C58.7199 48.6001 58.5899 48.6601 58.3699 48.6001L58.4799 48.1401Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.0401 49.5C60.0301 49.63 60.0101 49.75 59.9801 49.89C60.0401 49.92 60.0901 49.94 60.1501 49.97C60.2001 50 60.2501 50.03 60.3101 50.07L60.4201 48.73C60.3901 48.72 60.3701 48.71 60.3401 48.7C60.3201 48.69 60.2901 48.67 60.2701 48.66L59.0901 49.41C59.1201 49.42 59.1501 49.44 59.1801 49.46C59.2101 49.48 59.2401 49.49 59.2701 49.51C59.3701 49.43 59.4701 49.36 59.5901 49.27L60.0401 49.5ZM59.7001 49.19L60.0901 48.94L60.0401 49.38L59.7001 49.19Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.7901 33.8301C45.0201 33.8301 46.1101 34.0101 46.8201 34.2901C47.2301 34.4701 47.7701 34.6101 48.3701 34.6901C48.8301 34.7501 49.2601 34.7601 49.6401 34.7301C50.1401 34.7201 50.8701 34.8701 51.6001 35.1901C52.2001 35.4601 52.7101 35.7801 53.0401 36.1001L52.7501 36.3601L52.6701 37.0901L51.8701 38.0001L51.4701 38.3401L50.5301 39.0901L50.0501 39.1301L49.9001 39.5401L43.8201 38.8301L37.7201 39.5401L37.5701 39.1301L37.0901 39.0901L36.1501 38.3401L35.7501 38.0001L34.9601 37.0901L34.8801 36.3601L34.5901 36.1001C34.9301 35.7901 35.4301 35.4601 36.0301 35.1901C36.7601 34.8701 37.4901 34.7201 37.9901 34.7301C38.3701 34.7601 38.8001 34.7501 39.2601 34.6901C39.8601 34.6101 40.4101 34.4701 40.8101 34.2901C41.5301 34.0201 42.5601 33.8301 43.7901 33.8301Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.2899 35.44L39.5499 35.65L39.9299 35.02C39.5099 34.76 39.2299 34.32 39.2299 33.82C39.2299 33.76 39.2299 33.71 39.2399 33.65C39.2799 32.85 40.2599 32.19 41.4899 32.19C42.1299 32.19 42.7199 32.37 43.1199 32.65C43.1299 32.53 43.1399 32.42 43.1599 32.31C42.7099 32.05 42.1299 31.89 41.4899 31.89C40.0699 31.89 38.9499 32.7 38.8999 33.66C38.8899 33.72 38.8899 33.77 38.8899 33.83C38.8899 34.34 39.1199 34.8 39.4899 35.12L39.2899 35.44Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.31 35.45C38.82 35.09 38.52 34.59 38.52 34.05C38.52 33.43 38.93 32.87 39.55 32.5C39.17 32.81 38.93 33.21 38.9 33.65C38.89 33.71 38.89 33.76 38.89 33.82C38.89 34.33 39.12 34.79 39.49 35.11L39.31 35.45Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.31 35.45C38.82 35.09 38.52 34.59 38.52 34.05C38.52 33.43 38.93 32.87 39.55 32.5C39.17 32.81 38.93 33.21 38.9 33.65C38.89 33.71 38.89 33.76 38.89 33.82C38.89 34.33 39.12 34.79 39.49 35.11L39.31 35.45Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M35.0201 36.0801C34.7501 35.7801 34.5801 35.3801 34.5801 34.9501C34.5801 34.6901 34.6401 34.4401 34.7501 34.2201C35.1401 33.4101 36.3801 32.8201 37.8501 32.8201C38.2501 32.8201 38.6301 32.8601 38.9801 32.9401C38.9001 33.0301 38.8401 33.1201 38.7801 33.2101C38.4901 33.1501 38.1701 33.1201 37.8501 33.1201C36.5101 33.1201 35.3801 33.6401 35.0601 34.3501C34.9701 34.5301 34.9201 34.7301 34.9201 34.9401C34.9201 35.3701 35.1201 35.7501 35.4401 36.0201L34.9501 36.8201L34.6901 36.6101L35.0201 36.0801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M35.52 33.42C35.17 33.64 34.9 33.92 34.75 34.22C34.64 34.44 34.58 34.69 34.58 34.95C34.58 35.38 34.75 35.78 35.02 36.08L34.72 36.56C34.44 36.2 34.27 35.77 34.27 35.32C34.27 34.55 34.77 33.87 35.52 33.42Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.8601 31.7201C44.1901 31.7201 44.4701 31.9301 44.5301 32.2201C44.5701 32.4801 44.6001 32.7601 44.6101 33.0701C44.6101 33.1001 44.6101 33.1301 44.6101 33.1701C44.6101 33.2101 44.6201 33.2501 44.6201 33.2801C44.6301 33.9301 44.7201 34.5001 44.8501 34.8601L43.8601 35.8101L42.8601 34.8601C42.9901 34.5101 43.0901 33.9401 43.1001 33.2801C43.1001 33.2401 43.1101 33.2001 43.1101 33.1701C43.1101 33.1401 43.1101 33.1101 43.1101 33.0701C43.1101 32.7601 43.1401 32.4701 43.1801 32.2201C43.2401 31.9301 43.5301 31.7201 43.8601 31.7201Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.86 32.03C44.03 32.03 44.17 32.14 44.21 32.29C44.25 32.53 44.28 32.81 44.28 33.1C44.28 33.13 44.28 33.16 44.28 33.19C44.28 33.23 44.29 33.26 44.29 33.3C44.3 33.91 44.39 34.46 44.51 34.79L43.86 35.41L43.21 34.79C43.33 34.46 43.42 33.92 43.43 33.3C43.43 33.26 43.44 33.23 43.44 33.19C43.44 33.16 43.44 33.13 43.44 33.1C43.45 32.81 43.47 32.53 43.51 32.29C43.54 32.13 43.69 32.03 43.86 32.03Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.42 35.44L48.16 35.65L47.78 35.02C48.2 34.76 48.48 34.32 48.48 33.82C48.48 33.76 48.48 33.71 48.47 33.65C48.43 32.85 47.45 32.19 46.21 32.19C45.57 32.19 44.99 32.37 44.58 32.65C44.57 32.53 44.56 32.42 44.54 32.31C44.99 32.05 45.57 31.89 46.21 31.89C47.64 31.89 48.75 32.7 48.8 33.66C48.81 33.72 48.81 33.77 48.81 33.83C48.81 34.34 48.57 34.8 48.21 35.12L48.42 35.44Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.3999 35.45C48.8899 35.09 49.1899 34.59 49.1899 34.05C49.1899 33.43 48.7799 32.87 48.1599 32.5C48.5399 32.81 48.7799 33.21 48.8099 33.65C48.8199 33.71 48.8199 33.76 48.8199 33.82C48.8199 34.33 48.5799 34.79 48.2199 35.11L48.3999 35.45Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.3999 35.45C48.8899 35.09 49.1899 34.59 49.1899 34.05C49.1899 33.43 48.7799 32.87 48.1599 32.5C48.5399 32.81 48.7799 33.21 48.8099 33.65C48.8199 33.71 48.8199 33.76 48.8199 33.82C48.8199 34.33 48.5799 34.79 48.2199 35.11L48.3999 35.45Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M52.69 36.0801C52.96 35.7801 53.13 35.3801 53.13 34.9501C53.13 34.6901 53.07 34.4401 52.96 34.2201C52.56 33.4101 51.33 32.8201 49.86 32.8201C49.46 32.8201 49.08 32.8601 48.72 32.9401C48.8 33.0301 48.86 33.1201 48.92 33.2101C49.21 33.1501 49.53 33.1201 49.86 33.1201C51.2 33.1201 52.33 33.6401 52.65 34.3501C52.74 34.5301 52.78 34.7301 52.78 34.9401C52.78 35.3701 52.58 35.7501 52.26 36.0201L52.75 36.8201L53.01 36.6101L52.69 36.0801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M52.2 33.42C52.55 33.64 52.82 33.92 52.97 34.22C53.08 34.44 53.1399 34.69 53.1399 34.95C53.1399 35.38 52.97 35.78 52.7 36.08L53 36.56C53.28 36.2 53.45 35.77 53.45 35.32C53.43 34.55 52.94 33.87 52.2 33.42Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.68 30.9901C44.68 30.5601 44.31 30.2101 43.86 30.2101C43.41 30.2101 43.04 30.5601 43.04 30.9901C43.04 31.4201 43.41 31.7701 43.86 31.7701C44.31 31.7601 44.68 31.4101 44.68 30.9901Z\",\n fill: \"#3955A2\",\n stroke: \"#020203\",\n strokeWidth: 0.0986,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.6501 28.8101V29.2301H43.2001V29.6501H43.6501V30.2301V30.8701H43.09C43.09 30.9101 43.05 30.9401 43.05 30.9801C43.05 31.0901 43.0701 31.1901 43.1101 31.2801H44.6101C44.6101 31.2801 44.61 31.2801 44.62 31.2801C44.66 31.1901 44.68 31.0801 44.68 30.9801C44.68 30.9401 44.64 30.9101 44.64 30.8701H44.1V30.2401V29.6501H44.55V29.2301H44.1V28.8101H43.6501Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.21 34.99C44.21 34.81 44.05 34.66 43.86 34.66C43.67 34.66 43.51 34.81 43.51 34.99C43.51 35.17 43.67 35.32 43.86 35.32C44.05 35.32 44.21 35.17 44.21 34.99Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.21 34.33C44.21 34.15 44.05 34 43.86 34C43.67 34 43.51 34.15 43.51 34.33C43.51 34.51 43.67 34.66 43.86 34.66C44.05 34.66 44.21 34.51 44.21 34.33Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.1401 33.6301C44.1401 33.4801 44.0101 33.3601 43.8601 33.3601C43.7101 33.3601 43.5801 33.4801 43.5801 33.6301C43.5801 33.7801 43.7101 33.9001 43.8601 33.9001C44.0101 33.8901 44.1401 33.7801 44.1401 33.6301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.0599 33.0001C44.0599 32.8901 43.9699 32.8101 43.8599 32.8101C43.7499 32.8101 43.6599 32.9001 43.6599 33.0001C43.6599 33.1101 43.7499 33.1901 43.8599 33.1901C43.9699 33.1901 44.0599 33.1001 44.0599 33.0001Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.02 32.44C44.02 32.36 43.95 32.29 43.86 32.29C43.77 32.29 43.7 32.36 43.7 32.44C43.7 32.52 43.77 32.59 43.86 32.59C43.95 32.59 44.02 32.53 44.02 32.44Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.62 36.7801C34.62 36.6701 34.53 36.5901 34.42 36.5901C34.31 36.5901 34.22 36.6801 34.22 36.7801C34.22 36.8901 34.31 36.9701 34.42 36.9701C34.53 36.9801 34.62 36.8901 34.62 36.7801Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.3399 36.2901C34.3399 36.1801 34.2499 36.1001 34.1399 36.1001C34.0299 36.1001 33.9399 36.1901 33.9399 36.2901C33.9399 36.4001 34.0299 36.4801 34.1399 36.4801C34.2499 36.4901 34.3399 36.4001 34.3399 36.2901Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.15 35.72C34.15 35.61 34.06 35.53 33.95 35.53C33.84 35.53 33.75 35.62 33.75 35.72C33.75 35.83 33.84 35.91 33.95 35.91C34.06 35.92 34.15 35.83 34.15 35.72Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.13 35.11C34.13 35 34.04 34.92 33.93 34.92C33.82 34.92 33.73 35.01 33.73 35.11C33.73 35.22 33.82 35.3 33.93 35.3C34.04 35.31 34.13 35.22 34.13 35.11Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.2801 34.5101C34.2801 34.4001 34.1901 34.3201 34.0801 34.3201C33.9701 34.3201 33.8801 34.4101 33.8801 34.5101C33.8801 34.6201 33.9701 34.7001 34.0801 34.7001C34.1901 34.7001 34.2801 34.6201 34.2801 34.5101Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.5899 33.97C34.5899 33.86 34.4999 33.78 34.3899 33.78C34.2799 33.78 34.1899 33.87 34.1899 33.97C34.1899 34.08 34.2799 34.16 34.3899 34.16C34.4999 34.16 34.5899 34.08 34.5899 33.97Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M35.0101 33.5201C35.0101 33.4101 34.9201 33.3301 34.8101 33.3301C34.7001 33.3301 34.6101 33.4201 34.6101 33.5201C34.6101 33.6301 34.7001 33.7101 34.8101 33.7101C34.9201 33.7101 35.0101 33.6301 35.0101 33.5201Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M35.4901 33.1501C35.4901 33.0401 35.4001 32.9601 35.2901 32.9601C35.1801 32.9601 35.0901 33.0501 35.0901 33.1501C35.0901 33.2601 35.1801 33.3401 35.2901 33.3401C35.4001 33.3401 35.4901 33.2601 35.4901 33.1501Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.0699 32.84C36.0699 32.73 35.9799 32.65 35.8699 32.65C35.7599 32.65 35.6699 32.74 35.6699 32.84C35.6699 32.95 35.7599 33.03 35.8699 33.03C35.9799 33.04 36.0699 32.95 36.0699 32.84Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.67 32.6301C36.67 32.5201 36.58 32.4401 36.47 32.4401C36.36 32.4401 36.27 32.5301 36.27 32.6301C36.27 32.7401 36.36 32.8201 36.47 32.8201C36.58 32.8201 36.67 32.7301 36.67 32.6301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.3399 32.5101C37.3399 32.4001 37.2499 32.3201 37.1399 32.3201C37.0299 32.3201 36.9399 32.4101 36.9399 32.5101C36.9399 32.6201 37.0299 32.7001 37.1399 32.7001C37.2499 32.7001 37.3399 32.6101 37.3399 32.5101Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.9701 32.47C37.9701 32.36 37.8801 32.28 37.7701 32.28C37.6601 32.28 37.5701 32.37 37.5701 32.47C37.5701 32.58 37.6601 32.66 37.7701 32.66C37.8801 32.67 37.9701 32.58 37.9701 32.47Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.5999 32.5001C38.5999 32.3901 38.51 32.3101 38.4 32.3101C38.29 32.3101 38.2 32.4001 38.2 32.5001C38.2 32.6101 38.29 32.6901 38.4 32.6901C38.5 32.6901 38.5999 32.6001 38.5999 32.5001Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.2899 35.2401C39.2899 35.1301 39.1999 35.05 39.0899 35.05C38.9799 35.05 38.8899 35.1401 38.8899 35.2401C38.8899 35.3501 38.9799 35.43 39.0899 35.43C39.1999 35.43 39.2899 35.3501 39.2899 35.2401Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.94 34.7501C38.94 34.6401 38.85 34.5601 38.74 34.5601C38.63 34.5601 38.54 34.6501 38.54 34.7501C38.54 34.8601 38.63 34.9401 38.74 34.9401C38.85 34.9401 38.94 34.8501 38.94 34.7501Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.7601 34.21C38.7601 34.1 38.6701 34.02 38.5601 34.02C38.4501 34.02 38.3601 34.11 38.3601 34.21C38.3601 34.31 38.4501 34.4 38.5601 34.4C38.6701 34.4 38.7601 34.32 38.7601 34.21Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.7801 33.6201C38.7801 33.5101 38.6901 33.4301 38.5801 33.4301C38.4701 33.4301 38.3801 33.5201 38.3801 33.6201C38.3801 33.7301 38.4701 33.8101 38.5801 33.8101C38.6901 33.8101 38.7801 33.7301 38.7801 33.6201Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.91 33.0301C38.91 32.9201 38.82 32.8401 38.71 32.8401C38.6 32.8401 38.51 32.9301 38.51 33.0301C38.51 33.1401 38.6 33.2201 38.71 33.2201C38.82 33.2201 38.91 33.1401 38.91 33.0301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.2201 32.5001C39.2201 32.3901 39.1301 32.3101 39.0201 32.3101C38.9101 32.3101 38.8201 32.4001 38.8201 32.5001C38.8201 32.6101 38.9101 32.6901 39.0201 32.6901C39.1301 32.6901 39.2201 32.6001 39.2201 32.5001Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.69 32.1301C39.69 32.0201 39.6 31.9401 39.49 31.9401C39.38 31.9401 39.29 32.0301 39.29 32.1301C39.29 32.2401 39.38 32.3201 39.49 32.3201C39.6 32.3201 39.69 32.2301 39.69 32.1301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.2501 31.82C40.2501 31.71 40.1601 31.63 40.0501 31.63C39.9401 31.63 39.8501 31.72 39.8501 31.82C39.8501 31.93 39.9401 32.01 40.0501 32.01C40.1601 32.01 40.2501 31.92 40.2501 31.82Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.86 31.6401C40.86 31.5301 40.77 31.4501 40.66 31.4501C40.55 31.4501 40.46 31.5401 40.46 31.6401C40.46 31.7501 40.55 31.8301 40.66 31.8301C40.77 31.8301 40.86 31.7401 40.86 31.6401Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.2901 31.7201C41.4005 31.7201 41.4901 31.635 41.4901 31.5301C41.4901 31.4252 41.4005 31.3401 41.2901 31.3401C41.1796 31.3401 41.0901 31.4252 41.0901 31.5301C41.0901 31.635 41.1796 31.7201 41.2901 31.7201Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M42.11 31.5401C42.11 31.4301 42.02 31.3501 41.91 31.3501C41.8 31.3501 41.71 31.4401 41.71 31.5401C41.71 31.6401 41.8 31.7301 41.91 31.7301C42.02 31.7301 42.11 31.6401 42.11 31.5401Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M42.7601 31.6401C42.7601 31.5301 42.6701 31.4501 42.5601 31.4501C42.4501 31.4501 42.3601 31.5401 42.3601 31.6401C42.3601 31.7401 42.4501 31.8301 42.5601 31.8301C42.6701 31.8301 42.7601 31.7501 42.7601 31.6401Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.36 31.85C43.36 31.74 43.27 31.66 43.16 31.66C43.05 31.66 42.96 31.75 42.96 31.85C42.96 31.96 43.05 32.04 43.16 32.04C43.27 32.04 43.36 31.96 43.36 31.85Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.7601 31.85C44.7601 31.74 44.6701 31.66 44.5601 31.66C44.4501 31.66 44.3601 31.75 44.3601 31.85C44.3601 31.96 44.4501 32.04 44.5601 32.04C44.6701 32.04 44.7601 31.96 44.7601 31.85Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.36 31.6401C45.36 31.5301 45.27 31.4501 45.16 31.4501C45.05 31.4501 44.96 31.5401 44.96 31.6401C44.96 31.7401 45.05 31.8301 45.16 31.8301C45.26 31.8401 45.36 31.7501 45.36 31.6401Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.0001 31.5401C46.0001 31.4301 45.9101 31.3501 45.8001 31.3501C45.6901 31.3501 45.6001 31.4401 45.6001 31.5401C45.6001 31.6401 45.6901 31.7301 45.8001 31.7301C45.9101 31.7301 46.0001 31.6401 46.0001 31.5401Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.62 31.5301C46.62 31.4201 46.53 31.3401 46.42 31.3401C46.31 31.3401 46.22 31.4301 46.22 31.5301C46.22 31.6401 46.31 31.7201 46.42 31.7201C46.53 31.7201 46.62 31.6301 46.62 31.5301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.2601 31.6401C47.2601 31.5301 47.1701 31.4501 47.0601 31.4501C46.9501 31.4501 46.8601 31.5401 46.8601 31.6401C46.8601 31.7501 46.9501 31.8301 47.0601 31.8301C47.1701 31.8301 47.2601 31.7401 47.2601 31.6401Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.87 31.82C47.87 31.71 47.78 31.63 47.67 31.63C47.56 31.63 47.47 31.72 47.47 31.82C47.47 31.93 47.56 32.01 47.67 32.01C47.78 32.01 47.87 31.92 47.87 31.82Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.42 32.1301C48.42 32.0201 48.33 31.9401 48.22 31.9401C48.11 31.9401 48.02 32.0301 48.02 32.1301C48.02 32.2401 48.11 32.3201 48.22 32.3201C48.33 32.3201 48.42 32.2301 48.42 32.1301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.9 32.5001C48.9 32.3901 48.81 32.3101 48.7 32.3101C48.59 32.3101 48.5 32.4001 48.5 32.5001C48.5 32.6101 48.59 32.6901 48.7 32.6901C48.8 32.6901 48.9 32.6001 48.9 32.5001Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.2101 33.0301C49.2101 32.9201 49.1201 32.8401 49.0101 32.8401C48.9001 32.8401 48.8101 32.9301 48.8101 33.0301C48.8101 33.1401 48.9001 33.2201 49.0101 33.2201C49.1201 33.2201 49.2101 33.1401 49.2101 33.0301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.3399 33.6201C49.3399 33.5101 49.2499 33.4301 49.1399 33.4301C49.0299 33.4301 48.9399 33.5201 48.9399 33.6201C48.9399 33.7301 49.0299 33.8101 49.1399 33.8101C49.2399 33.8101 49.3399 33.7301 49.3399 33.6201Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.36 34.21C49.36 34.1 49.27 34.02 49.16 34.02C49.05 34.02 48.96 34.11 48.96 34.21C48.96 34.31 49.05 34.4 49.16 34.4C49.27 34.4 49.36 34.32 49.36 34.21Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.17 34.7501C49.17 34.6401 49.08 34.5601 48.97 34.5601C48.86 34.5601 48.77 34.6501 48.77 34.7501C48.77 34.8601 48.86 34.9401 48.97 34.9401C49.08 34.9401 49.17 34.8501 49.17 34.7501Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.8299 35.2401C48.8299 35.1301 48.7399 35.05 48.6299 35.05C48.5199 35.05 48.4299 35.1401 48.4299 35.2401C48.4299 35.3501 48.5199 35.43 48.6299 35.43C48.7399 35.43 48.8299 35.3501 48.8299 35.2401Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.3201 32.6901C49.4306 32.6901 49.5201 32.605 49.5201 32.5001C49.5201 32.3951 49.4306 32.3101 49.3201 32.3101C49.2097 32.3101 49.1201 32.3951 49.1201 32.5001C49.1201 32.605 49.2097 32.6901 49.3201 32.6901Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.14 32.47C50.14 32.36 50.05 32.28 49.94 32.28C49.83 32.28 49.74 32.37 49.74 32.47C49.74 32.58 49.83 32.66 49.94 32.66C50.05 32.67 50.14 32.58 50.14 32.47Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.7801 32.5101C50.7801 32.4001 50.6901 32.3201 50.5801 32.3201C50.4701 32.3201 50.3801 32.4101 50.3801 32.5101C50.3801 32.6201 50.4701 32.7001 50.5801 32.7001C50.6901 32.7001 50.7801 32.6101 50.7801 32.5101Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M51.4501 32.6301C51.4501 32.5201 51.36 32.4401 51.25 32.4401C51.14 32.4401 51.05 32.5301 51.05 32.6301C51.05 32.7401 51.14 32.8201 51.25 32.8201C51.36 32.8201 51.4501 32.7301 51.4501 32.6301Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M52.0499 32.84C52.0499 32.73 51.9599 32.65 51.8499 32.65C51.7399 32.65 51.6499 32.74 51.6499 32.84C51.6499 32.95 51.7399 33.03 51.8499 33.03C51.9599 33.04 52.0499 32.95 52.0499 32.84Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M52.62 33.1501C52.62 33.0401 52.53 32.9601 52.42 32.9601C52.31 32.9601 52.22 33.0501 52.22 33.1501C52.22 33.2601 52.31 33.3401 52.42 33.3401C52.53 33.3401 52.62 33.2601 52.62 33.1501Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.11 33.5201C53.11 33.4101 53.02 33.3301 52.91 33.3301C52.8 33.3301 52.71 33.4201 52.71 33.5201C52.71 33.6301 52.8 33.7101 52.91 33.7101C53.02 33.7101 53.11 33.6301 53.11 33.5201Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.5201 33.97C53.5201 33.86 53.4301 33.78 53.3201 33.78C53.2101 33.78 53.1201 33.87 53.1201 33.97C53.1201 34.08 53.2101 34.16 53.3201 34.16C53.4301 34.16 53.5201 34.08 53.5201 33.97Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.8299 34.5101C53.8299 34.4001 53.7399 34.3201 53.6299 34.3201C53.5199 34.3201 53.4299 34.4101 53.4299 34.5101C53.4299 34.6201 53.5199 34.7001 53.6299 34.7001C53.7399 34.7101 53.8299 34.6201 53.8299 34.5101Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.9901 35.11C53.9901 35 53.9001 34.92 53.7901 34.92C53.6801 34.92 53.5901 35.01 53.5901 35.11C53.5901 35.22 53.6801 35.3 53.7901 35.3C53.9001 35.3 53.9901 35.22 53.9901 35.11Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.9601 35.72C53.9601 35.61 53.8701 35.53 53.7601 35.53C53.6501 35.53 53.5601 35.62 53.5601 35.72C53.5601 35.83 53.6501 35.91 53.7601 35.91C53.8701 35.92 53.9601 35.83 53.9601 35.72Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.7801 36.2901C53.7801 36.1801 53.6901 36.1001 53.5801 36.1001C53.4701 36.1001 53.3801 36.1901 53.3801 36.2901C53.3801 36.4001 53.4701 36.4801 53.5801 36.4801C53.6901 36.4901 53.7801 36.4001 53.7801 36.2901Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.5001 36.7801C53.5001 36.6701 53.4101 36.5901 53.3001 36.5901C53.1901 36.5901 53.1001 36.6801 53.1001 36.7801C53.1001 36.8901 53.1901 36.9701 53.3001 36.9701C53.4101 36.9801 53.5001 36.8901 53.5001 36.7801Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.8801 41.87C41.6101 41.87 39.5801 41.6 38.1301 41.16C38.0301 41.13 37.9701 41.03 37.9801 40.93C37.9801 40.83 38.0301 40.75 38.1301 40.71C39.5801 40.27 41.6101 40.01 43.8801 40C46.1501 40 48.1801 40.27 49.6301 40.71C49.7301 40.74 49.7901 40.83 49.7801 40.93C49.7901 41.03 49.7301 41.13 49.6301 41.16C48.1801 41.6 46.1501 41.86 43.8801 41.87Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.8601 40.0001C41.5701 40.0101 39.5101 40.2901 38.0601 40.7401C38.1801 40.6801 38.1701 40.5301 38.0201 40.1501C37.8401 39.6801 37.5601 39.7001 37.5601 39.7001C39.1601 39.2301 41.3901 38.9301 43.8701 38.9301C46.3601 38.9301 48.6001 39.2301 50.2001 39.7001C50.2001 39.7001 49.9201 39.6801 49.7401 40.1501C49.5901 40.5301 49.5801 40.6801 49.7001 40.7401C48.2601 40.3001 46.1601 40.0101 43.8601 40.0001Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.87 38.93C41.39 38.93 39.16 39.23 37.56 39.7C37.45 39.73 37.34 39.69 37.31 39.59C37.27 39.49 37.33 39.37 37.44 39.34C39.05 38.85 41.34 38.54 43.88 38.53C46.43 38.54 48.72 38.85 50.33 39.34C50.44 39.37 50.49 39.49 50.46 39.59C50.42 39.69 50.31 39.73 50.2 39.7C48.6 39.23 46.36 38.94 43.87 38.93Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.87 38.93C41.39 38.93 39.16 39.23 37.56 39.7C37.45 39.73 37.34 39.69 37.31 39.59C37.27 39.49 37.33 39.37 37.44 39.34C39.05 38.85 41.34 38.54 43.88 38.53C46.43 38.54 48.72 38.85 50.33 39.34C50.44 39.37 50.49 39.49 50.46 39.59C50.42 39.69 50.31 39.73 50.2 39.7C48.6 39.23 46.36 38.94 43.87 38.93Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.89 36.9901L44.12 37.0301C44.08 37.1201 44.08 37.2201 44.08 37.3301C44.08 37.8001 44.49 38.1901 44.99 38.1901C45.39 38.1901 45.74 37.9401 45.85 37.6001C45.87 37.6101 45.94 37.2901 45.98 37.2901C46.01 37.2901 46.01 37.6201 46.02 37.6201C46.08 38.0501 46.48 38.3501 46.92 38.3501C47.42 38.3501 47.83 37.9601 47.83 37.4901C47.83 37.4601 47.83 37.4201 47.82 37.3801L48.11 37.1001L48.26 37.4601C48.2 37.5701 48.18 37.7001 48.18 37.8401C48.18 38.2901 48.57 38.6601 49.05 38.6601C49.35 38.6601 49.62 38.5201 49.77 38.3001L49.95 38.0701V38.3501C49.95 38.6401 50.07 38.8901 50.35 38.9401C50.35 38.9401 50.67 38.9601 51.09 38.6301C51.51 38.3001 51.75 38.0201 51.75 38.0201L51.79 38.3501C51.79 38.3501 51.44 38.9001 51.06 39.1201C50.85 39.2401 50.53 39.3701 50.28 39.3301C50.01 39.2901 49.82 39.0701 49.72 38.8201C49.53 38.9301 49.3 39.0001 49.06 39.0001C48.54 39.0001 48.08 38.7201 47.89 38.2901C47.65 38.5501 47.32 38.7001 46.93 38.7001C46.52 38.7001 46.14 38.5101 45.9 38.2301C45.67 38.4401 45.35 38.5801 45 38.5801C44.54 38.5801 44.13 38.3501 43.9 38.0201C43.67 38.3601 43.26 38.5801 42.8 38.5801C42.45 38.5801 42.13 38.4501 41.9 38.2301C41.66 38.5201 41.28 38.7001 40.87 38.7001C40.48 38.7001 40.15 38.5401 39.91 38.2901C39.73 38.7201 39.26 39.0001 38.74 39.0001C38.5 39.0001 38.28 38.9301 38.08 38.8201C37.98 39.0701 37.79 39.2801 37.52 39.3301C37.27 39.3701 36.95 39.2401 36.74 39.1201C36.36 38.9001 36 38.3501 36 38.3501L36.04 38.0201C36.04 38.0201 36.27 38.3001 36.7 38.6301C37.12 38.9601 37.44 38.9401 37.44 38.9401C37.72 38.8901 37.84 38.6401 37.84 38.3501V38.0701L38.02 38.3001C38.18 38.5201 38.44 38.6601 38.74 38.6601C39.22 38.6601 39.61 38.2901 39.61 37.8401C39.61 37.7001 39.59 37.5801 39.53 37.4601L39.68 37.1001L39.96 37.3801C39.96 37.4201 39.95 37.4501 39.95 37.4901C39.95 37.9601 40.36 38.3501 40.86 38.3501C41.31 38.3501 41.7 38.0601 41.76 37.6201C41.77 37.6301 41.77 37.3001 41.8 37.2901C41.84 37.2901 41.91 37.6101 41.92 37.6001C42.04 37.9401 42.38 38.1901 42.79 38.1901C43.29 38.1901 43.7 37.8001 43.7 37.3301C43.7 37.2201 43.69 37.1201 43.66 37.0301L43.89 36.9901Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.89 36.9901L44.12 37.0301C44.08 37.1201 44.08 37.2201 44.08 37.3301C44.08 37.8001 44.49 38.1901 44.99 38.1901C45.39 38.1901 45.74 37.9401 45.85 37.6001C45.87 37.6101 45.94 37.2901 45.98 37.2901C46.01 37.2901 46.01 37.6201 46.02 37.6201C46.08 38.0501 46.48 38.3501 46.92 38.3501C47.42 38.3501 47.83 37.9601 47.83 37.4901C47.83 37.4601 47.83 37.4201 47.82 37.3801L48.11 37.1001L48.26 37.4601C48.2 37.5701 48.18 37.7001 48.18 37.8401C48.18 38.2901 48.57 38.6601 49.05 38.6601C49.35 38.6601 49.62 38.5201 49.77 38.3001L49.95 38.0701V38.3501C49.95 38.6401 50.07 38.8901 50.35 38.9401C50.35 38.9401 50.67 38.9601 51.09 38.6301C51.51 38.3001 51.75 38.0201 51.75 38.0201L51.79 38.3501C51.79 38.3501 51.44 38.9001 51.06 39.1201C50.85 39.2401 50.53 39.3701 50.28 39.3301C50.01 39.2901 49.82 39.0701 49.72 38.8201C49.53 38.9301 49.3 39.0001 49.06 39.0001C48.54 39.0001 48.08 38.7201 47.89 38.2901C47.65 38.5501 47.32 38.7001 46.93 38.7001C46.52 38.7001 46.14 38.5101 45.9 38.2301C45.67 38.4401 45.35 38.5801 45 38.5801C44.54 38.5801 44.13 38.3501 43.9 38.0201C43.67 38.3601 43.26 38.5801 42.8 38.5801C42.45 38.5801 42.13 38.4501 41.9 38.2301C41.66 38.5201 41.28 38.7001 40.87 38.7001C40.48 38.7001 40.15 38.5401 39.91 38.2901C39.73 38.7201 39.26 39.0001 38.74 39.0001C38.5 39.0001 38.28 38.9301 38.08 38.8201C37.98 39.0701 37.79 39.2801 37.52 39.3301C37.27 39.3701 36.95 39.2401 36.74 39.1201C36.36 38.9001 36 38.3501 36 38.3501L36.04 38.0201C36.04 38.0201 36.27 38.3001 36.7 38.6301C37.12 38.9601 37.44 38.9401 37.44 38.9401C37.72 38.8901 37.84 38.6401 37.84 38.3501V38.0701L38.02 38.3001C38.18 38.5201 38.44 38.6601 38.74 38.6601C39.22 38.6601 39.61 38.2901 39.61 37.8401C39.61 37.7001 39.59 37.5801 39.53 37.4601L39.68 37.1001L39.96 37.3801C39.96 37.4201 39.95 37.4501 39.95 37.4901C39.95 37.9601 40.36 38.3501 40.86 38.3501C41.31 38.3501 41.7 38.0601 41.76 37.6201C41.77 37.6301 41.77 37.3001 41.8 37.2901C41.84 37.2901 41.91 37.6101 41.92 37.6001C42.04 37.9401 42.38 38.1901 42.79 38.1901C43.29 38.1901 43.7 37.8001 43.7 37.3301C43.7 37.2201 43.69 37.1201 43.66 37.0301L43.89 36.9901Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.16 38.2001C36.14 38.1301 36.09 38.0601 36.03 38.0001C35.88 37.8701 35.69 37.8501 35.59 37.9501C35.58 37.9601 35.57 37.9801 35.56 38.0001C35.56 38.0001 35.35 37.6201 35.11 37.4901C34.87 37.3601 34.46 37.3901 34.46 37.3901C34.46 37.0901 34.7 36.8601 35.01 36.8601C35.19 36.8601 35.37 36.9401 35.47 37.0701L35.51 36.8701C35.51 36.8701 35.76 36.9201 35.88 37.2101C35.99 37.5001 35.87 37.9101 35.87 37.9101C35.87 37.9101 35.93 37.7301 36.03 37.6101C36.12 37.4901 36.36 37.3601 36.49 37.3001C36.61 37.2401 36.74 37.1501 36.74 37.1501C36.74 37.1501 36.75 37.1801 36.75 37.2601C36.75 37.3501 36.75 37.4101 36.75 37.4101C36.98 37.3801 37.25 37.4201 37.46 37.5001C37.37 37.6801 37.2 37.8401 36.98 37.9301C36.98 37.9301 37.06 38.0001 37.13 38.0701C37.19 38.1301 37.21 38.1601 37.21 38.1601C37.21 38.1601 37.05 38.1801 36.98 38.1901C36.9 38.2001 36.64 38.2401 36.48 38.2301C36.36 38.2301 36.23 38.2101 36.16 38.2001Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.16 38.2001C36.14 38.1301 36.09 38.0601 36.03 38.0001C35.88 37.8701 35.69 37.8501 35.59 37.9501C35.58 37.9601 35.57 37.9801 35.56 38.0001C35.56 38.0001 35.35 37.6201 35.11 37.4901C34.87 37.3601 34.46 37.3901 34.46 37.3901C34.46 37.0901 34.7 36.8601 35.01 36.8601C35.19 36.8601 35.37 36.9401 35.47 37.0701L35.51 36.8701C35.51 36.8701 35.76 36.9201 35.88 37.2101C35.99 37.5001 35.87 37.9101 35.87 37.9101C35.87 37.9101 35.93 37.7301 36.03 37.6101C36.12 37.4901 36.36 37.3601 36.49 37.3001C36.61 37.2401 36.74 37.1501 36.74 37.1501C36.74 37.1501 36.75 37.1801 36.75 37.2601C36.75 37.3501 36.75 37.4101 36.75 37.4101C36.98 37.3801 37.25 37.4201 37.46 37.5001C37.37 37.6801 37.2 37.8401 36.98 37.9301C36.98 37.9301 37.06 38.0001 37.13 38.0701C37.19 38.1301 37.21 38.1601 37.21 38.1601C37.21 38.1601 37.05 38.1801 36.98 38.1901C36.9 38.2001 36.64 38.2401 36.48 38.2301C36.36 38.2301 36.23 38.2101 36.16 38.2001Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M35.5901 37.9601C35.6901 37.8601 35.8801 37.8801 36.0301 38.0101C36.1801 38.1301 36.2201 38.3201 36.1201 38.4101C36.0301 38.5101 35.8301 38.4901 35.6801 38.3601C35.5401 38.2301 35.4901 38.0501 35.5901 37.9601Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.6399 38.12C37.5899 37.97 37.6299 37.82 37.7499 37.78C37.8599 37.75 37.9899 37.84 38.0499 38C38.0999 38.15 38.0499 38.3 37.9399 38.34C37.8199 38.37 37.6899 38.28 37.6399 38.12Z\",\n fill: \"#E9E8E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.6399 38.12C37.5899 37.97 37.6299 37.82 37.7499 37.78C37.8599 37.75 37.9899 37.84 38.0499 38C38.0999 38.15 38.0499 38.3 37.9399 38.34C37.8199 38.37 37.6899 38.28 37.6399 38.12Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.4399 37.37C39.3799 37.32 39.33 37.25 39.32 37.17C39.3 37.09 39.32 37.01 39.36 36.94C39.36 36.94 39.2 36.86 39.02 36.81C38.89 36.78 38.65 36.77 38.58 36.77C38.51 36.77 38.3699 36.76 38.3699 36.76C38.3699 36.76 38.3799 36.79 38.4199 36.86C38.4699 36.94 38.5099 37 38.5099 37C38.2699 37.05 38.08 37.21 37.95 37.39C38.13 37.52 38.38 37.59 38.61 37.57C38.61 37.57 38.59 37.63 38.57 37.73C38.56 37.81 38.56 37.84 38.56 37.84C38.56 37.84 38.6899 37.79 38.7599 37.77C38.8199 37.75 39.04 37.67 39.16 37.59C39.31 37.5 39.4399 37.37 39.4399 37.37Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.4399 37.37C39.3799 37.32 39.33 37.25 39.32 37.17C39.3 37.09 39.32 37.01 39.36 36.94C39.36 36.94 39.2 36.86 39.02 36.81C38.89 36.78 38.65 36.77 38.58 36.77C38.51 36.77 38.3699 36.76 38.3699 36.76C38.3699 36.76 38.3799 36.79 38.4199 36.86C38.4699 36.94 38.5099 37 38.5099 37C38.2699 37.05 38.08 37.21 37.95 37.39C38.13 37.52 38.38 37.59 38.61 37.57C38.61 37.57 38.59 37.63 38.57 37.73C38.56 37.81 38.56 37.84 38.56 37.84C38.56 37.84 38.6899 37.79 38.7599 37.77C38.8199 37.75 39.04 37.67 39.16 37.59C39.31 37.5 39.4399 37.37 39.4399 37.37Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.3601 35.4901C39.5601 35.6101 39.7301 35.8201 39.7901 36.0501C39.7901 36.0501 39.81 36.0001 39.92 35.9401C40.03 35.8801 40.12 35.8801 40.12 35.8801C40.12 35.8801 40.09 36.0601 40.07 36.1201C40.05 36.1801 40.05 36.3801 40.01 36.5501C39.97 36.7201 39.89 36.8601 39.89 36.8601C39.81 36.8001 39.71 36.7701 39.6 36.7801C39.49 36.8001 39.4001 36.8601 39.3601 36.9501C39.3601 36.9501 39.24 36.8401 39.14 36.6901C39.04 36.5401 38.97 36.3601 38.93 36.3101C38.89 36.2501 38.8 36.1001 38.8 36.1001C38.8 36.1001 38.89 36.0701 39.01 36.0901C39.13 36.1101 39.17 36.1501 39.17 36.1501C39.14 35.9101 39.2201 35.6701 39.3601 35.4901Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.9599 37.29C39.9999 37.23 40.0199 37.14 40.0099 37.06C39.9899 36.98 39.9499 36.91 39.8899 36.86C39.8899 36.86 40.0099 36.73 40.1599 36.63C40.2699 36.55 40.4899 36.48 40.5599 36.45C40.6299 36.43 40.7599 36.38 40.7599 36.38C40.7599 36.38 40.7599 36.41 40.7499 36.49C40.7299 36.59 40.7099 36.65 40.7099 36.65C40.9499 36.62 41.1899 36.7 41.3799 36.83C41.2499 37.01 41.0499 37.16 40.8199 37.22C40.8199 37.22 40.8599 37.27 40.9099 37.36C40.9499 37.43 40.9599 37.46 40.9599 37.46C40.9599 37.46 40.8199 37.46 40.7499 37.45C40.6799 37.45 40.4399 37.45 40.3099 37.41C40.1299 37.37 39.9599 37.29 39.9599 37.29Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.9599 37.29C39.9999 37.23 40.0199 37.14 40.0099 37.06C39.9899 36.98 39.9499 36.91 39.8899 36.86C39.8899 36.86 40.0099 36.73 40.1599 36.63C40.2699 36.55 40.4899 36.48 40.5599 36.45C40.6299 36.43 40.7599 36.38 40.7599 36.38C40.7599 36.38 40.7599 36.41 40.7499 36.49C40.7299 36.59 40.7099 36.65 40.7099 36.65C40.9499 36.62 41.1899 36.7 41.3799 36.83C41.2499 37.01 41.0499 37.16 40.8199 37.22C40.8199 37.22 40.8599 37.27 40.9099 37.36C40.9499 37.43 40.9599 37.46 40.9599 37.46C40.9599 37.46 40.8199 37.46 40.7499 37.45C40.6799 37.45 40.4399 37.45 40.3099 37.41C40.1299 37.37 39.9599 37.29 39.9599 37.29Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.07 37.1101C40.07 36.9001 39.89 36.7301 39.67 36.7301C39.45 36.7301 39.27 36.9001 39.27 37.1101C39.27 37.3201 39.45 37.4901 39.67 37.4901C39.89 37.4901 40.07 37.3201 40.07 37.1101Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M41.59 37.36C41.57 37.2 41.65 37.06 41.76 37.05C41.88 37.04 41.99 37.16 42.01 37.32C42.03 37.48 41.96 37.62 41.84 37.63C41.72 37.64 41.61 37.52 41.59 37.36Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.5699 37C43.5099 36.93 43.4699 36.85 43.4699 36.75C43.4699 36.66 43.5099 36.57 43.5599 36.51C43.5599 36.51 43.3999 36.39 43.2099 36.3C43.0699 36.24 42.8099 36.19 42.7299 36.18C42.6599 36.16 42.4999 36.13 42.4999 36.13C42.4999 36.13 42.5099 36.17 42.5399 36.25C42.5799 36.35 42.6099 36.42 42.6099 36.42C42.3399 36.44 42.0799 36.57 41.9099 36.75C42.0899 36.92 42.3399 37.06 42.6099 37.07C42.6099 37.07 42.5699 37.14 42.5399 37.24C42.5099 37.33 42.4999 37.37 42.4999 37.37C42.4999 37.37 42.6599 37.34 42.7399 37.32C42.8199 37.31 43.0799 37.26 43.2199 37.2C43.4099 37.12 43.5699 37 43.5699 37Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.5699 37C43.5099 36.93 43.4699 36.85 43.4699 36.75C43.4699 36.66 43.5099 36.57 43.5599 36.51C43.5599 36.51 43.3999 36.39 43.2099 36.3C43.0699 36.24 42.8099 36.19 42.7299 36.18C42.6599 36.16 42.4999 36.13 42.4999 36.13C42.4999 36.13 42.5099 36.17 42.5399 36.25C42.5799 36.35 42.6099 36.42 42.6099 36.42C42.3399 36.44 42.0799 36.57 41.9099 36.75C42.0899 36.92 42.3399 37.06 42.6099 37.07C42.6099 37.07 42.5699 37.14 42.5399 37.24C42.5099 37.33 42.4999 37.37 42.4999 37.37C42.4999 37.37 42.6599 37.34 42.7399 37.32C42.8199 37.31 43.0799 37.26 43.2199 37.2C43.4099 37.12 43.5699 37 43.5699 37Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.8701 34.88C44.0601 35.06 44.2101 35.32 44.2301 35.59C44.2301 35.59 44.2601 35.54 44.4001 35.49C44.5401 35.44 44.6401 35.46 44.6401 35.46C44.6401 35.46 44.5701 35.65 44.5401 35.72C44.5001 35.79 44.4601 36 44.3801 36.19C44.3001 36.37 44.1901 36.51 44.1901 36.51C44.1201 36.43 44.0001 36.37 43.8801 36.37C43.7501 36.37 43.6501 36.42 43.5701 36.51C43.5701 36.51 43.4601 36.37 43.3801 36.19C43.3001 36 43.2601 35.79 43.2301 35.72C43.2001 35.65 43.1301 35.46 43.1301 35.46C43.1301 35.46 43.2301 35.44 43.3701 35.49C43.5001 35.54 43.5401 35.59 43.5401 35.59C43.5401 35.31 43.6801 35.05 43.8701 34.88Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.8701 34.88C44.0601 35.06 44.2101 35.32 44.2301 35.59C44.2301 35.59 44.2601 35.54 44.4001 35.49C44.5401 35.44 44.6401 35.46 44.6401 35.46C44.6401 35.46 44.5701 35.65 44.5401 35.72C44.5001 35.79 44.4601 36 44.3801 36.19C44.3001 36.37 44.1901 36.51 44.1901 36.51C44.1201 36.43 44.0001 36.37 43.8801 36.37C43.7501 36.37 43.6501 36.42 43.5701 36.51C43.5701 36.51 43.4601 36.37 43.3801 36.19C43.3001 36 43.2601 35.79 43.2301 35.72C43.2001 35.65 43.1301 35.46 43.1301 35.46C43.1301 35.46 43.2301 35.44 43.3701 35.49C43.5001 35.54 43.5401 35.59 43.5401 35.59C43.5401 35.31 43.6801 35.05 43.8701 34.88Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.1799 37C44.2399 36.93 44.2799 36.85 44.2799 36.75C44.2799 36.66 44.2399 36.57 44.1899 36.51C44.1899 36.51 44.3599 36.39 44.5399 36.3C44.6799 36.24 44.9399 36.19 45.0199 36.18C45.0999 36.16 45.2499 36.14 45.2499 36.14C45.2499 36.14 45.2499 36.18 45.2199 36.26C45.1799 36.36 45.1499 36.43 45.1499 36.43C45.4199 36.45 45.6799 36.58 45.8499 36.76C45.6699 36.93 45.4199 37.07 45.1499 37.08C45.1499 37.08 45.1899 37.15 45.2199 37.25C45.2499 37.33 45.2499 37.37 45.2499 37.37L45.0199 37.32C44.9399 37.31 44.6799 37.26 44.5399 37.2C44.3499 37.12 44.1799 37 44.1799 37Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.1799 37C44.2399 36.93 44.2799 36.85 44.2799 36.75C44.2799 36.66 44.2399 36.57 44.1899 36.51C44.1899 36.51 44.3599 36.39 44.5399 36.3C44.6799 36.24 44.9399 36.19 45.0199 36.18C45.0999 36.16 45.2499 36.14 45.2499 36.14C45.2499 36.14 45.2499 36.18 45.2199 36.26C45.1799 36.36 45.1499 36.43 45.1499 36.43C45.4199 36.45 45.6799 36.58 45.8499 36.76C45.6699 36.93 45.4199 37.07 45.1499 37.08C45.1499 37.08 45.1899 37.15 45.2199 37.25C45.2499 37.33 45.2499 37.37 45.2499 37.37L45.0199 37.32C44.9399 37.31 44.6799 37.26 44.5399 37.2C44.3499 37.12 44.1799 37 44.1799 37Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.28 36.7501C44.28 36.5401 44.1 36.3701 43.88 36.3701C43.66 36.3701 43.48 36.5401 43.48 36.7501C43.48 36.9601 43.66 37.1301 43.88 37.1301C44.1 37.1301 44.28 36.9601 44.28 36.7501Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.1799 37.36C46.1999 37.2 46.1199 37.06 46.0099 37.05C45.8899 37.04 45.7799 37.16 45.7599 37.32C45.7399 37.48 45.8199 37.62 45.9299 37.63C46.0499 37.64 46.1599 37.52 46.1799 37.36Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.7999 37.29C47.7599 37.23 47.7399 37.14 47.7599 37.06C47.7799 36.98 47.8199 36.91 47.8799 36.86C47.8799 36.86 47.7599 36.73 47.6099 36.63C47.4999 36.55 47.2799 36.48 47.2099 36.45C47.1499 36.43 47.0099 36.38 47.0099 36.38C47.0099 36.38 47.0099 36.41 47.0199 36.49C47.0299 36.59 47.0499 36.65 47.0499 36.65C46.8099 36.62 46.5699 36.7 46.3899 36.83C46.5099 37.01 46.7199 37.16 46.9499 37.22C46.9499 37.22 46.9099 37.27 46.8599 37.36C46.8199 37.43 46.8099 37.46 46.8099 37.46L47.0199 37.45C47.0899 37.45 47.3299 37.45 47.4599 37.41C47.6399 37.37 47.7999 37.29 47.7999 37.29Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.7999 37.29C47.7599 37.23 47.7399 37.14 47.7599 37.06C47.7799 36.98 47.8199 36.91 47.8799 36.86C47.8799 36.86 47.7599 36.73 47.6099 36.63C47.4999 36.55 47.2799 36.48 47.2099 36.45C47.1499 36.43 47.0099 36.38 47.0099 36.38C47.0099 36.38 47.0099 36.41 47.0199 36.49C47.0299 36.59 47.0499 36.65 47.0499 36.65C46.8099 36.62 46.5699 36.7 46.3899 36.83C46.5099 37.01 46.7199 37.16 46.9499 37.22C46.9499 37.22 46.9099 37.27 46.8599 37.36C46.8199 37.43 46.8099 37.46 46.8099 37.46L47.0199 37.45C47.0899 37.45 47.3299 37.45 47.4599 37.41C47.6399 37.37 47.7999 37.29 47.7999 37.29Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.4099 35.4901C48.2099 35.6101 48.0399 35.8201 47.9799 36.0501C47.9799 36.0501 47.9599 36.0001 47.8499 35.9401C47.7399 35.8801 47.6499 35.8801 47.6499 35.8801C47.6499 35.8801 47.6799 36.0601 47.6999 36.1201C47.7199 36.1801 47.7199 36.3801 47.7599 36.5501C47.7999 36.7201 47.8799 36.8601 47.8799 36.8601C47.9599 36.8001 48.0599 36.7701 48.1699 36.7801C48.2799 36.8001 48.3699 36.8601 48.4199 36.9501C48.4199 36.9501 48.5399 36.8401 48.6399 36.6901C48.7399 36.5401 48.8099 36.3601 48.8499 36.3101C48.8899 36.2501 48.9799 36.1001 48.9799 36.1001C48.9799 36.1001 48.8899 36.0701 48.7699 36.0901C48.6499 36.1101 48.6099 36.1501 48.6099 36.1501C48.6299 35.9101 48.5499 35.6701 48.4099 35.4901Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.4099 35.4901C48.2099 35.6101 48.0399 35.8201 47.9799 36.0501C47.9799 36.0501 47.9599 36.0001 47.8499 35.9401C47.7399 35.8801 47.6499 35.8801 47.6499 35.8801C47.6499 35.8801 47.6799 36.0601 47.6999 36.1201C47.7199 36.1801 47.7199 36.3801 47.7599 36.5501C47.7999 36.7201 47.8799 36.8601 47.8799 36.8601C47.9599 36.8001 48.0599 36.7701 48.1699 36.7801C48.2799 36.8001 48.3699 36.8601 48.4199 36.9501C48.4199 36.9501 48.5399 36.8401 48.6399 36.6901C48.7399 36.5401 48.8099 36.3601 48.8499 36.3101C48.8899 36.2501 48.9799 36.1001 48.9799 36.1001C48.9799 36.1001 48.8899 36.0701 48.7699 36.0901C48.6499 36.1101 48.6099 36.1501 48.6099 36.1501C48.6299 35.9101 48.5499 35.6701 48.4099 35.4901Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.3301 37.37C48.3901 37.32 48.4401 37.25 48.4501 37.17C48.4701 37.09 48.4501 37.01 48.4101 36.94C48.4101 36.94 48.5701 36.86 48.7501 36.81C48.8801 36.78 49.1201 36.77 49.1901 36.77C49.2601 36.77 49.4001 36.76 49.4001 36.76C49.4001 36.76 49.3901 36.79 49.3501 36.86C49.3001 36.94 49.2601 37 49.2601 37C49.4901 37.05 49.6901 37.21 49.8201 37.39C49.6401 37.52 49.3901 37.59 49.1501 37.57C49.1501 37.57 49.1701 37.63 49.1901 37.73C49.2001 37.81 49.2001 37.84 49.2001 37.84C49.2001 37.84 49.0701 37.79 49.0001 37.77C48.9301 37.75 48.7101 37.67 48.6001 37.59C48.4601 37.5 48.3301 37.37 48.3301 37.37Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.3301 37.37C48.3901 37.32 48.4401 37.25 48.4501 37.17C48.4701 37.09 48.4501 37.01 48.4101 36.94C48.4101 36.94 48.5701 36.86 48.7501 36.81C48.8801 36.78 49.1201 36.77 49.1901 36.77C49.2601 36.77 49.4001 36.76 49.4001 36.76C49.4001 36.76 49.3901 36.79 49.3501 36.86C49.3001 36.94 49.2601 37 49.2601 37C49.4901 37.05 49.6901 37.21 49.8201 37.39C49.6401 37.52 49.3901 37.59 49.1501 37.57C49.1501 37.57 49.1701 37.63 49.1901 37.73C49.2001 37.81 49.2001 37.84 49.2001 37.84C49.2001 37.84 49.0701 37.79 49.0001 37.77C48.9301 37.75 48.7101 37.67 48.6001 37.59C48.4601 37.5 48.3301 37.37 48.3301 37.37Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.5 37.1101C48.5 36.9001 48.3199 36.7301 48.0999 36.7301C47.8799 36.7301 47.7 36.9001 47.7 37.1101C47.7 37.3201 47.8799 37.4901 48.0999 37.4901C48.3199 37.4901 48.5 37.3201 48.5 37.1101Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.13 38.12C50.18 37.97 50.14 37.82 50.02 37.78C49.91 37.75 49.78 37.84 49.72 38C49.67 38.15 49.71 38.3 49.83 38.34C49.94 38.37 50.08 38.28 50.13 38.12Z\",\n fill: \"#E9E8E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.13 38.12C50.18 37.97 50.14 37.82 50.02 37.78C49.91 37.75 49.78 37.84 49.72 38C49.67 38.15 49.71 38.3 49.83 38.34C49.94 38.37 50.08 38.28 50.13 38.12Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M51.6101 38.2001C51.6301 38.1301 51.6801 38.0601 51.7401 38.0001C51.8901 37.8701 52.08 37.8501 52.18 37.9501C52.19 37.9601 52.21 37.9801 52.21 38.0001C52.21 38.0001 52.4101 37.6201 52.6501 37.4901C52.8901 37.3601 53.3 37.3901 53.3 37.3901C53.3 37.0901 53.06 36.8601 52.75 36.8601C52.57 36.8601 52.4001 36.9401 52.2901 37.0701L52.25 36.8701C52.25 36.8701 52.0001 36.9201 51.8801 37.2101C51.7701 37.5001 51.89 37.9101 51.89 37.9101C51.89 37.9101 51.83 37.7301 51.73 37.6101C51.64 37.4901 51.4001 37.3601 51.2701 37.3001C51.1401 37.2401 51.0201 37.1501 51.0201 37.1501C51.0201 37.1501 51.01 37.1801 51.01 37.2601C51.01 37.3501 51.01 37.4101 51.01 37.4101C50.78 37.3801 50.51 37.4201 50.3 37.5001C50.39 37.6801 50.56 37.8401 50.78 37.9301C50.78 37.9301 50.7001 38.0001 50.6301 38.0701C50.5701 38.1301 50.55 38.1601 50.55 38.1601C50.55 38.1601 50.71 38.1801 50.78 38.1901C50.86 38.2001 51.12 38.2401 51.28 38.2301C51.4 38.2301 51.5301 38.2101 51.6101 38.2001Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M51.6101 38.2001C51.6301 38.1301 51.6801 38.0601 51.7401 38.0001C51.8901 37.8701 52.08 37.8501 52.18 37.9501C52.19 37.9601 52.21 37.9801 52.21 38.0001C52.21 38.0001 52.4101 37.6201 52.6501 37.4901C52.8901 37.3601 53.3 37.3901 53.3 37.3901C53.3 37.0901 53.06 36.8601 52.75 36.8601C52.57 36.8601 52.4001 36.9401 52.2901 37.0701L52.25 36.8701C52.25 36.8701 52.0001 36.9201 51.8801 37.2101C51.7701 37.5001 51.89 37.9101 51.89 37.9101C51.89 37.9101 51.83 37.7301 51.73 37.6101C51.64 37.4901 51.4001 37.3601 51.2701 37.3001C51.1401 37.2401 51.0201 37.1501 51.0201 37.1501C51.0201 37.1501 51.01 37.1801 51.01 37.2601C51.01 37.3501 51.01 37.4101 51.01 37.4101C50.78 37.3801 50.51 37.4201 50.3 37.5001C50.39 37.6801 50.56 37.8401 50.78 37.9301C50.78 37.9301 50.7001 38.0001 50.6301 38.0701C50.5701 38.1301 50.55 38.1601 50.55 38.1601C50.55 38.1601 50.71 38.1801 50.78 38.1901C50.86 38.2001 51.12 38.2401 51.28 38.2301C51.4 38.2301 51.5301 38.2101 51.6101 38.2001Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M52.18 37.9601C52.09 37.8601 51.89 37.8801 51.74 38.0101C51.59 38.1301 51.55 38.3201 51.65 38.4101C51.74 38.5101 51.94 38.4901 52.09 38.3601C52.23 38.2301 52.27 38.0501 52.18 37.9601Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.8701 41.57C41.8301 41.57 39.9701 41.33 38.5701 40.97C39.9801 40.61 41.8301 40.38 43.8701 40.38C45.9201 40.38 47.7801 40.61 49.1801 40.97C47.7801 41.33 45.9201 41.57 43.8701 41.57Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.3401 41.5201V40.4101M44.7801 41.5501L44.7901 40.3701M44.3701 41.5701V40.3701\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.03 41.5801V40.3701\",\n stroke: \"#020203\",\n strokeWidth: 0.0145,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.7 41.5801V40.3701\",\n stroke: \"#020203\",\n strokeWidth: 0.0226,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.3899 41.5801V40.3701\",\n stroke: \"#020203\",\n strokeWidth: 0.0291,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.0801 41.5801V40.3701\",\n stroke: \"#020203\",\n strokeWidth: 0.0372,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.8 41.5801V40.3701\",\n stroke: \"#020203\",\n strokeWidth: 0.0453,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.28 41.5201L42.27 40.4201M42.53 41.5301V40.3701\",\n stroke: \"#020203\",\n strokeWidth: 0.0533,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.79 41.47V40.45M42.04 41.5L42.03 40.42\",\n stroke: \"#020203\",\n strokeWidth: 0.0598,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.1399 41.4101V40.5101M41.3599 41.4301V40.4901M41.5799 41.4501V40.4701\",\n stroke: \"#020203\",\n strokeWidth: 0.0679,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.9199 41.4V40.54\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.7 41.3601V40.55\",\n stroke: \"#020203\",\n strokeWidth: 0.0824,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.48 41.3401V40.5901\",\n stroke: \"#020203\",\n strokeWidth: 0.0906,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.01 41.27L40 40.68M40.25 41.3V40.63\",\n stroke: \"#020203\",\n strokeWidth: 0.097,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.77 41.2201V40.7001\",\n stroke: \"#020203\",\n strokeWidth: 0.1018,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.55 41.1801V40.7401\",\n stroke: \"#020203\",\n strokeWidth: 0.1099,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.3101 41.12V40.78\",\n stroke: \"#020203\",\n strokeWidth: 0.118,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.0701 41.0901V40.8301\",\n stroke: \"#020203\",\n strokeWidth: 0.1245,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.8101 41.03V40.91\",\n stroke: \"#020203\",\n strokeWidth: 0.1471,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.7 40.2L37.9199 39.91L38.5499 39.99L38.0499 40.35L37.7 40.2Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.05 39.85C39.05 39.74 39.14 39.66 39.25 39.66C39.36 39.66 39.4501 39.74 39.4501 39.85C39.4501 39.96 39.36 40.04 39.25 40.04C39.14 40.05 39.05 39.96 39.05 39.85Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.8301 39.8101L40.3901 39.8601C40.2801 39.8701 40.1701 39.8001 40.1601 39.6901C40.1501 39.5901 40.2201 39.4901 40.3401 39.4801L40.7801 39.4301L41.2301 39.3801C41.3401 39.3701 41.4401 39.4401 41.4601 39.5501C41.4701 39.6601 41.3901 39.7501 41.2801 39.7601L40.8301 39.8101Z\",\n fill: \"#419846\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.8301 39.8101L40.3901 39.8601C40.2801 39.8701 40.1701 39.8001 40.1601 39.6901C40.1501 39.5901 40.2201 39.4901 40.3401 39.4801L40.7801 39.4301L41.2301 39.3801C41.3401 39.3701 41.4401 39.4401 41.4601 39.5501C41.4701 39.6601 41.3901 39.7501 41.2801 39.7601L40.8301 39.8101Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M42.1001 39.5001C42.1001 39.3901 42.1901 39.3101 42.3001 39.3101C42.4101 39.3101 42.5001 39.4001 42.5001 39.5001C42.5001 39.6101 42.4101 39.6901 42.3001 39.6901C42.1901 39.6901 42.1001 39.6001 42.1001 39.5001Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.8801 39.65H43.2701C43.1601 39.65 43.0601 39.57 43.0601 39.46C43.0601 39.35 43.1501 39.27 43.2601 39.27H44.5001C44.6101 39.27 44.7001 39.36 44.7001 39.46C44.7001 39.57 44.6101 39.65 44.5001 39.65H43.8801Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.25 39.5001C45.25 39.3901 45.34 39.3101 45.45 39.3101C45.56 39.3101 45.65 39.4001 45.65 39.5001C45.65 39.6101 45.56 39.6901 45.45 39.6901C45.34 39.6901 45.25 39.6001 45.25 39.5001Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.9299 39.8101L47.3699 39.8601C47.4799 39.8701 47.5899 39.8001 47.5999 39.6901C47.6099 39.5901 47.5299 39.4901 47.4199 39.4801L46.9799 39.4301L46.5299 39.3801C46.4199 39.3701 46.3199 39.4401 46.2999 39.5501C46.2899 39.6601 46.3699 39.7501 46.4799 39.7601L46.9299 39.8101Z\",\n fill: \"#419846\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.9299 39.8101L47.3699 39.8601C47.4799 39.8701 47.5899 39.8001 47.5999 39.6901C47.6099 39.5901 47.5299 39.4901 47.4199 39.4801L46.9799 39.4301L46.5299 39.3801C46.4199 39.3701 46.3199 39.4401 46.2999 39.5501C46.2899 39.6601 46.3699 39.7501 46.4799 39.7601L46.9299 39.8101Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.3 39.85C48.3 39.74 48.39 39.66 48.5 39.66C48.61 39.66 48.7001 39.74 48.7001 39.85C48.7001 39.96 48.61 40.04 48.5 40.04C48.39 40.05 48.3 39.96 48.3 39.85Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.06 40.2L49.84 39.91L49.22 39.99L49.72 40.35L50.06 40.2Z\",\n fill: \"#BF1818\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.06 40.2L49.84 39.91L49.22 39.99L49.72 40.35L50.06 40.2Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.9399 63.7101C41.5199 63.7101 39.1199 63.1201 37.1099 62.1301C35.6299 61.3901 34.6399 59.9101 34.6399 58.2101V52.0601H53.1999V58.2101C53.1999 59.9101 52.2199 61.3901 50.7299 62.1301C48.7199 63.1201 46.3599 63.7101 43.9399 63.7101Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.39 60.98C44.78 61.1 44.97 61.38 44.97 61.72C44.97 62.16 44.54 62.49 43.99 62.49C43.44 62.49 42.99 62.16 42.99 61.72C42.99 61.39 43.17 61.02 43.56 60.99C43.56 60.99 43.55 60.95 43.51 60.9C43.47 60.86 43.39 60.78 43.39 60.78C43.39 60.78 43.54 60.75 43.62 60.78C43.7 60.81 43.76 60.87 43.76 60.87C43.76 60.87 43.8 60.79 43.86 60.73C43.92 60.67 43.99 60.63 43.99 60.63C43.99 60.63 44.07 60.7 44.1 60.75C44.13 60.8 44.15 60.86 44.15 60.86C44.15 60.86 44.23 60.8 44.3 60.77C44.37 60.74 44.45 60.72 44.45 60.72C44.45 60.72 44.43 60.8 44.41 60.85C44.4 60.89 44.39 60.98 44.39 60.98Z\",\n fill: \"#F4D795\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.39 60.98C44.78 61.1 44.97 61.38 44.97 61.72C44.97 62.16 44.54 62.49 43.99 62.49C43.44 62.49 42.99 62.16 42.99 61.72C42.99 61.39 43.17 61.02 43.56 60.99C43.56 60.99 43.55 60.95 43.51 60.9C43.47 60.86 43.39 60.78 43.39 60.78C43.39 60.78 43.54 60.75 43.62 60.78C43.7 60.81 43.76 60.87 43.76 60.87C43.76 60.87 43.8 60.79 43.86 60.73C43.92 60.67 43.99 60.63 43.99 60.63C43.99 60.63 44.07 60.7 44.1 60.75C44.13 60.8 44.15 60.86 44.15 60.86C44.15 60.86 44.23 60.8 44.3 60.77C44.37 60.74 44.45 60.72 44.45 60.72C44.45 60.72 44.43 60.8 44.41 60.85C44.4 60.89 44.39 60.98 44.39 60.98Z\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.91 62.9701C43.91 62.9701 43.17 62.4701 42.86 62.4101C42.45 62.3201 41.99 62.3901 41.79 62.3801C41.8 62.3901 42.03 62.5501 42.13 62.6501C42.23 62.7501 42.57 62.9601 42.76 63.0001C43.36 63.1501 43.91 62.9701 43.91 62.9701Z\",\n fill: \"#419846\",\n stroke: \"#020203\",\n strokeWidth: 0.0539,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.91 62.9701C43.91 62.9701 43.17 62.4701 42.86 62.4101C42.45 62.3201 41.99 62.3901 41.79 62.3801C41.8 62.3901 42.03 62.5501 42.13 62.6501C42.23 62.7501 42.57 62.9601 42.76 63.0001C43.36 63.1501 43.91 62.9701 43.91 62.9701Z\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.1201 63.0101C44.1201 63.0101 44.5901 62.5201 45.0801 62.4501C45.6601 62.3701 46.0401 62.5001 46.2701 62.5601C46.2801 62.5601 46.0801 62.6501 45.9801 62.7201C45.8801 62.7901 45.6201 63.0101 45.2201 63.0101C44.8201 63.0201 44.3701 62.9701 44.3001 62.9801C44.2301 62.9901 44.1201 63.0101 44.1201 63.0101Z\",\n fill: \"#419846\",\n stroke: \"#020203\",\n strokeWidth: 0.0539,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.1201 63.0101C44.1201 63.0101 44.5901 62.5201 45.0801 62.4501C45.6601 62.3701 46.0401 62.5001 46.2701 62.5601C46.2801 62.5601 46.0801 62.6501 45.9801 62.7201C45.8801 62.7901 45.6201 63.0101 45.2201 63.0101C44.8201 63.0201 44.3701 62.9701 44.3001 62.9801C44.2301 62.9901 44.1201 63.0101 44.1201 63.0101Z\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.9799 62.41C43.7999 62.24 43.6799 61.99 43.6799 61.72C43.6799 61.45 43.7999 61.21 43.9799 61.03C44.1599 61.2 44.2799 61.45 44.2799 61.72C44.2799 61.99 44.1599 62.23 43.9799 62.41Z\",\n fill: \"#BF1818\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.9799 62.41C43.7999 62.24 43.6799 61.99 43.6799 61.72C43.6799 61.45 43.7999 61.21 43.9799 61.03C44.1599 61.2 44.2799 61.45 44.2799 61.72C44.2799 61.99 44.1599 62.23 43.9799 62.41Z\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.9901 63.41C43.9901 63.41 43.9401 63.27 43.9401 63.01C43.9401 62.57 43.8801 62.49 43.8801 62.49L43.9801 62.41L44.0601 62.49C44.0601 62.49 44.0801 62.75 44.1101 62.93C44.1501 63.13 44.1901 63.35 44.2201 63.48L43.9901 63.41Z\",\n fill: \"#419846\",\n stroke: \"#020203\",\n strokeWidth: 0.0539,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.9901 63.41C43.9901 63.41 43.9401 63.27 43.9401 63.01C43.9401 62.57 43.8801 62.49 43.8801 62.49L43.9801 62.41L44.0601 62.49C44.0601 62.49 44.0801 62.75 44.1101 62.93C44.1501 63.13 44.1901 63.35 44.2201 63.48L43.9901 63.41Z\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.9101 58.21C43.9101 60.64 41.8501 62.6101 39.2801 62.6101C36.7101 62.6101 34.6301 60.64 34.6301 58.21V52.05H43.9101V58.21Z\",\n fill: \"#BF1818\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.9101 58.21C43.9101 60.64 41.8501 62.6101 39.2801 62.6101C36.7101 62.6101 34.6301 60.64 34.6301 58.21V52.05H43.9101V58.21Z\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.6101 58.12C34.6401 59.42 35.1601 60.38 35.6701 61.02V51.88H34.6201L34.6101 58.12Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.6599 61.8401C36.9499 61.9901 37.3499 62.2501 37.7699 62.3501L37.7399 51.8201H36.6499V61.8401H36.6599Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.73 62.5801C39.16 62.6201 39.47 62.6201 39.81 62.5801V51.8201H38.73V62.5801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.77 62.3501C41.19 62.2701 41.68 62.0001 41.88 61.8601V51.8201H40.8L40.77 62.3501Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M42.8901 60.9201C43.3401 60.5201 43.7701 59.6001 43.9201 58.5601L43.9501 51.8201H42.8601L42.8901 60.9201Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0841,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.2099 52.04V58.2C53.2099 60.63 51.1299 62.6 48.5599 62.6C45.9899 62.6 43.9099 60.63 43.9099 58.2V52.04H53.2099Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.7699 57.25C51.9699 57.19 52.1199 57.01 52.1199 56.79C52.1199 56.58 51.9699 56.39 51.7599 56.33V55.58L52.0899 55.49V54.67L51.7599 54.58V53.83C51.9599 53.77 52.0999 53.59 52.0999 53.38C52.0999 53.12 51.8699 52.9 51.5899 52.9C51.3599 52.9 51.1699 53.04 51.1099 53.23H50.5399L50.4499 52.92H49.5799L49.4899 53.23H48.9899C48.9199 53.04 48.7399 52.9 48.5199 52.9H48.5099C48.2899 52.9 48.0999 53.04 48.0399 53.23H47.5399L47.4499 52.92H46.5799L46.4899 53.23H45.9199C45.8499 53.04 45.6599 52.9 45.4399 52.9C45.1599 52.9 44.9299 53.11 44.9299 53.38C44.9299 53.59 45.0699 53.77 45.2699 53.83V54.58L44.9499 54.67V55.49L45.2699 55.58V56.33C45.0699 56.39 44.9199 56.58 44.9199 56.79C44.9199 57 45.0699 57.19 45.2699 57.25V57.74L44.9499 57.85L44.9999 58.67L45.1899 58.72C45.2699 58.73 45.3099 58.73 45.3399 58.73C45.3799 58.96 45.4399 59.19 45.5299 59.4L45.4999 59.43C45.3199 59.63 45.3399 59.93 45.5599 60.1C45.6999 60.21 45.8799 60.24 46.0399 60.19C46.1699 60.34 46.3399 60.46 46.4999 60.58L46.4299 60.91C46.6699 61.08 46.9399 61.22 47.2199 61.33L47.4699 61.09C47.6599 61.15 47.8499 61.22 48.0499 61.25C48.0999 61.46 48.2899 61.61 48.5199 61.62H48.5399C48.7699 61.61 48.9599 61.45 49.0099 61.25C49.2299 61.22 49.4399 61.15 49.6499 61.07C49.6399 61.08 49.6199 61.08 49.6099 61.09L49.8599 61.33C50.1399 61.22 50.3999 61.08 50.6399 60.92L50.5699 60.58C50.7299 60.46 50.8999 60.34 51.0299 60.19C51.1899 60.24 51.3699 60.21 51.5099 60.1C51.7199 59.93 51.7499 59.63 51.5599 59.43L51.5399 59.4C51.6399 59.18 51.6899 58.95 51.7399 58.71L52.0699 58.67L52.1199 57.85L51.7999 57.74V57.25H51.7699ZM51.8299 56.79C51.8299 56.9 51.7299 56.99 51.6099 56.99C51.4899 56.99 51.3899 56.9 51.3899 56.79C51.3899 56.68 51.4899 56.59 51.6099 56.59C51.7299 56.59 51.8299 56.68 51.8299 56.79ZM51.7699 54.83V55.31H51.4599V54.83H51.7699ZM51.3999 53.83C51.4099 53.83 51.4399 53.83 51.4499 53.84V54.58L51.1299 54.67V55.49L51.4499 55.58V56.33C51.2999 56.38 51.1799 56.49 51.1299 56.64H50.5399L50.4499 56.33H49.5799L49.4899 56.64H48.9899C48.9799 56.62 48.9699 56.59 48.9499 56.57L49.7399 55.69L50.0499 55.82L50.6199 55.19L50.4299 54.92L51.3999 53.83ZM50.2899 56.65V56.95H49.7599V56.65H50.2899ZM49.6699 55.3L49.9999 54.94L50.2399 55.13L49.9099 55.5L49.6699 55.3ZM49.7599 53.23H50.2699V53.53H49.7599V53.23ZM48.6599 53.84C48.8199 53.79 48.9399 53.68 48.9899 53.53H49.4899L49.5799 53.84H50.4499L50.5399 53.53H51.1099C51.1199 53.57 51.1399 53.61 51.1599 53.64L50.1699 54.74L49.8599 54.61L49.2899 55.24L49.4799 55.51L48.7099 56.37C48.6899 56.36 48.6799 56.35 48.6599 56.35V55.2L48.9899 55.11V54.28L48.6599 54.19V53.84ZM48.5199 54.45H48.6599V54.93H48.5099H48.4999H48.3499V54.45H48.4899H48.5199ZM46.7599 53.23H47.2699V53.53H46.7599V53.23ZM45.9099 53.53H46.4799L46.5699 53.84H47.4399L47.5299 53.53H48.0299C48.0799 53.68 48.1999 53.79 48.3599 53.84V54.19L48.0299 54.28V55.11L48.3599 55.2V56.35C48.3399 56.36 48.3299 56.37 48.3099 56.37L47.5399 55.51L47.7199 55.24L47.1499 54.61L46.8399 54.74L45.8499 53.64C45.8799 53.6 45.8899 53.57 45.9099 53.53ZM47.3499 55.3L47.1099 55.49L46.7799 55.12L47.0199 54.93L47.3499 55.3ZM45.6199 53.83L46.6099 54.94L46.4299 55.21L46.9899 55.84L47.2999 55.71L48.0899 56.59C48.0799 56.61 48.0599 56.64 48.0599 56.66H47.5499L47.4599 56.35H46.5899L46.4999 56.66H45.9099C45.8599 56.51 45.7399 56.4 45.5899 56.35L45.5999 55.6L45.9199 55.51V54.69L45.5999 54.6L45.5899 53.86C45.5799 53.83 45.6099 53.83 45.6199 53.83ZM47.2599 56.65V56.95H46.7299V56.65H47.2599ZM45.2599 55.32V54.84H45.5699V55.32H45.2599ZM45.1899 56.79C45.1899 56.68 45.2899 56.59 45.4099 56.59C45.5299 56.59 45.6199 56.68 45.6199 56.79C45.6199 56.9 45.5199 56.99 45.4099 56.99C45.2899 56.99 45.1899 56.9 45.1899 56.79ZM45.3199 58.47C45.3099 58.39 45.2499 58.29 45.2499 58.21V57.99H45.5399V58.21C45.5399 58.3 45.5499 58.39 45.5599 58.48L45.3199 58.47ZM45.7799 59.26C45.7099 59.09 45.6599 58.9 45.6199 58.72H45.6099C45.6099 58.72 45.6099 58.72 45.6099 58.71L45.9399 58.61C45.9399 58.61 45.9099 58.25 45.8999 58.19C45.8999 58.15 45.8899 57.79 45.8899 57.79L45.5699 57.72V57.24C45.7199 57.19 45.8299 57.08 45.8799 56.94H46.4799L46.5699 57.25H47.4399L47.5299 56.94H48.0399C48.0499 56.97 48.0599 57 48.0799 57.02L47.3399 57.84L47.0299 57.71L46.4599 58.34L46.6399 58.61L46.0299 59.29C45.9699 59.26 45.8699 59.25 45.7799 59.26ZM47.4099 58.24L47.0799 58.61L46.8399 58.42L47.1699 58.05L47.4099 58.24ZM47.1899 60.97C47.0399 60.9 46.8899 60.82 46.7499 60.73L46.8699 60.52C47.0099 60.61 47.1499 60.7 47.3099 60.77L47.1899 60.97ZM48.3699 60.7C48.2399 60.74 48.1399 60.84 48.0799 60.96C47.9099 60.94 47.7499 60.88 47.5899 60.83L47.6499 60.57C47.3599 60.47 47.0899 60.33 46.8599 60.15L46.6599 60.34C46.5299 60.24 46.3899 60.14 46.2799 60.02C46.3999 59.86 46.4099 59.65 46.2999 59.49L46.9099 58.81L47.2199 58.94L47.7899 58.31L47.6099 58.04L48.3399 57.22C48.3499 57.23 48.3599 57.23 48.3799 57.24V58.65L48.0499 58.74V59.56L48.3799 59.65L48.3699 60.7ZM48.5099 59.4H48.3699V58.92H48.5099H48.6499V59.4H48.5099ZM49.8399 60.98L49.7199 60.77C49.8699 60.7 50.0199 60.62 50.1599 60.53L50.2899 60.75C50.1399 60.83 49.9899 60.91 49.8399 60.98ZM50.3799 60.33L50.1799 60.15C49.9399 60.33 49.6699 60.47 49.3799 60.56L49.4399 60.82C49.2799 60.87 49.1199 60.93 48.9499 60.95C48.8899 60.83 48.7899 60.74 48.6599 60.69V59.65L48.9899 59.56V58.74L48.6599 58.65V57.24C48.6699 57.24 48.6899 57.23 48.6999 57.22L49.4399 58.04L49.2499 58.31L49.8199 58.94L50.1299 58.81L50.7399 59.49C50.6399 59.65 50.6399 59.86 50.7599 60.02C50.6399 60.13 50.4999 60.23 50.3799 60.33ZM49.6099 58.24L49.8499 58.05L50.1799 58.42L49.9399 58.61L49.6099 58.24ZM51.3999 58.72C51.3599 58.91 51.3199 59.09 51.2399 59.26C51.1499 59.25 51.0599 59.26 50.9699 59.29L50.3599 58.61L50.5499 58.34L49.9799 57.71L49.6699 57.84L48.9299 57.02C48.9499 56.99 48.9599 56.97 48.9699 56.94H49.4799L49.5699 57.25H50.4399L50.5299 56.94H51.1299C51.1799 57.08 51.2999 57.19 51.4399 57.24V57.72L51.1199 57.79C51.1199 57.79 51.1099 58.15 51.1099 58.19C51.0999 58.25 51.0699 58.61 51.0699 58.61L51.3999 58.72C51.4099 58.72 51.4099 58.72 51.3999 58.72ZM51.7699 58.21C51.7699 58.3 51.7499 58.39 51.7499 58.47H51.4599C51.4699 58.38 51.4799 58.29 51.4799 58.2V57.98H51.7699V58.21Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.3999 58.72C51.3599 58.91 51.3199 59.09 51.2399 59.26C51.1499 59.25 51.0599 59.26 50.9699 59.29L50.3599 58.61L50.5499 58.34L49.9799 57.71L49.6699 57.84L48.9299 57.02C48.9499 56.99 48.9599 56.97 48.9699 56.94H49.4799L49.5699 57.25H50.4399L50.5299 56.94H51.1299C51.1799 57.08 51.2999 57.19 51.4399 57.24V57.72L51.1199 57.79C51.1199 57.79 51.1099 58.15 51.1099 58.19C51.0999 58.25 51.0699 58.61 51.0699 58.61L51.3999 58.72ZM51.3999 58.72C51.4099 58.72 51.4099 58.72 51.3999 58.72ZM51.7699 57.25C51.9699 57.19 52.1199 57.01 52.1199 56.79C52.1199 56.58 51.9699 56.39 51.7599 56.33V55.58L52.0899 55.49V54.67L51.7599 54.58V53.83C51.9599 53.77 52.0999 53.59 52.0999 53.38C52.0999 53.12 51.8699 52.9 51.5899 52.9C51.3599 52.9 51.1699 53.04 51.1099 53.23H50.5399L50.4499 52.92H49.5799L49.4899 53.23H48.9899C48.9199 53.04 48.7399 52.9 48.5199 52.9H48.5099C48.2899 52.9 48.0999 53.04 48.0399 53.23H47.5399L47.4499 52.92H46.5799L46.4899 53.23H45.9199C45.8499 53.04 45.6599 52.9 45.4399 52.9C45.1599 52.9 44.9299 53.11 44.9299 53.38C44.9299 53.59 45.0699 53.77 45.2699 53.83V54.58L44.9499 54.67V55.49L45.2699 55.58V56.33C45.0699 56.39 44.9199 56.58 44.9199 56.79C44.9199 57 45.0699 57.19 45.2699 57.25V57.74L44.9499 57.85L44.9999 58.67L45.1899 58.72C45.2699 58.73 45.3099 58.73 45.3399 58.73C45.3799 58.96 45.4399 59.19 45.5299 59.4L45.4999 59.43C45.3199 59.63 45.3399 59.93 45.5599 60.1C45.6999 60.21 45.8799 60.24 46.0399 60.19C46.1699 60.34 46.3399 60.46 46.4999 60.58L46.4299 60.91C46.6699 61.08 46.9399 61.22 47.2199 61.33L47.4699 61.09C47.6599 61.15 47.8499 61.22 48.0499 61.25C48.0999 61.46 48.2899 61.61 48.5199 61.62H48.5399C48.7699 61.61 48.9599 61.45 49.0099 61.25C49.2299 61.22 49.4399 61.15 49.6499 61.07C49.6399 61.08 49.6199 61.08 49.6099 61.09L49.8599 61.33C50.1399 61.22 50.3999 61.08 50.6399 60.92L50.5699 60.58C50.7299 60.46 50.8999 60.34 51.0299 60.19C51.1899 60.24 51.3699 60.21 51.5099 60.1C51.7199 59.93 51.7499 59.63 51.5599 59.43L51.5399 59.4C51.6399 59.18 51.6899 58.95 51.7399 58.71L52.0699 58.67L52.1199 57.85L51.7999 57.74V57.25H51.7699ZM51.8299 56.79C51.8299 56.9 51.7299 56.99 51.6099 56.99C51.4899 56.99 51.3899 56.9 51.3899 56.79C51.3899 56.68 51.4899 56.59 51.6099 56.59C51.7299 56.59 51.8299 56.68 51.8299 56.79ZM51.7699 54.83V55.31H51.4599V54.83H51.7699ZM51.3999 53.83C51.4099 53.83 51.4399 53.83 51.4499 53.84V54.58L51.1299 54.67V55.49L51.4499 55.58V56.33C51.2999 56.38 51.1799 56.49 51.1299 56.64H50.5399L50.4499 56.33H49.5799L49.4899 56.64H48.9899C48.9799 56.62 48.9699 56.59 48.9499 56.57L49.7399 55.69L50.0499 55.82L50.6199 55.19L50.4299 54.92L51.3999 53.83ZM50.2899 56.65V56.95H49.7599V56.65H50.2899ZM49.6699 55.3L49.9999 54.94L50.2399 55.13L49.9099 55.5L49.6699 55.3ZM49.7599 53.23H50.2699V53.53H49.7599V53.23ZM48.6599 53.84C48.8199 53.79 48.9399 53.68 48.9899 53.53H49.4899L49.5799 53.84H50.4499L50.5399 53.53H51.1099C51.1199 53.57 51.1399 53.61 51.1599 53.64L50.1699 54.74L49.8599 54.61L49.2899 55.24L49.4799 55.51L48.7099 56.37C48.6899 56.36 48.6799 56.35 48.6599 56.35V55.2L48.9899 55.11V54.28L48.6599 54.19V53.84ZM48.5199 54.45H48.6599V54.93H48.5099H48.4999H48.3499V54.45H48.4899H48.5199ZM46.7599 53.23H47.2699V53.53H46.7599V53.23ZM45.9099 53.53H46.4799L46.5699 53.84H47.4399L47.5299 53.53H48.0299C48.0799 53.68 48.1999 53.79 48.3599 53.84V54.19L48.0299 54.28V55.11L48.3599 55.2V56.35C48.3399 56.36 48.3299 56.37 48.3099 56.37L47.5399 55.51L47.7199 55.24L47.1499 54.61L46.8399 54.74L45.8499 53.64C45.8799 53.6 45.8899 53.57 45.9099 53.53ZM47.3499 55.3L47.1099 55.49L46.7799 55.12L47.0199 54.93L47.3499 55.3ZM45.6199 53.83L46.6099 54.94L46.4299 55.21L46.9899 55.84L47.2999 55.71L48.0899 56.59C48.0799 56.61 48.0599 56.64 48.0599 56.66H47.5499L47.4599 56.35H46.5899L46.4999 56.66H45.9099C45.8599 56.51 45.7399 56.4 45.5899 56.35L45.5999 55.6L45.9199 55.51V54.69L45.5999 54.6L45.5899 53.86C45.5799 53.83 45.6099 53.83 45.6199 53.83ZM47.2599 56.65V56.95H46.7299V56.65H47.2599ZM45.2599 55.32V54.84H45.5699V55.32H45.2599ZM45.1899 56.79C45.1899 56.68 45.2899 56.59 45.4099 56.59C45.5299 56.59 45.6199 56.68 45.6199 56.79C45.6199 56.9 45.5199 56.99 45.4099 56.99C45.2899 56.99 45.1899 56.9 45.1899 56.79ZM45.3199 58.47C45.3099 58.39 45.2499 58.29 45.2499 58.21V57.99H45.5399V58.21C45.5399 58.3 45.5499 58.39 45.5599 58.48L45.3199 58.47ZM45.7799 59.26C45.7099 59.09 45.6599 58.9 45.6199 58.72H45.6099C45.6099 58.72 45.6099 58.72 45.6099 58.71L45.9399 58.61C45.9399 58.61 45.9099 58.25 45.8999 58.19C45.8999 58.15 45.8899 57.79 45.8899 57.79L45.5699 57.72V57.24C45.7199 57.19 45.8299 57.08 45.8799 56.94H46.4799L46.5699 57.25H47.4399L47.5299 56.94H48.0399C48.0499 56.97 48.0599 57 48.0799 57.02L47.3399 57.84L47.0299 57.71L46.4599 58.34L46.6399 58.61L46.0299 59.29C45.9699 59.26 45.8699 59.25 45.7799 59.26ZM47.4099 58.24L47.0799 58.61L46.8399 58.42L47.1699 58.05L47.4099 58.24ZM47.1899 60.97C47.0399 60.9 46.8899 60.82 46.7499 60.73L46.8699 60.52C47.0099 60.61 47.1499 60.7 47.3099 60.77L47.1899 60.97ZM48.3699 60.7C48.2399 60.74 48.1399 60.84 48.0799 60.96C47.9099 60.94 47.7499 60.88 47.5899 60.83L47.6499 60.57C47.3599 60.47 47.0899 60.33 46.8599 60.15L46.6599 60.34C46.5299 60.24 46.3899 60.14 46.2799 60.02C46.3999 59.86 46.4099 59.65 46.2999 59.49L46.9099 58.81L47.2199 58.94L47.7899 58.31L47.6099 58.04L48.3399 57.22C48.3499 57.23 48.3599 57.23 48.3799 57.24V58.65L48.0499 58.74V59.56L48.3799 59.65L48.3699 60.7ZM48.5099 59.4H48.3699V58.92H48.5099H48.6499V59.4H48.5099ZM49.8399 60.98L49.7199 60.77C49.8699 60.7 50.0199 60.62 50.1599 60.53L50.2899 60.75C50.1399 60.83 49.9899 60.91 49.8399 60.98ZM50.3799 60.33L50.1799 60.15C49.9399 60.33 49.6699 60.47 49.3799 60.56L49.4399 60.82C49.2799 60.87 49.1199 60.93 48.9499 60.95C48.8899 60.83 48.7899 60.74 48.6599 60.69V59.65L48.9899 59.56V58.74L48.6599 58.65V57.24C48.6699 57.24 48.6899 57.23 48.6999 57.22L49.4399 58.04L49.2499 58.31L49.8199 58.94L50.1299 58.81L50.7399 59.49C50.6399 59.65 50.6399 59.86 50.7599 60.02C50.6399 60.13 50.4999 60.23 50.3799 60.33ZM49.6099 58.24L49.8499 58.05L50.1799 58.42L49.9399 58.61L49.6099 58.24ZM51.7699 58.21C51.7699 58.3 51.7499 58.39 51.7499 58.47H51.4599C51.4699 58.38 51.4799 58.29 51.4799 58.2V57.98H51.7699V58.21Z\",\n stroke: \"#020203\",\n strokeWidth: 0.0596,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.03 56.8001C48.03 56.5301 48.26 56.3201 48.54 56.3201C48.82 56.3201 49.05 56.5301 49.05 56.8001C49.05 57.0601 48.82 57.2801 48.54 57.2801C48.25 57.2701 48.03 57.0601 48.03 56.8001Z\",\n fill: \"#4BAA7C\",\n stroke: \"#020203\",\n strokeWidth: 0.0543,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.9101 41.75H34.6301V52.05H43.9101V41.75Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.8099 44.1301H37.6399V43.9601H37.3399V44.6401H37.6399V45.1101H36.9999V46.4801H37.3399V49.2101H36.6599V50.6201H41.9099V49.2101H41.2299V46.4801H41.5699V45.1101H40.9299V44.6401H41.2299V43.9601H40.9299V44.1301H40.7599V43.9601H40.4599V44.1301H40.2499V43.9601H39.9499V44.6401H40.2499V45.1101H39.6099V43.6101H39.9499V42.9301H39.6099V43.1001H39.4399V42.9301H39.1399V43.1001H38.9699V42.9301H38.6299V43.6101H38.9699V45.1101H38.3299V44.6401H38.6299V43.9601H38.3299V44.1301H38.1599V43.9601H37.8199V44.1301H37.8099Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.6399 44.6401H37.3399V43.9601H37.6399V44.1301H37.8099H37.8199V43.9601H38.1599V44.1301H38.3299V43.9601H38.6299V44.6401H38.3299V45.1101H38.9699V43.6101H38.6299V42.9301H38.9699V43.1001H39.1399V42.9301H39.4399V43.1001H39.6099V42.9301H39.9499V43.6101H39.6099V45.1101H40.2499V44.6401M37.6399 44.6401V45.1101M37.6399 44.6401H38.3199M37.6399 45.1101H36.9999V46.4801M37.6399 45.1101H40.9299M36.9999 46.4801H37.3399M36.9999 46.4801H41.5699M37.3399 46.4801V49.2101H36.6599M37.3399 46.4801V46.1401M36.6599 49.2101V50.6201H41.9099V49.2101M36.6599 49.2101H41.9099M41.9099 49.2101H41.2299V46.4801M41.2299 46.4801H41.5699M41.2299 46.4801V46.1401M41.5699 46.4801V45.1101H40.9299M40.9299 45.1101V44.6401M40.9299 44.6401H41.2299V43.9601H40.9299V44.1301H40.7599V43.9601H40.4599V44.1301H40.2499V43.9601H39.9499V44.6401H40.2499M40.9299 44.6401H40.2499M36.6599 50.2801H41.9099M36.6599 49.9401H41.9099M36.6599 49.6001H41.9099M37.3399 48.9101H41.2299M37.3399 48.5701H41.2299M37.3399 48.1901H41.2299M37.3399 47.8501H41.2299M37.3399 47.5001H41.2299M37.3399 47.1601H41.2299M37.3399 46.8201H41.2299M36.9999 46.1401H41.5699M36.9999 45.7901H41.5699M36.9999 45.4501H41.5699M38.9699 44.7701H39.6099M38.9699 44.4301H39.6099M38.9699 44.0901H39.6099M38.9699 43.7401H39.6099M38.6299 43.3201H39.9499M37.6399 44.7701H38.3199M37.3399 44.3401H38.6199M37.3399 50.6201V50.2801M37.3399 49.9401V49.6001M36.9999 49.9401V50.2801M37.6399 50.2801V49.9401M37.9799 50.6201V50.2801M37.9799 49.9401V49.6001M37.9799 49.2101V48.9101M37.9799 48.5701V48.1901M37.6399 49.6001V49.2201M36.9999 49.6001V49.2201M38.3299 49.2101V49.5901M38.6299 49.2101V48.9101M37.6399 48.5701V48.9101M38.3299 48.5701V48.9101M38.9699 48.5701V48.9101M38.6299 48.5701V48.1901M38.9699 47.8501V48.1901M38.9699 47.1601V47.5001M38.6299 46.8201V47.1601M38.9699 46.4801V46.8201M38.3299 46.4801V46.8201M37.6399 46.4801V46.8201M37.9799 46.1401V46.4801M38.6299 46.1401V46.4801M38.9699 45.7901V46.1301M38.3299 45.7901V46.1301M37.6399 45.7901V46.1301M37.3399 45.4501V45.7901M38.6299 45.4501V45.7901M37.9799 44.7701V45.1101M40.9299 44.7701H40.2499M41.2299 44.3401H39.9499M41.2299 50.6201V50.2801M41.2299 49.9401V49.6001M41.5699 49.9401V50.2801M40.9299 50.2801V49.9401M40.5899 50.6201V50.2801M40.5899 49.9401V49.6001M40.5899 49.2101V48.9101M40.5899 48.5701V48.1901M40.9299 49.6001V49.2201M41.5699 49.6001V49.2201M40.2499 49.2101V49.5901M39.9499 49.2101V48.9101M40.9299 48.5701V48.9101M40.2499 48.5701V48.9101M39.6099 48.5701V48.9101M39.9499 48.5701V48.1901M39.6099 47.8501V48.1901M39.6099 47.1601V47.5001M39.9499 46.8201V47.1601M39.6099 46.4801V46.8201M40.2499 46.4801V46.8201M40.9299 46.4801V46.8201M40.5899 46.1401V46.4801M39.9499 46.1401V46.4801M39.6099 45.7901V46.1301M40.2499 45.7901V46.1301M40.9299 45.7901V46.1301M41.2299 45.4501V45.7901M39.9499 45.4501V45.7901M40.5899 44.7701V45.1101M39.2699 48.5701V48.1901M39.2699 47.1601V46.8201M39.2699 47.8501V47.5001M39.2699 46.4801V46.1401M39.2699 45.7901V45.4501M39.2699 44.7701V44.4301M39.2699 44.0901V43.7501M38.9699 43.6201H39.6099\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.1599 50.62V49.72C40.1599 49.55 40.0799 49.04 39.2599 49.04C38.4899 49.04 38.4099 49.55 38.4099 49.72V50.62H40.1599Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.71 49.7701L38.28 49.7301C38.28 49.5601 38.32 49.3001 38.45 49.2201L38.83 49.5201C38.8 49.5501 38.71 49.6801 38.71 49.7701Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.4399 49.34L39.6499 48.96C39.5699 48.92 39.3899 48.88 39.2699 48.88C39.1899 48.88 39.0099 48.92 38.9299 48.96L39.1399 49.34H39.4399Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.86 49.7701L40.29 49.7301C40.29 49.5601 40.25 49.3001 40.12 49.2201L39.74 49.5201C39.78 49.5501 39.86 49.6801 39.86 49.7701Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.6299 48.2701V47.3301C38.6299 47.0701 38.4599 46.8601 38.1599 46.8601C37.8599 46.8601 37.6899 47.0701 37.6899 47.3301V48.2701H38.6299Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.95 48.2701V47.3301C39.95 47.0701 40.1199 46.8601 40.4199 46.8601C40.7199 46.8601 40.8899 47.0701 40.8899 47.3301V48.2701H39.95Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.3301 45.9701L38.3701 45.1101H37.5601L37.6401 45.9701H38.3301Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.6101 45.9701L39.6901 45.1101H38.8801L38.9301 45.9701H39.6101Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.2499 45.9701L40.1599 45.1101H41.0199L40.9299 45.9701H40.2499Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.0744,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.86 50.6201V49.8501C39.86 49.7201 39.7799 49.3401 39.2599 49.3401C38.7899 49.3401 38.7 49.7201 38.7 49.8501V50.6201H39.86Z\",\n fill: \"#419846\",\n stroke: \"#020203\",\n strokeWidth: 0.0539,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.54 48.1901V47.3801C38.54 47.1701 38.41 46.9501 38.15 46.9501C37.89 46.9501 37.77 47.1601 37.77 47.3801V48.1901H38.54Z\",\n fill: \"#419846\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.04 48.1901V47.3801C40.04 47.1701 40.17 46.9501 40.43 46.9501C40.68 46.9501 40.81 47.1601 40.81 47.3801V48.1901H40.04Z\",\n fill: \"#419846\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.1999 41.75H43.8999V52.05H53.1999V41.75Z\",\n fill: \"#E9E8E8\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.64 44.2901L48.65 44.1801L48.67 44.1201C48.67 44.1201 48.37 44.1401 48.22 44.1001C48.06 44.0601 47.92 43.9901 47.78 43.8701C47.63 43.7401 47.58 43.6701 47.47 43.6501C47.22 43.6101 47.03 43.7201 47.03 43.7201C47.03 43.7201 47.22 43.7901 47.36 43.9601C47.5 44.1301 47.65 44.2201 47.72 44.2401C47.83 44.2701 48.21 44.2501 48.32 44.2501C48.41 44.2601 48.64 44.2901 48.64 44.2901Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.0399 43.8701C50.0399 43.8701 50.0399 44.0001 50.0599 44.1301C50.0699 44.2501 50.0199 44.3601 50.0399 44.4301C50.0599 44.5001 50.0699 44.5501 50.0899 44.6001C50.1099 44.6501 50.1299 44.7701 50.1299 44.7701C50.1299 44.7701 50.0599 44.7201 49.9899 44.6701C49.9299 44.6201 49.8799 44.5901 49.8799 44.5901C49.8799 44.5901 49.8899 44.7201 49.8999 44.7801C49.9099 44.8401 49.9399 44.9501 49.9899 45.0101C50.0399 45.0701 50.1499 45.1801 50.1799 45.2601C50.2099 45.3401 50.2099 45.5301 50.2099 45.5301C50.2099 45.5301 50.1199 45.3901 50.0499 45.3701C49.9799 45.3501 49.8199 45.2601 49.8199 45.2601C49.8199 45.2601 49.9699 45.4101 49.9699 45.5501C49.9699 45.6901 49.9099 45.8501 49.9099 45.8501C49.9099 45.8501 49.8399 45.7301 49.7599 45.6401C49.6699 45.5601 49.5499 45.4701 49.5499 45.4701C49.5499 45.4701 49.6499 45.6901 49.6499 45.8301C49.6499 45.9801 49.6199 46.2901 49.6199 46.2901C49.6199 46.2901 49.5499 46.1701 49.4699 46.1101C49.3999 46.0501 49.3099 46.0001 49.2799 45.9701C49.2499 45.9301 49.3699 46.0901 49.3799 46.1801C49.3899 46.2701 49.4399 46.6101 49.7399 47.0501C49.9099 47.3001 50.1799 47.7501 50.7599 47.6001C51.3299 47.4601 51.1199 46.6801 50.9999 46.3201C50.8799 45.9601 50.8199 45.5601 50.8299 45.4201C50.8399 45.2801 50.9399 44.8701 50.9199 44.7901C50.9099 44.7101 50.8699 44.4201 50.9399 44.1801C51.0099 43.9301 51.0799 43.8401 51.1199 43.7401C51.1599 43.6401 51.1899 43.5801 51.1999 43.4901C51.2099 43.4001 51.2099 43.2401 51.2099 43.2401C51.2099 43.2401 51.3199 43.4401 51.3399 43.5101C51.3699 43.5801 51.3699 43.7901 51.3699 43.7901C51.3699 43.7901 51.3899 43.5801 51.5499 43.4801C51.7099 43.3801 51.8999 43.2701 51.9399 43.2101C51.9899 43.1501 51.9999 43.1201 51.9999 43.1201C51.9999 43.1201 51.9899 43.4801 51.8899 43.6101C51.8199 43.7001 51.5599 44.0001 51.5599 44.0001C51.5599 44.0001 51.6999 43.9501 51.7899 43.9401C51.8799 43.9301 51.9499 43.9401 51.9499 43.9401C51.9499 43.9401 51.8399 44.0301 51.6899 44.2401C51.5399 44.4601 51.5999 44.4701 51.4999 44.6501C51.3899 44.8301 51.3099 44.8301 51.1699 44.9401C50.9699 45.1001 51.0799 45.7401 51.0999 45.8401C51.1299 45.9301 51.4699 46.7201 51.4799 46.9101C51.4899 47.1001 51.5199 47.5301 51.1799 47.8001C50.9699 47.9801 50.6099 47.9801 50.5299 48.0301C50.4499 48.0801 50.2899 48.2401 50.2899 48.5701C50.2899 48.9001 50.4099 48.9501 50.4999 49.0301C50.5999 49.1101 50.7099 49.0701 50.7399 49.1301C50.7699 49.1901 50.7799 49.2301 50.8199 49.2701C50.8599 49.3101 50.8899 49.3501 50.8699 49.4201C50.8599 49.4901 50.6999 49.6501 50.6499 49.7601C50.6099 49.8601 50.4999 50.1601 50.4999 50.2001C50.4999 50.2401 50.4899 50.3801 50.5299 50.4501C50.5299 50.4501 50.6999 50.6501 50.5799 50.6801C50.5099 50.7101 50.4399 50.6301 50.3999 50.6401C50.2999 50.6701 50.2499 50.7301 50.2199 50.7201C50.1499 50.7101 50.1499 50.6701 50.1399 50.5801C50.1399 50.4901 50.1399 50.4501 50.1099 50.4501C50.0699 50.4501 50.0499 50.4801 50.0399 50.5301C50.0299 50.5801 50.0299 50.7001 49.9899 50.7001C49.9399 50.7001 49.8799 50.6201 49.8399 50.6001C49.7999 50.5801 49.6899 50.5601 49.6799 50.5101C49.6699 50.4601 49.7499 50.3501 49.8199 50.3301C49.8899 50.3101 49.9599 50.2701 49.9099 50.2401C49.8599 50.2001 49.8199 50.2001 49.7699 50.2401C49.7199 50.2801 49.6199 50.2501 49.6299 50.1901C49.6399 50.1301 49.6499 50.0601 49.6399 50.0301C49.6399 50.0001 49.5499 49.9401 49.6599 49.8801C49.7699 49.8201 49.8199 49.9301 49.9199 49.9101C50.0299 49.8901 50.0799 49.8501 50.1199 49.7901C50.1599 49.7301 50.1499 49.5901 50.0799 49.5101C50.0099 49.4301 49.9299 49.4101 49.9099 49.3601C49.8799 49.3101 49.8399 49.1901 49.8399 49.1901C49.8399 49.1901 49.8599 49.4101 49.8499 49.4401C49.8399 49.4701 49.8399 49.6001 49.8399 49.6001C49.8399 49.6001 49.7699 49.5201 49.7099 49.4601C49.6499 49.4001 49.5899 49.2101 49.5899 49.2101C49.5899 49.2101 49.5799 49.3901 49.5799 49.4601C49.5799 49.5301 49.6599 49.5901 49.6299 49.6201C49.5999 49.6401 49.4799 49.4901 49.4399 49.4601C49.4099 49.4301 49.2999 49.3501 49.2499 49.2601C49.1999 49.1701 49.1699 49.0501 49.1599 49.0001C49.1499 48.9601 49.1299 48.7601 49.1499 48.7101C49.1799 48.6401 49.2399 48.5001 49.2399 48.5001H48.9799C48.8399 48.5001 48.7399 48.4601 48.6899 48.5501C48.6399 48.6401 48.6599 48.8301 48.7299 49.0801C48.7999 49.3301 48.8399 49.4501 48.8199 49.4901C48.7999 49.5301 48.7099 49.6401 48.6799 49.6601C48.6499 49.6801 48.5499 49.6701 48.5099 49.6501C48.4699 49.6301 48.3999 49.6001 48.2799 49.6001C48.1499 49.6001 48.0699 49.6001 48.0299 49.5901C47.9799 49.5801 47.8699 49.5201 47.8099 49.5301C47.7599 49.5401 47.6599 49.5901 47.6899 49.6601C47.7299 49.7701 47.6499 49.8001 47.5999 49.7901C47.5499 49.7801 47.4999 49.7601 47.4299 49.7501C47.3599 49.7301 47.2599 49.7501 47.2799 49.6701C47.2899 49.5901 47.3199 49.5901 47.3499 49.5301C47.3799 49.4701 47.3999 49.4301 47.3599 49.4301C47.3099 49.4301 47.2699 49.4201 47.2299 49.4501C47.1899 49.4801 47.1399 49.5501 47.0899 49.5201C47.0399 49.4901 47.0099 49.4401 47.0099 49.3201C47.0099 49.2001 46.8799 49.1001 46.9999 49.1001C47.1199 49.1101 47.2599 49.1901 47.2899 49.1201C47.3199 49.0601 47.2999 49.0301 47.2399 48.9801C47.1799 48.9301 47.0999 48.9001 47.1799 48.8401C47.2599 48.7801 47.2799 48.7801 47.3199 48.7401C47.3499 48.7101 47.3999 48.5901 47.4499 48.6201C47.5599 48.6701 47.4499 48.7501 47.5699 48.8801C47.6799 49.0101 47.7599 49.0501 47.9499 49.0301C48.1399 49.0101 48.1999 48.9901 48.1999 48.9301C48.1999 48.8801 48.1799 48.7801 48.1799 48.7401C48.1799 48.7001 48.2099 48.5601 48.2099 48.5601C48.2099 48.5601 48.1199 48.6201 48.0899 48.6701C48.0699 48.7201 48.0099 48.8201 48.0099 48.8201C48.0099 48.8201 47.9899 48.7101 47.9999 48.6201C47.9999 48.5701 48.0199 48.4701 48.0199 48.4601C48.0199 48.4101 47.9799 48.2901 47.9799 48.2901C47.9799 48.2901 47.9499 48.4301 47.9299 48.4601C47.9099 48.5001 47.8999 48.6601 47.8999 48.6601C47.8999 48.6601 47.7799 48.5501 47.8099 48.3701C47.8299 48.2301 47.7899 48.0501 47.8299 47.9901C47.8699 47.9301 47.9699 47.6901 48.2099 47.6801C48.4499 47.6701 48.6399 47.6901 48.7199 47.6901C48.7999 47.6801 49.0999 47.6301 49.0999 47.6301C49.0999 47.6301 48.5499 47.3501 48.4299 47.2601C48.2999 47.1801 48.1099 46.9601 48.0499 46.8601C47.9899 46.7601 47.9299 46.5701 47.9299 46.5701C47.9299 46.5701 47.8299 46.5701 47.7399 46.6201C47.6499 46.6701 47.5599 46.7401 47.5099 46.8001C47.4599 46.8601 47.3799 46.9901 47.3799 46.9901C47.3799 46.9901 47.3899 46.8201 47.3899 46.7601C47.3899 46.7101 47.3799 46.6001 47.3799 46.6001C47.3799 46.6001 47.3199 46.8401 47.1899 46.9201C47.0599 47.0101 46.9199 47.1301 46.9199 47.1301C46.9199 47.1301 46.9399 47.0001 46.9399 46.9701C46.9399 46.9401 46.9699 46.7901 46.9699 46.7901C46.9699 46.7901 46.8799 46.9201 46.7499 46.9501C46.6099 46.9701 46.4199 46.9701 46.3999 47.0501C46.3899 47.1301 46.4399 47.2501 46.4099 47.3101C46.3799 47.3701 46.3099 47.4101 46.3099 47.4101C46.3099 47.4101 46.2299 47.3501 46.1599 47.3401C46.0899 47.3301 46.0299 47.3701 46.0299 47.3701C46.0299 47.3701 45.9699 47.3001 45.9999 47.2501C46.0199 47.2001 46.1199 47.1301 46.0999 47.1001C46.0699 47.0701 45.9899 47.1101 45.9399 47.1301C45.8899 47.1601 45.7799 47.1801 45.7899 47.1001C45.7999 47.0201 45.8299 46.9701 45.7999 46.9101C45.7699 46.8501 45.7899 46.8101 45.8299 46.8001C45.8699 46.7801 46.0399 46.8001 46.0499 46.7601C46.0599 46.7201 46.0099 46.6701 45.8999 46.6501C45.7899 46.6201 45.7399 46.5601 45.7899 46.5101C45.8499 46.4501 45.8599 46.4401 45.8899 46.3901C45.9199 46.3401 45.9299 46.2501 46.0299 46.3001C46.1299 46.3401 46.1099 46.4501 46.2099 46.4901C46.3099 46.5201 46.5599 46.4801 46.6099 46.4501C46.6599 46.4201 46.8299 46.3001 46.8899 46.2701C46.9499 46.2401 47.1899 46.0601 47.1899 46.0601C47.1899 46.0601 47.0499 45.9601 46.9999 45.9101C46.9499 45.8601 46.8599 45.7401 46.8099 45.7201C46.7599 45.7001 46.5299 45.6101 46.4599 45.6001C46.3799 45.6001 46.1399 45.5101 46.1399 45.5101C46.1399 45.5101 46.2499 45.4801 46.2899 45.4501C46.3299 45.4201 46.4099 45.3501 46.4499 45.3501C46.4899 45.3501 46.4999 45.3501 46.4999 45.3501C46.4999 45.3501 46.2799 45.3401 46.2299 45.3301C46.1799 45.3201 46.0499 45.2301 45.9899 45.2301C45.9399 45.2301 45.8299 45.2501 45.8299 45.2501C45.8299 45.2501 45.9699 45.1601 46.0899 45.1401C46.1999 45.1201 46.2899 45.1301 46.2899 45.1301C46.2899 45.1301 46.1099 45.0801 46.0699 45.0201C46.0299 44.9601 45.9899 44.8701 45.9599 44.8301C45.9299 44.7901 45.9099 44.7301 45.8499 44.7201C45.7899 44.7101 45.6899 44.7901 45.6399 44.7901C45.5799 44.7801 45.5399 44.7501 45.5299 44.6701C45.5299 44.5901 45.5299 44.6101 45.5099 44.5701C45.4899 44.5301 45.3999 44.4201 45.4799 44.4001C45.5599 44.3801 45.7299 44.4201 45.7399 44.3901C45.7499 44.3601 45.6499 44.2701 45.5799 44.2401C45.5099 44.2101 45.3999 44.1501 45.4599 44.1001C45.5199 44.0501 45.5699 44.0301 45.6099 43.9901C45.6399 43.9501 45.6799 43.8201 45.7499 43.8601C45.8199 43.9001 45.9099 44.0901 45.9599 44.0801C46.0099 44.0701 46.0199 43.9301 46.0099 43.8701C45.9999 43.8101 46.0099 43.7101 46.0599 43.7201C46.1099 43.7301 46.1499 43.8001 46.2399 43.8001C46.3199 43.8001 46.4499 43.7801 46.4399 43.8401C46.4299 43.9001 46.3799 43.9701 46.3299 44.0401C46.2699 44.1101 46.2499 44.2301 46.2799 44.3201C46.3199 44.4101 46.4099 44.5401 46.4899 44.5901C46.5699 44.6401 46.7299 44.6801 46.8299 44.7501C46.9299 44.8201 47.1599 45.0001 47.2399 45.0201C47.3199 45.0401 47.3999 45.0801 47.3999 45.0801C47.3999 45.0801 47.4899 45.0401 47.6099 45.0401C47.7299 45.0401 48.0099 45.0601 48.1099 45.0101C48.2099 44.9601 48.3499 44.8901 48.3099 44.8001C48.2699 44.7101 48.0399 44.6201 48.0599 44.5501C48.0799 44.4801 48.1699 44.4701 48.3099 44.4701C48.4499 44.4701 48.6399 44.5001 48.6799 44.3001C48.7199 44.1001 48.7299 43.9901 48.5299 43.9401C48.3299 43.9001 48.1799 43.8901 48.1499 43.7501C48.1099 43.6101 48.0799 43.5701 48.1199 43.5301C48.1599 43.4901 48.2299 43.4701 48.3799 43.4601C48.5299 43.4501 48.6899 43.4501 48.7399 43.4101C48.7899 43.3801 48.7999 43.2801 48.8499 43.2401C48.9099 43.2001 49.1299 43.1701 49.1299 43.1701C49.1299 43.1701 49.3999 43.3001 49.6499 43.4901C49.8299 43.6201 50.0399 43.8701 50.0399 43.8701Z\",\n fill: \"#CF70A9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.0399 43.8701C50.0399 43.8701 50.0399 44.0001 50.0599 44.1301C50.0699 44.2501 50.0199 44.3601 50.0399 44.4301C50.0599 44.5001 50.0699 44.5501 50.0899 44.6001C50.1099 44.6501 50.1299 44.7701 50.1299 44.7701C50.1299 44.7701 50.0599 44.7201 49.9899 44.6701C49.9299 44.6201 49.8799 44.5901 49.8799 44.5901C49.8799 44.5901 49.8899 44.7201 49.8999 44.7801C49.9099 44.8401 49.9399 44.9501 49.9899 45.0101C50.0399 45.0701 50.1499 45.1801 50.1799 45.2601C50.2099 45.3401 50.2099 45.5301 50.2099 45.5301C50.2099 45.5301 50.1199 45.3901 50.0499 45.3701C49.9799 45.3501 49.8199 45.2601 49.8199 45.2601C49.8199 45.2601 49.9699 45.4101 49.9699 45.5501C49.9699 45.6901 49.9099 45.8501 49.9099 45.8501C49.9099 45.8501 49.8399 45.7301 49.7599 45.6401C49.6699 45.5601 49.5499 45.4701 49.5499 45.4701C49.5499 45.4701 49.6499 45.6901 49.6499 45.8301C49.6499 45.9801 49.6199 46.2901 49.6199 46.2901C49.6199 46.2901 49.5499 46.1701 49.4699 46.1101C49.3999 46.0501 49.3099 46.0001 49.2799 45.9701C49.2499 45.9301 49.3699 46.0901 49.3799 46.1801C49.3899 46.2701 49.4399 46.6101 49.7399 47.0501C49.9099 47.3001 50.1799 47.7501 50.7599 47.6001C51.3299 47.4601 51.1199 46.6801 50.9999 46.3201C50.8799 45.9601 50.8199 45.5601 50.8299 45.4201C50.8399 45.2801 50.9399 44.8701 50.9199 44.7901C50.9099 44.7101 50.8699 44.4201 50.9399 44.1801C51.0099 43.9301 51.0799 43.8401 51.1199 43.7401C51.1599 43.6401 51.1899 43.5801 51.1999 43.4901C51.2099 43.4001 51.2099 43.2401 51.2099 43.2401C51.2099 43.2401 51.3199 43.4401 51.3399 43.5101C51.3699 43.5801 51.3699 43.7901 51.3699 43.7901C51.3699 43.7901 51.4699 43.5401 51.5499 43.4801C51.7099 43.3801 51.8999 43.2701 51.9399 43.2101C51.9899 43.1501 51.9999 43.1201 51.9999 43.1201C51.9999 43.1201 51.9899 43.4801 51.8899 43.6101C51.8199 43.7001 51.5599 44.0001 51.5599 44.0001C51.5599 44.0001 51.6999 43.9501 51.7899 43.9401C51.8799 43.9301 51.9499 43.9401 51.9499 43.9401C51.9499 43.9401 51.8399 44.0301 51.6899 44.2401C51.5399 44.4601 51.5999 44.4701 51.4999 44.6501C51.3899 44.8301 51.3099 44.8301 51.1699 44.9401C50.9699 45.1001 51.0799 45.7401 51.0999 45.8401C51.1299 45.9301 51.4699 46.7201 51.4799 46.9101C51.4899 47.1001 51.5199 47.5301 51.1799 47.8001C50.9699 47.9801 50.6099 47.9801 50.5299 48.0301C50.4499 48.0801 50.2899 48.2401 50.2899 48.5701C50.2899 48.9001 50.4099 48.9501 50.4999 49.0301C50.5999 49.1101 50.7099 49.0701 50.7399 49.1301C50.7699 49.1901 50.7799 49.2301 50.8199 49.2701C50.8599 49.3101 50.8899 49.3501 50.8699 49.4201C50.8599 49.4901 50.6999 49.6501 50.6499 49.7601C50.6099 49.8601 50.4999 50.1601 50.4999 50.2001C50.4999 50.2401 50.4899 50.3801 50.5299 50.4501C50.5299 50.4501 50.6999 50.6501 50.5799 50.6801C50.5099 50.7101 50.4399 50.6301 50.3999 50.6401C50.2999 50.6701 50.2499 50.7301 50.2199 50.7201C50.1499 50.7101 50.1499 50.6701 50.1399 50.5801C50.1399 50.4901 50.1399 50.4501 50.1099 50.4501C50.0699 50.4501 50.0499 50.4801 50.0399 50.5301C50.0299 50.5801 50.0299 50.7001 49.9899 50.7001C49.9399 50.7001 49.8799 50.6201 49.8399 50.6001C49.7999 50.5801 49.6899 50.5601 49.6799 50.5101C49.6699 50.4601 49.7499 50.3501 49.8199 50.3301C49.8899 50.3101 49.9599 50.2701 49.9099 50.2401C49.8599 50.2001 49.8199 50.2001 49.7699 50.2401C49.7199 50.2801 49.6199 50.2501 49.6299 50.1901C49.6399 50.1301 49.6499 50.0601 49.6399 50.0301C49.6399 50.0001 49.5499 49.9401 49.6599 49.8801C49.7699 49.8201 49.8199 49.9301 49.9199 49.9101C50.0299 49.8901 50.0799 49.8501 50.1199 49.7901C50.1599 49.7301 50.1499 49.5901 50.0799 49.5101C50.0099 49.4301 49.9299 49.4101 49.9099 49.3601C49.8799 49.3101 49.8399 49.1901 49.8399 49.1901C49.8399 49.1901 49.8599 49.4101 49.8499 49.4401C49.8399 49.4701 49.8399 49.6001 49.8399 49.6001C49.8399 49.6001 49.7699 49.5201 49.7099 49.4601C49.6499 49.4001 49.5899 49.2101 49.5899 49.2101C49.5899 49.2101 49.5799 49.3901 49.5799 49.4601C49.5799 49.5301 49.6599 49.5901 49.6299 49.6201C49.5999 49.6401 49.4799 49.4901 49.4399 49.4601C49.4099 49.4301 49.2999 49.3501 49.2499 49.2601C49.1999 49.1701 49.1699 49.0501 49.1599 49.0001C49.1499 48.9601 49.1299 48.7601 49.1499 48.7101C49.1799 48.6401 49.2399 48.5001 49.2399 48.5001H48.9799C48.8399 48.5001 48.7399 48.4601 48.6899 48.5501C48.6399 48.6401 48.6599 48.8301 48.7299 49.0801C48.7999 49.3301 48.8399 49.4501 48.8199 49.4901C48.7999 49.5301 48.7099 49.6401 48.6799 49.6601C48.6499 49.6801 48.5499 49.6701 48.5099 49.6501C48.4699 49.6301 48.3999 49.6001 48.2799 49.6001C48.1499 49.6001 48.0699 49.6001 48.0299 49.5901C47.9799 49.5801 47.8699 49.5201 47.8099 49.5301C47.7599 49.5401 47.6599 49.5901 47.6899 49.6601C47.7299 49.7701 47.6499 49.8001 47.5999 49.7901C47.5499 49.7801 47.4999 49.7601 47.4299 49.7501C47.3599 49.7301 47.2599 49.7501 47.2799 49.6701C47.2899 49.5901 47.3199 49.5901 47.3499 49.5301C47.3799 49.4701 47.3999 49.4301 47.3599 49.4301C47.3099 49.4301 47.2699 49.4201 47.2299 49.4501C47.1899 49.4801 47.1399 49.5501 47.0899 49.5201C47.0399 49.4901 47.0099 49.4401 47.0099 49.3201C47.0099 49.2001 46.8799 49.1001 46.9999 49.1001C47.1199 49.1101 47.2599 49.1901 47.2899 49.1201C47.3199 49.0601 47.2999 49.0301 47.2399 48.9801C47.1799 48.9301 47.0999 48.9001 47.1799 48.8401C47.2599 48.7801 47.2799 48.7801 47.3199 48.7401C47.3499 48.7101 47.3999 48.5901 47.4499 48.6201C47.5599 48.6701 47.4499 48.7501 47.5699 48.8801C47.6799 49.0101 47.7599 49.0501 47.9499 49.0301C48.1399 49.0101 48.1999 48.9901 48.1999 48.9301C48.1999 48.8801 48.1799 48.7801 48.1799 48.7401C48.1799 48.7001 48.2099 48.5601 48.2099 48.5601C48.2099 48.5601 48.1199 48.6201 48.0899 48.6701C48.0699 48.7201 48.0099 48.8201 48.0099 48.8201C48.0099 48.8201 47.9899 48.7101 47.9999 48.6201C47.9999 48.5701 48.0199 48.4701 48.0199 48.4601C48.0199 48.4101 47.9799 48.2901 47.9799 48.2901C47.9799 48.2901 47.9499 48.4301 47.9299 48.4601C47.9099 48.5001 47.8999 48.6601 47.8999 48.6601C47.8999 48.6601 47.7799 48.5501 47.8099 48.3701C47.8299 48.2301 47.7899 48.0501 47.8299 47.9901C47.8699 47.9301 47.9699 47.6901 48.2099 47.6801C48.4499 47.6701 48.6399 47.6901 48.7199 47.6901C48.7999 47.6801 49.0999 47.6301 49.0999 47.6301C49.0999 47.6301 48.5499 47.3501 48.4299 47.2601C48.2999 47.1801 48.1099 46.9601 48.0499 46.8601C47.9899 46.7601 47.9299 46.5701 47.9299 46.5701C47.9299 46.5701 47.8299 46.5701 47.7399 46.6201C47.6499 46.6701 47.5599 46.7401 47.5099 46.8001C47.4599 46.8601 47.3799 46.9901 47.3799 46.9901C47.3799 46.9901 47.3899 46.8201 47.3899 46.7601C47.3899 46.7101 47.3799 46.6001 47.3799 46.6001C47.3799 46.6001 47.3199 46.8401 47.1899 46.9201C47.0599 47.0101 46.9199 47.1301 46.9199 47.1301C46.9199 47.1301 46.9399 47.0001 46.9399 46.9701C46.9399 46.9401 46.9699 46.7901 46.9699 46.7901C46.9699 46.7901 46.8799 46.9201 46.7499 46.9501C46.6099 46.9701 46.4199 46.9701 46.3999 47.0501C46.3899 47.1301 46.4399 47.2501 46.4099 47.3101C46.3799 47.3701 46.3099 47.4101 46.3099 47.4101C46.3099 47.4101 46.2299 47.3501 46.1599 47.3401C46.0899 47.3301 46.0299 47.3701 46.0299 47.3701C46.0299 47.3701 45.9699 47.3001 45.9999 47.2501C46.0199 47.2001 46.1199 47.1301 46.0999 47.1001C46.0699 47.0701 45.9899 47.1101 45.9399 47.1301C45.8899 47.1601 45.7799 47.1801 45.7899 47.1001C45.7999 47.0201 45.8299 46.9701 45.7999 46.9101C45.7699 46.8501 45.7899 46.8101 45.8299 46.8001C45.8699 46.7801 46.0399 46.8001 46.0499 46.7601C46.0599 46.7201 46.0099 46.6701 45.8999 46.6501C45.7899 46.6201 45.7399 46.5601 45.7899 46.5101C45.8499 46.4501 45.8599 46.4401 45.8899 46.3901C45.9199 46.3401 45.9299 46.2501 46.0299 46.3001C46.1299 46.3401 46.1099 46.4501 46.2099 46.4901C46.3099 46.5201 46.5599 46.4801 46.6099 46.4501C46.6599 46.4201 46.8299 46.3001 46.8899 46.2701C46.9499 46.2401 47.1899 46.0601 47.1899 46.0601C47.1899 46.0601 47.0499 45.9601 46.9999 45.9101C46.9499 45.8601 46.8599 45.7401 46.8099 45.7201C46.7599 45.7001 46.5299 45.6101 46.4599 45.6001C46.3799 45.6001 46.1399 45.5101 46.1399 45.5101C46.1399 45.5101 46.2499 45.4801 46.2899 45.4501C46.3299 45.4201 46.4099 45.3501 46.4499 45.3501C46.4899 45.3501 46.4999 45.3501 46.4999 45.3501C46.4999 45.3501 46.2799 45.3401 46.2299 45.3301C46.1799 45.3201 46.0499 45.2301 45.9899 45.2301C45.9399 45.2301 45.8299 45.2501 45.8299 45.2501C45.8299 45.2501 45.9699 45.1601 46.0899 45.1401C46.1999 45.1201 46.2899 45.1301 46.2899 45.1301C46.2899 45.1301 46.1099 45.0801 46.0699 45.0201C46.0299 44.9601 45.9899 44.8701 45.9599 44.8301C45.9299 44.7901 45.9099 44.7301 45.8499 44.7201C45.7899 44.7101 45.6899 44.7901 45.6399 44.7901C45.5799 44.7801 45.5399 44.7501 45.5299 44.6701C45.5299 44.5901 45.5299 44.6101 45.5099 44.5701C45.4899 44.5301 45.3999 44.4201 45.4799 44.4001C45.5599 44.3801 45.7299 44.4201 45.7399 44.3901C45.7499 44.3601 45.6499 44.2701 45.5799 44.2401C45.5099 44.2101 45.3999 44.1501 45.4599 44.1001C45.5199 44.0501 45.5699 44.0301 45.6099 43.9901C45.6399 43.9501 45.6799 43.8201 45.7499 43.8601C45.8199 43.9001 45.9099 44.0901 45.9599 44.0801C46.0099 44.0701 46.0199 43.9301 46.0099 43.8701C45.9999 43.8101 46.0099 43.7101 46.0599 43.7201C46.1099 43.7301 46.1499 43.8001 46.2399 43.8001C46.3199 43.8001 46.4499 43.7801 46.4399 43.8401C46.4299 43.9001 46.3799 43.9701 46.3299 44.0401C46.2699 44.1101 46.2499 44.2301 46.2799 44.3201C46.3199 44.4101 46.4099 44.5401 46.4899 44.5901C46.5699 44.6401 46.7299 44.6801 46.8299 44.7501C46.9299 44.8201 47.1599 45.0001 47.2399 45.0201C47.3199 45.0401 47.3999 45.0801 47.3999 45.0801C47.3999 45.0801 47.4899 45.0401 47.6099 45.0401C47.7299 45.0401 48.0099 45.0601 48.1099 45.0101C48.2099 44.9601 48.3499 44.8901 48.3099 44.8001C48.2699 44.7101 48.0399 44.6201 48.0599 44.5501C48.0799 44.4801 48.1699 44.4701 48.3099 44.4701C48.4499 44.4701 48.6399 44.5001 48.6799 44.3001C48.7199 44.1001 48.7299 43.9901 48.5299 43.9401C48.3299 43.9001 48.1799 43.8901 48.1499 43.7501C48.1099 43.6101 48.0799 43.5701 48.1199 43.5301C48.1599 43.4901 48.2299 43.4701 48.3799 43.4601C48.5299 43.4501 48.6899 43.4501 48.7399 43.4101C48.7899 43.3801 48.7999 43.2801 48.8499 43.2401C48.9099 43.2001 49.1299 43.1701 49.1299 43.1701C49.1299 43.1701 49.3999 43.3001 49.6499 43.4901C49.8299 43.6201 50.0399 43.8701 50.0399 43.8701Z\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.98 46.48L48.95 46.39C48.95 46.39 48.87 46.15 48.82 46.08C48.8 46.05 48.78 46 48.77 45.96C48.76 45.99 48.75 46.02 48.74 46.03C48.7 46.09 48.62 46.14 48.57 46.16L48.56 46.17C48.49 46.2 48.41 46.28 48.41 46.28L48.36 46.32V46.25C48.36 46.19 48.34 46.01 48.32 45.95C48.3 45.91 48.3 45.84 48.31 45.79C48.28 45.83 48.24 45.87 48.21 45.9C48.16 45.93 48.04 46.02 47.87 46.06C47.74 46.09 47.69 46.12 47.69 46.12L47.58 46.18L47.64 46.07C47.64 46.07 47.74 45.91 47.75 45.79C47.75 45.76 47.75 45.73 47.74 45.69C47.73 45.66 47.73 45.63 47.72 45.58C47.71 45.51 47.75 45.43 47.79 45.37C47.74 45.39 47.68 45.4 47.64 45.41C47.59 45.41 47.56 45.41 47.5 45.39C47.47 45.38 47.44 45.37 47.39 45.36C47.25 45.33 47.13 45.42 47.13 45.42L47.08 45.46V45.4C47.08 45.4 47.07 45.29 47.15 45.18C47.21 45.09 47.33 45.04 47.34 45.03L47.37 45.09C47.37 45.09 47.26 45.14 47.21 45.21C47.18 45.25 47.17 45.3 47.16 45.33C47.22 45.3 47.31 45.27 47.42 45.3C47.47 45.31 47.51 45.33 47.54 45.33C47.6 45.35 47.62 45.35 47.66 45.35C47.71 45.35 47.84 45.3 47.89 45.29L48 45.25L47.92 45.34C47.88 45.38 47.8 45.51 47.81 45.58C47.82 45.62 47.82 45.66 47.83 45.68C47.84 45.72 47.85 45.76 47.84 45.8C47.83 45.88 47.8 45.97 47.77 46.03C47.8 46.02 47.84 46.01 47.89 46C48.04 45.97 48.16 45.89 48.2 45.86C48.27 45.81 48.36 45.68 48.36 45.68L48.44 45.57L48.42 45.71C48.41 45.76 48.4 45.9 48.42 45.96C48.44 46.02 48.45 46.14 48.46 46.22C48.49 46.19 48.54 46.16 48.58 46.14L48.59 46.13C48.63 46.11 48.7 46.06 48.73 46.02C48.75 45.99 48.77 45.89 48.78 45.83L48.82 45.65L48.84 45.84C48.84 45.84 48.86 46 48.91 46.07C48.94 46.12 48.99 46.24 49.01 46.32C49.03 46.27 49.06 46.21 49.09 46.17C49.19 46.06 49.21 46.01 49.21 45.99C49.21 45.95 49.2 45.87 49.2 45.84L49.15 45.59L49.33 45.98L49.27 46.01C49.26 46.06 49.22 46.12 49.13 46.22C49.08 46.28 49.03 46.43 49.03 46.43L48.98 46.48Z\",\n fill: \"#020203\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.2701 48.5301L49.2201 48.4901C49.2201 48.4901 49.4101 48.2401 49.4201 48.0601C49.4301 47.9201 49.1701 47.7301 49.0701 47.6701L49.1001 47.6201C49.1201 47.6301 49.4901 47.8601 49.4801 48.0701C49.4701 48.2701 49.2801 48.5201 49.2701 48.5301Z\",\n fill: \"#020203\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.1101 43.7301C48.1101 43.7301 48.08 43.6401 48.07 43.6201C48.06 43.6001 48.05 43.5701 48.05 43.5701C48.05 43.5701 48.21 43.5701 48.21 43.6201C48.21 43.6701 48.1601 43.6701 48.1501 43.6901C48.1401 43.7001 48.1101 43.7301 48.1101 43.7301Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.8501 43.47L48.8401 43.39C48.8401 43.39 48.9801 43.39 49.0501 43.44C49.1601 43.51 49.2201 43.63 49.2201 43.63C49.2001 43.65 49.1201 43.58 49.0601 43.56C49.0601 43.56 49.0201 43.57 48.9801 43.57C48.9401 43.57 48.9201 43.55 48.9101 43.53C48.9001 43.51 48.9201 43.47 48.9201 43.47H48.8501Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.1201 44.4501L48.1801 44.3501L48.2401 44.4401L48.1201 44.4501Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.27 44.4501L48.34 44.3501L48.42 44.4401L48.27 44.4501Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.2 43.8401L48.3499 43.8901L48.2099 43.9601L48.2 43.8401Z\",\n fill: \"#020203\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.2 43.8401L48.3499 43.8901L48.2099 43.9601L48.2 43.8401Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.3801 43.89L48.5201 43.92L48.4101 44.01L48.3801 43.89Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.05 43.7001C46.05 43.7001 46.14 43.7601 46.21 43.7701C46.28 43.7801 46.3501 43.7801 46.3601 43.7801C46.3701 43.7801 46.3901 43.6801 46.3801 43.6101C46.3401 43.3901 46.14 43.3401 46.14 43.3401C46.14 43.3401 46.2 43.4801 46.17 43.5401C46.13 43.6301 46.05 43.7001 46.05 43.7001Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.6201 43.89C45.6201 43.89 45.5401 43.75 45.3701 43.77C45.2001 43.79 45.0901 43.92 45.0901 43.92C45.0901 43.92 45.2801 43.91 45.3201 43.94C45.3901 43.98 45.4101 44.1 45.4101 44.1C45.4101 44.1 45.5101 44.04 45.5401 44C45.5801 43.96 45.6201 43.89 45.6201 43.89Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.42 44.4701C45.42 44.4701 45.28 44.4901 45.2 44.5801C45.12 44.6701 45.13 44.8401 45.13 44.8401C45.13 44.8401 45.22 44.7401 45.31 44.7401C45.39 44.7401 45.52 44.7701 45.52 44.7701C45.52 44.7701 45.48 44.6701 45.48 44.6201C45.48 44.5701 45.42 44.4701 45.42 44.4701Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.9 46.3401C45.9 46.3401 45.82 46.2601 45.69 46.2801C45.55 46.3101 45.46 46.4601 45.46 46.4601C45.46 46.4601 45.58 46.4301 45.65 46.4401C45.72 46.4601 45.76 46.5201 45.76 46.5201C45.76 46.5201 45.82 46.4701 45.84 46.4401C45.86 46.4201 45.9 46.3401 45.9 46.3401Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.7399 46.89C45.7399 46.89 45.6299 46.87 45.5299 46.95C45.4299 47.03 45.4299 47.18 45.4299 47.18C45.4299 47.18 45.5199 47.1 45.5999 47.11C45.6699 47.12 45.7599 47.16 45.7599 47.16C45.7599 47.16 45.7699 47.07 45.7799 47.04C45.7899 46.97 45.7399 46.89 45.7399 46.89Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.01 47.4C46.01 47.4 46 47.55 46.07 47.64C46.14 47.73 46.28 47.75 46.28 47.75C46.28 47.75 46.24 47.65 46.23 47.6C46.22 47.53 46.29 47.46 46.29 47.46C46.29 47.46 46.22 47.39 46.15 47.39C46.08 47.38 46.01 47.4 46.01 47.4Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.3601 48.7001C47.3601 48.7001 47.2701 48.5801 47.1401 48.5801C47.0101 48.5901 46.8701 48.7101 46.8701 48.7101C46.8701 48.7101 47.0301 48.7001 47.0701 48.7501C47.1101 48.8101 47.1501 48.8701 47.1501 48.8701C47.1501 48.8701 47.2201 48.8301 47.2601 48.8001C47.3001 48.7901 47.3601 48.7001 47.3601 48.7001Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.9601 49.22C46.9601 49.22 46.7901 49.19 46.7001 49.28C46.6201 49.37 46.6201 49.53 46.6201 49.53C46.6201 49.53 46.7201 49.42 46.8201 49.43C46.9101 49.44 47.0201 49.49 47.0201 49.49C47.0201 49.49 47.0001 49.39 46.9901 49.35C46.9901 49.3 46.9601 49.22 46.9601 49.22Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M47.3301 49.77C47.3301 49.77 47.2401 49.89 47.3101 49.98C47.3701 50.07 47.5001 50.12 47.5001 50.12C47.5001 50.12 47.4501 50.05 47.4701 49.97C47.4901 49.91 47.5901 49.82 47.5901 49.82L47.3301 49.77Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.63 49.99C49.63 49.99 49.48 49.95 49.39 50C49.31 50.05 49.24 50.26 49.24 50.26C49.24 50.26 49.38 50.15 49.48 50.16C49.58 50.18 49.65 50.22 49.65 50.22C49.65 50.22 49.67 50.13 49.65 50.08C49.65 50.04 49.63 49.99 49.63 49.99Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.7001 50.54C49.7001 50.54 49.5901 50.66 49.6301 50.76C49.6701 50.86 49.7401 50.96 49.7401 50.96C49.7401 50.96 49.7401 50.81 49.7801 50.77C49.8501 50.71 49.9701 50.7 49.9701 50.7C49.9701 50.7 49.8701 50.61 49.8401 50.6C49.8101 50.6 49.7001 50.54 49.7001 50.54Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.28 50.71C50.28 50.71 50.22 50.85 50.33 50.95C50.44 51.05 50.54 51.06 50.54 51.06C50.54 51.06 50.46 50.91 50.48 50.83C50.51 50.75 50.58 50.7 50.58 50.7C50.58 50.7 50.44 50.65 50.42 50.66C50.4 50.66 50.28 50.71 50.28 50.71Z\",\n fill: \"#C14A46\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.93 43.08H49.87C49.87 43.09 49.84 43.13 49.82 43.14C49.77 43.19 49.7 43.19 49.66 43.15C49.64 43.13 49.6301 43.1 49.6301 43.07C49.6001 43.09 49.5601 43.09 49.5401 43.07C49.4901 43.04 49.48 42.98 49.51 42.92C49.51 42.91 49.52 42.89 49.53 42.89V42.83L49.46 42.85L49.44 42.88C49.4 42.93 49.3401 42.94 49.3101 42.91C49.3001 42.9 49.2801 42.86 49.2901 42.86C49.2901 42.86 49.27 42.88 49.26 42.88C49.16 42.9 49.12 42.69 49.12 42.63L49.09 42.68C49.09 42.68 49.12 42.81 49.1 42.92C49.09 43.03 49.05 43.14 49.05 43.14C49.19 43.18 49.39 43.29 49.6 43.44C49.8 43.6 49.97 43.77 50.03 43.89C50.03 43.89 50.14 43.83 50.25 43.8C50.36 43.76 50.5 43.76 50.5 43.76L50.5401 43.72C50.4801 43.73 50.25 43.74 50.25 43.64C50.25 43.63 50.26 43.61 50.26 43.61C50.26 43.61 50.2201 43.61 50.2001 43.6C50.1701 43.58 50.1701 43.52 50.2001 43.47L50.23 43.45V43.39L50.2001 43.4C50.1901 43.41 50.18 43.42 50.17 43.43C50.12 43.47 50.05 43.48 50.01 43.44C49.99 43.42 49.9801 43.39 49.9901 43.35C49.9601 43.36 49.93 43.36 49.91 43.34C49.86 43.31 49.85 43.24 49.89 43.19C49.91 43.16 49.9401 43.13 49.9501 43.13L49.93 43.08Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.51 43.2C49.52 43.19 49.54 43.19 49.55 43.2C49.56 43.21 49.57 43.23 49.56 43.24C49.55 43.25 49.53 43.25 49.52 43.24C49.51 43.23 49.5 43.21 49.51 43.2Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.6901 43.3501L49.6301 43.3001C49.6201 43.2901 49.6201 43.2801 49.6201 43.2701C49.6301 43.2601 49.6401 43.2601 49.6501 43.2701L49.7101 43.3201L49.7701 43.3701C49.7801 43.3801 49.7801 43.3901 49.7801 43.4001C49.7701 43.4101 49.7601 43.4101 49.7501 43.4001L49.6901 43.3501Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.37 43.13L49.32 43.1C49.31 43.09 49.3001 43.08 49.3101 43.07C49.3201 43.06 49.33 43.06 49.34 43.07L49.39 43.1L49.44 43.13C49.45 43.14 49.4601 43.15 49.4501 43.16C49.4501 43.17 49.43 43.17 49.42 43.16L49.37 43.13Z\",\n fill: \"#020203\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.37 43.13L49.32 43.1C49.31 43.09 49.3001 43.08 49.3101 43.07C49.3201 43.06 49.33 43.06 49.34 43.07L49.39 43.1L49.44 43.13C49.45 43.14 49.4601 43.15 49.4501 43.16C49.4501 43.17 49.43 43.17 49.42 43.16L49.37 43.13Z\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.1799 43.0001C49.1899 42.9901 49.2099 42.9901 49.2199 43.0001C49.2399 43.0101 49.2399 43.0301 49.2299 43.0401C49.2199 43.0501 49.1999 43.0501 49.1899 43.0401C49.1699 43.0301 49.1699 43.0101 49.1799 43.0001Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.8801 43.4801C49.8901 43.4701 49.8901 43.4501 49.8701 43.4401C49.8601 43.4301 49.8401 43.4301 49.8301 43.4401C49.8201 43.4501 49.8301 43.4701 49.8401 43.4801C49.8501 43.5001 49.8701 43.5001 49.8801 43.4801Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.9901 43.61L50.0301 43.65C50.0401 43.66 50.0501 43.66 50.0601 43.66C50.0701 43.65 50.0701 43.64 50.0601 43.63L50.0201 43.59L49.9801 43.55C49.9701 43.54 49.9501 43.54 49.9501 43.54C49.9401 43.55 49.9401 43.56 49.9501 43.57L49.9901 43.61Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.1601 43.76C50.1701 43.75 50.1701 43.73 50.1501 43.72C50.1401 43.71 50.1201 43.71 50.1101 43.72C50.1001 43.73 50.1101 43.75 50.1201 43.76C50.1401 43.76 50.1501 43.77 50.1601 43.76Z\",\n fill: \"#020203\",\n stroke: \"#020203\",\n strokeWidth: 0.008062,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.66 42.64H49.55L49.53 42.8L49.54 42.83H49.57L49.71 42.74L49.66 42.64Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.66 42.64H49.55L49.53 42.8L49.54 42.83H49.57L49.71 42.74L49.66 42.64Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.66 42.64H49.55L49.53 42.8L49.54 42.83H49.57L49.71 42.74L49.66 42.64Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.66 42.64H49.55L49.53 42.8L49.54 42.83H49.57L49.71 42.74L49.66 42.64Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.3601 42.7301V42.8301L49.5301 42.8501L49.5501 42.8401V42.8101L49.4501 42.6801L49.3601 42.7301Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.71 42.9301L49.62 42.9801L49.52 42.8501V42.8201L49.55 42.8101L49.72 42.8301L49.71 42.9301Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.71 42.9301L49.62 42.9801L49.52 42.8501V42.8201L49.55 42.8101L49.72 42.8301L49.71 42.9301Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.4901 42.81C49.5001 42.78 49.5401 42.78 49.5601 42.79C49.5901 42.8 49.5901 42.84 49.5801 42.86C49.5701 42.88 49.5301 42.89 49.5101 42.88C49.4801 42.86 49.4801 42.83 49.4901 42.81Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.09 42.6401C49.09 42.6401 49.07 42.5601 49.04 42.5101C49.03 42.4701 48.97 42.4301 48.97 42.4301C48.98 42.4201 49.05 42.3901 49.13 42.4501C49.2 42.5101 49.12 42.6101 49.12 42.6101C49.12 42.6101 49.11 42.6301 49.09 42.6401Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.2801 42.7001L49.2001 42.7701L49.0701 42.6601L49.0801 42.6501L49.0901 42.6201L49.2601 42.6101L49.2801 42.7001Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.2801 42.7001L49.2001 42.7701L49.0701 42.6601L49.0801 42.6501L49.0901 42.6201L49.2601 42.6101L49.2801 42.7001Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.0701 42.6301C49.0801 42.6001 49.1001 42.5901 49.1201 42.5901C49.1401 42.6001 49.1501 42.6201 49.1401 42.6501C49.1301 42.6801 49.1101 42.6901 49.0901 42.6901C49.0701 42.6801 49.0601 42.6601 49.0701 42.6301Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.0799 42.9L49.9699 42.89L49.9199 43.05L49.9299 43.08H49.9599L50.1099 43L50.0799 42.9Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.0799 42.9L49.9699 42.89L49.9199 43.05L49.9299 43.08H49.9599L50.1099 43L50.0799 42.9Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.77 42.95L49.75 43.05L49.92 43.09L49.95 43.08V43.05L49.87 42.9L49.77 42.95Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.77 42.95L49.75 43.05L49.92 43.09L49.95 43.08V43.05L49.87 42.9L49.77 42.95Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.0899 43.1901L49.9899 43.2301L49.9099 43.0901V43.0601H49.9399L50.0999 43.1001L50.0899 43.1901Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.89 43.04C49.91 43.02 49.94 43.02 49.96 43.03C49.98 43.05 49.99 43.08 49.97 43.1C49.95 43.12 49.92 43.12 49.89 43.11C49.87 43.1 49.87 43.07 49.89 43.04Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.44 43.2401L50.46 43.3401L50.3 43.4001L50.27 43.3901V43.3601L50.34 43.2101L50.44 43.2401Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.44 43.2401L50.46 43.3401L50.3 43.4001L50.27 43.3901V43.3601L50.34 43.2101L50.44 43.2401Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.41 43.5401L50.31 43.5601L50.25 43.4101L50.26 43.3801L50.29 43.3701L50.44 43.4401L50.41 43.5401Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.1301 43.2501L50.1001 43.3501L50.2601 43.4101H50.2901L50.3001 43.3801L50.2401 43.2301L50.1301 43.2501Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.1301 43.2501L50.1001 43.3501L50.2601 43.4101H50.2901L50.3001 43.3801L50.2401 43.2301L50.1301 43.2501Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.3001 43.4301C50.3201 43.4101 50.3201 43.3801 50.3001 43.3601C50.2801 43.3401 50.2501 43.3401 50.2301 43.3601C50.2101 43.3801 50.2101 43.4101 50.2301 43.4301C50.2501 43.4501 50.2801 43.4501 50.3001 43.4301Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.5601 43.76C50.5601 43.76 50.6501 43.77 50.7101 43.78C50.7501 43.79 50.8101 43.83 50.8101 43.83C50.8201 43.82 50.8301 43.75 50.7601 43.68C50.6901 43.63 50.6001 43.72 50.6001 43.72C50.6001 43.72 50.5601 43.75 50.5601 43.76Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.4599 43.6001L50.4099 43.6801L50.5499 43.7701L50.5699 43.7601L50.5899 43.7501L50.5699 43.5901L50.4599 43.6001Z\",\n fill: \"#BAA927\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.4599 43.6001L50.4099 43.6801L50.5499 43.7701L50.5699 43.7601L50.5899 43.7501L50.5699 43.5901L50.4599 43.6001Z\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.5701 43.7801C50.6001 43.7701 50.6101 43.7401 50.6001 43.7201C50.5901 43.7001 50.5601 43.7001 50.5301 43.7201C50.5001 43.7401 50.4901 43.7601 50.5001 43.7801C50.5201 43.7901 50.5501 43.8001 50.5701 43.7801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.042,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.9399 52.0001C46.9399 50.1401 45.5899 48.6201 43.9299 48.6201C42.2699 48.6201 40.9199 50.1401 40.9199 52.0001C40.9199 53.8601 42.2699 55.3801 43.9299 55.3801C45.5899 55.3901 46.9399 53.8701 46.9399 52.0001Z\",\n fill: \"#BF1818\",\n stroke: \"#020203\",\n strokeWidth: 0.0672,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.0501 52C46.0501 50.63 45.1001 49.52 43.9301 49.52C42.7701 49.52 41.8201 50.63 41.8201 52C41.8201 53.37 42.7701 54.48 43.9301 54.48C45.1001 54.48 46.0501 53.36 46.0501 52Z\",\n fill: \"#3955A2\",\n stroke: \"#020203\",\n strokeWidth: 0.0986,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M42.93 50.29C42.93 50.29 42.68 50.56 42.68 50.82C42.68 51.08 42.79 51.29 42.79 51.29C42.75 51.19 42.65 51.11 42.53 51.11C42.38 51.11 42.25 51.23 42.25 51.37C42.25 51.41 42.27 51.48 42.29 51.51L42.38 51.69C42.41 51.62 42.48 51.58 42.56 51.58C42.67 51.58 42.76 51.66 42.76 51.77C42.76 51.79 42.76 51.8 42.75 51.82H42.52V52.01H42.72L42.57 52.31L42.77 52.23L42.92 52.4L43.08 52.23L43.28 52.31L43.13 52.01H43.33V51.82H43.1C43.1 51.8 43.1 51.79 43.1 51.77C43.1 51.67 43.19 51.58 43.3 51.58C43.38 51.58 43.45 51.62 43.48 51.68L43.57 51.5C43.59 51.47 43.62 51.4 43.62 51.36C43.62 51.21 43.5 51.1 43.34 51.1C43.22 51.1 43.12 51.17 43.08 51.28C43.08 51.28 43.19 51.07 43.19 50.81C43.19 50.56 42.93 50.29 42.93 50.29Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.055,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.34 51.8301H42.53V52.0201H43.34V51.8301Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.055,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.7699 41.9301H55.6499V43.0101H59.7699V41.9301Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.0801 43.73C56.1101 43.72 56.1201 43.72 56.1601 43.72H59.2501C59.2801 43.72 59.3101 43.73 59.3301 43.74C59.2201 43.71 59.1501 43.61 59.1501 43.5C59.1501 43.39 59.2301 43.29 59.3401 43.25C59.3101 43.26 59.2801 43.26 59.2501 43.26H56.1601C56.1301 43.26 56.1001 43.26 56.0701 43.25H56.0901C56.2001 43.28 56.2601 43.38 56.2601 43.49C56.2601 43.59 56.1901 43.7 56.0801 43.73Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.15 43.7201H59.24C59.35 43.7201 59.43 43.7901 59.43 43.8701C59.43 43.9501 59.35 44.0201 59.24 44.0201H56.15C56.05 44.0201 55.96 43.9601 55.96 43.8701C55.97 43.7801 56.05 43.7201 56.15 43.7201Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.15 43.01H59.24C59.35 43.01 59.43 43.07 59.43 43.13C59.43 43.2 59.35 43.25 59.24 43.25H56.15C56.05 43.25 55.96 43.19 55.96 43.13C55.97 43.07 56.05 43.01 56.15 43.01Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.063,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.93 50.29C44.93 50.29 44.68 50.56 44.68 50.82C44.68 51.08 44.79 51.29 44.79 51.29C44.75 51.19 44.65 51.11 44.53 51.11C44.38 51.11 44.25 51.23 44.25 51.37C44.25 51.41 44.28 51.48 44.29 51.51L44.38 51.69C44.41 51.62 44.48 51.58 44.56 51.58C44.67 51.58 44.76 51.66 44.76 51.77C44.76 51.79 44.76 51.8 44.75 51.82H44.52V52.01H44.72L44.57 52.31L44.77 52.23L44.92 52.4L45.08 52.23L45.28 52.31L45.13 52.01H45.33V51.82H45.1C45.1 51.8 45.1 51.79 45.1 51.77C45.1 51.67 45.19 51.58 45.3 51.58C45.38 51.58 45.45 51.62 45.48 51.68L45.57 51.5C45.59 51.47 45.62 51.4 45.62 51.36C45.62 51.21 45.5 51.1 45.34 51.1C45.22 51.1 45.12 51.17 45.08 51.28C45.08 51.28 45.19 51.07 45.19 50.81C45.19 50.56 44.93 50.29 44.93 50.29Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.055,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.34 51.8301H44.53V52.0201H45.34V51.8301Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.055,\n strokeMiterlimit: 22.9256\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.94 51.9801C43.94 51.9801 43.69 52.2501 43.69 52.5101C43.69 52.7701 43.8 52.9801 43.8 52.9801C43.76 52.8801 43.66 52.8001 43.54 52.8001C43.39 52.8001 43.26 52.9201 43.26 53.0601C43.26 53.1001 43.29 53.1701 43.3 53.2001L43.39 53.3801C43.42 53.3101 43.49 53.2801 43.57 53.2801C43.68 53.2801 43.77 53.3601 43.77 53.4701C43.77 53.4901 43.77 53.5001 43.76 53.5201H43.53V53.7101H43.73L43.58 54.0101L43.78 53.9301L43.93 54.1001L44.09 53.9301L44.29 54.0101L44.14 53.7101H44.34V53.5201H44.12C44.12 53.5001 44.12 53.4901 44.12 53.4701C44.12 53.3701 44.21 53.2801 44.32 53.2801C44.4 53.2801 44.47 53.3201 44.5 53.3801L44.59 53.2001C44.61 53.1601 44.63 53.1001 44.63 53.0601C44.63 52.9101 44.51 52.8001 44.35 52.8001C44.23 52.8001 44.13 52.8701 44.09 52.9701C44.09 52.9701 44.2 52.7601 44.2 52.5001C44.2 52.2501 43.94 51.9801 43.94 51.9801Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.055,\n strokeMiterlimit: 22.9256,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.35 53.52H43.54V53.71H44.35V53.52Z\",\n fill: \"#BAA927\",\n stroke: \"#020203\",\n strokeWidth: 0.055,\n strokeMiterlimit: 22.9256\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59562\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagEs);\nexport default __webpack_public_path__ + \"static/media/Flag_ES.0e523a4c795078465e82e636473b52ac.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagFi(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59535)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V92.42H139.13V0Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M139.13 36.22H64.32V0H44.04V36.22H0.5V56.2H44.04V92.42H64.32V56.2H139.13V36.22Z\",\n fill: \"#36519F\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59535\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagFi);\nexport default __webpack_public_path__ + \"static/media/Flag_FI.5af33a8a4ed91db9d38dd7e1df6f1337.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagFr(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 139 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_31987_87259)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.21 0H0V92H46.21V0Z\",\n fill: \"#01209F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.42 0H46.21V92H92.42V0Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M138.63 0H92.42V92H138.63V0Z\",\n fill: \"#EF4234\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_31987_87259\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagFr);\nexport default __webpack_public_path__ + \"static/media/Flag_FR.b2dcddcf5d6325057192c862778ede1c.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagHu(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59484)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 30.8101H0.5V61.6201H139.13V30.8101Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V30.81H139.13V0Z\",\n fill: \"#D01317\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 61.61H0.5V92.42H139.13V61.61Z\",\n fill: \"#52AB32\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59484\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagHu);\nexport default __webpack_public_path__ + \"static/media/Flag_HU.1dd5bf5bba99a1e0cbcb7d809e6d3c1a.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagLt(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_60053)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 30.8101H0.5V61.6201H139.13V30.8101Z\",\n fill: \"#63AB30\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V30.81H139.13V0Z\",\n fill: \"#EAB226\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 61.6101H0.5V92.4201H139.13V61.6101Z\",\n fill: \"#D11B1A\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_60053\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagLt);\nexport default __webpack_public_path__ + \"static/media/Flag_LT.2ecf42d40d6b9e44a2229f98a07a7ea0.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagLv(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59539)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 59.3501H0.5V92.4201H139.13V59.3501Z\",\n fill: \"#871629\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V33.07H139.13V0Z\",\n fill: \"#871629\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 33.0699H0.5V59.3499H139.13V33.0699Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59539\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagLv);\nexport default __webpack_public_path__ + \"static/media/Flag_LV.97bb6a99ff49cc11148c8a584f71a757.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagNo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59503)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0V35.97H67.66V0H139.13ZM0.5 56.56V92.42H44.41V56.56H0.5ZM44.42 0H0.5V35.97H44.41V0H44.42ZM67.66 92.42H139.13V56.56H67.66V92.42Z\",\n fill: \"#CD1420\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.18 41.18V0H50.9V41.18H0.5V51.47H50.9V92.42H61.18V51.47H139.13V41.18H61.18Z\",\n fill: \"#293E91\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.9 51.47V92.42H44.42V56.56H0.5V51.47H50.9ZM61.18 92.42H67.66V56.56H139.13V51.47H61.18V92.42ZM67.66 0H61.18V41.18H139.14V35.98H67.66V0ZM50.9 0H44.42V35.97H0.5V41.17H50.9V0Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59503\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagNo);\nexport default __webpack_public_path__ + \"static/media/Flag_NO.0cdf9c686b734ed08bcbd65ae74f251e.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagPl(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59531)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 46.21H0.5V92.42H139.13V46.21Z\",\n fill: \"#D01317\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V46.21H139.13V0Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59531\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagPl);\nexport default __webpack_public_path__ + \"static/media/Flag_PL.a4c4f9b221e41a3329fa0213edb2c6df.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagPt(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 138 92\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_34179_35117)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M138 0H0V92H138V0Z\",\n fill: \"#FF0000\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.2 0H0V92H55.2V0Z\",\n fill: \"#006600\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M73.1952 60.2693C66.2469 60.06 34.385 40.1719 34.1665 37.0048L35.9259 34.0707C39.0863 38.6629 71.6587 58.0045 74.858 57.3191L73.1951 60.2684\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.1952 60.2693C66.2469 60.06 34.385 40.1719 34.1665 37.0048L35.9259 34.0707C39.0863 38.6629 71.6587 58.0045 74.858 57.3191L73.1951 60.2684\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M35.5557 33.6721C34.9324 35.3497 43.8699 40.8753 54.6234 47.4155C65.3763 53.9554 74.6483 57.9969 75.3356 57.4173C75.3775 57.3425 75.6737 56.8329 75.6465 56.837C75.5177 57.0311 75.2041 57.0924 74.7149 56.9514C71.8097 56.1134 64.2326 52.6354 54.8489 46.945C45.4653 41.2541 37.3012 36.0099 36.0323 33.7816C35.9441 33.6273 35.8812 33.3455 35.894 33.1264L35.8632 33.126L35.593 33.5982L35.5559 33.6723L35.5557 33.6721ZM73.3585 60.3613C73.2406 60.5751 73.021 60.5822 72.6037 60.5364C70.0047 60.2487 62.1182 56.4136 52.7864 50.8274C41.9281 44.3276 32.9604 38.4051 33.9333 36.8572L34.1981 36.3892L34.2502 36.4055C33.3753 39.0286 51.9482 49.6484 53.0416 50.3255C63.7882 56.9833 72.8481 60.8712 73.6499 59.8609L73.3582 60.3625V60.362L73.3585 60.3613Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.239 38.923C62.1936 38.868 70.7755 37.9726 75.7143 36.0043L74.6502 34.2754C71.7311 35.8911 63.1019 36.9535 55.1803 37.1125C45.811 37.0263 39.1976 36.1538 35.884 33.9304L34.8795 35.7715C40.9708 38.3491 47.2127 38.8963 55.239 38.923Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M76.0012 36.0434C75.8312 36.3152 72.6103 37.426 67.8654 38.2457C64.6482 38.7362 60.4516 39.1555 55.2145 39.1606C50.2389 39.1652 46.1743 38.811 43.0972 38.394C38.1163 37.613 35.5456 36.5264 34.5952 36.1424C34.6861 35.9616 34.7445 35.8349 34.8321 35.6661C37.568 36.7554 40.1507 37.4122 43.1763 37.8777C46.2332 38.2917 50.2488 38.651 55.1998 38.6463C60.4125 38.6411 64.5629 38.1899 67.7615 37.714C72.6271 36.9292 75.285 35.9193 75.6583 35.4503L76.0019 36.0434H76.0014H76.0012ZM75.0673 34.2902C74.5399 34.7137 71.9122 35.6456 67.289 36.384C64.2035 36.8262 60.2804 37.2219 55.268 37.2268C50.5061 37.2315 46.6156 36.9106 43.6565 36.4795C38.9612 35.8663 36.4623 34.7602 35.5614 34.4377C35.651 34.2827 35.7423 34.1289 35.836 33.9746C36.537 34.3275 38.9486 35.3065 43.708 35.9807C46.6336 36.3955 50.53 36.7047 55.2683 36.6998C60.257 36.6947 64.1355 36.2913 67.2014 35.8515C71.8485 35.2121 74.3491 34.0236 74.7288 33.7261L75.0675 34.2898L75.0673 34.2902Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.4024 47.3018C36.6799 49.6025 46.1805 50.7619 55.171 50.8417C63.3569 50.8547 74.0213 49.5764 78.0093 47.463L77.8995 45.1603C76.6519 47.1101 65.2236 48.9803 55.0822 48.9038C44.9408 48.8273 35.5234 47.2609 32.3842 45.2332L32.4024 47.3012\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.4024 47.3018C36.6799 49.6025 46.1805 50.7619 55.171 50.8417C63.3569 50.8547 74.0213 49.5764 78.0093 47.463L77.8995 45.1603C76.6519 47.1101 65.2236 48.9803 55.0822 48.9038C44.9408 48.8273 35.5234 47.2609 32.3842 45.2332L32.4024 47.3012\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M78.2276 46.9706L78.2278 47.5198C77.6284 48.2364 73.8702 49.3196 69.1573 50.0824C65.5704 50.6323 60.8941 51.0471 55.067 51.0471C49.5312 51.0471 45.1166 50.6524 41.693 50.1268C36.2813 49.3388 32.8198 47.9588 32.125 47.5469L32.128 46.9063C34.2152 48.294 39.8701 49.3091 41.7689 49.6199C45.1702 50.142 49.5586 50.5337 55.0669 50.5337C60.8665 50.5337 65.5167 50.1217 69.081 49.5754C72.4622 49.087 77.2791 47.8168 78.2274 46.9709L78.2276 46.9706ZM78.2299 45.0174L78.2301 45.5665C77.6307 46.2828 73.8725 47.366 69.1596 48.1287C65.5728 48.6787 60.8964 49.0935 55.0693 49.0935C49.5335 49.0935 45.1189 48.6991 41.6953 48.1732C36.2836 47.3855 32.8221 46.0055 32.1273 45.5935L32.1303 44.9529C34.2175 46.3404 39.8724 47.3557 41.7712 47.666C45.1725 48.1885 49.5609 48.5804 55.0692 48.5804C60.8688 48.5804 65.519 48.1682 69.0833 47.6215C72.4645 47.1331 77.2814 45.8628 78.2297 45.017L78.2299 45.0174Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.1517 59.8736C45.3141 59.815 36.8848 57.192 35.1049 56.7585L36.4028 58.7904C39.5469 60.113 47.7703 62.084 55.246 61.8657C62.7219 61.6477 69.2553 61.0686 73.8595 58.8272L75.1903 56.7214C72.0526 58.1992 61.3748 59.8584 55.1517 59.8736Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M74.359 58.3556C74.1634 58.6544 73.964 58.9496 73.7618 59.2364C71.5902 60.0021 68.1684 60.806 66.7245 61.0405C63.775 61.6482 59.2115 62.0971 55.1615 62.0992C46.4468 61.9716 39.3133 60.2656 35.9574 58.8104L35.6866 58.3449L35.7308 58.2749L36.1901 58.453C42.1581 60.5882 48.861 61.44 55.2106 61.5929C59.2443 61.6071 63.2824 61.1306 66.5478 60.5466C71.5551 59.5434 73.5798 58.7871 74.201 58.4443L74.359 58.3556ZM75.5129 56.4523C75.518 56.4582 75.5231 56.4639 75.5279 56.4701C75.3817 56.717 75.231 56.9681 75.0766 57.2205C73.9184 57.6345 70.7752 58.5542 66.1851 59.196C63.1608 59.608 61.281 60.007 55.2649 60.1238C43.9914 59.837 36.6924 57.6327 34.9584 57.089L34.7014 56.5961C41.2348 58.3016 47.9085 59.4922 55.2653 59.6139C60.7694 59.4967 63.111 59.0914 66.1102 58.6824C71.4625 57.8501 74.1593 56.969 74.9687 56.7146C74.9585 56.7 74.9466 56.6846 74.9332 56.6687L75.5135 56.4519L75.5129 56.4523Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.1265,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M75.6309 45.4848C75.6628 51.9563 72.3511 57.7636 69.6836 60.3256C65.9097 63.9502 60.9061 66.2817 55.0627 66.3891C48.5376 66.5089 42.3851 62.2551 40.7348 60.3863C37.5084 56.7328 34.8816 52.0932 34.7974 45.8404C35.197 38.7773 37.9698 33.8574 41.989 30.4835C46.0083 27.1097 51.3599 25.4666 55.8169 25.5841C60.9592 25.7198 66.9661 28.2424 71.1167 33.2504C73.836 36.5316 75.0136 40.0925 75.6309 45.4848ZM55.1181 23.3262C67.6497 23.3262 77.9562 33.5239 77.9562 46.0279C77.9562 58.5316 67.6497 68.7298 55.1181 68.7298C42.5866 68.7298 32.3656 58.5318 32.3656 46.0279C32.3656 33.5239 42.5866 23.3262 55.1181 23.3262Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.1793 23.2484C67.7221 23.2484 77.9518 33.4795 77.9518 46.0235C77.9518 58.5672 67.7219 68.7981 55.1793 68.7981C42.6364 68.7981 32.4067 58.5674 32.4067 46.0235C32.4067 33.4795 42.6367 23.2484 55.1793 23.2484ZM32.9079 46.0236C32.9079 58.2734 42.9672 68.2972 55.1793 68.2972C67.3916 68.2972 77.4509 58.2734 77.4509 46.0236C77.4509 33.7733 67.3913 23.7494 55.1793 23.7494C42.9672 23.7494 32.9079 33.7738 32.9079 46.0236Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.1976 25.1414C66.6358 25.1414 76.057 34.5302 76.057 46.0033C76.057 57.4766 66.6355 66.865 55.1976 66.865C43.7597 66.865 34.3383 57.4766 34.3383 46.0033C34.3383 34.5302 43.76 25.1414 55.1976 25.1414ZM34.8392 46.0031C34.8392 57.2007 44.0344 66.3637 55.1976 66.3637C66.3609 66.3637 75.5561 57.2007 75.5561 46.0031C75.5561 34.8054 66.3612 25.6424 55.1976 25.6424C44.0344 25.6424 34.8392 34.8054 34.8392 46.0031Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.1153 23.1565H54.1637L54.166 68.9173H56.1243L56.1153 23.1565Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.9198 22.8956H56.4166L56.4208 69.1831H55.9237L55.9198 22.8956ZM53.9829 22.896H54.4835L54.4842 69.1835H53.9832V22.896H53.9829Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M77.9677 46.9051V45.2134L76.59 43.93L68.77 41.86L57.5 40.71L43.93 41.4L34.27 43.7L32.3196 45.1444V46.8365L37.26 44.62L48.99 42.78H60.26L68.54 43.7L74.29 45.08L77.9677 46.9051Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.1885 42.4972C60.5665 42.4872 65.7846 43.0067 69.9234 43.8126C74.1943 44.6664 77.1999 45.7344 78.2276 46.934L78.2264 47.5279C76.9871 46.0351 72.9426 44.9408 69.8273 44.3152C65.7199 43.5162 60.5369 43.0004 55.1885 43.0103C49.5447 43.0209 44.2895 43.5554 40.2421 44.3451C36.9945 44.9895 32.6634 46.2697 32.1227 47.5324V46.9139C32.4196 46.0399 35.6447 44.7337 40.169 43.828C44.2467 43.0329 49.5116 42.5075 55.1885 42.4972ZM55.1908 40.544C60.5689 40.5342 65.7869 41.0539 69.9257 41.8594C74.1966 42.7136 77.2022 43.7812 78.2299 44.9808L78.2287 45.5747C76.9894 44.0823 72.9449 42.9879 69.8296 42.3625C65.7222 41.5631 60.5392 41.0472 55.1908 41.0576C49.547 41.0677 44.3173 41.6026 40.2695 42.3919C37.1355 42.986 32.6275 44.3169 32.1248 45.5797V44.9608C32.4217 44.0963 35.7121 42.7433 40.1713 41.8749C44.249 41.0797 49.5139 40.5547 55.1908 40.544Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.0804 30.5809C63.5556 30.5385 70.9481 31.7659 74.3302 33.4984L75.5639 35.6326C72.6243 34.0484 64.649 32.4011 55.0927 32.6474C47.3063 32.6953 38.9865 33.5047 34.8123 35.7317L36.2851 33.2687C39.7109 31.4921 47.7901 30.5908 55.0807 30.5814\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.0804 30.5809C63.5556 30.5385 70.9481 31.7659 74.3302 33.4984L75.5639 35.6326C72.6243 34.0484 64.649 32.4011 55.0927 32.6474C47.3063 32.6953 38.9865 33.5047 34.8123 35.7317L36.2851 33.2687C39.7109 31.4921 47.7901 30.5908 55.0807 30.5814\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.1931 32.3427C60.027 32.3299 64.6978 32.6025 68.4125 33.2727C71.872 33.9166 75.1711 34.8829 75.6428 35.4026L76.0085 36.0489C74.8613 35.2998 72.0063 34.4657 68.3406 33.7705C64.6592 33.0786 59.9916 32.8494 55.1846 32.862C49.7285 32.8433 45.4896 33.1313 41.8517 33.7657C38.0043 34.4856 35.3349 35.514 34.6764 36.0027L35.0348 35.3195C36.3143 34.6667 38.3445 33.8799 41.7561 33.2656C45.5182 32.5784 49.8022 32.3723 55.1934 32.3427L55.1931 32.3427ZM55.191 30.3913C59.817 30.3791 64.3845 30.6369 67.9449 31.2769C70.753 31.8236 73.53 32.677 74.5469 33.4364L75.0818 34.2864C74.1724 33.2756 70.7495 32.3177 67.7277 31.7812C64.1947 31.1719 59.8169 30.9307 55.1909 30.8921C50.3361 30.9057 45.8494 31.2031 42.3679 31.837C39.0465 32.4691 36.9031 33.2174 35.9962 33.8018L36.4666 33.0918C37.7181 32.4329 39.74 31.8279 42.2863 31.3331C45.7936 30.6945 50.3076 30.4049 55.191 30.3913Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M66.5044 55.4898C62.3143 54.7076 58.1165 54.594 55.1845 54.6285C41.0609 54.7941 36.4984 57.5286 35.9415 58.3566L34.886 56.6359C38.4818 54.0295 46.1728 52.5679 55.261 52.7174C59.9801 52.7946 64.0525 53.108 67.4784 53.7716L66.5041 55.4903\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.5044 55.4898C62.3143 54.7076 58.1165 54.594 55.1845 54.6285C41.0609 54.7941 36.4984 57.5286 35.9415 58.3566L34.886 56.6359C38.4818 54.0295 46.1728 52.5679 55.261 52.7174C59.9801 52.7946 64.0525 53.108 67.4784 53.7716L66.5041 55.4903\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.1034 54.3859C59.0322 54.4445 62.8886 54.6068 66.6109 55.3009L66.3414 55.7768C62.8843 55.1386 59.1987 54.8944 55.1167 54.9143C49.9042 54.8735 44.6321 55.3603 40.0423 56.6776C38.594 57.0807 36.1964 58.0118 35.9519 58.7812L35.6838 58.339C35.7611 57.8842 37.2101 56.9403 39.919 56.1792C45.1763 54.6737 50.094 54.4199 55.1034 54.3855L55.1034 54.3859ZM55.2817 52.4087C59.3522 52.4848 63.5559 52.673 67.6418 53.4824L67.3611 53.9777C63.6715 53.2452 60.1462 53.001 55.3057 52.9266C50.0766 52.9361 44.5299 53.309 39.4867 54.7751C37.8585 55.2494 35.0484 56.2748 34.9548 57.0866L34.6866 56.6116C34.7477 55.8742 37.1803 54.9123 39.369 54.2757C44.4511 52.7982 50.0121 52.4182 55.2817 52.4087Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.1265,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M75.3434 56.8974L73.6462 59.5307L68.77 55.2L56.12 46.69L41.86 38.87L34.4563 36.3377L36.0341 33.4121L36.57 33.12L41.17 34.27L56.35 42.09L65.09 47.61L72.45 52.9L75.44 56.35L75.3434 56.8974Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.1895 36.4068C35.4881 35.526 45.0315 39.7774 55.0172 45.7986C64.9764 51.837 74.4929 58.6604 73.6338 59.9374L73.3513 60.3818L73.2216 60.4841C73.2494 60.4642 73.3926 60.2891 73.2076 59.8157C72.7833 58.4195 66.0328 53.0328 54.832 46.2698C43.9128 39.7588 34.8126 35.8345 33.9027 36.9562L34.1895 36.4068ZM75.6907 56.86C76.5118 55.238 67.66 48.5699 56.6853 42.0774C45.4584 35.7143 37.3667 31.9687 35.8887 33.0856L35.5604 33.6834C35.5575 33.7162 35.5723 33.6426 35.6417 33.5891C35.9104 33.3546 36.3559 33.3704 36.5569 33.3667C39.1019 33.4049 46.3703 36.7498 56.5683 42.5962C61.0367 45.1986 75.4446 54.4391 75.3896 57.0377C75.3935 57.261 75.4081 57.307 75.3241 57.4176L75.6907 56.86Z\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.6907 56.86C76.5118 55.238 67.66 48.5699 56.6853 42.0774C45.4584 35.7143 37.3667 31.9687 35.8887 33.0856L35.5604 33.6834C35.5575 33.7162 35.5723 33.6426 35.6417 33.5891C35.9104 33.3546 36.3559 33.3704 36.5569 33.3667C39.1019 33.4049 46.3703 36.7498 56.5683 42.5962C61.0367 45.1986 75.4446 54.4391 75.3896 57.0377C75.3935 57.261 75.4081 57.307 75.3241 57.4176L75.6907 56.86ZM75.6907 56.86L75.6907 56.8597M34.1895 36.4068C35.4881 35.526 45.0315 39.7774 55.0172 45.7986C64.9764 51.837 74.4929 58.6604 73.6338 59.9374L73.3513 60.3818L73.2216 60.4841C73.2494 60.4642 73.3926 60.2891 73.2076 59.8157C72.7833 58.4195 66.0328 53.0328 54.832 46.2698C43.9128 39.7588 34.8126 35.8345 33.9027 36.9562L34.1895 36.4068Z\",\n stroke: \"black\",\n strokeWidth: 0.13179,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.538 48.5323C41.538 52.2746 43.0705 55.6593 45.5531 58.133C48.0406 60.6119 51.4209 62.1761 55.1692 62.1761C58.9368 62.1761 62.356 60.6461 64.8329 58.1767C67.3097 55.7076 68.8448 52.2997 68.8455 48.5443H68.845V30.3308L41.5348 30.2983L41.5376 48.5323L41.538 48.5323Z\",\n fill: \"white\",\n stroke: \"black\",\n strokeWidth: 0.154185\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0486 48.5575V48.5679C42.0486 52.146 43.5301 55.4044 45.9069 57.77C48.2883 60.1401 51.5681 61.6137 55.1561 61.6137C58.7627 61.6137 62.0358 60.1508 64.4071 57.7897C66.778 55.4288 68.2475 52.1702 68.2479 48.5796H68.2474V30.9096L42.0642 30.9054L42.0482 48.5574M62.9833 36.1956L62.9842 47.4406L62.9747 48.63C62.9747 48.943 62.956 49.2999 62.9195 49.6037C62.7067 51.3815 61.8891 52.9311 60.6781 54.1365C59.2605 55.5478 57.3038 56.423 55.1473 56.423C53.0021 56.423 51.0904 55.5173 49.6667 54.1C48.2062 52.6464 47.3598 50.6533 47.3598 48.5922L47.3567 36.1669L62.9829 36.1951L62.9833 36.1956Z\",\n fill: \"#FF0000\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0486 48.5575V48.5679C42.0486 52.146 43.5301 55.4044 45.9069 57.77C48.2883 60.1401 51.5681 61.6137 55.1561 61.6137C58.7627 61.6137 62.0358 60.1508 64.4071 57.7897C66.778 55.4288 68.2475 52.1702 68.2479 48.5796H68.2474V30.9096L42.0642 30.9054L42.0482 48.5574M62.9833 36.1956L62.9842 47.4406L62.9747 48.63C62.9747 48.943 62.956 49.2999 62.9195 49.6037C62.7067 51.3815 61.8891 52.9311 60.6781 54.1365C59.2605 55.5478 57.3038 56.423 55.1473 56.423C53.0021 56.423 51.0904 55.5173 49.6667 54.1C48.2062 52.6464 47.3598 50.6533 47.3598 48.5922L47.3567 36.1669L62.9829 36.1951L62.9833 36.1956Z\",\n stroke: \"black\",\n strokeWidth: 0.116688\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.7437 35.5189C43.7747 34.2491 44.6757 33.9485 44.6822 33.944C44.6887 33.9398 45.6554 34.2678 45.6522 35.5307L43.7437 35.5189Z\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.9662 33.9687L42.8094 35.428L43.7618 35.43C43.7709 34.2227 44.6758 34.0219 44.6977 34.0263C44.7182 34.0252 45.6151 34.2933 45.639 35.43H46.5938L46.4214 33.9596L42.9663 33.9683L42.9662 33.9687Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.7455 35.4338H46.6431C46.7252 35.4338 46.7924 35.515 46.7924 35.6142C46.7924 35.7132 46.7252 35.7939 46.6431 35.7939H42.7455C42.6633 35.7939 42.5962 35.7132 42.5962 35.6142C42.5962 35.515 42.6633 35.4338 42.7455 35.4338Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.1622 35.4269C44.1665 34.665 44.6825 34.4494 44.6852 34.4498C44.6854 34.4498 45.2239 34.6722 45.2282 35.4269H44.1622Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.8283 33.3616H46.5646C46.6433 33.3616 46.7078 33.4348 46.7078 33.5236C46.7078 33.6127 46.6433 33.6857 46.5646 33.6857H42.8283C42.7496 33.6857 42.6851 33.6131 42.6851 33.5236C42.6851 33.4348 42.7496 33.3616 42.8283 33.3616Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.9064 33.6881H46.4802C46.5554 33.6881 46.6171 33.7609 46.6171 33.85C46.6171 33.9392 46.5554 34.0121 46.4802 34.0121H42.9064C42.8312 34.0121 42.7695 33.9392 42.7695 33.85C42.7695 33.7609 42.8312 33.6881 42.9064 33.6881Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.061 31.2524L44.3432 31.2529V31.4533H44.549V31.2484L44.8381 31.2493V31.4534H45.0446V31.2485H45.3338L45.3334 31.7112C45.3334 31.7838 45.2749 31.8309 45.2072 31.8309H44.1926C44.1244 31.8309 44.0616 31.7763 44.0614 31.7098L44.0607 31.2526L44.061 31.2524Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1237 31.8712L45.1874 33.355L44.1978 33.3513L44.2633 31.8673L45.1237 31.8712Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.9162 32.5588L43.9464 33.3587L42.9976 33.3591L43.0243 32.5589L43.9162 32.5588Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.3563 32.5588L46.3865 33.3587L45.4376 33.3591L45.4644 32.5589L46.3563 32.5588Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.849 31.9792L43.1248 31.9799V32.1805H43.3267V31.9752L43.6094 31.9761V32.1806H43.8117V31.9753L44.0946 31.9758L44.0941 32.4385C44.0941 32.5107 44.0369 32.5578 43.9708 32.5578H42.9779C42.9114 32.5578 42.8495 32.5036 42.8493 32.4369L42.8486 31.9794L42.849 31.9792Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.289 31.9792L45.5649 31.9799V32.1805H45.7667V31.9752L46.0495 31.9761V32.1806H46.2517V31.9753L46.5347 31.9758L46.5342 32.4385C46.5342 32.5107 46.477 32.5578 46.4109 32.5578H45.418C45.3515 32.5578 45.2896 32.5036 45.2894 32.4369L45.2887 31.9794L45.289 31.9792Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.5969 32.3403C44.5908 32.1961 44.7986 32.1945 44.7961 32.3403V32.6937H44.5969L44.5969 32.3403Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.3711 32.8533C43.3704 32.7139 43.5636 32.7111 43.5612 32.8533V33.1263H43.3712L43.3711 32.8533Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.8185 32.8533C45.8178 32.7139 46.011 32.7111 46.0085 32.8533V33.1263H45.8186L45.8185 32.8533Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.7437 46.1725C43.7747 44.9026 44.6757 44.602 44.6822 44.5976C44.6887 44.5933 45.6554 44.9213 45.6522 46.1843L43.7437 46.1725Z\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.9662 44.6222L42.8094 46.0815L43.7618 46.0836C43.7709 44.8763 44.6758 44.6754 44.6977 44.6799C44.7182 44.6787 45.6151 44.9468 45.639 46.0836H46.5938L46.4214 44.6132L42.9663 44.6219L42.9662 44.6222Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.7455 46.0874H46.6431C46.7252 46.0874 46.7924 46.1685 46.7924 46.2677C46.7924 46.3667 46.7252 46.4475 46.6431 46.4475H42.7455C42.6633 46.4475 42.5962 46.3667 42.5962 46.2677C42.5962 46.1685 42.6633 46.0874 42.7455 46.0874Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.1622 46.0805C44.1665 45.3186 44.6825 45.103 44.6852 45.1034C44.6854 45.1034 45.2239 45.3257 45.2282 46.0805H44.1622Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.8283 44.0151H46.5646C46.6433 44.0151 46.7078 44.0884 46.7078 44.1772C46.7078 44.2663 46.6433 44.3393 46.5646 44.3393H42.8283C42.7496 44.3393 42.6851 44.2667 42.6851 44.1772C42.6851 44.0884 42.7496 44.0151 42.8283 44.0151Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.9064 44.3417H46.4802C46.5554 44.3417 46.6171 44.4145 46.6171 44.5035C46.6171 44.5928 46.5554 44.6656 46.4802 44.6656H42.9064C42.8312 44.6656 42.7695 44.5928 42.7695 44.5035C42.7695 44.4145 42.8312 44.3417 42.9064 44.3417Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.061 41.906L44.3432 41.9064V42.1069H44.549V41.902L44.8381 41.9029V42.107H45.0446V41.9021H45.3338L45.3334 42.3648C45.3334 42.4374 45.2749 42.4845 45.2072 42.4845H44.1926C44.1244 42.4845 44.0616 42.4299 44.0614 42.3634L44.0607 41.9061L44.061 41.906Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1237 42.5247L45.1874 44.0086L44.1978 44.0049L44.2633 42.5209L45.1237 42.5247Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.9162 43.2124L43.9464 44.0122L42.9976 44.0127L43.0243 43.2124L43.9162 43.2124Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.3563 43.2124L46.3865 44.0122L45.4376 44.0127L45.4644 43.2124L46.3563 43.2124Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.849 42.6328L43.1248 42.6335V42.8341H43.3267V42.6288L43.6094 42.6297V42.8342H43.8117V42.6289L44.0946 42.6294L44.0941 43.092C44.0941 43.1643 44.0369 43.2113 43.9708 43.2113H42.9779C42.9114 43.2113 42.8495 43.1572 42.8493 43.0904L42.8486 42.633L42.849 42.6328Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.289 42.6328L45.5649 42.6335V42.8341H45.7667V42.6288L46.0495 42.6297V42.8342H46.2517V42.6289L46.5347 42.6294L46.5342 43.092C46.5342 43.1643 46.477 43.2113 46.4109 43.2113H45.418C45.3515 43.2113 45.2896 43.1572 45.2894 43.0904L45.2887 42.633L45.289 42.6328Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.5969 42.9939C44.5908 42.8497 44.7986 42.8481 44.7961 42.9939V43.3473H44.5969L44.5969 42.9939Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.3711 43.5068C43.3704 43.3675 43.5636 43.3646 43.5612 43.5068V43.7799H43.3712L43.3711 43.5068Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.8185 43.5068C45.8178 43.3675 46.011 43.3646 46.0085 43.5068V43.7799H45.8186L45.8185 43.5068Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.8977 57.2617C47.0185 56.3449 47.4401 55.4938 47.4415 55.486C47.443 55.4784 48.357 55.0235 49.2508 55.9157L47.8977 57.2617Z\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.25 56.7211L47.175 57.8606L47.8475 57.1862C46.9972 56.3291 47.4923 55.5455 47.5109 55.5331C47.5245 55.5177 48.3467 55.0701 49.1702 55.8541L49.843 55.1767L48.6781 54.2629L46.2498 56.7207L46.25 56.7211Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.134 57.9101L49.8803 55.1443C49.9382 55.0861 50.043 55.0956 50.1134 55.1655C50.1837 55.2352 50.1936 55.3398 50.1358 55.398L47.3895 58.1638C47.3316 58.222 47.227 58.2128 47.1568 58.1431C47.0864 58.0732 47.0761 57.9683 47.134 57.9101Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.1273 56.8998C47.5897 56.3599 47.8003 55.8418 47.8024 55.8402C47.8026 55.8401 48.3398 55.6146 48.8784 56.1434L48.1273 56.8998Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.7219 56.3911L48.3545 53.7398C48.41 53.6839 48.5074 53.6897 48.5705 53.7523C48.6336 53.8151 48.64 53.9123 48.5846 53.9682L45.9519 56.6195C45.8964 56.6753 45.7995 56.6699 45.736 56.6069C45.6729 56.5443 45.6664 56.4469 45.7219 56.3911Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.0087 56.5658L48.5268 54.0299C48.5798 53.9765 48.6749 53.9841 48.7381 54.0468C48.8015 54.1097 48.8097 54.2048 48.7567 54.2582L46.2386 56.7941C46.1856 56.8475 46.0904 56.8399 46.0271 56.777C45.9639 56.7143 45.9557 56.6192 46.0087 56.5658Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.0939 54.0303L45.293 53.8304L45.4352 53.9716L45.5803 53.8255L45.4349 53.6812L45.6392 53.4767L45.784 53.6205L45.9295 53.474L45.7842 53.3296L45.988 53.1244L46.316 53.4507C46.3675 53.5019 46.3597 53.5765 46.312 53.6246L45.5971 54.3445C45.5491 54.3929 45.4661 54.3991 45.4187 54.3523L45.0938 54.0306L45.0939 54.0303Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.2816 53.7121L47.3794 54.7124L46.6795 55.4121L45.6726 54.32L46.2816 53.7121Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.9188 55.0536L46.5076 55.5957L45.8394 56.2693L45.2904 55.6865L45.9188 55.0536Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.638 53.3221L48.2269 53.8642L47.5586 54.5379L47.0096 53.955L47.638 53.3221Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.7555 55.4025L44.9504 55.2072L45.0927 55.3486L45.2349 55.2053L45.0893 55.0607L45.2892 54.8607L45.4342 55.0048L45.5767 54.8613L45.4311 54.7166L45.6308 54.5162L45.9588 54.8425C46.01 54.8934 46.0031 54.9671 45.9565 55.0141L45.2569 55.7186C45.21 55.7658 45.128 55.7716 45.0805 55.7247L44.7554 55.4029L44.7555 55.4025Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.4749 53.671L46.6697 53.4758L46.8121 53.6171L46.9543 53.4739L46.8086 53.3293L47.0085 53.1293L47.1536 53.2733L47.2961 53.1298L47.1504 52.9852L47.3501 52.7847L47.6781 53.1111C47.7294 53.162 47.7225 53.2357 47.6759 53.2826L46.9763 53.9872C46.9294 54.0344 46.8474 54.0401 46.7999 53.9932L46.4748 53.6714L46.4749 53.671Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.2434 54.4165C46.1368 54.3192 46.282 54.1707 46.3838 54.2752L46.6345 54.5242L46.4942 54.6655L46.2434 54.4165Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.7436 55.6478C45.6443 55.5501 45.7784 55.411 45.8775 55.5129L46.0713 55.7053L45.9374 55.8401L45.7436 55.6478Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.4681 53.9111C47.3687 53.8134 47.5028 53.6743 47.602 53.7762L47.7958 53.9686L47.6619 54.1034L47.4681 53.9111Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.2578 35.5189C54.2888 34.2491 55.1899 33.9485 55.1963 33.944C55.2028 33.9398 56.1696 34.2678 56.1663 35.5307L54.2578 35.5189Z\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.4804 33.9687L53.3236 35.428L54.2759 35.43C54.2851 34.2227 55.1899 34.0219 55.2118 34.0263C55.2323 34.0252 56.1293 34.2933 56.1532 35.43H57.108L56.9355 33.9596L53.4805 33.9683L53.4804 33.9687Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.2596 35.4338H57.1572C57.2394 35.4338 57.3065 35.515 57.3065 35.6142C57.3065 35.7132 57.2394 35.7939 57.1572 35.7939H53.2596C53.1775 35.7939 53.1104 35.7132 53.1104 35.6142C53.1104 35.515 53.1775 35.4338 53.2596 35.4338Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.6764 35.4269C54.6806 34.665 55.1967 34.4494 55.1993 34.4498C55.1995 34.4498 55.7381 34.6722 55.7423 35.4269H54.6764Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.3424 33.3616H57.0788C57.1575 33.3616 57.222 33.4348 57.222 33.5236C57.222 33.6127 57.1575 33.6857 57.0788 33.6857H53.3424C53.2637 33.6857 53.1992 33.6131 53.1992 33.5236C53.1992 33.4348 53.2637 33.3616 53.3424 33.3616Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.4206 33.6881H56.9943C57.0696 33.6881 57.1313 33.7609 57.1313 33.85C57.1313 33.9392 57.0696 34.0121 56.9943 34.0121H53.4206C53.3454 34.0121 53.2837 33.9392 53.2837 33.85C53.2837 33.7609 53.3454 33.6881 53.4206 33.6881Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.5752 31.2524L54.8573 31.2529V31.4533H55.0632V31.2484L55.3522 31.2493V31.4534H55.5587V31.2485H55.848L55.8475 31.7112C55.8475 31.7838 55.7891 31.8309 55.7214 31.8309H54.7068C54.6386 31.8309 54.5757 31.7763 54.5755 31.7098L54.5748 31.2526L54.5752 31.2524Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.6379 31.8712L55.7016 33.355L54.7119 33.3513L54.7774 31.8673L55.6379 31.8712Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.4304 32.5588L54.4606 33.3587L53.5117 33.3591L53.5385 32.5589L54.4304 32.5588Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.8704 32.5588L56.9007 33.3587L55.9518 33.3591L55.9786 32.5589L56.8704 32.5588Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.3631 31.9792L53.639 31.9799V32.1805H53.8408V31.9752L54.1236 31.9761V32.1806H54.3258V31.9753L54.6088 31.9758L54.6083 32.4385C54.6083 32.5107 54.5511 32.5578 54.485 32.5578H53.4921C53.4256 32.5578 53.3637 32.5036 53.3635 32.4369L53.3628 31.9794L53.3631 31.9792Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.8032 31.9792L56.0791 31.9799V32.1805H56.2809V31.9752L56.5636 31.9761V32.1806H56.7659V31.9753L57.0488 31.9758L57.0484 32.4385C57.0484 32.5107 56.9912 32.5578 56.925 32.5578H55.9321C55.8656 32.5578 55.8038 32.5036 55.8035 32.4369L55.8029 31.9794L55.8032 31.9792Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.1111 32.3403C55.105 32.1961 55.3127 32.1945 55.3103 32.3403V32.6937H55.1111L55.1111 32.3403Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.8853 32.8533C53.8846 32.7139 54.0777 32.7111 54.0753 32.8533V33.1263H53.8853L53.8853 32.8533Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.3326 32.8533C56.332 32.7139 56.5251 32.7111 56.5227 32.8533V33.1263H56.3327L56.3326 32.8533Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.6085 35.5189C66.5775 34.2491 65.6765 33.9485 65.67 33.944C65.6635 33.9398 64.6968 34.2678 64.7 35.5307L66.6085 35.5189Z\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.3859 33.9687L67.5427 35.428L66.5904 35.43C66.5813 34.2227 65.6764 34.0219 65.6545 34.0263C65.634 34.0252 64.737 34.2933 64.7131 35.43H63.7584L63.9308 33.9596L67.3858 33.9683L67.3859 33.9687Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.6067 35.4338H63.7091C63.627 35.4338 63.5598 35.515 63.5598 35.6142C63.5598 35.7132 63.627 35.7939 63.7091 35.7939H67.6067C67.6888 35.7939 67.756 35.7132 67.756 35.6142C67.756 35.515 67.6888 35.4338 67.6067 35.4338Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.1899 35.4269C66.1857 34.665 65.6697 34.4494 65.667 34.4498C65.6668 34.4498 65.1283 34.6722 65.124 35.4269H66.1899Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.5239 33.3616H63.7876C63.7089 33.3616 63.6444 33.4348 63.6444 33.5236C63.6444 33.6127 63.7089 33.6857 63.7876 33.6857H67.5239C67.6026 33.6857 67.6671 33.6131 67.6671 33.5236C67.6671 33.4348 67.6026 33.3616 67.5239 33.3616Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.4457 33.6881H63.872C63.7967 33.6881 63.7351 33.7609 63.7351 33.85C63.7351 33.9392 63.7967 34.0121 63.872 34.0121H67.4457C67.521 34.0121 67.5826 33.9392 67.5826 33.85C67.5826 33.7609 67.521 33.6881 67.4457 33.6881Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.2911 31.2524L66.009 31.2529V31.4533H65.8031V31.2484L65.5141 31.2493V31.4534H65.3076V31.2485H65.0184L65.0188 31.7112C65.0188 31.7838 65.0772 31.8309 65.145 31.8309H66.1596C66.2277 31.8309 66.2906 31.7763 66.2908 31.7098L66.2915 31.2526L66.2911 31.2524Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.2285 31.8712L65.1648 33.355L66.1544 33.3513L66.0889 31.8673L65.2285 31.8712Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.436 32.5588L66.4057 33.3587L67.3546 33.3591L67.3278 32.5589L66.436 32.5588Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.9959 32.5588L63.9657 33.3587L64.9146 33.3591L64.8878 32.5589L63.9959 32.5588Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.5032 31.9792L67.2273 31.9799V32.1805H67.0255V31.9752L66.7428 31.9761V32.1806H66.5405V31.9753L66.2576 31.9758L66.258 32.4385C66.258 32.5107 66.3152 32.5578 66.3814 32.5578H67.3742C67.4408 32.5578 67.5026 32.5036 67.5028 32.4369L67.5035 31.9794L67.5032 31.9792Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.0631 31.9792L64.7873 31.9799V32.1805H64.5854V31.9752L64.3027 31.9761V32.1806H64.1005V31.9753L63.8175 31.9758L63.818 32.4385C63.818 32.5107 63.8752 32.5578 63.9413 32.5578H64.9342C65.0007 32.5578 65.0626 32.5036 65.0628 32.4369L65.0635 31.9794L65.0631 31.9792Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.7552 32.3403C65.7613 32.1961 65.5536 32.1945 65.556 32.3403V32.6937H65.7552L65.7552 32.3403Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.9811 32.8533C66.9818 32.7139 66.7886 32.7111 66.791 32.8533V33.1263H66.981L66.9811 32.8533Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.5337 32.8533C64.5344 32.7139 64.3412 32.7111 64.3436 32.8533V33.1263H64.5336L64.5337 32.8533Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.6085 46.1725C66.5775 44.9026 65.6765 44.602 65.67 44.5976C65.6635 44.5933 64.6968 44.9213 64.7 46.1843L66.6085 46.1725Z\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.3859 44.6222L67.5427 46.0815L66.5904 46.0836C66.5813 44.8763 65.6764 44.6754 65.6545 44.6799C65.634 44.6787 64.737 44.9468 64.7131 46.0836H63.7584L63.9308 44.6132L67.3858 44.6219L67.3859 44.6222Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.6067 46.0874H63.7091C63.627 46.0874 63.5598 46.1685 63.5598 46.2677C63.5598 46.3667 63.627 46.4475 63.7091 46.4475H67.6067C67.6888 46.4475 67.756 46.3667 67.756 46.2677C67.756 46.1685 67.6888 46.0874 67.6067 46.0874Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.1899 46.0805C66.1857 45.3186 65.6697 45.103 65.667 45.1034C65.6668 45.1034 65.1283 45.3257 65.124 46.0805H66.1899Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.5239 44.0151H63.7876C63.7089 44.0151 63.6444 44.0884 63.6444 44.1772C63.6444 44.2663 63.7089 44.3393 63.7876 44.3393H67.5239C67.6026 44.3393 67.6671 44.2667 67.6671 44.1772C67.6671 44.0884 67.6026 44.0151 67.5239 44.0151Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.4457 44.3417H63.872C63.7967 44.3417 63.7351 44.4145 63.7351 44.5035C63.7351 44.5928 63.7967 44.6656 63.872 44.6656H67.4457C67.521 44.6656 67.5826 44.5928 67.5826 44.5035C67.5826 44.4145 67.521 44.3417 67.4457 44.3417Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.2911 41.906L66.009 41.9064V42.1069H65.8031V41.902L65.5141 41.9029V42.107H65.3076V41.9021H65.0184L65.0188 42.3648C65.0188 42.4374 65.0772 42.4845 65.145 42.4845H66.1596C66.2277 42.4845 66.2906 42.4299 66.2908 42.3634L66.2915 41.9061L66.2911 41.906Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.2285 42.5247L65.1648 44.0086L66.1544 44.0049L66.0889 42.5209L65.2285 42.5247Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.436 43.2124L66.4057 44.0122L67.3546 44.0127L67.3278 43.2124L66.436 43.2124Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.9959 43.2124L63.9657 44.0122L64.9146 44.0127L64.8878 43.2124L63.9959 43.2124Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.5032 42.6328L67.2273 42.6335V42.8341H67.0255V42.6288L66.7428 42.6297V42.8342H66.5405V42.6289L66.2576 42.6294L66.258 43.092C66.258 43.1643 66.3152 43.2113 66.3814 43.2113H67.3742C67.4408 43.2113 67.5026 43.1572 67.5028 43.0904L67.5035 42.633L67.5032 42.6328Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.0631 42.6328L64.7873 42.6335V42.8341H64.5854V42.6288L64.3027 42.6297V42.8342H64.1005V42.6289L63.8175 42.6294L63.818 43.092C63.818 43.1643 63.8752 43.2113 63.9413 43.2113H64.9342C65.0007 43.2113 65.0626 43.1572 65.0628 43.0904L65.0635 42.633L65.0631 42.6328Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.7552 42.9939C65.7613 42.8497 65.5536 42.8481 65.556 42.9939V43.3473H65.7552L65.7552 42.9939Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.9811 43.5068C66.9818 43.3675 66.7886 43.3646 66.791 43.5068V43.7799H66.981L66.9811 43.5068Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.5337 43.5068C64.5344 43.3675 64.3412 43.3646 64.3436 43.5068V43.7799H64.5336L64.5337 43.5068Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.4544 57.2617C63.3336 56.3449 62.9121 55.4938 62.9107 55.486C62.9091 55.4784 61.9952 55.0235 61.1013 55.9157L62.4544 57.2617Z\",\n fill: \"#FFFF00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.1022 56.7211L63.1772 57.8606L62.5047 57.1862C63.355 56.3291 62.8599 55.5455 62.8413 55.5331C62.8277 55.5177 62.0054 55.0701 61.1819 55.8541L60.5092 55.1767L61.6741 54.2629L64.1024 56.7207L64.1022 56.7211Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.2182 57.9101L60.4719 55.1443C60.414 55.0861 60.3091 55.0956 60.2388 55.1655C60.1685 55.2352 60.1585 55.3398 60.2164 55.398L62.9627 58.1638C63.0206 58.222 63.1252 58.2128 63.1954 58.1431C63.2658 58.0732 63.2761 57.9683 63.2182 57.9101Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.2249 56.8998C62.7625 56.3599 62.5519 55.8418 62.5498 55.8402C62.5496 55.8401 62.0124 55.6146 61.4738 56.1434L62.2249 56.8998Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.6303 56.3911L61.9976 53.7398C61.9422 53.6839 61.8448 53.6897 61.7817 53.7523C61.7185 53.8151 61.7122 53.9123 61.7676 53.9682L64.4003 56.6195C64.4557 56.6753 64.5527 56.6699 64.6162 56.6069C64.6792 56.5443 64.6858 56.4469 64.6303 56.3911Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.3435 56.5658L61.8254 54.0299C61.7724 53.9765 61.6772 53.9841 61.614 54.0468C61.5507 54.1097 61.5425 54.2048 61.5955 54.2582L64.1136 56.7941C64.1666 56.8475 64.2617 56.8399 64.3251 56.777C64.3883 56.7143 64.3965 56.6192 64.3435 56.5658Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.2583 54.0303L65.0591 53.8304L64.9169 53.9716L64.7719 53.8255L64.9172 53.6812L64.7129 53.4767L64.5681 53.6205L64.4226 53.474L64.568 53.3296L64.3642 53.1244L64.0362 53.4507C63.9847 53.5019 63.9924 53.5765 64.0402 53.6246L64.7551 54.3445C64.8031 54.3929 64.8861 54.3991 64.9335 54.3523L65.2584 54.0306L65.2583 54.0303Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.0705 53.7121L62.9727 54.7124L63.6726 55.4121L64.6795 54.32L64.0705 53.7121Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.4334 55.0536L63.8445 55.5957L64.5128 56.2693L65.0618 55.6865L64.4334 55.0536Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.7142 53.3221L62.1253 53.8642L62.7936 54.5379L63.3426 53.955L62.7142 53.3221Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.5967 55.4025L65.4018 55.2072L65.2594 55.3486L65.1172 55.2053L65.2629 55.0607L65.063 54.8607L64.9179 55.0048L64.7754 54.8613L64.9211 54.7166L64.7214 54.5162L64.3934 54.8425C64.3422 54.8934 64.3491 54.9671 64.3957 55.0141L65.0953 55.7186C65.1421 55.7658 65.2242 55.7716 65.2717 55.7247L65.5967 55.4029L65.5967 55.4025Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.8773 53.671L63.6824 53.4758L63.5401 53.6171L63.3979 53.4739L63.5435 53.3293L63.3437 53.1293L63.1986 53.2733L63.0561 53.1298L63.2017 52.9852L63.0021 52.7847L62.674 53.1111C62.6228 53.162 62.6297 53.2357 62.6763 53.2826L63.3759 53.9872C63.4228 54.0344 63.5048 54.0401 63.5523 53.9932L63.8774 53.6714L63.8773 53.671Z\",\n fill: \"#FFFF00\",\n stroke: \"black\",\n strokeWidth: 0.115\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.1088 54.4165C64.2154 54.3192 64.0702 54.1707 63.9684 54.2752L63.7177 54.5242L63.858 54.6655L64.1088 54.4165Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.6085 55.6478C64.7079 55.5501 64.5738 55.411 64.4746 55.5129L64.2809 55.7053L64.4147 55.8401L64.6085 55.6478Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.8841 53.9111C62.9834 53.8134 62.8493 53.6743 62.7501 53.7762L62.5564 53.9686L62.6903 54.1034L62.8841 53.9111Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.5063 46.5533V46.5545C53.5063 47.0632 53.7017 47.5268 54.0151 47.8631C54.329 48.2004 54.7615 48.4099 55.2345 48.4099C55.71 48.4099 56.1416 48.2018 56.4542 47.8659C56.7665 47.5304 56.9607 47.0673 56.9607 46.5565V44.0799L53.5125 44.077L53.5063 46.5533Z\",\n fill: \"#003399\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.2971 45.3608C54.4859 45.3608 54.6389 45.2078 54.6389 45.019C54.6389 44.8303 54.4859 44.6772 54.2971 44.6772C54.1083 44.6772 53.9553 44.8303 53.9553 45.019C53.9553 45.2078 54.1083 45.3608 54.2971 45.3608Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.2102 45.3624C56.3989 45.3624 56.552 45.2094 56.552 45.0206C56.552 44.8319 56.3989 44.6788 56.2102 44.6788C56.0214 44.6788 55.8684 44.8319 55.8684 45.0206C55.8684 45.2094 56.0214 45.3624 56.2102 45.3624Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.2518 46.2809C55.4406 46.2809 55.5936 46.1278 55.5936 45.9391C55.5936 45.7503 55.4406 45.5973 55.2518 45.5973C55.0631 45.5973 54.91 45.7503 54.91 45.9391C54.91 46.1278 55.0631 46.2809 55.2518 46.2809Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.2971 47.2424C54.4859 47.2424 54.6389 47.0894 54.6389 46.9006C54.6389 46.7119 54.4859 46.5588 54.2971 46.5588C54.1083 46.5588 53.9553 46.7119 53.9553 46.9006C53.9553 47.0894 54.1083 47.2424 54.2971 47.2424Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.2081 47.2398C56.3969 47.2398 56.5499 47.0868 56.5499 46.8981C56.5499 46.7093 56.3969 46.5563 56.2081 46.5563C56.0194 46.5563 55.8663 46.7093 55.8663 46.8981C55.8663 47.0868 56.0194 47.2398 56.2081 47.2398Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.5063 40.5697V40.5708C53.5063 41.0796 53.7017 41.5431 54.0151 41.8794C54.329 42.2168 54.7615 42.4263 55.2345 42.4263C55.71 42.4263 56.1416 42.2182 56.4542 41.8822C56.7665 41.5467 56.9607 41.0836 56.9607 40.5729V38.0962L53.5125 38.0934L53.5063 40.5697Z\",\n fill: \"#003399\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.2971 39.3772C54.4859 39.3772 54.6389 39.2241 54.6389 39.0354C54.6389 38.8466 54.4859 38.6936 54.2971 38.6936C54.1083 38.6936 53.9553 38.8466 53.9553 39.0354C53.9553 39.2241 54.1083 39.3772 54.2971 39.3772Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.2102 39.3788C56.3989 39.3788 56.552 39.2257 56.552 39.037C56.552 38.8482 56.3989 38.6952 56.2102 38.6952C56.0214 38.6952 55.8684 38.8482 55.8684 39.037C55.8684 39.2257 56.0214 39.3788 56.2102 39.3788Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.2518 40.2972C55.4406 40.2972 55.5936 40.1442 55.5936 39.9554C55.5936 39.7667 55.4406 39.6136 55.2518 39.6136C55.0631 39.6136 54.91 39.7667 54.91 39.9554C54.91 40.1442 55.0631 40.2972 55.2518 40.2972Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.2971 41.2588C54.4859 41.2588 54.6389 41.1057 54.6389 40.917C54.6389 40.7282 54.4859 40.5752 54.2971 40.5752C54.1083 40.5752 53.9553 40.7282 53.9553 40.917C53.9553 41.1057 54.1083 41.2588 54.2971 41.2588Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.2081 41.2562C56.3969 41.2562 56.5499 41.1032 56.5499 40.9144C56.5499 40.7257 56.3969 40.5726 56.2081 40.5726C56.0194 40.5726 55.8663 40.7257 55.8663 40.9144C55.8663 41.1032 56.0194 41.2562 56.2081 41.2562Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.7225 46.5533V46.5545C48.7225 47.0632 48.9179 47.5268 49.2312 47.8631C49.5452 48.2004 49.9777 48.4099 50.4507 48.4099C50.9262 48.4099 51.3578 48.2018 51.6704 47.8659C51.9827 47.5304 52.1769 47.0673 52.1769 46.5565V44.0799L48.7287 44.077L48.7225 46.5533Z\",\n fill: \"#003399\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.5133 45.3608C49.7021 45.3608 49.8551 45.2078 49.8551 45.019C49.8551 44.8303 49.7021 44.6772 49.5133 44.6772C49.3245 44.6772 49.1715 44.8303 49.1715 45.019C49.1715 45.2078 49.3245 45.3608 49.5133 45.3608Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.4264 45.3624C51.6151 45.3624 51.7682 45.2094 51.7682 45.0206C51.7682 44.8319 51.6151 44.6788 51.4264 44.6788C51.2376 44.6788 51.0846 44.8319 51.0846 45.0206C51.0846 45.2094 51.2376 45.3624 51.4264 45.3624Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.468 46.2809C50.6568 46.2809 50.8098 46.1278 50.8098 45.9391C50.8098 45.7503 50.6568 45.5973 50.468 45.5973C50.2792 45.5973 50.1262 45.7503 50.1262 45.9391C50.1262 46.1278 50.2792 46.2809 50.468 46.2809Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.5133 47.2424C49.7021 47.2424 49.8551 47.0894 49.8551 46.9006C49.8551 46.7119 49.7021 46.5588 49.5133 46.5588C49.3245 46.5588 49.1715 46.7119 49.1715 46.9006C49.1715 47.0894 49.3245 47.2424 49.5133 47.2424Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.4243 47.2398C51.6131 47.2398 51.7661 47.0868 51.7661 46.8981C51.7661 46.7093 51.6131 46.5563 51.4243 46.5563C51.2355 46.5563 51.0825 46.7093 51.0825 46.8981C51.0825 47.0868 51.2355 47.2398 51.4243 47.2398Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.2776 46.5533V46.5545C58.2776 47.0632 58.4729 47.5268 58.7863 47.8631C59.1003 48.2004 59.5327 48.4099 60.0058 48.4099C60.4812 48.4099 60.9129 48.2018 61.2254 47.8659C61.5378 47.5304 61.7319 47.0673 61.7319 46.5565V44.0799L58.2837 44.077L58.2776 46.5533Z\",\n fill: \"#003399\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.0683 45.3608C59.2571 45.3608 59.4101 45.2078 59.4101 45.019C59.4101 44.8303 59.2571 44.6772 59.0683 44.6772C58.8796 44.6772 58.7266 44.8303 58.7266 45.019C58.7266 45.2078 58.8796 45.3608 59.0683 45.3608Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.9814 45.3624C61.1702 45.3624 61.3232 45.2094 61.3232 45.0206C61.3232 44.8319 61.1702 44.6788 60.9814 44.6788C60.7927 44.6788 60.6396 44.8319 60.6396 45.0206C60.6396 45.2094 60.7927 45.3624 60.9814 45.3624Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.0231 46.2809C60.2118 46.2809 60.3648 46.1278 60.3648 45.9391C60.3648 45.7503 60.2118 45.5973 60.0231 45.5973C59.8343 45.5973 59.6813 45.7503 59.6813 45.9391C59.6813 46.1278 59.8343 46.2809 60.0231 46.2809Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.0683 47.2424C59.2571 47.2424 59.4101 47.0894 59.4101 46.9006C59.4101 46.7119 59.2571 46.5588 59.0683 46.5588C58.8796 46.5588 58.7266 46.7119 58.7266 46.9006C58.7266 47.0894 58.8796 47.2424 59.0683 47.2424Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.9794 47.2398C61.1681 47.2398 61.3211 47.0868 61.3211 46.8981C61.3211 46.7093 61.1681 46.5563 60.9794 46.5563C60.7906 46.5563 60.6376 46.7093 60.6376 46.8981C60.6376 47.0868 60.7906 47.2398 60.9794 47.2398Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.5063 52.4838V52.4849C53.5063 52.9936 53.7017 53.4572 54.0151 53.7935C54.329 54.1308 54.7615 54.3403 55.2345 54.3403C55.71 54.3403 56.1416 54.1322 56.4542 53.7963C56.7665 53.4608 56.9607 52.9977 56.9607 52.4869V50.0103L53.5125 50.0074L53.5063 52.4838Z\",\n fill: \"#003399\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.2971 51.2912C54.4859 51.2912 54.6389 51.1382 54.6389 50.9494C54.6389 50.7607 54.4859 50.6077 54.2971 50.6077C54.1083 50.6077 53.9553 50.7607 53.9553 50.9494C53.9553 51.1382 54.1083 51.2912 54.2971 51.2912Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.2102 51.2928C56.3989 51.2928 56.552 51.1398 56.552 50.951C56.552 50.7623 56.3989 50.6093 56.2102 50.6093C56.0214 50.6093 55.8684 50.7623 55.8684 50.951C55.8684 51.1398 56.0214 51.2928 56.2102 51.2928Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.2518 52.2113C55.4406 52.2113 55.5936 52.0583 55.5936 51.8695C55.5936 51.6807 55.4406 51.5277 55.2518 51.5277C55.0631 51.5277 54.91 51.6807 54.91 51.8695C54.91 52.0583 55.0631 52.2113 55.2518 52.2113Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.2971 53.1728C54.4859 53.1728 54.6389 53.0198 54.6389 52.831C54.6389 52.6423 54.4859 52.4893 54.2971 52.4893C54.1083 52.4893 53.9553 52.6423 53.9553 52.831C53.9553 53.0198 54.1083 53.1728 54.2971 53.1728Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.2081 53.1704C56.3969 53.1704 56.5499 53.0174 56.5499 52.8286C56.5499 52.6398 56.3969 52.4868 56.2081 52.4868C56.0194 52.4868 55.8663 52.6398 55.8663 52.8286C55.8663 53.0174 56.0194 53.1704 56.2081 53.1704Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_34179_35117\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138,\n height: 92,\n fill: \"white\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagPt);\nexport default __webpack_public_path__ + \"static/media/Flag_PT.c8e76284b7398cf6343d27ac90225768.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagPy(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59423)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 61.61H139.13V92.42H0.5V61.61Z\",\n fill: \"#253B8F\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 30.8101H139.13V61.6201H0.5V30.8101Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 0H139.13V30.81H0.5V0Z\",\n fill: \"#D01317\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.5301 46.21C81.5301 52.68 76.2901 57.92 69.8201 57.92C63.3501 57.92 58.1101 52.68 58.1101 46.21C58.1101 39.74 63.3501 34.5 69.8201 34.5C76.2901 34.5 81.5301 39.74 81.5301 46.21Z\",\n stroke: \"#101010\",\n strokeWidth: 0.168,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.1102 45.6599C62.3902 44.5299 61.5402 44.6299 60.6502 44.5299L60.5902 45.0699C61.4902 45.1699 61.7502 45.1199 61.7202 45.4099C61.6902 45.6799 61.5202 45.5999 60.5402 45.4999L60.4802 46.0499C61.3102 46.1299 61.9602 46.3299 62.1102 45.6599Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.2603 48.09L61.8603 48.22L62.1103 48.98L61.9103 49.04L61.6803 48.36L61.3203 48.49L61.5403 49.17L61.4003 49.22L61.1603 48.48L60.7803 48.61L61.1903 49.87L62.6803 49.36L62.2603 48.09Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.5403 50.0199L76.2603 50.4899L76.8203 50.8299L77.3003 51.8299L77.6103 51.2999L77.3503 50.8299L77.8903 50.8199L78.2002 50.2899L77.1003 50.3599L76.5403 50.0199Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.1403 47.28L61.5903 47.34C61.5703 47.12 61.5603 46.86 61.3803 46.7C61.1403 46.5 60.4803 46.53 60.5503 47.19L60.6503 48L62.2003 47.82L62.1403 47.28ZM61.1503 47.16C61.1903 47.2 61.2003 47.32 61.2103 47.38L60.9603 47.41L60.9503 47.32C60.9303 47.13 61.0703 47.09 61.1503 47.16Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.3203 42.8399C62.1603 42.7799 62.0003 42.8099 61.8903 42.9399C61.8103 42.6099 61.2803 42.4699 61.1003 42.9999L60.8003 43.8599L62.2803 44.3799C62.5503 43.5999 62.8503 43.0199 62.3203 42.8399ZM61.3403 43.4599C61.3603 43.4099 61.4103 43.2299 61.4603 43.1999C61.5103 43.1799 61.5803 43.1999 61.6003 43.2499C61.6203 43.2999 61.5503 43.4699 61.5303 43.5199L61.3403 43.4599ZM61.8703 43.6499C61.9203 43.5099 61.9603 43.2899 62.0903 43.3399C62.2303 43.3799 62.1203 43.5899 62.0703 43.7199L61.8703 43.6499Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.8902 43.01L77.1402 42.99L77.3002 43.43L77.1002 43.58L77.3002 44.12L78.5702 43.02L78.3802 42.49L76.7102 42.47L76.8902 43.01ZM77.6402 43.17L77.5702 42.97L77.9302 42.95L77.6402 43.17Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.8103 45.8299L78.5003 45.7399L78.4003 44.9399L78.0103 44.9999L78.0503 45.3099L77.9803 45.3199C77.5603 44.7199 78.3503 44.6299 78.5403 44.7499C78.6803 44.8499 78.7203 45.0899 78.5103 45.1999L78.6703 45.7099C79.3003 45.4599 79.1703 44.4399 78.6103 44.2199C77.7703 43.8599 76.9403 44.7999 77.8103 45.8299Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.2103 48.3299L77.4203 48.4799L77.2703 48.9199L77.0103 48.9099L76.8303 49.4599L78.5003 49.4099L78.6903 48.8799L77.4003 47.7999L77.2103 48.3299ZM77.6903 48.9399L77.7603 48.7399L78.0503 48.9599L77.6903 48.9399Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.0903 46.82L79.1503 46.28C78.3303 46.19 77.6803 45.97 77.5203 46.65C77.3003 47.76 77.9403 47.67 78.9803 47.79L79.0403 47.25C78.0803 47.14 77.8803 47.18 77.9103 46.91C77.9403 46.6 78.2103 46.71 79.0903 46.82Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.7903 42.0399L61.8403 41.4599L61.5503 41.9299L62.9003 42.7499L63.5403 41.6599L63.1603 41.4299L62.7903 42.0399Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.3401 37.01L67.6301 37.11L67.8501 38.67L68.5701 38.57C69.5601 38.42 69.3101 36.88 68.3401 37.01ZM68.3201 38.18L68.2201 37.46C68.3201 37.45 68.4401 37.42 68.5201 37.49C68.6201 37.58 68.7101 38.01 68.5701 38.12C68.5201 38.16 68.3901 38.17 68.3201 38.18Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.5403 38.3899L70.8603 38.4899L70.9003 38.0699L70.1103 38.0099L70.1203 37.7999L70.8303 37.8499L70.8603 37.4699L70.1503 37.4099L70.1603 37.2599L70.9303 37.3199L70.9603 36.9099L69.6503 36.8199L69.5403 38.3899Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.7203 50.7199C62.6503 50.5999 62.7403 50.5299 63.0203 50.0499L62.7103 49.5199C62.6203 49.6699 62.3303 50.0699 62.3303 50.2499C62.0103 50.0099 61.3303 50.2699 61.7503 50.9999L62.1603 51.6999L63.5103 50.8899L63.2303 50.4199L62.7203 50.7199ZM62.4103 50.8999L62.2203 51.0099C62.0003 50.6399 62.1603 50.4899 62.4103 50.8999Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.3203 38.0799L65.5003 39.7499L66.0003 39.4899L65.9503 39.2399L66.3603 39.0299L66.5403 39.2199L67.0503 38.9599L65.8103 37.8199L65.3203 38.0799ZM66.0703 38.7299L65.8803 38.8299L65.8203 38.4699L66.0703 38.7299Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.0002 39.1899L74.4802 39.8999L74.8802 40.2999L75.1002 40.1799L75.4302 40.4999L75.3102 40.7299L75.7202 41.1399L76.4002 39.5899L76.0002 39.1899ZM75.4802 39.9699L75.8002 39.7999L75.6302 40.1299L75.4802 39.9699Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.0601 37.13L71.5401 36.98L71.1201 38.5L72.3201 38.85L72.4501 38.42L71.7601 38.22L72.0601 37.13Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.5303 40.4499L63.7203 41.4699L64.0703 41.0499L62.8803 40.0299L62.5303 40.4499Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.6902 38.3L74.0201 37.85L73.1602 39.17L73.6102 39.47L73.9102 39.01C74.8802 39.66 75.2502 38.67 74.6902 38.3ZM74.1301 38.68L74.2602 38.47C74.5702 38.69 74.4401 38.89 74.1301 38.68Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.0501 39.4199L64.5901 39.6199C64.6301 39.6999 64.6701 39.7699 64.6701 39.8699C64.6701 39.9699 64.5301 40.1099 64.3901 40.0799C64.2601 40.0599 64.0301 39.7799 64.0101 39.6399C63.9901 39.4699 64.1601 39.2699 64.4201 39.4399L64.7201 39.0399C64.0801 38.6299 63.5301 39.2499 63.5001 39.6399C63.4701 40.0099 63.8101 40.4299 64.1101 40.5299C64.6801 40.6999 65.3901 40.1399 65.0501 39.4199Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.3303 42.03L76.6603 42.55C76.8003 42.31 77.0203 41.97 77.0103 41.81C77.3103 42.03 78.0303 41.77 77.5603 41.05L77.1303 40.37L75.8103 41.22L76.1003 41.68L76.6103 41.35C76.6803 41.47 76.6003 41.54 76.3303 42.03ZM76.9203 41.15L77.1003 41.03C77.1803 41.15 77.3003 41.3 77.1903 41.37C77.0803 41.45 76.9903 41.26 76.9203 41.15Z\",\n fill: \"#101010\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.62 46.2399C79.62 51.6599 75.23 56.0499 69.81 56.0499C64.39 56.0499 60 51.6599 60 46.2399C60 40.8299 64.39 36.4399 69.81 36.4399C75.23 36.4399 79.62 40.8299 79.62 46.2399Z\",\n stroke: \"#101010\",\n strokeWidth: 0.084,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.11 46.2099C77.11 50.2399 73.84 53.5099 69.81 53.5099C65.78 53.5099 62.51 50.2399 62.51 46.2099C62.51 42.1799 65.78 38.9199 69.81 38.9199C73.85 38.9099 77.11 42.1799 77.11 46.2099Z\",\n stroke: \"#101010\",\n strokeWidth: 0.084,\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.8201 43.58L70.4301 45.33L72.2801 45.37L70.8001 46.49L71.3401 48.27L69.8101 47.21L68.2801 48.27L68.8101 46.49L67.3301 45.37L69.1901 45.33L69.8201 43.58Z\",\n fill: \"#F2D635\",\n stroke: \"#101010\",\n strokeWidth: 0.084,\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.2 52.24C71 52.2 71.39 51.94 71.8 52.05C72.21 52.15 71.74 52.43 71.2 52.24Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.7501 50.24C67.5801 49.97 67.2101 49.47 67.1101 48.63C67.1001 48.52 66.5301 48.9 66.9501 49.75C67.1701 50.2 67.9501 50.64 67.6201 50.5C67.2701 50.35 66.9001 50.25 66.6101 49.38C66.2601 48.35 66.7301 48.66 66.6801 47.15C66.6701 46.98 66.2901 47.55 66.2201 47.78C66.1101 48.15 66.0401 48.53 66.4901 49.48C66.5301 49.56 66.3301 49.41 66.2401 49.18C65.6601 47.64 66.5901 46.13 65.7601 47.33C65.4701 47.75 65.9701 48.83 66.1201 49.19C66.1601 49.29 65.6401 48.31 65.5601 47.98C65.0801 46.01 66.0201 46.34 65.7901 45.14C65.7101 44.74 65.7301 45.04 65.6001 45.36C65.3001 46.07 64.8401 46.21 65.2201 47.36C65.5001 48.22 64.5101 46.63 65.0201 45.65C65.6101 44.52 67.3501 43.65 67.0701 43.68C66.9101 43.7 65.5601 43.73 65.0901 45.14C65.0601 45.22 65.0001 45.19 65.0401 45.1C65.5201 43.93 66.1801 43.55 67.0201 43.05C67.6601 42.66 67.6201 42.26 67.5501 42.31C66.6301 43.01 66.5401 42.06 65.4001 44.02C65.2701 44.24 65.2401 44.15 65.3101 44.01C65.9401 42.6 66.2201 42.88 67.0501 42.28C67.5901 41.89 68.5001 40.96 68.3201 40.95C67.1001 40.92 66.0201 42.87 65.8001 42.94C65.7401 42.96 66.1501 42.48 66.2301 42.3C66.7801 41.14 66.5001 41.27 66.8301 40.89C66.8901 40.82 65.9101 41.06 65.7701 42.54C65.7501 42.72 65.0301 44.25 65.0601 44.05C65.0801 43.93 65.0201 43.08 65.5301 42.06C66.1401 40.86 65.5301 41.75 65.3301 42.01C64.4901 43.1 64.6901 45.91 64.6101 45.74C64.2701 44.96 64.9401 43.12 64.3401 42.29C64.2401 42.16 64.2901 42.33 64.3301 42.55C64.4501 43.22 63.8001 43.56 64.3701 45.91C64.4301 46.16 64.0901 44.86 63.3101 45.14C63.0901 45.22 63.5801 45.2 64.2001 45.93C64.3801 46.15 64.1701 46.66 64.3801 46.88C65.3701 47.89 65.9801 49.22 65.7501 48.91C65.2601 48.26 63.4901 46.07 63.6501 46.55C64.1101 47.96 64.5401 47.56 65.5301 48.89C65.7901 49.24 66.4501 49.73 66.5401 49.96C66.5701 50.02 65.6101 49.22 65.3601 49.05C65.1601 48.92 64.7301 48.72 64.2201 48C64.0701 47.78 64.2501 49.04 65.2201 49.62C65.3801 49.72 66.1001 50.08 67.2001 50.56C67.4401 50.66 65.2901 50.13 64.8401 49.85C64.5401 49.66 65.0801 50.89 66.7301 50.87C67.6301 50.86 67.0101 50.68 69.3201 51.47C69.6101 51.57 70.7901 51.92 71.1501 52.2C71.1501 52.2 71.3701 51.97 71.8901 52.07C71.3801 51.6 68.4201 51.34 67.7501 50.24Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.8601 52.1701C67.7501 52.2701 68.5201 52.3801 68.6701 52.2201C68.7201 52.1601 68.0001 52.0501 67.8601 52.1701Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.3901 48.83C74.3901 48.83 74.7101 48.58 74.9301 48.52C75.7001 48.31 75.6401 47.54 76.0301 46.98C75.5601 47.03 75.5301 47.79 75.0201 48.05C74.5601 48.28 74.5201 48.56 74.3901 48.83Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.89 42.3601C73.77 42.3401 73.65 42.3801 73.36 42.5501C73.03 42.7401 72.53 42.4001 72.26 42.6301C73.01 42.8101 73.18 42.9501 73.66 42.5601C73.79 42.4601 73.89 42.3601 73.89 42.3601Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.77 50.15C73.77 50.15 73.94 50.16 74.15 50.15C74.92 50.13 74.98 49.87 75.53 49.12C75.09 49.12 74.9 49.81 74.43 49.91C74.01 49.99 73.87 50.04 73.77 50.15Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.8401 41.22C72.8001 41.77 73.2201 42.11 73.2001 42.27C72.8701 41.92 72.3901 40.85 71.3701 40.88C71.3201 40.88 71.3001 40.83 71.4401 41.16C71.7701 41.93 72.6701 42.09 73.0101 42.19C73.0501 42.2 73.1401 42.39 73.1201 42.38C72.2301 41.97 71.9601 41.94 71.4801 42.02C71.3801 42.04 71.2801 42.05 71.3101 42.06C71.3301 42.07 71.6501 42.52 73.1701 42.51C73.7201 42.49 74.4401 43.99 74.4601 44.02C74.5001 44.09 74.7001 44.13 74.5301 43.92C74.5001 43.88 73.8301 42.54 73.4301 42.24C73.7401 41.5 73.2701 41.13 73.0901 40.99C72.7001 40.69 72.8801 40.73 72.8401 41.22Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.76 41.11C74.26 41.57 74.26 42.17 74.24 42.61C74.22 43 74.35 43.12 74.09 42.69C73.97 42.49 73.54 41.89 73.7 41.28C73.75 41.12 73.76 41.11 73.76 41.11Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.4901 44.3C72.9201 44.3 72.8201 43.41 72.6101 43.02C72.4201 42.67 72.5901 43.03 73.0801 43.17C73.5401 43.3 73.9701 43.75 74.4701 44.17C74.5901 44.27 74.4901 44.3 74.4901 44.3Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.41 45.99C75.29 45.72 75.24 45.44 74.78 45.21C74.27 44.94 74.24 44.19 73.77 44.14C74.16 44.7 74.1 45.47 74.87 45.68C75.09 45.75 75.41 45.99 75.41 45.99Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.0901 42.7401C73.1301 42.9301 73.4801 42.9901 73.6101 42.7701C73.6901 42.6401 73.5401 42.4301 73.3901 42.3701C73.1601 42.3001 73.0401 42.5401 73.0901 42.7401Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.9901 44.93C74.9901 44.93 75.0901 44.65 75.1801 44.55C75.6201 43.92 75.2101 43.92 75.4301 42.91C75.0401 43.14 75.2501 43.59 75.0201 43.92C74.8301 44.19 75.0101 44.65 74.9901 44.93Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.02 45.31C75.1 44.76 74.58 44.21 74.75 43.89C74.92 43.57 75.33 42.32 74.08 42.03C74 42.01 74.89 43.28 74.57 43.69C74.23 44.12 75.03 42.19 73.04 41.85C73 41.84 73.69 42.49 73.78 42.99C73.86 43.49 74.41 43.76 74.27 43.91C74.21 43.98 73.88 43.23 73.27 42.71C73.27 42.71 73.06 43.65 74.21 44.14C74.21 44.14 74.45 44.12 74.51 44.62C74.54 44.88 74.82 45.5 74.82 45.5L75.02 45.31Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.6001 44.95C74.4601 44.97 74.4001 45.2 74.5601 45.27C74.7401 45.35 74.8202 45.26 74.8302 45.18C74.8702 45.02 74.7501 44.93 74.6001 44.95Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.9702 45.0601C76.1902 45.7101 75.7402 46.2701 75.3902 46.6801C75.0802 47.0401 75.1402 47.2101 75.1702 46.6901C75.1902 46.4501 75.1402 45.7001 75.7802 45.2001C75.9502 45.0701 75.9702 45.0601 75.9702 45.0601Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.9002 46.14C75.3302 46.48 75.3202 46.88 75.1502 46.97C75.2602 46.43 75.9502 45.47 75.1802 44.56C75.1402 44.52 75.1802 44.46 74.9502 44.81C74.4302 45.63 74.7502 46.51 74.9002 46.88C74.9202 46.92 74.8502 47.16 74.8402 47.14C74.4802 46.48 74.7002 45.66 74.1302 45.48C73.8102 45.38 73.9602 45.38 74.0702 45.75C74.3602 46.71 73.9202 46.22 74.6202 47.53C74.3602 47.95 73.1502 49.94 73.1702 49.98C73.2902 50.32 73.8602 49.9 73.9302 49.61C73.9402 49.56 74.7602 47.85 75.0502 47.28C75.1602 47.29 75.2002 47.29 75.3602 47.22C75.9602 46.94 76.2902 46.45 76.2902 46.19C76.3202 45.65 76.4102 45.84 75.9002 46.14Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.0901 47.18C74.9501 47.2 74.8801 47.44 75.0301 47.56C75.1201 47.63 75.2801 47.53 75.3301 47.43C75.4101 47.26 75.2401 47.16 75.0901 47.18Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.4702 43.39C74.3302 43.41 74.2602 43.65 74.4102 43.77C74.5002 43.84 74.6602 43.74 74.7102 43.64C74.7902 43.48 74.6202 43.37 74.4702 43.39Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.71 46.72C74.53 46.74 74.45 47.06 74.63 47.2C74.74 47.29 74.95 47.16 75.02 47.03C75.12 46.83 74.91 46.7 74.71 46.72Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.3402 47.4301C74.6802 48.0201 74.3602 48.6601 74.0902 49.1301C73.8602 49.5501 73.9402 49.7001 73.8702 49.1801C73.8402 48.9401 73.6502 48.2201 74.1702 47.6001C74.3102 47.4401 74.3402 47.4301 74.3402 47.4301Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.1501 47.7001C75.0501 48.4901 74.4701 49.1201 73.9101 49.5001C73.4101 49.8401 73.4201 50.0601 73.6401 49.4401C73.7401 49.1501 74.0101 48.1201 74.9501 47.7101C75.1801 47.6001 75.1501 47.7001 75.1501 47.7001Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.4102 48.79C75.1702 49.01 74.6202 49.82 74.0102 49.95C73.4702 50.07 73.4702 50.27 73.7302 49.79C73.8502 49.56 74.1902 48.72 75.1902 48.72C75.4502 48.71 75.4102 48.79 75.4102 48.79Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.9102 47.6C74.1502 48.2 73.9302 48.94 73.6302 49.51C73.3602 50.01 73.4602 50.16 73.3802 49.61C73.3402 49.36 73.1402 48.5 73.7402 47.72C73.9002 47.51 73.9102 47.6 73.9102 47.6Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.05 51.1C72.86 49.95 72.5 49.62 73.06 49.32C73.62 49.02 73.63 49 73.57 49.21C73.5 49.42 73.56 50.42 72.6 50.86C72.34 50.97 72.05 51.1 72.05 51.1Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.4602 51.14C71.9102 51.14 73.8202 51.22 73.6702 49.81C73.6702 49.77 73.2302 49.81 72.8202 50.12C72.3802 50.45 72.2402 50.93 72.0502 50.85C72.0102 50.84 72.6102 50.48 72.6702 49.51C72.6702 49.51 71.9602 49.53 71.8102 50.8C71.7702 51.1 70.7002 51.23 70.3202 51.3C68.3902 51.63 67.9102 52.14 67.9102 52.14C68.3202 52.05 68.6301 52.25 68.6301 52.25C69.1201 51.87 70.2702 51.61 70.8902 51.51C71.3102 51.44 72.2801 51.34 72.5901 51.4C72.9501 51.47 73.6701 51.26 74.0901 50.43C74.1101 50.35 73.0102 51.14 72.4602 51.14Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.8301 50.07C73.4401 49.94 73.4501 50.34 73.6401 50.49C73.8201 50.64 74.3101 50.23 73.8301 50.07Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.3401 49.1501C73.5201 48.8301 73.1701 48.7801 73.0101 48.9101C72.8501 49.0501 73.1101 49.5401 73.3401 49.1501Z\",\n fill: \"#52AB32\",\n stroke: \"#101010\",\n strokeWidth: 0.042,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59423\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagPy);\nexport default __webpack_public_path__ + \"static/media/Flag_PY.e38500cec790bde71d203b2822f00917.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagSe(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59557)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V92.42H139.13V0Z\",\n fill: \"#3855A2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 36.22H0.5V56.2H139.13V36.22Z\",\n fill: \"#F8EA3B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.57 0H38.25V92.42H58.57V0Z\",\n fill: \"#F8EA3B\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59557\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagSe);\nexport default __webpack_public_path__ + \"static/media/Flag_SE.739e4b6cd6f9e4b7d9888ee624b16f9e.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagUa(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 140 93\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_26626_59499)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V92.42H139.13V0Z\",\n fill: \"#F4D934\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.13 0H0.5V46.21H139.13V0Z\",\n fill: \"#3853A1\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_26626_59499\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 138.63,\n height: 92.42,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagUa);\nexport default __webpack_public_path__ + \"static/media/Flag_UA.89e95b5f7f002e8426e614b7dcb930bf.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFlagZh(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lag_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 900 600\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .cls-1 {\\n fill: #ee1c25;\\n }\\n\\n .cls-2 {\\n fill: #ff0;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Lag_1-2\",\n \"data-name\": \"Lag_1\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Lag_1-2\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M0,0h900v600H0V0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"a\",\n className: \"cls-2\",\n d: \"M150,60l52.9,162.8L64.4,122.2h171.2l-138.5,100.6,52.9-162.8h0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"a-2\",\n className: \"cls-2\",\n d: \"M311.7,32.4l-5,56.8-29.4-48.9,52.5,22.3-55.6,12.8s37.5-43,37.5-43Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"a-3\",\n className: \"cls-2\",\n d: \"M381.5,99.1l-26.7,50.4-8.1-56.5,39.7,41-56.2-9.8,51.2-25.1h.1Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"a-4\",\n className: \"cls-2\",\n d: \"M388.2,199.7l-44.9,35.2,15.7-54.9,19.6,53.6-47.3-31.9,57-2h-.1Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"a-5\",\n className: \"cls-2\",\n d: \"M310.6,241.9l-2.6,57-31.4-47.7,53.4,20.1-55,15.1,35.6-44.6h0v.1Z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagZh);\nexport default __webpack_public_path__ + \"static/media/Flag_ZH.f9608f23a80a78d4775cf0873d57c645.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\n// Import flags\nimport { ReactComponent as FlagUnknown } from \"@danishagro/shared/src/assets/svg/flags/unknown.svg\";\nimport { ReactComponent as FlagBG } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_BG.svg\";\nimport { ReactComponent as FlagBR } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_BR.svg\";\nimport { ReactComponent as FlagCN } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_CN.svg\";\nimport { ReactComponent as FlagCZ } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_CZ.svg\";\nimport { ReactComponent as FlagDE } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_DE.svg\";\nimport { ReactComponent as FlagDK } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_DK.svg\";\nimport { ReactComponent as FlagEE } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_EE.svg\";\nimport { ReactComponent as FlagEN } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_EN.svg\";\nimport { ReactComponent as FlagES } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_ES.svg\";\nimport { ReactComponent as FlagFI } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_FI.svg\";\nimport { ReactComponent as FlagFR } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_FR.svg\";\nimport { ReactComponent as FlagHU } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_HU.svg\";\nimport { ReactComponent as FlagLT } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_LT.svg\";\nimport { ReactComponent as FlagLV } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_LV.svg\";\nimport { ReactComponent as FlagNO } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_NO.svg\";\nimport { ReactComponent as FlagPL } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_PL.svg\";\nimport { ReactComponent as FlagPT } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_PT.svg\";\nimport { ReactComponent as FlagPY } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_PY.svg\";\nimport { ReactComponent as FlagSE } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_SE.svg\";\nimport { ReactComponent as FlagUA } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_UA.svg\";\nimport { ReactComponent as FlagZH } from \"@danishagro/shared/src/assets/svg/flags/flagsFromRecivedFromDA/Flag_ZH.svg\";\n// ... other flag imports\n\nexport const getFlagComponent = (cultureCode: string) => {\n switch (cultureCode) {\n case \"bg-bg\":\n return <FlagBG />;\n case \"pt-br\":\n return <FlagBR />;\n case \"zh-cn\":\n return <FlagCN />;\n case \"cs-cz\":\n return <FlagCZ />;\n case \"de-de\":\n return <FlagDE />;\n case \"da-dk\":\n return <FlagDK />;\n case \"et-ee\":\n return <FlagEE />;\n case \"en-gb\":\n return <FlagEN />;\n case \"es-es\":\n return <FlagES />;\n case \"fi-fi\":\n return <FlagFI />;\n case \"fr-fr\":\n return <FlagFR />;\n case \"hu-hu\":\n return <FlagHU />;\n case \"lt-lt\":\n return <FlagLT />;\n case \"lv-lv\":\n return <FlagLV />;\n case \"nb-no\":\n return <FlagNO />;\n case \"pl-pl\":\n return <FlagPL />;\n case \"pt-pt\":\n return <FlagPT />;\n case \"es-py\":\n return <FlagPY />;\n case \"sv-se\":\n return <FlagSE />;\n case \"uk-ua\":\n return <FlagUA />;\n case \"zh\":\n return <FlagZH />;\n default:\n return <FlagUnknown />;\n }\n};\n","import { isDevMode } from \"@danishagro/shared/src/helpers/isDevMode.helper\";\nimport { isAbsoluteUrl } from \"@danishagro/shared/src/helpers/isAbsoluteUrl.helper\";\nimport {\n CMS_API_ROOT,\n CMS_CDN_ROOT,\n ECOM_API_ROOT,\n} from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { GET_CMS_SITE_ORIGIN } from \"@danishagro/shared/src/helpers/urlRoot.helper\";\n\nexport const getAbsoluteUrl = (\n pathname: string,\n platform: \"SPA\" | \"UMBRACO\" = \"SPA\",\n parameters?: { [name: string]: string }\n) => {\n let url: URL;\n\n // No link given\n if (!pathname) {\n return;\n }\n\n // If light website (no cdn root) but has CDN wildcard\n else if (!ECOM_API_ROOT && pathname.indexOf(\"{CDNURL}\") > -1) {\n return pathname.replace(\"{CDNURL}\", `${ECOM_API_ROOT}/media/`);\n }\n\n // If light website and has cdn\n else if (ECOM_API_ROOT && pathname.indexOf(\"{CDNURL}\") > -1) {\n const replacedPathname = pathname.replace(\"{CDNURL}\", \"\");\n url = new URL(replacedPathname, `${ECOM_API_ROOT}/media/`);\n }\n\n // If light website (no cdn root) but has CDN wildcard\n else if (!CMS_CDN_ROOT && pathname.indexOf(\"{CDNURL}\") > -1) {\n return pathname.replace(\"{CDNURL}\", `${CMS_API_ROOT}/media/`);\n }\n\n // If light website and has cdn\n else if (CMS_CDN_ROOT && pathname.indexOf(\"{CDNURL}\") > -1) {\n const replacedPathname = pathname.replace(\"{CDNURL}\", \"\");\n url = new URL(replacedPathname, CMS_CDN_ROOT);\n }\n\n // Already is absolute\n else if (pathname && isAbsoluteUrl(pathname)) {\n url = new URL(pathname);\n }\n\n // Has /media/ in the url\n else if (pathname && pathname.indexOf(\"/media/\") >= 0) {\n url = new URL(pathname, CMS_API_ROOT);\n }\n\n // Dev Environment (umbraco routes)\n else if (platform === \"UMBRACO\" && isDevMode) {\n url = new URL(pathname, CMS_API_ROOT);\n }\n\n // Dev Environment (spa routes)\n else if (platform === \"SPA\" && isDevMode) {\n url = new URL(pathname, GET_CMS_SITE_ORIGIN(\"ABSOLUTE\"));\n }\n\n // Production Environment (umbraco routes)\n else if (platform === \"UMBRACO\") {\n url = new URL(pathname, GET_CMS_SITE_ORIGIN(\"ABSOLUTE\"));\n }\n\n // Production Environment (spa routes)\n else if (platform === \"SPA\" && GET_CMS_SITE_ORIGIN(\"ABSOLUTE\")) {\n url = new URL(pathname, GET_CMS_SITE_ORIGIN(\"ABSOLUTE\"));\n }\n\n // Anything else\n else {\n url = new URL(pathname, window.location.origin);\n }\n\n // Extra Params\n\n if (parameters) {\n for (const key in parameters) {\n url.searchParams.append(key, parameters[key]);\n }\n }\n\n return url.toString();\n};\n","import { useState, useEffect, useRef, useCallback } from \"react\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport Cookies from \"js-cookie\";\nimport { getAbsoluteUrl } from \"./getAbsolutePath.hook\";\n\nexport const useLanguageSelector = () => {\n const [currentLanguage, setCurrentLanguage] = useState<string | null>(null);\n const [isDropdownOpen, setDropdownOpen] = useState(false);\n const navigate = useNavigate();\n const dropdownRef = useRef(null);\n const location = useLocation();\n\n // Constants\n const COOKIE_EXPIRE_DAYS = 90;\n const { languageSelectorCultures } = globalThis.siteSettingsObj;\n const allowedPaths = languageSelectorCultures.map((culture) => culture.path);\n\n const navigateToPathBasedOnCulture = (cultureAlias: string) => {\n const selectedCulture = languageSelectorCultures.find(\n (culture) => culture.culture === cultureAlias\n );\n if (selectedCulture) navigate(selectedCulture.path);\n if (selectedCulture && location.pathname !== selectedCulture.path) {\n // Set a timeout for 0.3 seconds before reloading the page\n setTimeout(() => {\n window.location.reload();\n }, 100);\n }\n };\n\n // Fetch items based on location and set cookies accordingly\n const fetchItems = useCallback(async () => {\n const cultureCode = globalThis?.cultures[0]?.alias;\n\n try {\n const url = getAbsoluteUrl(`GetLocationFromIp`, \"SPA\", {\n rootNodeId: globalThis.rootNodeId,\n });\n const request = await fetch(`${url}&cultureCode=${cultureCode}`);\n\n const location = await request.text();\n\n const matchedCulture = languageSelectorCultures.find((culture) =>\n culture.culture.includes(location)\n )?.culture;\n\n if (matchedCulture && !Cookies.get(\"language\")) {\n setCurrentLanguage(matchedCulture);\n Cookies.set(\"language\", matchedCulture, { expires: COOKIE_EXPIRE_DAYS });\n }\n } catch (error) {\n console.error(\"Error in fetchItems:\", error.message);\n }\n\n const cookieLanguage = Cookies.get(\"language\");\n\n // Set language based on cookies or default to active culture\n if (cookieLanguage && allowedPaths.includes(window.location.pathname)) {\n setCurrentLanguage(cookieLanguage);\n navigateToPathBasedOnCulture(cookieLanguage);\n } else {\n const activeCulture = globalThis.cultures.find((culture) => culture.active)?.alias;\n setCurrentLanguage(activeCulture);\n Cookies.set(\"language\", activeCulture || \"defaultLanguage\", {\n expires: COOKIE_EXPIRE_DAYS,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [languageSelectorCultures]);\n\n // Effect to handle fetching, setting cookie, and other lifecycle tasks\n useEffect(() => {\n const cookieLanguage = Cookies.get(\"language\");\n\n if (!cookieLanguage) fetchItems();\n else if (allowedPaths.includes(window.location.pathname)) {\n setCurrentLanguage(cookieLanguage);\n navigateToPathBasedOnCulture(cookieLanguage);\n } else {\n const activeCulture = globalThis.cultures.find((culture) => culture.active)?.alias;\n setCurrentLanguage(activeCulture);\n Cookies.set(\"language\", activeCulture || \"defaultLanguage\", {\n expires: COOKIE_EXPIRE_DAYS,\n });\n }\n\n // Event handler for outside clicks to close the dropdown\n const handleOutsideClick = (event) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setDropdownOpen(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleOutsideClick);\n\n // Clean up the event listener on component unmount\n return () => {\n document.removeEventListener(\"mousedown\", handleOutsideClick);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fetchItems]);\n\n // Handle language change from dropdown\n const handleLanguageChange = (selectedCultureAlias: string) => {\n const selectedCulture = languageSelectorCultures.find(\n (culture) => culture.culture === selectedCultureAlias\n );\n if (selectedCulture) {\n navigate(selectedCulture.path);\n setCurrentLanguage(selectedCultureAlias);\n Cookies.set(\"language\", selectedCultureAlias, { expires: COOKIE_EXPIRE_DAYS });\n // Set a timeout for 0.3 seconds before reloading the page\n setTimeout(() => {\n window.location.reload();\n }, 300);\n }\n setDropdownOpen(false);\n };\n\n return {\n dropdownRef,\n currentLanguage,\n isDropdownOpen,\n setDropdownOpen,\n handleLanguageChange,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"languageSelector\":\"LanguageSelector_languageSelector__73FxR\",\"more\":\"LanguageSelector_more__LTzMO\",\"currentLanguage\":\"LanguageSelector_currentLanguage__yTeRK\",\"dropdown\":\"LanguageSelector_dropdown__GSbnD\",\"option\":\"LanguageSelector_option__rAzsU\",\"active\":\"LanguageSelector_active__2mgoY\",\"flagMobile\":\"LanguageSelector_flagMobile__oIqmh\",\"languageName\":\"LanguageSelector_languageName__pAqcw\"};","// DA_LanguageSelector.tsx\nimport React from \"react\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { useScreen } from \"@danishagro/shared/src/contexts/screen.context\";\nimport { getFlagComponent } from \"./flagsList\";\nimport { useLanguageSelector } from \"./hooks/useLanguageSelector.hook\";\nimport { LanguageSelectorCultureProps } from \"./LanguageSelector.interface\";\nimport S from \"./LanguageSelector.module.scss\";\n\ntype DA_LanguageSelectorProps = {\n showLanguageName?: boolean;\n showDropDownArrow?: boolean;\n};\n\nexport const DA_LanguageSelector = ({\n showLanguageName = false,\n showDropDownArrow = false,\n}: DA_LanguageSelectorProps) => {\n const { currentLanguage, isDropdownOpen, setDropdownOpen, handleLanguageChange, dropdownRef } =\n useLanguageSelector();\n\n const { getDictionaryString } = useTranslations();\n const { isMobile } = useScreen();\n\n // Sort the cultures list\n const sortedCultures = React.useMemo(() => {\n const otherCultures = globalThis.siteSettingsObj.languageSelectorCultures\n .filter((culture) => culture.culture !== currentLanguage)\n // Sort other cultures alphabetically\n .sort((a, b) => a.culture.localeCompare(b.culture));\n\n const currentCulture = globalThis.siteSettingsObj.languageSelectorCultures.find(\n (culture) => culture.culture === currentLanguage\n );\n\n return currentCulture ? [currentCulture, ...otherCultures] : otherCultures;\n }, [currentLanguage]);\n\n return (\n <button\n ref={dropdownRef}\n className={S.languageSelector}\n onClick={() => setDropdownOpen(!isDropdownOpen)}\n >\n <div className={S.currentLanguage}>\n <span className={S.flagMobile}>\n {currentLanguage && getFlagComponent(currentLanguage)}\n </span>\n {showLanguageName && (\n <span className={S.languageName}>\n {getDictionaryString(`LanguageSelector.${currentLanguage}-language`)}\n </span>\n )}\n </div>\n {showDropDownArrow &&\n (!isDropdownOpen ? (\n <DA_Icon name={DA_IconNames.ChevronSmallDown} className={S.more} />\n ) : (\n <DA_Icon name={DA_IconNames.ChevronSmallUp} className={S.more} />\n ))}\n\n {isDropdownOpen && (\n <div className={S.dropdown}>\n {sortedCultures.map(\n (culture: LanguageSelectorCultureProps) =>\n // skip rendering the current language's option on mobile\n !(isMobile && currentLanguage === culture.culture) && (\n <div\n key={culture.culture}\n onClick={() => handleLanguageChange(culture.culture)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \")\n handleLanguageChange(culture.culture);\n }}\n className={`${S.option} ${\n currentLanguage === culture.culture ? S.active : \"\"\n }`}\n tabIndex={0}\n role=\"button\"\n >\n {getFlagComponent(culture.culture)}\n\n <span\n className={cn(\n S.languageName,\n currentLanguage === culture.culture ? S.active : \"\"\n )}\n >\n {getDictionaryString(\n `LanguageSelector.${culture.culture}-language`\n )}\n </span>\n </div>\n )\n )}\n </div>\n )}\n </button>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Menu_wrapper__EXeXQ\",\"menu\":\"Menu_menu__n0Ajc\",\"section\":\"Menu_section__M46cr\",\"header\":\"Menu_header__bHpej\",\"item\":\"Menu_item__9ar2Q\",\"link\":\"Menu_link__T9hx4\",\"isActive\":\"Menu_isActive__iMGPt\",\"button\":\"Menu_button__9EaS0\",\"arrow\":\"Menu_arrow__eUtxs\",\"backButton\":\"Menu_backButton__FBlXJ\",\"titleWrapper\":\"Menu_titleWrapper__yEEHR\",\"forwardLink\":\"Menu_forwardLink__V6QQQ\",\"forwardIcon\":\"Menu_forwardIcon__mlRNl\",\"customerServiceLinks\":\"Menu_customerServiceLinks__c8qah\",\"customerServiceLink\":\"Menu_customerServiceLink__EBFiu\",\"bottomLinks\":\"Menu_bottomLinks__U5jO5\",\"linkItem\":\"Menu_linkItem__xsGjt\"};","import React, { useEffect, useRef, useState } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_BasicLink } from \"@danishagro/shared/src/components/atoms/BasicLink/BasicLink.component\";\nimport { DA_ButtonLink } from \"@danishagro/shared/src/components/atoms/ButtonLink/ButtonLink.component\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { DA_NavigationPage } from \"@danishagro/shared/src/interfaces/navigationPage.interface\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { useLocation } from \"react-router-dom\";\nimport { useSiteHeader } from \"@danishagro/shared/src/contexts/siteHeader.context\";\nimport { adjustUrl } from \"@danishagro/shared/src/helpers/adjustUrl.helper\";\nimport { useTranslations } from \"../../../../../../contexts/translations/translations.context\";\nimport { recursiveCheckCurrentPathMobile } from \"../../helpers/recursiveCheckCurrentPathMobile.helper\";\nimport { DA_LanguageSelector } from \"../../../LanguageSelector/LanguageSelector.component\";\nimport { MenuProps } from \"./Menu.props\";\nimport S from \"./Menu.module.scss\";\n\nexport const Menu = (props: MenuProps) => {\n const { currentSite } = useAppData();\n const { getDictionaryString } = useTranslations();\n const { toggleMobileNav } = useSiteHeader();\n const { pathname } = useLocation();\n\n const [activeItems, setActiveItems] = useState<DA_NavigationPage[]>([]);\n const menuElementRef = useRef<HTMLDivElement>();\n\n const onBackButtonClicked = (level: number) => {\n setActiveItems((x) => {\n const tmpActiveItems = [...x];\n\n tmpActiveItems.splice(level - 1);\n\n return tmpActiveItems;\n });\n };\n\n const onLinkClicked = (link: DA_NavigationPage, level: number) => {\n setActiveItems((x) => {\n const tmpActiveItems = [...x];\n\n tmpActiveItems.splice(level - 1);\n tmpActiveItems.push(link);\n\n return tmpActiveItems;\n });\n };\n\n // Update - Scroll to the farthest right\n\n useEffect(() => {\n setTimeout(() => {\n if (menuElementRef.current) {\n menuElementRef.current.scrollTo({\n top: 0,\n left: menuElementRef.current.scrollWidth ?? 0,\n behavior: \"smooth\",\n });\n }\n }, 100);\n }, [activeItems]);\n\n // Init\n\n useEffect(() => {\n if (currentSite !== \"B2B\") {\n const initialActiveItems = props.menuItems.reduce(recursiveCheckCurrentPathMobile, []);\n setActiveItems(initialActiveItems);\n }\n }, [props.menuItems, pathname, currentSite]);\n\n return (\n <div className={S.wrapper}>\n <div className={S.menu} ref={menuElementRef}>\n {/** First Level */}\n <div className={S.section}>\n <DA_Container>\n {/** Items */}\n {props.menuItems\n ?.filter((x: DA_NavigationPage) => !x.hideInNavigation)\n .map((item, index) => {\n const currentActiveItem = activeItems?.[0];\n const isActiveClass =\n currentActiveItem && item.path === currentActiveItem?.path\n ? S.isActive\n : undefined;\n const hasChildren = !!item.children?.filter(\n (x) => !x.hideInNavigation\n )?.[0];\n\n return (\n <div className={cn(S.item, isActiveClass)} key={index}>\n {hasChildren && currentSite !== \"B2B\" ? (\n <button\n className={S.button}\n onClick={() => onLinkClicked(item, 1)}\n >\n <span>{item.name}</span>\n <DA_Icon\n name={DA_IconNames.ChevronRight}\n className={S.arrow}\n />\n </button>\n ) : (\n <DA_BasicLink\n target={item.url ? \"_blank\" : \"_self\"}\n href={adjustUrl(item.url || item.path)}\n onClick={toggleMobileNav}\n className={cn(S.link)}\n >\n {item.name}\n </DA_BasicLink>\n )}\n </div>\n );\n })}\n\n {/** Customer Service */}\n <div className={S.customerServiceLinks}>\n {props?.customerServiceLinks?.map((item, index) => (\n <div key={index}>\n <DA_BasicLink\n target=\"_self\"\n href={item.href}\n onClick={toggleMobileNav}\n className={S.customerServiceLink}\n >\n {item.title}\n </DA_BasicLink>\n </div>\n ))}\n {globalThis.siteSettingsObj?.showLanguageSelector && (\n <DA_LanguageSelector\n showLanguageName={true}\n showDropDownArrow={true}\n />\n )}\n </div>\n </DA_Container>\n </div>\n\n {/** Sub Levels */}\n {activeItems\n .filter((activeItem) =>\n activeItem.children?.some((item) => !item.hideInNavigation)\n ) // Only show activeItems that have at least one visible child\n .map((activeItem, index) => {\n const disableDirectLinkFirstSubLevel =\n currentSite === \"MYFARM\" && index === 0 && !activeItem.url;\n\n return (\n <div key={index} className={S.section}>\n <DA_Container>\n {/** Header */}\n <div className={S.header}>\n {/** Back Button */}\n <DA_ButtonLink\n className={S.backButton}\n onClick={() => onBackButtonClicked(index + 1)}\n title={getDictionaryString(\"back\")}\n icon={DA_IconNames.ChevronLeft}\n />\n\n {activeItem.path && !disableDirectLinkFirstSubLevel ? (\n /** Forward Link */\n <DA_BasicLink\n target=\"_self\"\n className={S.forwardLink}\n onClick={toggleMobileNav}\n href={activeItem.path}\n >\n <DA_Title h4 noMargin>\n {activeItem.name}\n </DA_Title>\n <DA_Icon\n className={S.forwardIcon}\n name={DA_IconNames.ArrowRight}\n />\n </DA_BasicLink>\n ) : (\n /** Just Title */\n <div className={S.titleWrapper}>\n <DA_Title h4>{activeItem.name}</DA_Title>\n </div>\n )}\n </div>\n\n {/** Items */}\n {activeItem.children\n .filter((item) => !item.hideInNavigation) // Filter out items with hideInNavigation: true\n .map((item, childIndex) => {\n const currentActiveItem = activeItems?.[index + 1];\n const isActiveClass =\n (currentActiveItem &&\n item.path === currentActiveItem?.path) ||\n item.path === window.location.pathname\n ? S.isActive\n : undefined;\n const hasChildren = !!item.children?.filter(\n (x) => !x.hideInNavigation\n )?.[0];\n\n return (\n <div\n className={cn(S.item, isActiveClass)}\n key={childIndex}\n >\n {hasChildren ? (\n <button\n className={S.button}\n onClick={() =>\n onLinkClicked(item, index + 2)\n }\n >\n <span>{item.name}</span>\n <DA_Icon\n name={DA_IconNames.ChevronRight}\n className={S.arrow}\n />\n </button>\n ) : (\n <DA_BasicLink\n target={item.url ? \"_blank\" : \"_self\"}\n onClick={toggleMobileNav}\n href={item.url || item.path}\n className={cn(S.link)}\n >\n {item.name}\n </DA_BasicLink>\n )}\n </div>\n );\n })}\n\n {/** Customer Service */}\n <div className={S.customerServiceLinks}>\n {props?.customerServiceLinks?.map((item, index) => (\n <div key={index}>\n <DA_BasicLink\n target=\"_self\"\n href={item.href}\n onClick={toggleMobileNav}\n className={S.customerServiceLink}\n >\n {item.title}\n </DA_BasicLink>\n </div>\n ))}\n </div>\n </DA_Container>\n </div>\n );\n })}\n </div>\n\n {/* Universal menu bottom links */}\n {Array.isArray(globalThis?.universalMenuArr) && (\n <ul className={S.bottomLinks}>\n {globalThis?.universalMenuArr?.map((menu, index) => {\n return (\n <li key={index} className={S.linkItem}>\n <a\n href={menu.url}\n target={menu.target || \"_self\"}\n className={S.link}\n >\n <span>{menu.name}</span>\n <span>{getDictionaryString(\"goto\")}</span>\n </a>\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Tabs_wrapper__v9oH8\",\"inner\":\"Tabs_inner__app9V\",\"tabButton\":\"Tabs_tabButton__J4AyQ\",\"isActive\":\"Tabs_isActive__zFHsh\"};","import React, { MouseEvent } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport {\n B2B_SITE_ORIGIN,\n CMS_SITE_ORIGIN,\n MYFARM_SITE_ORIGIN,\n} from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport S from \"./Tabs.module.scss\";\n\nexport const Tabs = () => {\n const { currentSite, showOnlyUniversalMenu } = useAppData();\n const cmsActiveClass = currentSite === \"CMS\" ? S.isActive : undefined;\n const b2bActiveClass = currentSite === \"B2B\" ? S.isActive : undefined;\n const myfarmActiveClass = currentSite === \"MYFARM\" ? S.isActive : undefined;\n\n const onTabClicked = (event: MouseEvent<HTMLButtonElement>, origin: string) => {\n event?.preventDefault();\n\n window.location.href = `${origin}/`;\n };\n\n return (\n <>\n {!showOnlyUniversalMenu && (\n <div className={S.wrapper}>\n <div className={S.inner}>\n <button\n className={cn(S.tabButton, cmsActiveClass)}\n onClick={(event) => onTabClicked(event, CMS_SITE_ORIGIN)}\n >\n Viden & Værdi\n </button>\n <button\n className={cn(S.tabButton, b2bActiveClass)}\n onClick={(event) => onTabClicked(event, B2B_SITE_ORIGIN)}\n >\n Webshop\n </button>\n <button\n className={cn(S.tabButton, myfarmActiveClass)}\n onClick={(event) => onTabClicked(event, MYFARM_SITE_ORIGIN)}\n >\n Mit Landbrug\n </button>\n </div>\n </div>\n )}\n </>\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport {\n DA_NavigationPage,\n DA_NavigationPageSimple,\n} from \"../../../../../interfaces/navigationPage.interface\";\nimport { softHyphenate } from \"../../../../../helpers/softHyphenate.helper\";\nimport { useAppData } from \"../../../../../contexts/appData.context\";\n\nexport const useMyFarm = (pageTree: DA_NavigationPage[] | DA_NavigationPageSimple[]) => {\n const { currentSite } = useAppData();\n\n const [myfarmNavigation, setMyfarmNavigation] = useState<DA_NavigationPage[]>([]);\n\n const mapMyfarmNavigationPageUrls = useCallback(\n (pageArray: DA_NavigationPage[], parent = \"\"): DA_NavigationPage[] => {\n const pages = [];\n\n (pageArray || []).map((item) => {\n const path = [parent, item.page].join(\"/\");\n\n const tmpPage: DA_NavigationPage = {\n alias: item.alias,\n children: [],\n hideInNavigation: item.hideInNavigation,\n modules: item.modules,\n name: softHyphenate(item.name),\n page: undefined,\n path: path,\n url: item.url,\n };\n\n if (item.children && item.children.length) {\n tmpPage.children.push(...mapMyfarmNavigationPageUrls(item.children, path));\n }\n\n pages.push(tmpPage);\n });\n\n return pages;\n },\n []\n );\n\n // Init\n\n useEffect(() => {\n if (currentSite !== \"MYFARM\") return;\n\n if (pageTree) {\n // Mapping data to absolute urls\n const pages = mapMyfarmNavigationPageUrls(pageTree as DA_NavigationPage[]);\n setMyfarmNavigation(pages);\n }\n }, [mapMyfarmNavigationPageUrls, currentSite, pageTree]);\n\n return {\n myfarmNavigation,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"NavigationMobile_wrapper__6JohS\",\"isOpen\":\"NavigationMobile_isOpen__N7o1s\",\"inner\":\"NavigationMobile_inner__Kkdz5\",\"container\":\"NavigationMobile_container__2oZIN\",\"button\":\"NavigationMobile_button__2wh+8\",\"customerServiceLinks\":\"NavigationMobile_customerServiceLinks__LB-oU\",\"customerServiceLink\":\"NavigationMobile_customerServiceLink__ZuXgR\"};","import React, { useMemo, useRef } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { getLoginLink } from \"@danishagro/shared/src/helpers/getLoginLink.helper\";\nimport { useTranslations } from \"../../../../contexts/translations/translations.context\";\nimport { DA_Button } from \"../../../atoms/Button/Button.component\";\nimport { DA_Text } from \"../../../atoms/Text/Text.component\";\nimport { DA_Container } from \"../../../atoms/Container/Container.component\";\nimport { DA_BasicLink } from \"../../../atoms/BasicLink/BasicLink.component\";\nimport { useSiteHeader } from \"../../../../contexts/siteHeader.context\";\nimport { useAppData } from \"../../../../contexts/appData.context\";\nimport { Menu } from \"./components/Menu/Menu.component\";\nimport { Tabs } from \"./components/Tabs/Tabs.component\";\nimport { DA_NavigationMobileProps } from \"./NavigationMobile.props\";\nimport { useWebshop } from \"./hooks/useWebshop.hook\";\nimport { useMyFarm } from \"./hooks/useMyfarm.hook\";\nimport { useCms } from \"./hooks/useCms.hook\";\nimport S from \"./NavigationMobile.module.scss\";\n\nexport const DA_NavigationMobile = (props: DA_NavigationMobileProps) => {\n const { currentSite } = useAppData();\n const { getDictionaryString } = useTranslations();\n const { toggleMobileNav, pageTree } = useSiteHeader();\n\n const { webshopNavigation } = useWebshop(pageTree);\n const { myfarmNavigation } = useMyFarm(pageTree);\n const { cmsNavigation } = useCms(pageTree);\n\n const navigationRef = useRef<HTMLDivElement>();\n\n const currentNavigationData = useMemo(() => {\n if (currentSite === \"B2B\") {\n return webshopNavigation;\n } else if (currentSite === \"MYFARM\") {\n return myfarmNavigation;\n } else if (currentSite === \"CMS\") {\n return cmsNavigation;\n }\n }, [currentSite, webshopNavigation, myfarmNavigation, cmsNavigation]);\n\n const isOpenClass = props.isOpen && S.isOpen;\n\n return ReactDOM.createPortal(\n <div className={cn(S.wrapper, isOpenClass)}>\n <div className={S.inner} ref={navigationRef}>\n {globalThis.apiGatewayUrl ? <Tabs /> : null}\n\n {currentSite === \"B2B\" ||\n currentSite === \"CMS\" ||\n (globalThis.isAuthenticated && currentSite === \"MYFARM\") ? (\n <Menu\n menuItems={currentNavigationData}\n customerServiceLinks={props.customerServiceLinks}\n navigationRef={navigationRef}\n />\n ) : null}\n\n {!globalThis.isAuthenticated && currentSite === \"MYFARM\" ? (\n <DA_Container className={S.container}>\n <div>\n <DA_Text noPadding>\n {getDictionaryString(\"log in to see myfarm\")}\n </DA_Text>\n\n <DA_Button\n className={S.button}\n onClick={toggleMobileNav}\n href={getLoginLink(currentSite)}\n title={getDictionaryString(\"logIn\")}\n />\n </div>\n\n {/** Customer Service */}\n <div className={S.customerServiceLinks}>\n {props?.customerServiceLinks?.map((item, index) => (\n <div key={index}>\n <DA_BasicLink\n target=\"_self\"\n href={item.href}\n onClick={toggleMobileNav}\n className={S.customerServiceLink}\n >\n {item.title}\n </DA_BasicLink>\n </div>\n ))}\n </div>\n </DA_Container>\n ) : null}\n </div>\n </div>,\n document.body\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { useAppData } from \"../../../../../contexts/appData.context\";\nimport {\n DA_NavigationPage,\n DA_NavigationPageSimple,\n} from \"../../../../../interfaces/navigationPage.interface\";\n\nexport const useWebshop = (pageTree: DA_NavigationPage[] | DA_NavigationPageSimple[]) => {\n const { currentSite } = useAppData();\n\n const [webshopNavigation, setWebshopNavigation] = useState<DA_NavigationPage[]>([]);\n\n const mapNavigationPageUrls = useCallback(\n (pageArray: DA_NavigationPage[]): DA_NavigationPage[] => {\n const pages = [];\n\n (pageArray || []).map((item) => {\n const tmpPage: DA_NavigationPage = {\n ...item,\n path: `${item.path}`.replace(/^\\/+/, \"/\"),\n children: [],\n };\n\n if (item.children && item.children.length) {\n tmpPage.children.push(...mapNavigationPageUrls(item.children));\n }\n\n pages.push(tmpPage);\n });\n\n return pages;\n },\n []\n );\n\n // Init\n\n useEffect(() => {\n if (currentSite !== \"B2B\") return;\n\n if (pageTree) {\n // Mapping data to absolute urls\n const pages = mapNavigationPageUrls(pageTree as DA_NavigationPage[]);\n setWebshopNavigation(pages);\n }\n }, [mapNavigationPageUrls, currentSite, pageTree]);\n\n return {\n webshopNavigation,\n };\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { useAppData } from \"../../../../../contexts/appData.context\";\nimport {\n DA_NavigationPage,\n DA_NavigationPageSimple,\n} from \"../../../../../interfaces/navigationPage.interface\";\n\nexport const useCms = (pageTree: DA_NavigationPage[] | DA_NavigationPageSimple[]) => {\n const { currentSite } = useAppData();\n\n const [cmsNavigation, setCmsNavigation] = useState<DA_NavigationPage[]>([]);\n\n const mapNavigationPageUrls = useCallback(\n (pageArray: DA_NavigationPage[]): DA_NavigationPage[] => {\n const pages = [];\n\n (pageArray || []).map((item) => {\n const tmpPage: DA_NavigationPage = {\n ...item,\n path: item.url || item.path,\n children: [],\n };\n\n if (item.children && item.children.length) {\n tmpPage.children.push(...mapNavigationPageUrls(item.children));\n }\n\n pages.push(tmpPage);\n });\n\n return pages;\n },\n []\n );\n\n // Init\n\n useEffect(() => {\n if (currentSite !== \"CMS\") return;\n\n if (pageTree) {\n // Mapping data to absolute urls\n const pages = mapNavigationPageUrls(pageTree as DA_NavigationPage[]);\n setCmsNavigation(pages);\n }\n }, [mapNavigationPageUrls, currentSite, pageTree]);\n\n return {\n cmsNavigation,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Trigger_wrapper__f2btP\",\"button\":\"Trigger_button__hRoGw\",\"burgerIcon\":\"Trigger_burgerIcon__W-28N\",\"isActive\":\"Trigger_isActive__QnqNi\"};","import React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_LinkProps } from \"@danishagro/shared/src/interfaces/linkProps.interface\";\nimport { useSiteHeader } from \"@danishagro/shared/src/contexts/siteHeader.context\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { DA_NavigationMobile } from \"../../NavigationMobile.component\";\nimport S from \"./Trigger.module.scss\";\n\ninterface DA_NavigationMobileTriggerProps {\n customerServiceLinks?: DA_LinkProps[];\n}\n\nexport const DA_NavigationMobileTrigger = (props: DA_NavigationMobileTriggerProps) => {\n const { toggleMobileNav, showMobileNav } = useSiteHeader();\n const isActiveClass = showMobileNav === true ? S.isActive : undefined;\n const { getDictionaryString } = useTranslations();\n\n return (\n <>\n {/** Trigger */}\n <div className={cn(S.wrapper, isActiveClass)}>\n <button\n type=\"button\"\n onClick={toggleMobileNav}\n className={S.button}\n aria-label={getDictionaryString(\"accessibilityMobileMenu\")}\n >\n <div className={S.burgerIcon}>\n <span />\n <span />\n <span />\n </div>\n </button>\n </div>\n\n {/** Portal: Navigation */}\n <DA_NavigationMobile {...props} isOpen={showMobileNav} />\n </>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"SiteHeader_header__UBfsh\",\"serviceArea\":\"SiteHeader_serviceArea__qlLBL\",\"serviceAreaFlex\":\"SiteHeader_serviceAreaFlex__Q-aPL\",\"navigationWrapper\":\"SiteHeader_navigationWrapper__E6bdV\",\"logoWrapper\":\"SiteHeader_logoWrapper__7Rrd4\",\"logo\":\"SiteHeader_logo__9GuMR\",\"search\":\"SiteHeader_search__qc91A\",\"skipToMainContentLink\":\"SiteHeader_skipToMainContentLink__HB9HE\",\"serviceRight\":\"SiteHeader_serviceRight__EVNEG\",\"logOutLink\":\"SiteHeader_logOutLink__lfxxh\",\"buttonLink\":\"SiteHeader_buttonLink__M2u63\",\"buttonIcon\":\"SiteHeader_buttonIcon__HKeGh\",\"buttonText\":\"SiteHeader_buttonText__9uiAp\"};","import React, { useEffect, useRef } from \"react\";\nimport { useMeasure } from \"react-use\";\nimport { useModal } from \"@danishagro/shared/src/contexts/modal.context\";\nimport { useModalMessage } from \"@danishagro/shared/src/hooks/useModalMessage.hook\";\nimport { useStickyBannerMessages } from \"@danishagro/shared/src/hooks/useStickyBannerMessages.hook\";\nimport { DA_HeaderMessage } from \"@danishagro/shared/src/components/molecules/Message/HeaderMessage/headerMessage.component\";\nimport { DA_ModalMessage } from \"@danishagro/shared/src/components/molecules/Message/ModalMessage/modalMessage.component\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { useScreen } from \"../../../contexts/screen.context\";\nimport { useSiteHeader } from \"../../../contexts/siteHeader.context\";\nimport { useOnClickOutside } from \"../../../hooks/useOnClickOutside.hook\";\nimport { DA_Container } from \"../../atoms/Container/Container.component\";\nimport { DA_BasicLink } from \"../../atoms/BasicLink/BasicLink.component\";\nimport { ReactComponent as DanishAgroLogo } from \"../../../assets/svg/danish-agro-logo.svg\";\nimport { ReactComponent as VilofarmLogo } from \"../../../assets/svg/vilofarm-logo.svg\";\nimport { ReactComponent as DLALogo } from \"../../../assets/svg/logos/DLA_Agro.svg\";\nimport { ReactComponent as NordicSeedLogo } from \"../../../assets/svg/logos/Nordic_Seed.svg\";\nimport { DA_Logo, DA_LogoNames } from \"../../atoms/Logo/Logo.component\";\nimport { useTranslations } from \"../../../contexts/translations/translations.context\";\nimport { useAppData } from \"../../../contexts/appData.context\";\nimport { DA_ServiceButtons } from \"./ServiceButtons/ServiceButtons.component\";\nimport { DA_ServiceMenu } from \"./ServiceMenu/ServiceMenu.component\";\nimport { DA_NavigationDesktop } from \"./NavigationDesktop/NavigationDesktop.component\";\nimport { DA_AccountPickerPopUp } from \"./AccountPicker/AccountPicker.component\";\nimport { DA_MiniCartPopUp } from \"./MiniCart/MiniCart.component\";\nimport { DA_Toolbar } from \"./Toolbar/Toolbar.component\";\nimport { DA_SearchInput } from \"./SearchInput/SearchInput.component\";\nimport { DA_NavigationMobileTrigger } from \"./NavigationMobile/components/Trigger/Trigger.component\";\nimport { DA_LanguageSelector } from \"./LanguageSelector/LanguageSelector.component\";\nimport { SiteHeaderProps } from \"./SiteHeader.props\";\nimport S from \"./SiteHeader.module.scss\";\n\nexport const DA_SiteHeader = (props: SiteHeaderProps) => {\n const {\n setHeaderMeasure,\n showAccountPicker,\n showMiniCart,\n togglePopUp,\n toggleMobileNav,\n showMobileNav,\n showServiceMenu,\n } = useSiteHeader();\n const { getDictionaryString } = useTranslations();\n const { siteVariant, isAppFunctional, currentSite, logoName } = useAppData();\n const { isMobileOrTablet } = useScreen();\n const [headerRef, headerRect] = useMeasure<HTMLDivElement>();\n const serviceButtonsRef = useRef<HTMLDivElement>();\n const popUpAreaRef = useRef<HTMLDivElement>();\n\n useOnClickOutside([serviceButtonsRef, popUpAreaRef], () => togglePopUp(undefined));\n\n useEffect(() => setHeaderMeasure(headerRect), [headerRect, setHeaderMeasure]);\n\n // Formats the name of the logo\n const formatLogoName = (name: string) => name?.replace(/\\s/g, \"\") || \"\";\n\n // TODO: SET FROM SCRIPT\n const messages = Array.isArray(globalThis?.announcementMessages)\n ? globalThis?.announcementMessages\n : null;\n\n // Determine which message to show\n const { currentMessage, handleModalClose } = useModalMessage(messages);\n const activeStickyBanners = useStickyBannerMessages(messages);\n const { showModal, isModalShowing, closeModal } = useModal();\n\n const getFrontPagePath = globalThis?.siteSettingsObj?.frontPagePath;\n const isLoginOptionsTrue = location.hostname !== \"localhost\" ? global?.apiGatewayUrl : true;\n\n // ExcellenceProgramme CMS\n const isExcellenceProgrammeCmsSite =\n typeof globalThis?.isUsingCustomAd === \"string\"\n ? globalThis.isUsingCustomAd.toLowerCase() === \"true\"\n : false;\n\n return (\n <>\n {/** Header */}\n <header ref={headerRef} className={S.header}>\n <a href=\"#main\" className={S.skipToMainContentLink}>\n {getDictionaryString(\"accessibilityMainContent\")}\n </a>\n\n {!isMobileOrTablet &&\n ((globalThis?.siteSettingsObj?.universalMenuLinks &&\n globalThis.siteSettingsObj.universalMenuLinks.length > 0) ||\n globalThis?.siteSettingsObj?.showLanguageSelector ||\n isExcellenceProgrammeCmsSite ||\n showServiceMenu) && (\n <div className={S.serviceArea}>\n <DA_Container noVerticalPadding>\n <div className={S.serviceAreaFlex}>\n <DA_ServiceMenu />\n <div className={S.serviceRight}>\n {isAppFunctional &&\n isLoginOptionsTrue &&\n showServiceMenu && (\n <DA_ServiceButtons ref={serviceButtonsRef} />\n )}\n {globalThis.siteSettingsObj?.showLanguageSelector && (\n <DA_LanguageSelector />\n )}\n </div>\n {isExcellenceProgrammeCmsSite && (\n <div className={S.logOutLink}>\n <DA_BasicLink\n href=\"/logout\"\n target=\"_self\"\n conventionalRouting\n className={S.buttonLink}\n >\n <DA_Icon\n name={DA_IconNames.SignOut}\n className={S.buttonIcon}\n />\n <span className={S.buttonText}>\n {getDictionaryString(\"logOut\", {\n uppercaseFirst: true,\n })}\n </span>\n </DA_BasicLink>\n </div>\n )}\n </div>\n </DA_Container>\n </div>\n )}\n <DA_ModalMessage\n currentMessage={currentMessage}\n showModal={showModal}\n isModalShowing={isModalShowing}\n handleModalClose={handleModalClose}\n closeModal={closeModal}\n getDictionaryString={getDictionaryString}\n />\n {!isMobileOrTablet && (\n <DA_HeaderMessage activeStickyBanners={activeStickyBanners} />\n )}\n\n <DA_Container noVerticalPadding>\n <div className={S.navigationWrapper}>\n <div className={S.logoWrapper}>\n <DA_BasicLink\n href={getFrontPagePath ? getFrontPagePath : \"/\"}\n onClick={() => (showMobileNav ? toggleMobileNav() : null)}\n ariaLabel={getDictionaryString(\"frontpage\")}\n className={S.logo}\n forceNativeUrl={true}\n >\n {currentSite === \"CMS\" ? (\n <DA_Logo name={DA_LogoNames[formatLogoName(logoName)]} />\n ) : (\n <>\n {siteVariant.alias === \"danish-agro\" && <DanishAgroLogo />}\n {siteVariant.alias === \"vilofarm\" && <VilofarmLogo />}\n {siteVariant.alias === \"dla-agro\" && <DLALogo />}\n {siteVariant.alias === \"nordic-seed\" && <NordicSeedLogo />}\n </>\n )}\n </DA_BasicLink>\n\n {!isMobileOrTablet && (\n <div className={S.search}>\n <DA_SearchInput trapFocus />\n </div>\n )}\n </div>\n\n {isMobileOrTablet ? (\n <DA_NavigationMobileTrigger {...props} />\n ) : (\n <DA_NavigationDesktop />\n )}\n\n <div ref={popUpAreaRef}>\n {/** Popup: Account Picker */}\n {showAccountPicker && !isMobileOrTablet && <DA_AccountPickerPopUp />}\n\n {/** Popup: Mini Cart */}\n {showMiniCart && !isMobileOrTablet && <DA_MiniCartPopUp />}\n\n {/* TODO: Detect that Account Picker or Mini Cart has gone from Desktop to MobileOrTablet and open the respective bottom sheet */}\n </div>\n </div>\n </DA_Container>\n </header>\n\n {/** Toolbar */}\n <DA_Toolbar isLoginOptionsTrue={isLoginOptionsTrue} />\n </>\n );\n};\n","import { isDevMode } from \"@danishagro/shared/src/helpers/isDevMode.helper\";\n\nexport const isProduction = () => {\n if (isDevMode) {\n return false;\n } else if (window.location.host.indexOf(\"umbraco.io\") > 0) {\n return false;\n } else if (window.location.host.indexOf(\"azurewebsites.net\") > 0) {\n return false;\n } else if (window.location.host.indexOf(\"dev.danishagro.com\") > 0) {\n return false;\n } else if (window.location.host.indexOf(\"test.danishagro.com\") > 0) {\n return false;\n } else if (window.location.host.indexOf(\"preuat.danishagro.com\") > 0) {\n return false;\n }\n\n return true;\n};\n","import { useMemo } from \"react\";\n\nexport const useTags = (tag: string, S: { [key: string]: string }) => {\n const tagClass = useMemo(() => {\n switch (tag) {\n case \"News\":\n return S.tagNews;\n case \"Press\":\n return S.tagPress;\n case \"Partnership\":\n return S.tagPartnership;\n }\n }, [tag, S]);\n\n return {\n tagClass,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"imageWrapper\":\"Card_imageWrapper__81BJk\",\"tags\":\"Card_tags__Vi3K8\",\"tag\":\"Card_tag__GnJRP\",\"tagNews\":\"Card_tagNews__nhEZ-\",\"tagPress\":\"Card_tagPress__m2ker\",\"tagPartnership\":\"Card_tagPartnership__+pZzV\",\"inner\":\"Card_inner__NjIMK\",\"image\":\"Card_image__L0raP\",\"textWrapper\":\"Card_textWrapper__8uyKm\",\"text\":\"Card_text__YkUQ-\",\"tagNoImage\":\"Card_tagNoImage__hKjWg\"};","import React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport {\n DA_Title,\n DA_TitleTag,\n} from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport useFormattedCultureDate from \"@hooks/useFormattedCultureDate.hook\";\nimport { ImageViewer } from \"../../../../../../components/ImageViewer/ImageViewer.component\";\nimport { useTags } from \"../../hooks/useTags.hook\";\nimport { CardProps } from \"./Card.interface\";\n// eslint-disable-next-line css-modules/no-unused-class\nimport S from \"./Card.module.scss\";\n\nexport const Card = (props: CardProps) => {\n const { tagClass } = useTags(props.tags[0], S);\n const { getDictionaryString } = useTranslations();\n\n //use dateCulture from Umbraco global settings\n const publishedDate = useFormattedCultureDate(props?.publishedDate);\n\n return (\n <div className={props.className}>\n <div className={S.inner}>\n <div className={S.imageWrapper}>\n {/** Image */}\n <div className={S.image}>\n {props.thumbnail ? (\n <ImageViewer\n className={S.image}\n src={getAbsoluteUrl(props.thumbnail?.url)}\n />\n ) : null}\n </div>\n\n {/**Tags*/}\n <div className={S.tags}>\n {props.tags.map((tag, index) => (\n <div\n className={cn(S.tag, tagClass, !props.thumbnail && S.tagNoImage)}\n key={index}\n >\n {tag}\n </div>\n ))}\n </div>\n </div>\n\n {/**Content */}\n <div className={S.textWrapper}>\n {/** Date */}\n {props.publishedDate ? <span>{publishedDate}</span> : null}\n\n {/** Title */}\n <DA_Title h3 tag={DA_TitleTag.H3} noMargin>\n {props.title}\n </DA_Title>\n\n {props.introductory ? (\n <div className={S.text}>\n <DA_Text noPadding html={props.introductory} />{\" \"}\n </div>\n ) : null}\n\n {/** Button */}\n {/*// News open in new tab*/}\n <div>\n <DA_Button\n title={getDictionaryString(\"General.Read\")}\n href={props.url}\n target=\"_blank\"\n />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"NewsListPage_inner__O1QTI\",\"textWrapper\":\"NewsListPage_textWrapper__p0R-O\",\"tagline\":\"NewsListPage_tagline__Py6kD\",\"list\":\"NewsListPage_list__K-ssE\",\"item\":\"NewsListPage_item__i3ISI\"};","import React, { useMemo } from \"react\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport {\n DA_Title,\n DA_TitleTag,\n} from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { Helmet } from \"react-helmet\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { useItems } from \"../NewsListPage/hooks/useItems.hook\";\nimport { DynamicBlock } from \"../../../../blocks/DynamicBlock.component\";\nimport { NewsListPageProps } from \"./NewsListPage.interface\";\nimport Card from \"./components/Card/Card.component\";\nimport S from \"./NewsListPage.module.scss\";\n\nexport const NewsListPage = (props: NewsListPageProps) => {\n const { items, viewState } = useItems(props.props?.rootFolder?.id);\n\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props.props.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props.props.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props.props?.allowFollowing, props.props?.allowIndexing]);\n\n return (\n <div>\n <Helmet>\n <title>{props.props?.metaTitle || props.name}</title>\n <meta name=\"description\" content={props.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n </Helmet>\n\n <DA_Container noVerticalPadding>\n <div className={S.inner}>\n {/* Hero */}\n {props?.props?.hero?.[0]\n ? props.props.hero?.map((block, index) => (\n <DynamicBlock key={index} {...block} />\n ))\n : null}\n\n <div className={S.textWrapper}>\n {/** Tagline */}\n {props.props.tagline ? (\n <span className={S.tagline}>{props.props.tagline}</span>\n ) : null}\n\n {/** Headline */}\n {props.props.headline ? (\n <DA_Title h2 tag={DA_TitleTag.H2} noMargin>\n {props.props.headline}\n </DA_Title>\n ) : null}\n\n {/** Text */}\n {props.props.text ? <DA_Text noPadding html={props.props.text} /> : null}\n </div>\n\n {/** List */}\n <div className={S.list}>\n {viewState === \"DONE\" ? (\n <>\n {items?.map((item, key) => {\n return <Card key={key} {...item} className={S.item} />;\n })}\n </>\n ) : null}\n </div>\n\n {/* Blocks */}\n {props?.props?.modules?.[0]\n ? props.props.modules?.map((block, index) => (\n <DynamicBlock key={index} {...block} />\n ))\n : null}\n </div>\n </DA_Container>\n </div>\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { NewsListPageProps } from \"../NewsListPage.interface\";\n\nexport const useItems = (rootFolderId?: string) => {\n const [items, setItems] = useState<NewsListPageProps[]>(undefined);\n const [viewState, setViewState] = useState<string>(\"INIT\");\n\n const fetchItems = useCallback(async () => {\n try {\n const parameters = {\n rootNodeId: globalThis.rootNodeId,\n };\n\n const cultureCode = globalThis?.cultures[0]?.alias;\n\n if (typeof rootFolderId !== \"undefined\") {\n parameters[\"rootFolderId\"] = rootFolderId;\n }\n\n const url = getAbsoluteUrl(\"/getnewslist\", \"SPA\", parameters);\n const request = await fetch(`${url}&cultureCode=${cultureCode}`);\n\n if (request) {\n const response = await request.json();\n return response;\n }\n } catch {\n // Empty\n }\n }, [rootFolderId]);\n\n const getItems = useCallback(async () => {\n try {\n const response = await fetchItems();\n\n if (response) {\n setItems(response);\n setViewState(\"DONE\");\n } else {\n throw new Error();\n }\n } catch {\n setItems(undefined);\n setViewState(\"ERROR\");\n }\n }, [fetchItems]);\n\n // Init\n\n useEffect(() => {\n getItems();\n }, [getItems]);\n\n return {\n items,\n viewState,\n };\n};\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { DA_NavigationPageSimple } from \"@danishagro/shared/src/interfaces/navigationPage.interface\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { Page } from \"@interfaces/page.interface\";\n\ninterface PageHook {\n allPages: Omit<DA_NavigationPageSimple, \"children\">[];\n pageTree: DA_NavigationPageSimple[];\n currentPathDetails: ({ index: number } & Omit<DA_NavigationPageSimple, \"children\">)[];\n pageIsLoading: boolean;\n setPageIsLoading: (state: boolean) => void;\n\n page: Page;\n update: (partial: Page) => void;\n}\n\nconst PageContext = React.createContext<PageHook>({\n allPages: [],\n pageTree: [],\n currentPathDetails: [],\n pageIsLoading: false,\n setPageIsLoading: () => null,\n\n page: null as Page,\n update: () => null,\n});\n\ntype Props = {\n children: React.ReactNode;\n initial: {\n page: Page;\n };\n};\n\nconst createPageArray = (pageArray: DA_NavigationPageSimple[]): DA_NavigationPageSimple[] => {\n const pages = [];\n\n (pageArray || []).map(({ children, ...current }) => {\n pages.push(current);\n\n if (children && children.length) {\n pages.push(...createPageArray(children));\n }\n });\n\n return pages;\n};\n\nexport const PageProvider = ({ children, initial }: Props): JSX.Element => {\n const [page, setPage] = useState<Page>(initial.page);\n const [pageIsLoading, setPageIsLoading] = useState(false);\n const [currentPathDetails, setCurrentPathDetails] = useState([]);\n const { navigationObj } = useAppData();\n const { pathname } = useLocation();\n const allPages: DA_NavigationPageSimple[] = createPageArray(navigationObj);\n\n const update = useCallback(\n (partial: Page) => {\n setPage(partial);\n },\n [setPage]\n );\n\n const explorePath = useCallback((pathNames: string[], tree: DA_NavigationPageSimple[]) => {\n const indexes = [];\n tree.find(({ children, ...pageData }, index) => {\n if (pageData?.path) {\n const pathEnd = pageData.path.match(/\\/?[^/]+\\/?$/) || [pageData.path];\n if (pathEnd?.length && pathEnd[0].replace(/^\\/|\\/$/g, \"\") === pathNames[0]) {\n indexes.push({ index, ...pageData });\n if (typeof pathNames[1] === \"string\" && children) {\n indexes.push(...explorePath(pathNames.slice(1), children));\n }\n return true;\n }\n }\n });\n return indexes;\n }, []);\n\n useEffect(() => {\n const pathNames = pathname.replace(/^\\/|\\/$/, \"\").split(\"/\");\n const scopeIndexes = explorePath(pathNames, navigationObj);\n setCurrentPathDetails(scopeIndexes);\n }, [pathname, explorePath, navigationObj]);\n\n return (\n <PageContext.Provider\n value={{\n allPages,\n pageTree: navigationObj,\n currentPathDetails,\n pageIsLoading,\n setPageIsLoading,\n page,\n update,\n }}\n >\n {children}\n </PageContext.Provider>\n );\n};\n\nexport const usePage = (): PageHook => React.useContext(PageContext);\n","// extracted by mini-css-extract-plugin\nexport default {\"list\":\"Breadcrumb_list__Qa+Yq\",\"hideOnMobile\":\"Breadcrumb_hideOnMobile__xxu6N\",\"item\":\"Breadcrumb_item__wSQHk\",\"showNumberedList\":\"Breadcrumb_showNumberedList__qzjVV\",\"link\":\"Breadcrumb_link__5O8bS\",\"isHighlighted\":\"Breadcrumb_isHighlighted__OFaIq\",\"divider\":\"Breadcrumb_divider__sUw8C\",\"title\":\"Breadcrumb_title__sWPAV\",\"expandBtn\":\"Breadcrumb_expandBtn__R3fSw\"};","import React, { Fragment } from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { adjustUrl } from \"@danishagro/shared/src/helpers/adjustUrl.helper\";\nimport { DA_BasicLink } from \"../../atoms/BasicLink/BasicLink.component\";\nimport { DA_Icon, DA_IconNames } from \"../../atoms/Icon/Icon.component\";\nimport { useAppData } from \"../../../contexts/appData.context\";\nimport { DA_BreadcrumbProps } from \"./Breadcrumb.interface\";\nimport S from \"./Breadcrumb.module.scss\";\n\nexport const DA_Breadcrumb = (props: DA_BreadcrumbProps) => {\n const { currentSite } = useAppData();\n const showNumberedListClass = props.showNumberedList ? S.showNumberedList : undefined;\n\n return (\n <nav className={showNumberedListClass}>\n <ol\n itemScope\n itemType=\"https://schema.org/BreadcrumbList\"\n className={cn(S.list, props.hideOnMobile && S.hideOnMobile, props.listClassName)}\n >\n {props.breadcrumbItems.map((item, index) => {\n const hasLink =\n !(index === 0 && currentSite === \"MYFARM\") &&\n ((index !== props.breadcrumbItems.length - 1 && item.href) ||\n (index === props.breadcrumbItems.length - 1 &&\n props.lastIsLink &&\n item.href));\n\n const isHighlightedClass = item.isHighlighted ? S.isHighlighted : undefined;\n return (\n <Fragment key={index}>\n <li\n itemProp=\"itemListElement\"\n itemScope\n itemType=\"https://schema.org/ListItem\"\n className={cn(S.item, isHighlightedClass)}\n >\n {hasLink ? (\n <DA_BasicLink\n href={adjustUrl(item.href)}\n className={S.link}\n itemScope\n itemProp=\"item\"\n itemType=\"https://schema.org/WebPage\"\n itemID={item?.href}\n >\n <span itemProp=\"name\">{item.title}</span>\n </DA_BasicLink>\n ) : item.onClick ? (\n <button\n onClick={item.onClick}\n className={cn(S.title, S.expandBtn)}\n >\n {item.title}\n </button>\n ) : (\n <span className={S.title}>{item.title}</span>\n )}\n\n <meta itemProp=\"position\" content={String(index + 1)} />\n </li>\n {index !== props.breadcrumbItems.length - 1 && (\n <li>\n <DA_Icon\n className={S.divider}\n name={DA_IconNames.ChevronRight}\n />\n </li>\n )}\n </Fragment>\n );\n })}\n </ol>\n </nav>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"ContentPage_wrapper__wESl2\"};","import React, { useMemo } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { DA_Breadcrumb } from \"@danishagro/shared/src/components/molecules/Breadcrumb/Breadcrumb.component\";\nimport { DynamicBlock } from \"src/blocks/DynamicBlock.component\";\nimport { ContentPageProps } from \"./ContentPage.interface\";\nimport { generatePageSchema } from \"./schemas/GenerateSchemaMarkup\";\nimport S from \"./ContentPage.module.scss\";\n\nconst ContentPage = (props: ContentPageProps) => {\n const breadcrumbItems = props.breadcrumbs ?? [];\n\n // Check if the current page is not the front page\n const isFrontPage = () => {\n const pathname = window.location.pathname;\n return pathname === \"/\";\n };\n\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props.props.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props.props.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props.props?.allowFollowing, props.props?.allowIndexing]);\n\n // Get schema markup for front page (Organization)\n const schemaMarkup = generatePageSchema(props, isFrontPage());\n\n return (\n <main className={S.wrapper} id=\"main\">\n <Helmet>\n <title>{props.props?.metaTitle || props.name}</title>\n <meta name=\"description\" content={props.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n\n {/* Add schema markup for front page */}\n {schemaMarkup && schemaMarkup.length > 0 ? (\n <script type=\"application/ld+json\">{schemaMarkup}</script>\n ) : null}\n </Helmet>\n\n {/* Breadcrumbs */}\n <DA_Container noVerticalPadding>\n <DA_Breadcrumb breadcrumbItems={breadcrumbItems} lastIsLink={true} />\n </DA_Container>\n\n {/* Hero */}\n {props?.props?.hero?.[0]\n ? props.props.hero?.map((block, index) => <DynamicBlock key={index} {...block} />)\n : null}\n\n {/* Blocks */}\n {props?.props?.modules?.[0]\n ? props.props.modules?.map((block, index) => (\n <DynamicBlock key={index} {...block} />\n ))\n : null}\n </main>\n );\n};\n\nexport default ContentPage;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const generatePageSchema = (props: any, isFrontPage: boolean) => {\n const logo =\n globalThis.pageContent?.props?.schemaType?.[0]?.content?.props?.logo?.props?.umbracoFile !==\n undefined &&\n globalThis.pageContent?.props?.schemaType?.[0]?.content?.props?.logo?.props?.umbracoFile !==\n null\n ? globalThis.pageContent.props.schemaType[0].content.props.logo.props.umbracoFile\n : \"\";\n\n const footerObj = globalThis.pageContent?.props?.schemaType?.[0]?.content?.props || {};\n const _footerAddress = footerObj?.address?.[0]?.content?.props || {};\n const siteName = globalThis.pageContent?.siteName || \"\";\n const heroImage = globalThis.pageContent?.props?.hero?.[0]?.content?.props?.image?.url;\n const schemaTypeData = globalThis.pageContent?.props?.schemaType || [];\n\n // Extract VAT ID from the first schemaType if available\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const vatID =\n schemaTypeData.find((item: any) => item.content?.alias === \"organization\")?.content?.props\n ?.vatID || \"\";\n\n // Hvis det er forsiden, kun Organization\n if (isFrontPage) {\n const organizationSchema = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"Organization\",\n name: siteName || props.props?.metaTitle,\n description: props.props?.metaDescription,\n url: window.location.href,\n logo: logo,\n image: heroImage,\n address: {\n \"@type\": \"PostalAddress\",\n streetAddress: _footerAddress?.street || \"\",\n addressLocality: _footerAddress?.locality || \"\",\n addressRegion: _footerAddress?.region || \"\",\n postalCode: _footerAddress?.postalCode || \"\",\n addressCountry: _footerAddress?.country || \"\",\n },\n additionalProperty: [\n {\n \"@type\": \"PropertyValue\",\n name: \"VAT ID\",\n value: vatID || \"\",\n },\n ],\n };\n\n return JSON.stringify([organizationSchema]); // Returner kun Organization schema for forsiden\n }\n\n // Map departments only for non-front pages\n const departments = !isFrontPage\n ? schemaTypeData\n .filter((item: any) => item.content?.alias === \"localBusiness\")\n .flatMap((localBusiness: any) => {\n const businessProps = localBusiness?.content?.props || {};\n return businessProps?.deparment?.map((dept: any) => {\n const deptProps = dept?.content?.props || {};\n const openingHours = deptProps?.openingHoursSpecification?.map(\n (hours: any) => {\n const hoursProps = hours?.content?.props || {};\n return {\n \"@type\": \"OpeningHoursSpecification\",\n dayOfWeek: hoursProps?.dayOfWeek || [], // Directly use dayOfWeek array\n opens: hoursProps?.opens || \"\",\n closes: hoursProps?.closes || \"\",\n };\n }\n );\n\n // Return the department data without calling ensureType\n return {\n \"@type\": \"LocalBusiness\",\n name: deptProps?.name || \"Default Department Name\",\n openingHoursSpecification: openingHours || [], // Opening hours if available\n };\n });\n })\n .filter(Boolean)\n : []; // Return empty array for front page\n\n // Map LocalBusiness schema for the page (with departments, if available)\n const schemas = schemaTypeData\n .map((item: any) => {\n const { alias, props } = item.content;\n\n if (alias === \"localBusiness\") {\n const address = props?.address?.[0]?.content?.props || {};\n\n return {\n \"@context\": \"https://schema.org\",\n \"@type\": \"LocalBusiness\",\n name: props?.name || props?.siteName || \"\",\n telephone: props?.telephone || \"\",\n email: props?.email || \"\",\n url: props?.url || window.location.href,\n logo: logo,\n image: heroImage,\n address: {\n \"@type\": \"PostalAddress\",\n streetAddress: address?.street || \"\",\n addressLocality: address?.locality || \"\",\n addressRegion: address?.region || \"\",\n postalCode: address?.postalCode || \"\",\n addressCountry: address?.country || \"\",\n },\n sameAs: props?.sameAs || [], // Social media links or other relevant links\n openingHoursSpecification:\n props?.openingHoursSpecification?.map((hours: any) => {\n const hoursProps = hours?.content?.props || {};\n return {\n \"@type\": \"OpeningHoursSpecification\",\n dayOfWeek: hoursProps?.dayOfWeek || [],\n opens: hoursProps?.opens,\n closes: hoursProps?.closes,\n };\n }) || [], // Add opening hours if they exist\n department: departments || [], // Include mapped departments\n };\n }\n\n return null; // Return null if it's not LocalBusiness\n })\n .filter(Boolean); // Filter out null values\n\n return JSON.stringify(schemas); // Returner LocalBusiness schema for de relevante sider\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"ErrorPage_wrapper__o919s\"};","import React from \"react\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { Page } from \"@interfaces/page.interface\";\nimport S from \"./ErrorPage.module.scss\";\n\nconst ErrorPage = (_props: Page) => {\n return (\n <DA_Container className={S.wrapper}>\n <h1>500</h1>\n <h4>Der skete en fejl</h4>\n </DA_Container>\n );\n};\n\nexport default ErrorPage;\n","import { useCallback, useEffect, useState } from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { LatestNewsResponseItem } from \"../LatestNews.interface\";\n\nexport const useItems = (take = 10) => {\n const [items, setItems] = useState<LatestNewsResponseItem[]>(undefined);\n const [viewState, setViewState] = useState<string>(\"INIT\");\n\n const fetchItems = useCallback(async () => {\n const cultureCode = globalThis?.cultures[0]?.alias;\n\n try {\n const url = getAbsoluteUrl(\"/getnewslist\", \"SPA\", {\n rootNodeId: globalThis.rootNodeId,\n pageNumber: \"1\",\n pageSize: take.toString(),\n });\n const request = await fetch(`${url}&cultureCode=${cultureCode}`);\n\n if (request) {\n const response = await request.json();\n return response;\n }\n } catch {\n // Empty\n }\n }, [take]);\n\n const getItems = useCallback(async () => {\n try {\n const response = await fetchItems();\n\n if (response) {\n setItems(response);\n setViewState(\"DONE\");\n } else {\n throw new Error();\n }\n } catch {\n setItems(undefined);\n setViewState(\"ERROR\");\n }\n }, [fetchItems]);\n\n // Init\n\n useEffect(() => {\n getItems();\n }, [getItems]);\n\n return {\n items,\n viewState,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"list\":\"LatestNews_list__kTeX3\",\"link\":\"LatestNews_link__XNVl6\",\"content\":\"LatestNews_content__+rxhI\",\"image\":\"LatestNews_image__RsVh2\",\"headline\":\"LatestNews_headline__19KtL\"};","import React from \"react\";\nimport { DA_BasicLink } from \"@danishagro/shared/src/components/atoms/BasicLink/BasicLink.component\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { format } from \"date-fns\";\nimport { ImageViewer } from \"src/components/ImageViewer/ImageViewer.component\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { useItems } from \"./hooks/useItems.hook\";\nimport { LatestNewsProps } from \"./LatestNews.interface\";\nimport S from \"./LatestNews.module.scss\";\n\nconst LatestNews = (props: LatestNewsProps) => {\n const { items, viewState } = useItems(props.take);\n const { getDictionaryString } = useTranslations();\n\n return (\n <>\n {viewState === \"DONE\" ? (\n <div className={S.list}>\n <DA_Title h4 noMargin>\n {getDictionaryString(\"News.LatestNews\")}\n </DA_Title>\n\n {items?.[0] &&\n items.map((item, key) => {\n //use dateCulture from Umbraco global settings\n const publishDate = item?.publishedDate\n ? globalThis.siteSettingsObj.dateCulture === \"da-dk\"\n ? format(new Date(item?.publishedDate), \"dd.MM.yyyy\")\n : format(new Date(item?.publishedDate), \"MM.dd.yyyy\")\n : // use dd.MM.yyyy if globalThis.siteSettingsObj.dateCulture not set\n format(new Date(item?.publishedDate), \"dd.MM.yyyy\");\n\n return (\n <DA_BasicLink className={S.link} key={key} href={item.url}>\n {/** Image */}\n {item.thumbnail ? (\n <div className={S.image}>\n <ImageViewer\n className={S.image}\n src={getAbsoluteUrl(item.thumbnail?.url, \"UMBRACO\")}\n forceWidth={200}\n />\n </div>\n ) : null}\n\n <div className={S.content}>\n {/** Date */}\n {item.publishedDate ? <span>{publishDate}</span> : null}\n\n {/** Headline */}\n <strong className={S.headline}>{item.title}</strong>\n </div>\n </DA_BasicLink>\n );\n })}\n </div>\n ) : null}\n </>\n );\n};\n\nexport default LatestNews;\n","import { NewsPageProps } from \"../NewsPage.interface\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const generateNewsSchemaMarkup = (props: NewsPageProps) => {\n if (!props?.props) return null;\n\n const logo =\n globalThis.pageContent?.props?.schemaType?.[0]?.content?.props?.logo?.props?.umbracoFile !==\n undefined &&\n globalThis.pageContent?.props?.schemaType?.[0]?.content?.props?.logo?.props?.umbracoFile !==\n null\n ? globalThis.pageContent.props.schemaType[0].content.props.logo.props.umbracoFile\n : \"\";\n\n const { publishedDate, tags, title, modules, authorName, authorImage, metaTitle } = props.props;\n\n //ArticleBody\n const articleBody = modules\n ?.filter((module: any) => [\"blockText\", \"blockQuote\"].includes(module?.content?.alias))\n .map((module: any) =>\n module?.content?.alias === \"blockText\"\n ? module?.content?.props?.text\n : module?.content?.props?.quote\n )\n .join(\" \");\n\n // Extracting images from blockImage and TextImage\n //Images aeeay\n const images = modules\n ?.filter((module: any) =>\n [\"blockImage\", \"TextImage\", \"blockQuote\", \"blockHero\"].includes(module?.content?.alias)\n )\n .map((module: any) => module?.content?.props?.image?.url)\n .filter(Boolean); // Ensure only valid URLs are included\n\n const schema = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"NewsArticle\",\n url: window.location.href,\n publisher: {\n \"@type\": \"Organization\",\n name: title,\n logo: logo,\n },\n headline: metaTitle || title,\n mainEntityOfPage: window.location.href,\n articleBody: articleBody,\n author: {\n \"@type\": \"Person\",\n name: authorName,\n image: authorImage?.url,\n },\n image: images,\n datePublished: publishedDate,\n keywords: tags?.join(\", \"), // Assumes tags are an array\n };\n\n return JSON.stringify(schema, null, 2);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"NewsPage_wrapper__q6cnt\",\"container\":\"NewsPage_container__VvUzY\",\"main\":\"NewsPage_main__NLfNZ\",\"content\":\"NewsPage_content__OpFAi\",\"aside\":\"NewsPage_aside__5Fn7q\",\"toolbar\":\"NewsPage_toolbar__dNiU3\",\"introductory\":\"NewsPage_introductory__ngNRj\",\"tags\":\"NewsPage_tags__oyCLp\",\"tag\":\"NewsPage_tag__eCo63\"};","import React, { useMemo } from \"react\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { Helmet } from \"react-helmet\";\nimport { DynamicBlock } from \"src/blocks/DynamicBlock.component\";\nimport {\n DA_Title,\n DA_TitleTag,\n} from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport SocialMediaSharing from \"src/blocks/components/SocialMediaSharing/SocialMediaSharing.component\";\nimport useFormattedCultureDate from \"@hooks/useFormattedCultureDate.hook\";\nimport { AuthorBlock } from \"../AuthorBlock/AuthorBlock.component\";\nimport LatestNews from \"./components/LatestNews/LatestNews.component\";\nimport { NewsPageProps } from \"./NewsPage.interface\";\n//News Schema markup\nimport { generateNewsSchemaMarkup } from \"./Interfaces/NewsSchemaMarkup\";\nimport S from \"./NewsPage.module.scss\";\n\nconst NewsPage = (props: NewsPageProps) => {\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props.props.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props.props.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props.props?.allowFollowing, props.props?.allowIndexing]);\n\n //use dateCulture from Umbraco global settings\n const publishDate = useFormattedCultureDate(props?.props?.publishedDate);\n\n return (\n <main className={S.wrapper} id=\"main\">\n <Helmet>\n <title>{props.props?.metaTitle || props.name}</title>\n <meta name=\"description\" content={props.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n {/* News Schema Markup */}\n <script type=\"application/ld+json\">{generateNewsSchemaMarkup(props)}</script>\n </Helmet>\n\n {/* Hero */}\n {props?.props?.hero?.[0]\n ? props.props.hero?.map((block, index) => <DynamicBlock key={index} {...block} />)\n : null}\n\n <DA_Container className={S.container} noVerticalPadding>\n <main className={S.main} id=\"main\">\n <div className={S.toolbar}>\n {/** Author */}\n {props?.props?.authorImage?.url || props?.props?.authorName ? (\n <AuthorBlock\n authorImageUrl={props?.props?.authorImage?.url}\n authorImageName={props?.props?.authorName}\n authorName={props?.props?.authorName}\n authorTitle={props?.props?.authorTitle}\n authorDate={publishDate}\n />\n ) : props.props.publishedDate ? (\n <strong>{publishDate}</strong>\n ) : null}\n\n <div className={S.tags}>\n {props.props.tags.map((tag, index) => (\n <div className={S.tag} key={index}>\n {tag}\n </div>\n ))}\n </div>\n </div>\n\n {/** Title */}\n <DA_Title h2 tag={DA_TitleTag.H2}>\n {props.props.title}\n </DA_Title>\n\n {/** Text */}\n <strong className={S.introductory}>{props.props.introductory}</strong>\n\n {/* Blocks */}\n <div className={S.content}>\n {props?.props?.modules?.[0]\n ? props.props.modules?.map((block, index) => (\n <DynamicBlock key={index} {...block} compact />\n ))\n : null}\n </div>\n <SocialMediaSharing />\n </main>\n\n {/** Related News */}\n <aside className={S.aside}>\n <LatestNews take={3} />\n </aside>\n </DA_Container>\n </main>\n );\n};\n\nexport default NewsPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"NotFoundPage_wrapper__ZlJSF\"};","import React, { useMemo } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { DA_Breadcrumb } from \"@danishagro/shared/src/components/molecules/Breadcrumb/Breadcrumb.component\";\nimport { DynamicBlock } from \"src/blocks/DynamicBlock.component\";\nimport { NotFoundPageProps } from \"./NotFoundPage.interface\";\nimport S from \"./NotFoundPage.module.scss\";\n\nconst NotFoundPage = (props: NotFoundPageProps) => {\n const breadcrumbItems = props.breadcrumbs ?? [];\n\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props.props.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props.props.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props.props?.allowFollowing, props.props?.allowIndexing]);\n\n return (\n <main className={S.wrapper} id=\"main\">\n <Helmet>\n <title>{props.props?.metaTitle || props.name}</title>\n <meta name=\"description\" content={props.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n </Helmet>\n\n {/* Breadcrumbs */}\n <DA_Container noVerticalPadding>\n <DA_Breadcrumb breadcrumbItems={breadcrumbItems} lastIsLink={true} />\n </DA_Container>\n\n {/* Hero */}\n {props?.props?.hero?.[0]\n ? props.props.hero?.map((block, index) => <DynamicBlock key={index} {...block} />)\n : null}\n\n {/* Blocks */}\n {props?.props?.modules?.[0]\n ? props.props.modules?.map((block, index) => (\n <DynamicBlock key={index} {...block} />\n ))\n : null}\n </main>\n );\n};\n\nexport default NotFoundPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"imageWrapper\":\"Card_imageWrapper__pNqfn\",\"item\":\"Card_item__xukUj\",\"textWrapper\":\"Card_textWrapper__rUG5x\",\"introductory\":\"Card_introductory__vLk8d\",\"addressWrapper\":\"Card_addressWrapper__NWTZi\",\"icon\":\"Card_icon__D2MBA\",\"image\":\"Card_image__T4lX9\",\"button\":\"Card_button__P5l6v\"};","import React from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { ImageViewer } from \"../../../../../../components/ImageViewer/ImageViewer.component\";\nimport { CardProps } from \"./Card.interface\";\n// eslint-disable-next-line css-modules/no-unused-class\nimport S from \"./Card.module.scss\";\n\nexport const Card = (props: CardProps) => {\n const { getDictionaryString } = useTranslations();\n\n return (\n <div className={S.item}>\n {/** Image */}\n {props.thumbnail ? (\n <div className={S.image}>\n <ImageViewer\n className={S.image}\n src={getAbsoluteUrl(props.thumbnail?.url)}\n aspectRatioX={1}\n aspectRatioY={1}\n />\n </div>\n ) : null}\n\n <div className={S.textWrapper}>\n {/** Title */}\n <div>\n <DA_Title h3 noMargin>\n {props.title}\n </DA_Title>\n </div>\n {/** Text */}\n {props.introductory ? (\n <div className={S.introductory}>\n <DA_Text noPadding html={props.introductory} />\n </div>\n ) : null}\n\n <div className={S.addressWrapper}>\n {/** Date*/}\n {props.startDate ? (\n <span>\n <DA_Icon name={DA_IconNames.Calendar} className={S.icon} />\n {props.startDate}\n </span>\n ) : null}\n\n {/** Time*/}\n {props.time ? (\n <span>\n <DA_Icon name={DA_IconNames.Clock} className={S.icon} />\n {props.time}\n </span>\n ) : null}\n\n {/** address*/}\n {props.address || props.zipcode || props.city ? (\n <span>\n <DA_Icon name={DA_IconNames.Pin} className={S.icon} />\n {props.address}, {props.zipcode} {props.city}\n </span>\n ) : null}\n </div>\n\n {/** Button */}\n {/*// Events open in new tab*/}\n <div>\n {props.hasContent ? (\n <DA_Button\n title={getDictionaryString(\"General.Read\")}\n href={props.url}\n target=\"_blank\"\n />\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","// extracted by mini-css-extract-plugin\nexport default {\"list\":\"EventListPage_list__-hppL\"};","import React, { useMemo } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { DynamicBlock } from \"../../../../blocks/DynamicBlock.component\";\nimport { Card } from \"../EventListPage/components/Card/Card.component\";\nimport { useItems } from \"./hooks/useItems.hook\";\nimport { EventListPageProps } from \"./EventListPage.interface\";\nimport S from \"./EventListPage.module.scss\";\n\nexport const EventListPage = (props: EventListPageProps) => {\n const { items, viewState } = useItems(props.props?.rootFolder?.id);\n\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props.props.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props.props.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props.props?.allowFollowing, props.props?.allowIndexing]);\n return (\n <div>\n <Helmet>\n <title>{props.props?.metaTitle || props.name}</title>\n <meta name=\"description\" content={props.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n </Helmet>\n\n <DA_Container noVerticalPadding>\n {/* Hero */}\n {props?.props?.hero?.[0]\n ? props.props.hero?.map((block, index) => (\n <DynamicBlock key={index} {...block} />\n ))\n : null}\n\n <div className={S.list}>\n {viewState === \"DONE\" ? (\n <>\n {items.map((item, key) => {\n return <Card key={key} {...item} />;\n })}\n </>\n ) : null}\n </div>\n\n {/* Blocks */}\n {props?.props?.modules?.[0]\n ? props.props.modules?.map((block, index) => (\n <DynamicBlock key={index} {...block} />\n ))\n : null}\n </DA_Container>\n </div>\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { EventListPageProps } from \"../EventListPage.interface\";\n\nexport const useItems = (rootFolderId?: string) => {\n const [items, setItems] = useState<EventListPageProps[]>(undefined);\n const [viewState, setViewState] = useState<string>(\"INIT\");\n\n const fetchItems = useCallback(async () => {\n const cultureCode = globalThis?.cultures[0]?.alias;\n try {\n const parameters = {\n rootNodeId: globalThis.rootNodeId,\n };\n\n if (typeof rootFolderId !== \"undefined\") {\n parameters[\"rootFolderId\"] = rootFolderId;\n }\n\n const url = getAbsoluteUrl(\"/geteventlist\", \"SPA\", parameters);\n const request = await fetch(`${url}&cultureCode=${cultureCode}`);\n\n if (request) {\n const response = await request.json();\n return response;\n }\n } catch {\n // Empty\n }\n }, [rootFolderId]);\n\n const getItems = useCallback(async () => {\n try {\n const response = await fetchItems();\n\n if (response) {\n setItems(response);\n setViewState(\"DONE\");\n } else {\n throw new Error();\n }\n } catch {\n setItems(undefined);\n setViewState(\"ERROR\");\n }\n }, [fetchItems]);\n\n // Init\n\n useEffect(() => {\n getItems();\n }, [getItems]);\n\n return {\n items,\n viewState,\n };\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { useLocation } from \"react-router-dom\";\nimport { JobsPageProps } from \"../JobsPage.interface\";\n\nexport const useJobDetail = () => {\n const [data, setData] = useState<JobsPageProps[\"talentRecruiterPositionContent\"] | null>(null);\n const [viewState, setViewState] = useState<string>(\"INIT\");\n\n const location = useLocation();\n const queryParams = new URLSearchParams(location.search);\n const jobId = queryParams.get(\"jobId\");\n\n const fetchJobDetail = useCallback(async () => {\n try {\n const url = getAbsoluteUrl(`/GetPosition?id=${jobId}`, \"SPA\");\n const request = await fetch(url);\n if (request) {\n const response = await request.json();\n return response;\n }\n } catch {\n setViewState(\"ERROR\");\n }\n }, [jobId]);\n\n const getJobDetail = useCallback(async () => {\n try {\n let response;\n\n if (typeof globalThis.pageContent?.talentRecruiterDetailPage !== \"undefined\") {\n response = globalThis.pageContent?.talentRecruiterPositionContent;\n } else {\n response = await fetchJobDetail();\n }\n\n if (response?.id > 0) {\n setData(response);\n setViewState(\"DONE\");\n } else if (response?.id === 0) {\n setData(undefined);\n setViewState(\"EMPTY\");\n } else {\n throw new Error(\"No Data Found\");\n }\n } catch (error) {\n setData(null);\n setViewState(\"ERROR\");\n }\n }, [fetchJobDetail]);\n\n // Init\n\n useEffect(() => {\n getJobDetail();\n\n return () => {\n setData(null);\n setViewState(\"INIT\");\n };\n }, [getJobDetail]);\n\n return { data, viewState };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"extraInfoWrapper\":\"ContactInfo_extraInfoWrapper__PpuYS\",\"extraBlock\":\"ContactInfo_extraBlock__NWIG2\",\"contactTitle\":\"ContactInfo_contactTitle__3C9x8\",\"title\":\"ContactInfo_title__lmUfD\",\"info\":\"ContactInfo_info__x-L-z\",\"flexWrapper\":\"ContactInfo_flexWrapper__bI5Th\",\"extraInfoContactBox\":\"ContactInfo_extraInfoContactBox__3fKCw\",\"extraInfoContactBoxLeft\":\"ContactInfo_extraInfoContactBoxLeft__1YZAA\",\"extraInfoContactBoxRight\":\"ContactInfo_extraInfoContactBoxRight__r4DQc\",\"jobPosition\":\"ContactInfo_jobPosition__uijcX\",\"extraInfoContactBoxRightReach\":\"ContactInfo_extraInfoContactBoxRightReach__rOJBm\"};","import React from \"react\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\n// Import style\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport useFormattedCultureDate from \"@hooks/useFormattedCultureDate.hook\";\nimport { ContactInfoProps } from \"./ContactInfo.interface\";\nimport S from \"./ContactInfo.module.scss\";\n\nexport const ContactInfo = ({\n applicationDue,\n startDate,\n startDateASAP,\n users,\n title,\n subTitle,\n className,\n userImage,\n hasContactTitle,\n}: ContactInfoProps) => {\n const { getDictionaryString } = useTranslations();\n\n // Define constants for magic strings\n const DEFAULT_DATE_STRING = \"01/01/0001 00:00:00\";\n const ALTERNATE_DATE_STRING = \"01.01.2001\";\n\n const formattedApplicationDueDate = useFormattedCultureDate(applicationDue);\n const formattedStartDate = useFormattedCultureDate(startDate);\n\n // Check date\n function checkDate(dateString: string, asap: boolean = false): JSX.Element {\n if (dateString === DEFAULT_DATE_STRING || dateString === ALTERNATE_DATE_STRING || asap) {\n return <span>{getDictionaryString(\"Job.AsSoonAsPossible\")}</span>;\n }\n return <span>{dateString}</span>;\n }\n\n const participant = users?.projectParticipants?.[0];\n\n return (\n <div className={cn(S.extraInfoWrapper, className)}>\n {formattedApplicationDueDate ? (\n <div className={S.extraBlock}>\n <span className={S.title}>\n {getDictionaryString(\"Job.ApplicationDeadline\")}\n </span>\n <span className={S.info}>{checkDate(formattedApplicationDueDate)}</span>\n </div>\n ) : null}\n\n {startDate ? (\n <div className={S.extraBlock}>\n <span className={S.title}>{getDictionaryString(\"Job.StartDate\")}</span>\n <span className={S.info}>{checkDate(formattedStartDate, startDateASAP)}</span>\n </div>\n ) : null}\n\n <div>\n {participant && (\n <>\n {/* {title} */}\n {!hasContactTitle && (\n <DA_Title h2 noMargin>\n {title}\n </DA_Title>\n )}\n\n {/* subTitle */}\n <DA_Text noPadding html={subTitle} />\n <div\n className={cn(S.extraInfoContactBox, hasContactTitle && S.flexWrapper)}\n >\n {hasContactTitle ? (\n <span className={S.contactTitle}>{title}</span>\n ) : null}\n {userImage ? (\n <div className={S.extraInfoContactBoxLeft}>\n <img src={participant?.imageUrl} alt=\"Contactperson\" />\n </div>\n ) : null}\n\n <div className={S.extraInfoContactBoxRight}>\n <span className={S.title}>\n {participant?.firstName} {participant?.lastName}\n </span>\n <span className={S.jobPosition}>{participant?.title}</span>\n <div className={S.extraInfoContactBoxRightReach}>\n <span className={S.info}>\n <a href={`mailto:${participant?.email}`}>\n {participant?.email}\n </a>\n </span>\n <span className={S.info}>\n {participant?.phone ? (\n <>\n {getDictionaryString(\"Job.Phone\")}:{\" \"}\n <a href={`tel:${participant?.phone}`}>\n {participant?.phone}\n </a>\n </>\n ) : participant?.phoneMobile ? (\n <>\n {getDictionaryString(\"Job.Mobile\")}:{\" \"}\n <a href={`tel:${participant?.phoneMobile}`}>\n {participant?.phoneMobile}\n </a>\n </>\n ) : null}\n </span>\n </div>\n </div>\n </div>\n </>\n )}\n </div>\n </div>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"LocationInfo_title__vcfZ+\",\"workPlaceWrapper\":\"LocationInfo_workPlaceWrapper__NbDOI\",\"inner\":\"LocationInfo_inner__nb0ZS\",\"info\":\"LocationInfo_info__gvyO0\",\"boldText\":\"LocationInfo_boldText__DZ11j\"};","import React from \"react\";\nimport { useScreen } from \"@danishagro/shared/src/contexts/screen.context\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { LocationInfoProps } from \"./LocationInfo.interface\";\nimport S from \"./LocationInfo.module.scss\";\n\nexport const LocationInfo = ({\n workPlaceCoordinates,\n department,\n city,\n country,\n zip,\n address,\n}: LocationInfoProps) => {\n const { getDictionaryString } = useTranslations();\n const { isMobileOrTablet } = useScreen();\n\n const GOOGLE_MAPS_API_KEY = \"AIzaSyCBqY9mpYO6gk6YIWTeJbIev-lFSux2WOM\";\n const ZOOM_LEVEL = 11;\n const MAP_WIDTH = 370;\n const MAP_HEIGHT = 240;\n\n // Coordinates\n const coordinates = workPlaceCoordinates?.split(\", \");\n const [latitude, longitude] = coordinates || [null, null];\n\n return (\n <div className={S.workPlaceWrapper}>\n <div className={S.inner}>\n <DA_Title h2>\n <span className={S.title}>{getDictionaryString(\"Job.Workplace\")}</span>\n </DA_Title>\n {department.name && (\n <span className={cn(S.info, S.boldText)}>{department.name}</span>\n )}\n {address && <span className={S.info}>{address}</span>}\n {(zip || city) && (\n <span className={S.info}>\n {zip && city ? `${zip} ${city}` : zip ? zip : city}\n </span>\n )}\n {country && <span className={S.info}>{country}</span>}\n </div>\n\n {latitude && longitude && address && (\n <a\n href={`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(\n `${department.name}, ${address}, ${city}, ${country}`\n )}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={`https://maps.googleapis.com/maps/api/staticmap?%20center=${latitude},${longitude}&${\n isMobileOrTablet ? \"scale=2\" : \"scale=1\"\n }&zoom=${ZOOM_LEVEL}&size=${MAP_WIDTH}x${MAP_HEIGHT}%20&markers=${latitude},${longitude}%20&key=${GOOGLE_MAPS_API_KEY}`}\n alt=\"Google maps\"\n />\n </a>\n )}\n </div>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"JobsPage_wrapper__dw0J6\",\"container\":\"JobsPage_container__jT2GM\",\"main\":\"JobsPage_main__+zKBR\",\"inner\":\"JobsPage_inner__I8rkk\",\"asideWrapper\":\"JobsPage_asideWrapper__I3tkw\",\"jobTitle\":\"JobsPage_jobTitle__wwJO9\",\"jobInfoWrapper\":\"JobsPage_jobInfoWrapper__2U86s\",\"buttonWrapper\":\"JobsPage_buttonWrapper__L3XoF\",\"textWrapper\":\"JobsPage_textWrapper__TKK0V\",\"content\":\"JobsPage_content__Pi-eQ\",\"hero\":\"JobsPage_hero__XLSwy\",\"mainContactPerson\":\"JobsPage_mainContactPerson__mmxsY\",\"asideContactPerson\":\"JobsPage_asideContactPerson__mwakT\",\"introductory\":\"JobsPage_introductory__NJPR7\",\"buttonApply\":\"JobsPage_buttonApply__+opMW\",\"goBackBtn\":\"JobsPage_goBackBtn__3c8GR\"};","import React, { useMemo } from \"react\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { Helmet } from \"react-helmet\";\nimport Hero from \"src/blocks/components/Hero/Hero.component\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport SocialMediaSharing from \"src/blocks/components/SocialMediaSharing/SocialMediaSharing.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { DA_Breadcrumb } from \"@danishagro/shared/src/components/molecules/Breadcrumb/Breadcrumb.component\";\nimport { usePage } from \"@contexts/page.context\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport {\n DA_Button,\n DA_ButtonColor,\n} from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { DynamicBlock } from \"../../../../blocks/DynamicBlock.component\";\nimport { useJobDetail } from \"./hooks/useJobDetail.hook\";\nimport { ContactInfo } from \"./ContactInfo/ContactInfo.component\";\n// Import types\nimport { JobsPageProps } from \"./JobsPage.interface\";\nimport { LocationInfo } from \"./LocationInfo/LocationInfo.component\";\n// Import style\nimport S from \"./JobsPage.module.scss\";\n\nexport const JobsPage = (props: JobsPageProps) => {\n const { currentPathDetails } = usePage();\n const { getDictionaryString } = useTranslations();\n\n const { data, viewState } = useJobDetail();\n\n // Path to job list\n const jobListUrl = globalThis?.siteSettingsObj?.jobPositionListPage?.url;\n\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props?.props?.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props?.props?.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props?.props?.allowFollowing, props?.props?.allowIndexing]);\n\n const {\n advertisements = [],\n positionCategory = {},\n department = \"\",\n advertisementUrl = \"\",\n applicationFormUrl = \"\",\n startDate = \"\",\n startDateASAP = false,\n applicationDue = \"\",\n created = \"\",\n users = [],\n workPlaceCoordinates = {},\n city = \"\",\n name = \"\",\n country = \"\",\n address = \"\",\n zip = \"\",\n showApplyButton = true,\n } = data ?? {};\n\n const isDepartmentValid = department && \"name\" in department;\n const areUsersValid = users && \"projectParticipants\" in users;\n const areWorkPlaceCoordinatesValid = typeof workPlaceCoordinates === \"string\";\n\n //date format - just show the date without time\n //split the string into date and time\n const formattedStartDateSplitParts = startDate.split(\" \");\n const formattedDatePart = formattedStartDateSplitParts[0];\n\n //TODO: Use for logo later\n // const talentRecruiterCompanyName = globalThis.siteSettingsObj?.talentRecruiterCompanyName;\n\n return (\n <main className={S.wrapper} id=\"main\">\n <Helmet>\n <title>{props?.props?.metaTitle}</title>\n <meta name=\"description\" content={props?.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n </Helmet>\n\n {/* Breadcrumbs */}\n <DA_Container noVerticalPadding>\n <DA_Breadcrumb\n breadcrumbItems={[\n ...currentPathDetails.map(({ name, path }) => ({\n title: name,\n href: path,\n })),\n ]}\n lastIsLink={true}\n />\n </DA_Container>\n {/** ViewState: DONE */}\n {viewState === \"DONE\" && data ? (\n <>\n {positionCategory && advertisements?.[0]?.imageUrl && (\n <Hero\n tagline=\"\"\n headline=\"\"\n text=\"\"\n image={{\n name: positionCategory?.name,\n url: advertisements?.[0]?.imageUrl,\n width: 800,\n height: 600,\n }}\n className={S.hero}\n />\n )}\n <DA_Container className={S.container} noVerticalPadding>\n <main className={S.main} id=\"main\">\n <div className={S.inner}>\n <div>\n {/* Logo */}\n {/*\n {talentRecruiterCompanyName.length > 0 ? (\n <div className={S.logoWrapper}>\n <h1>LOGO</h1>\n </div>\n ) : null}\n */}\n\n {/* Title */}\n <DA_Title h1>{name}</DA_Title>\n <strong className={S.introductory}>\n {props?.props?.introductory}\n </strong>\n <div className={S.content}>\n {advertisements?.map((advertisement, index) => {\n const contentWithHtmlBreaks =\n advertisement.content.replace(/\\\\r\\\\n|\\\\t/g, \"\");\n return (\n <DA_Text\n key={index}\n html={contentWithHtmlBreaks}\n noPadding\n className={S.textWrapper}\n />\n );\n })}\n </div>\n {/* Contact person */}\n <div>\n {areUsersValid && (\n <ContactInfo\n title={getDictionaryString(\n \"Job.ContactPerson.title\"\n )}\n subTitle={getDictionaryString(\n \"Job.contactPerson.subTitle\"\n )}\n users={users}\n userImage={true}\n className={S.mainContactPerson}\n />\n )}\n </div>\n <SocialMediaSharing />\n </div>\n <div className={S.asideWrapper}>\n <div className={S.jobInfoWrapper}>\n {/* */}\n <DA_Title h2>\n <span className={S.jobTitle}>\n {getDictionaryString(\"Job.jobInfo.headline\")}\n </span>\n </DA_Title>\n {isDepartmentValid &&\n areUsersValid &&\n areWorkPlaceCoordinatesValid && (\n <ContactInfo\n advertisementUrl={advertisementUrl}\n applicationFormUrl={applicationFormUrl}\n startDate={formattedDatePart}\n startDateASAP={startDateASAP}\n applicationDue={applicationDue}\n created={created}\n users={users}\n title={getDictionaryString(\n \"Job.ContactPerson.label\"\n )}\n hasContactTitle={true}\n className={S.asideContactPerson}\n />\n )}\n {showApplyButton && (\n <div className={S.buttonWrapper}>\n <DA_Button\n title={getDictionaryString(\"Job.ApplyNow\")}\n href={applicationFormUrl}\n target=\"_blank\"\n color={DA_ButtonColor.White}\n className={S.buttonApply}\n />\n </div>\n )}\n </div>\n <div>\n {isDepartmentValid && areWorkPlaceCoordinatesValid ? (\n <LocationInfo\n workPlaceCoordinates={workPlaceCoordinates}\n department={department}\n city={city}\n country={country}\n zip={zip}\n address={address}\n />\n ) : null}\n </div>\n </div>\n </div>\n </main>\n </DA_Container>\n\n {/*Blocks */}\n {props?.props?.modules?.[0]\n ? props.props.modules?.map((block, index) => (\n <DynamicBlock key={index} {...block} />\n ))\n : null}\n </>\n ) : null}\n\n {/** ViewState: EMPTY */}\n {viewState === \"EMPTY\" || viewState === \"ERROR\" ? (\n <DA_Container className={S.container} noVerticalPadding>\n <main className={S.main} id=\"main\">\n {/* <NotFoundPage {...props} /> */}\n <DA_Title h1>{getDictionaryString(\"Job.NonFoundTitle\")}</DA_Title>\n <DA_Text\n html={getDictionaryString(\"Job.NonFoundText\")}\n noPadding\n className={S.textWrapper}\n />\n {jobListUrl && (\n <DA_Button\n title={getDictionaryString(\"Job.GoBackToListPage\")}\n href={jobListUrl}\n target=\"_self\"\n color={DA_ButtonColor.Action}\n className={S.goBackBtn}\n />\n )}\n </main>\n </DA_Container>\n ) : null}\n </main>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"chip\":\"Chip_chip__nB++Y\",\"removable\":\"Chip_removable__HrQ9P\",\"remove\":\"Chip_remove__uAvo+\",\"removeButton\":\"Chip_removeButton__0PI-e\",\"removeIcon\":\"Chip_removeIcon__weg9W\",\"label\":\"Chip_label__+sGdx\"};","import React from \"react\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { DA_Icon, DA_IconNames } from \"../Icon/Icon.component\";\nimport S from \"./Chip.module.scss\";\n\nexport interface DA_ChipProps {\n label: string;\n removable?: boolean;\n onRemove?: () => void;\n className?: string;\n}\n\nexport const DA_Chip = ({ label, removable, onRemove, className }: DA_ChipProps) => (\n <div className={cn(S.chip, removable && S.removable, className)}>\n <div className={S.label}>{label}</div>\n {removable && (\n <div className={S.remove}>\n <button\n type=\"button\"\n onMouseDown={(event) => event.stopPropagation()}\n onClick={onRemove}\n className={S.removeButton}\n >\n <DA_Icon className={S.removeIcon} name={DA_IconNames.Remove} />\n </button>\n </div>\n )}\n </div>\n);\n","import { useEffect, useState } from 'react';\nimport { isBrowser } from './misc/util';\nvar useSessionStorage = function (key, initialValue, raw) {\n if (!isBrowser) {\n return [initialValue, function () { }];\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n var _a = useState(function () {\n try {\n var sessionStorageValue = sessionStorage.getItem(key);\n if (typeof sessionStorageValue !== 'string') {\n sessionStorage.setItem(key, raw ? String(initialValue) : JSON.stringify(initialValue));\n return initialValue;\n }\n else {\n return raw ? sessionStorageValue : JSON.parse(sessionStorageValue || 'null');\n }\n }\n catch (_a) {\n // If user is in private mode or has storage restriction\n // sessionStorage can throw. JSON.parse and JSON.stringify\n // can throw, too.\n return initialValue;\n }\n }), state = _a[0], setState = _a[1];\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n try {\n var serializedState = raw ? String(state) : JSON.stringify(state);\n sessionStorage.setItem(key, serializedState);\n }\n catch (_a) {\n // If user is in private mode or has storage restriction\n // sessionStorage can throw. Also JSON.stringify can throw.\n }\n });\n return [state, setState];\n};\nexport default useSessionStorage;\n","// extracted by mini-css-extract-plugin\nexport default {\"jobListCard\":\"Card_jobListCard__ikMBk\",\"title\":\"Card_title__AwVUi\",\"teaserWrapper\":\"Card_teaserWrapper__-R8rh\",\"teaserText\":\"Card_teaserText__CAxNZ\",\"locationText\":\"Card_locationText__HHa1n\",\"readMoreLink\":\"Card_readMoreLink__LGE1h\",\"imageWrapper\":\"Card_imageWrapper__jk6d1\",\"jobInfoList\":\"Card_jobInfoList__ADwyD\",\"jobInfoItem\":\"Card_jobInfoItem__Lt5mQ\",\"positionCategory\":\"Card_positionCategory__1zygR\",\"departmentName\":\"Card_departmentName__Xso79\",\"jobInfoLabel\":\"Card_jobInfoLabel__3P+97\"};","import React from \"react\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { DA_BasicLink } from \"@danishagro/shared/src/components/atoms/BasicLink/BasicLink.component\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\n// import style\nimport { ImageViewer } from \"src/components/ImageViewer/ImageViewer.component\";\nimport { DA_InlineLink } from \"@danishagro/shared/src/components/atoms/InlineLink/InlineLink.component\";\nimport { Position } from \"../../JobListPage.interface\";\nimport S from \"./Card.module.scss\";\n\nconst getRelativePathFromUrl = (url) => {\n if (typeof url !== \"string\" || url.trim() === \"\") return \"\";\n const urlObj = new URL(url);\n return urlObj.pathname + urlObj.search;\n};\n\nexport const Card = ({\n id,\n name,\n department,\n city,\n country,\n teaser,\n positionCategory,\n advertisements,\n}: Position) => {\n const url = globalThis.siteSettingsObj?.jobPositionDetailPage?.url.replace(\"{positionID}\", id);\n\n const relativePath = getRelativePathFromUrl(url);\n\n const { getDictionaryString } = useTranslations();\n\n return (\n <DA_BasicLink\n href={`${relativePath}`}\n className={S.jobListCard}\n title={getDictionaryString(\"General.ReadMore\")}\n target=\"_self\"\n >\n {/* Image */}\n {advertisements?.[0].imageUrl ? (\n <div className={S.imageWrapper}>\n <ImageViewer\n src={advertisements?.[0].imageUrl}\n aspectRatioX={350}\n aspectRatioY={200}\n />\n </div>\n ) : null}\n\n <div>\n {/* Title */}\n <DA_Title h3 noMargin>\n <span className={S.title}>{name}</span>\n </DA_Title>\n\n {/* Text */}\n {teaser ? (\n <div className={S.teaserWrapper}>\n {/* <DA_Text noPadding html={teaser} className={S.teaserText} /> */}\n <div className={S.teaserText}>\n {teaser}\n\n <DA_InlineLink\n title={getDictionaryString(\"General.ReadMore\")}\n href={`${relativePath}`}\n target=\"_self\"\n className={S.readMoreLink}\n />\n </div>\n </div>\n ) : null}\n\n {/* Job info */}\n <ul className={S.jobInfoList}>\n <li className={S.jobInfoItem}>\n <span className={S.jobInfoLabel}>\n {getDictionaryString(\"jobDetail.areaOfWork.label\")}\n </span>\n <span className={S.positionCategory}>\n {positionCategory?.name ? positionCategory?.name : \"-\"}\n </span>\n </li>\n <li className={S.jobInfoItem}>\n <span className={S.jobInfoLabel}>\n {getDictionaryString(\"jobDetail.company.label\")}\n </span>\n <DA_Text noPadding html={department.name} className={S.departmentName} />\n </li>\n <li className={S.jobInfoItem}>\n <span className={S.jobInfoLabel}>\n {getDictionaryString(\"jobDetail.location.label\")}\n </span>\n {(city || country) && (\n <DA_Text\n noPadding\n html={city && country ? `${city}, ${country}` : city || country}\n className={S.locationText}\n />\n )}\n </li>\n </ul>\n </div>\n </DA_BasicLink>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"JobAgent_wrapper__h2L-V\"};","import React from \"react\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { JobAgentProps } from \"./JobAgent.interface\";\nimport S from \"./JobAgent.module.scss\";\n\nexport const JobAgent = (props: JobAgentProps) => {\n return (\n <div className={S.wrapper}>\n {/* Title */}\n {props.title ? <DA_Title h3>{props.title}</DA_Title> : null}\n\n {/* Description */}\n {props.description ? <DA_Text html={props.description} /> : null}\n\n {/* Link */}\n {props?.link?.url ? (\n <DA_Button\n title={props.link?.name}\n isGhost\n href={props?.link?.url}\n target={props?.link.target ? props?.link.target : \"_self\"}\n />\n ) : null}\n </div>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"JobListPage_inner__mF3AX\",\"resetButton\":\"JobListPage_resetButton__LHttD\",\"contentWrapper\":\"JobListPage_contentWrapper__hB2wF\",\"jobListWrapper\":\"JobListPage_jobListWrapper__eBEp6\",\"removeChip\":\"JobListPage_removeChip__rmuSq\",\"filterOptionsWrapper\":\"JobListPage_filterOptionsWrapper__5MvMH\",\"filterSelectedLabel\":\"JobListPage_filterSelectedLabel__mLPDr\",\"select\":\"JobListPage_select__SBrSS\",\"selectLabel\":\"JobListPage_selectLabel__PkhOo\",\"selectWrapper\":\"JobListPage_selectWrapper__BY3Ke\",\"noPositionsMessage\":\"JobListPage_noPositionsMessage__t3Pwn\",\"noPositionsIcon\":\"JobListPage_noPositionsIcon__turqW\",\"subTextIntro\":\"JobListPage_subTextIntro__JR49-\",\"linkToAll\":\"JobListPage_linkToAll__89rxa\",\"spinnerWrapper\":\"JobListPage_spinnerWrapper__1LS2R\",\"spinner\":\"JobListPage_spinner__rW+LY\",\"buttonWrapper\":\"JobListPage_buttonWrapper__suBFZ\"};","import React, { useEffect, useMemo, useState } from \"react\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { DA_Select } from \"@danishagro/shared/src/components/atoms/Select/Select.component\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { DA_Chip } from \"@danishagro/shared/src/components/atoms/Chip/Chip.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { DA_Icon, DA_IconNames } from \"@danishagro/shared/src/components/atoms/Icon/Icon.component\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Spinner } from \"@danishagro/shared/src/components/atoms/Spinner/Spinner.component\";\nimport { DA_Breadcrumb } from \"@danishagro/shared/src/components/molecules/Breadcrumb/Breadcrumb.component\";\nimport {\n DA_EmptyState,\n DA_EmptyStateTypes,\n} from \"@danishagro/shared/src/components/molecules/EmptyState/EmptyState.component\";\nimport { Helmet } from \"react-helmet\";\nimport { DynamicBlock } from \"src/blocks/DynamicBlock.component\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { useSessionStorage } from \"react-use\";\nimport { usePage } from \"@contexts/page.context\";\nimport { Card } from \"./components/Card/Card.component\";\nimport { useItems } from \"./hooks/useItems.hook\";\nimport { JobListPageProps, Position } from \"./JobListPage.interface\";\nimport { JobAgent } from \"./components/JobAgent/JobAgent.component\";\nimport S from \"./JobListPage.module.scss\";\n\nexport const JobListPage = (props: JobListPageProps) => {\n const { currentPathDetails } = usePage();\n\n const { departments, categories, allPositions, viewState, countries } = useItems();\n // \"Show more jobs\" state\n const [visibleCards, setVisibleCards] = useState<Position[]>([]);\n // Select state\n const [positions, setPositions] = useState<Position[]>(allPositions || []);\n const [isFetchingDataFirstTime, setIsFetchingDataFirstTime] = useState(true);\n\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props.props.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props.props.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props.props?.allowFollowing, props.props?.allowIndexing]);\n\n // Elements of jobs per page\n const PAGE_ELEMENTS = 7;\n\n const { getDictionaryString } = useTranslations();\n\n // Init State for data\n const filtersInitialState = useMemo(\n () => ({\n department: departments?.length === 1 ? departments[0].name : \"\",\n positionCategory: categories?.length === 1 ? categories[0].name : \"\",\n // Fix this when cmore countries are available\n countries: \"\",\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [departments, categories, countries]\n );\n\n const [filters, setFilters] = useSessionStorage(\"jobListFilters\", filtersInitialState);\n\n // Select options, add more here\n const options = useMemo(\n () => ({\n department: {\n values: departments,\n displayName: getDictionaryString(\"JobList.AllDepartments\"),\n },\n positionCategory: categories\n ? {\n values: categories,\n displayName: getDictionaryString(\"JobList.AllCategories\"),\n }\n : null,\n countries: countries\n ? {\n // Added this\n values: countries,\n displayName: getDictionaryString(\"JobList.AllCountries\"),\n }\n : null,\n }),\n [departments, categories, countries, getDictionaryString]\n );\n\n // Show display name\n const getDisplayName = (filterKey) => {\n return options[filterKey]?.displayName || getDictionaryString(\"Job_Items\");\n };\n\n const FILTER_MAP = {\n countries: \"country\",\n department: \"department\",\n positionCategory: \"positionCategory\",\n };\n\n //Show more job cards\n const showMore = () => {\n const nextBatch = positions?.slice(\n visibleCards.length,\n visibleCards.length + PAGE_ELEMENTS\n );\n setVisibleCards((prev) => [...prev, ...nextBatch]);\n };\n\n // Filter logic\n useEffect(() => {\n let filteredPositions = allPositions;\n Object.keys(filters).forEach((filterKey) => {\n const filterValue = filters[filterKey];\n if (filterValue) {\n const positionAttribute = FILTER_MAP[filterKey];\n if (positionAttribute) {\n if ([\"countries\"].includes(filterKey)) {\n // Direct attributes\n filteredPositions = filteredPositions?.filter(\n (position) => position[positionAttribute] === filterValue\n );\n } else {\n // Nested attributes (assuming they have a 'name' property)\n filteredPositions = filteredPositions?.filter(\n (position) => position[positionAttribute]?.name === filterValue\n );\n }\n }\n }\n });\n\n setPositions(filteredPositions);\n setIsFetchingDataFirstTime(false);\n setVisibleCards(filteredPositions?.slice(0, PAGE_ELEMENTS) || []);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters, allPositions]);\n\n // Reset button\n const resetSelections = () => {\n // Save current scroll position\n setFilters(filtersInitialState);\n };\n\n // Calculate if any filter is selected\n const isAnyFilterSelected = useMemo(() => {\n return Object.values(filters).some((filter) => filter !== \"\");\n }, [filters]);\n\n const moduleBlocks = useMemo(() => {\n return props.props?.modules?.[0]\n ? props.props.modules?.map((block, index) => <DynamicBlock key={index} {...block} />)\n : null;\n }, [props.props?.modules]);\n\n if (isFetchingDataFirstTime) {\n return <DA_Spinner />;\n }\n\n const filterTranslations = {\n department: \"JobList.AllDepartments.Option.Label\",\n positionCategory: \"JobList.AllCategories.Option.Label\",\n countries: \"JobList.AllCountries.Option.Label\",\n };\n\n return (\n <main id=\"main\">\n <Helmet>\n <title>{props.props?.metaTitle || props.name}</title>\n <meta name=\"description\" content={props.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n </Helmet>\n\n {/* Breadcrumbs */}\n <DA_Container noVerticalPadding>\n <DA_Breadcrumb\n breadcrumbItems={[\n ...currentPathDetails.map(({ name, path }) => ({\n title: name,\n href: path,\n })),\n ]}\n lastIsLink={true}\n />\n </DA_Container>\n\n <DA_Container noVerticalPadding>\n <div className={S.inner}>\n {/* Title, allposition length */}\n <DA_Title h1>\n {getDictionaryString(\"JobList.VacantPositions\")}{\" \"}\n {isAnyFilterSelected ? positions?.length : allPositions?.length}\n </DA_Title>\n <DA_Title h2>{getDictionaryString(\"JobList.title\")}</DA_Title>\n\n <div className={S.subTextIntro}>{moduleBlocks}</div>\n {/** Filter */}\n {viewState === \"DONE\" ? (\n <>\n {options && (\n <div className={S.selectWrapper}>\n {Object.keys(filters).map((filterKey) => {\n // Skip if the key is not in the options object\n if (!options[filterKey]) {\n return null;\n }\n const displayName = getDisplayName(filterKey);\n\n const currentOptions = options?.[filterKey]?.values?.filter(\n (option) => {\n return option.trim() !== \"\";\n }\n );\n\n // If only one option is available, don't render the select\n // Countries not shown because only 1 is available\n if (currentOptions?.length <= 1) {\n return null;\n }\n\n return (\n <div key={filterKey}>\n <span className={S.selectLabel}>{displayName}</span>\n <DA_Select\n id={`${filterKey}-select`}\n fullWidth={true}\n value={filters[filterKey]}\n onChange={(selection) =>\n setFilters({\n ...filters,\n [filterKey]: selection.value,\n })\n }\n options={[\n {\n value: \"\",\n label: getDictionaryString(\n filterTranslations[filterKey]\n ),\n },\n ...(currentOptions?.map((option) => ({\n value: option,\n label: option,\n })) || []),\n ]}\n className={S.select}\n />\n </div>\n );\n })}\n </div>\n )}\n </>\n ) : null}\n\n {/** Chip */}\n <div className={S.filterOptionsWrapper}>\n {/* Text label for chips */}\n {isAnyFilterSelected ? (\n <span className={S.filterSelectedLabel}>\n {getDictionaryString(\"JobList.filterSelected.label\")}\n </span>\n ) : null}\n\n {filters &&\n Object.entries(filters).map(([key, value]) =>\n value ? (\n <DA_Chip\n key={key}\n className={S.removeChip}\n label={`${getDictionaryString(`JobList.${key}`)}: ${value}`}\n removable\n onRemove={() => {\n setFilters({ ...filters, [key]: \"\" });\n }}\n />\n ) : null\n )}\n\n {isAnyFilterSelected && (\n <DA_Button\n className={S.resetButton}\n onClick={resetSelections}\n title={getDictionaryString(\"JobList.ResetFilterText\")}\n fullWidth={false}\n small={true}\n isGhost={true}\n />\n )}\n </div>\n\n <div className={S.contentWrapper}>\n {/** EMPTY FILTERED */}\n {viewState === \"DONE\" && !positions?.[0] && allPositions?.[0] ? (\n <div className={S.noPositionsMessage}>\n <DA_Icon\n name={DA_IconNames.ExclamationMark}\n useSvgDimensions={true}\n className={S.noPositionsIcon}\n />\n <DA_Title h3>\n {getDictionaryString(\"JobList.TryDifferentFilters\")}\n </DA_Title>\n <DA_Text>{getDictionaryString(\"JobList.NoResults\")}</DA_Text>\n </div>\n ) : null}\n\n {/** EMPTY ALL */}\n {viewState === \"EMPTY\" && !allPositions?.[0] ? (\n <div className={S.noPositionsMessage}>\n <DA_EmptyState\n type={DA_EmptyStateTypes.NoResults}\n title={getDictionaryString(\"JobList.NoPositions\")}\n text={getDictionaryString(\"JobList.GoToMainPageText\")}\n />\n <DA_Button\n className={S.linkToAll}\n href={props?.props?.noJobsRedirect?.url || \"/\"}\n title={getDictionaryString(\"Joblist.SeeAllAvailablePositions\")}\n />\n </div>\n ) : null}\n\n {/** DONE */}\n {viewState === \"DONE\" && positions?.[0] ? (\n <div className={S.jobListWrapper}>\n {visibleCards.map((position, index) => (\n <Card key={index} {...position} />\n ))}\n </div>\n ) : null}\n\n {/** LOADING */}\n {viewState === \"LOADING\" ? (\n <div className={S.spinnerWrapper}>\n <DA_Spinner className={S.spinner} />\n </div>\n ) : null}\n\n <JobAgent\n title={props.props.jobAgentTitle}\n description={props.props.jobAgentDescription}\n link={props.props.link}\n />\n\n {/** ERROR */}\n {viewState === \"ERROR\" ? (\n <div className={S.spinnerWrapper}>\n <DA_EmptyState type={DA_EmptyStateTypes.Error} />\n </div>\n ) : null}\n </div>\n\n {positions?.length > 0 && (\n <div className={S.buttonWrapper}>\n {/* //Disable the button then visibleCardsand allPositions are same length */}\n <DA_Button\n title={getDictionaryString(\"JobList.ShowMore.button\")}\n onClick={showMore}\n disabled={\n visibleCards.length === allPositions?.length ||\n visibleCards.length === positions?.length ||\n visibleCards.length < PAGE_ELEMENTS\n }\n />\n {isAnyFilterSelected ? (\n // Display the filtered count if any filter is selected\n <span>{`${visibleCards?.length} ${getDictionaryString(\n \"JobList.showMore.outOf.text\"\n )} ${positions?.length} ${getDictionaryString(\n \"JobList.showMore.jobs.text\"\n )}`}</span>\n ) : (\n // Display the total count when no filters are applied\n <span>{`${visibleCards?.length} ${getDictionaryString(\n \"JobList.showMore.outOf.text\"\n )} ${allPositions?.length} ${getDictionaryString(\n \"JobList.showMore.jobs.text\"\n )}`}</span>\n )}\n </div>\n )}\n </div>\n </DA_Container>\n </main>\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { Position, Department, PositionCategory } from \"../JobListPage.interface\";\n\nexport const useItems = () => {\n const [departments, setDepartments] = useState<Department[]>(undefined);\n const [categories, setCategories] = useState<PositionCategory[]>(undefined);\n const [allPositions, setAllPositions] = useState<Position[]>(undefined);\n const [cities, setCities] = useState<string[]>([]);\n const [countries, setCountries] = useState<string[]>([]);\n const [viewState, setViewState] = useState<string>(\"INIT\");\n\n const { currentCulture } = useAppData();\n\n const fetchItems = useCallback(async () => {\n try {\n const url = getAbsoluteUrl(`/getpositionlist?culturecode=${currentCulture}`, \"SPA\");\n const request = await fetch(url);\n\n if (request) {\n const response = await request.json();\n return response;\n }\n } catch {\n setViewState(\"ERROR\");\n }\n }, [currentCulture]);\n\n const getItems = useCallback(async () => {\n setViewState(\"LOADING\");\n\n try {\n const response = await fetchItems();\n\n if (response.categories?.[0]) {\n setCategories(response.categories);\n }\n\n if (response.departments?.[0]) {\n setDepartments(response.departments);\n }\n\n if (response.cities?.[0]) {\n setCities(response.cities);\n }\n\n if (response.countries?.[0]) {\n setCountries(response.countries);\n }\n\n if (response.positions?.[0]) {\n setAllPositions(response.positions);\n\n setViewState(\"DONE\");\n } else {\n setViewState(\"EMPTY\");\n }\n } catch (error) {\n setCategories(undefined);\n setDepartments(undefined);\n setCities(undefined);\n setCategories(undefined);\n setAllPositions(undefined);\n setViewState(\"ERROR\");\n }\n }, [fetchItems]);\n\n // Init\n useEffect(() => {\n getItems();\n\n return () => {\n setCategories(undefined);\n setDepartments(undefined);\n setCities(undefined);\n setCategories(undefined);\n setAllPositions(undefined);\n setViewState(\"INIT\");\n };\n }, [getItems]);\n\n return {\n departments,\n categories,\n allPositions,\n viewState,\n cities,\n countries,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"list\":\"LatestEvents_list__-u0YA\",\"link\":\"LatestEvents_link__N9j3u\",\"content\":\"LatestEvents_content__JJk6w\",\"image\":\"LatestEvents_image__VuSM4\",\"headline\":\"LatestEvents_headline__y19vf\"};","import React from \"react\";\nimport { DA_BasicLink } from \"@danishagro/shared/src/components/atoms/BasicLink/BasicLink.component\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { ImageViewer } from \"src/components/ImageViewer/ImageViewer.component\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { LatestEventsProps } from \"./LatestEvents.interface\";\nimport { useFilteredItems } from \"./hooks/useItems.hook\";\nimport S from \"./LatestEvents.module.scss\";\n\nconst LatestEvents = (props: LatestEventsProps) => {\n const { items, viewState } = useFilteredItems(3, props.currentUrl);\n const { getDictionaryString } = useTranslations();\n\n const filteredItems = items?.filter((item) => item.url !== props.currentUrl);\n return (\n <>\n {viewState === \"DONE\" ? (\n <div className={S.list}>\n <DA_Title h4 noMargin>\n {getDictionaryString(\"Events.LatestEvents\")}\n </DA_Title>\n\n {filteredItems?.[0] &&\n filteredItems.map((item, key) => {\n return (\n <div key={key}>\n {/* //Just show latest events if the event has content */}\n {item.hasContent ? (\n <DA_BasicLink className={S.link} key={key} href={item.url}>\n {/** Image */}\n {item.thumbnail ? (\n <div className={S.image}>\n <ImageViewer\n className={S.image}\n src={getAbsoluteUrl(\n item.thumbnail?.url,\n \"UMBRACO\"\n )}\n />\n </div>\n ) : null}\n\n <div className={S.content}>\n {/** Date */}\n {item?.startDate && <span>{item?.startDate}</span>}\n\n {/** Headline */}\n <strong className={S.headline}>{item.title}</strong>\n </div>\n </DA_BasicLink>\n ) : null}\n </div>\n );\n })}\n </div>\n ) : null}\n </>\n );\n};\n\nexport default LatestEvents;\n","import { useCallback, useEffect, useState } from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { LatestEventsResponseItem } from \"../LatestEvents.interface\";\n\nexport const useFilteredItems = (take = 10, excludeUrl?: string) => {\n const [items, setItems] = useState<LatestEventsResponseItem[]>([]);\n const [viewState, setViewState] = useState<\"INIT\" | \"DONE\" | \"ERROR\">(\"INIT\");\n\n const fetchItems = useCallback(async () => {\n const cultureCode = globalThis?.cultures[0]?.alias;\n try {\n const url = getAbsoluteUrl(\"/geteventlist\", \"SPA\", {\n rootNodeId: globalThis.rootNodeId,\n pageNumber: \"1\",\n pageSize: take.toString(),\n });\n const request = await fetch(`${url}&cultureCode=${cultureCode}`);\n\n if (request.ok) {\n const response = await request.json();\n return response;\n }\n throw new Error(\"Failed to fetch\");\n } catch (error) {\n throw new Error(\"Failed to fetch\");\n }\n }, [take]);\n\n const getItems = useCallback(async () => {\n try {\n let response = await fetchItems();\n // Optionally filter items if excludeUrl is provided\n if (excludeUrl) {\n response = response.filter((item) => item.url !== excludeUrl);\n }\n setItems(response);\n setViewState(\"DONE\");\n } catch (error) {\n setViewState(\"ERROR\");\n }\n }, [fetchItems, excludeUrl]);\n\n useEffect(() => {\n getItems();\n }, [getItems]);\n\n return {\n items,\n viewState,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"EventPage_wrapper__i9-5S\",\"container\":\"EventPage_container__aehcC\",\"main\":\"EventPage_main__nNl2y\",\"content\":\"EventPage_content__xqMrE\",\"aside\":\"EventPage_aside__CjsSs\",\"toolbar\":\"EventPage_toolbar__JHP+9\",\"introductory\":\"EventPage_introductory__Udm-C\",\"tags\":\"EventPage_tags__R9zPG\",\"tag\":\"EventPage_tag__5oisr\"};","import React, { useMemo } from \"react\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { Helmet } from \"react-helmet\";\nimport { format } from \"date-fns\";\nimport { DynamicBlock } from \"src/blocks/DynamicBlock.component\";\nimport {\n DA_Title,\n DA_TitleTag,\n} from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport SocialMediaSharing from \"src/blocks/components/SocialMediaSharing/SocialMediaSharing.component\";\nimport { EventPageProps } from \"./EventPage.interface\";\nimport LatestEvents from \"./components/LatestEvents/LatestEvents.component\";\nimport S from \"./EventPage.module.scss\";\n\nconst EventPage = (props: EventPageProps) => {\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props.props.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props.props.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props.props?.allowFollowing, props.props?.allowIndexing]);\n\n return (\n <main className={S.wrapper} id=\"main\">\n <Helmet>\n <title>{props.props?.metaTitle || props.name}</title>\n <meta name=\"description\" content={props.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n </Helmet>\n\n {/* Hero */}\n {props?.props?.hero?.[0]\n ? props.props.hero?.map((block, index) => <DynamicBlock key={index} {...block} />)\n : null}\n\n <DA_Container className={S.container} noVerticalPadding>\n <main className={S.main} id=\"main\">\n <div className={S.toolbar}>\n {props.props.startDate ? (\n <strong>{format(new Date(props.props.startDate), \"dd.MM.yyyy\")}</strong>\n ) : null}\n\n <div className={S.tags}>\n {props.props.tags.map((tag, index) => (\n <div className={S.tag} key={index}>\n {tag}\n </div>\n ))}\n </div>\n </div>\n\n {/** Title */}\n <DA_Title h2 tag={DA_TitleTag.H2}>\n {props.props.title}\n </DA_Title>\n\n {/** Text */}\n <strong className={S.introductory}>{props.props.introductory}</strong>\n\n {/* Blocks */}\n <div className={S.content}>\n {props?.props?.modules?.[0]\n ? props.props.modules?.map((block, index) => (\n <DynamicBlock key={index} {...block} compact />\n ))\n : null}\n </div>\n <SocialMediaSharing />\n </main>\n\n {/** Related News */}\n <aside className={S.aside}>\n <LatestEvents take={3} currentUrl={props.url} />\n </aside>\n </DA_Container>\n </main>\n );\n};\n\nexport default EventPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"list\":\"MoreEmployees_list__e-lT4\",\"link\":\"MoreEmployees_link__UctN3\",\"content\":\"MoreEmployees_content__1qICV\",\"image\":\"MoreEmployees_image__miekR\",\"headline\":\"MoreEmployees_headline__9eeAm\",\"text\":\"MoreEmployees_text__0hAa1\",\"tags\":\"MoreEmployees_tags__3xZHL\",\"tag\":\"MoreEmployees_tag__kzPEP\"};","import React, { useState, useEffect } from \"react\";\nimport { DA_BasicLink } from \"@danishagro/shared/src/components/atoms/BasicLink/BasicLink.component\";\nimport { DA_Title } from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { ImageViewer } from \"src/components/ImageViewer/ImageViewer.component\";\nimport { MoreEmpolyeesProps } from \"./MoreEmployees.interface\";\nimport S from \"./MoreEmployees.module.scss\";\n\nexport const MoreEmployees = ({ items }: MoreEmpolyeesProps) => {\n // Helper function to get n random items from an array\n const getRandom = (arr, n) => {\n const result = new Array(n);\n const copy = [...arr];\n\n // If there are less items than requested, return all items\n if (n > copy.length) return arr;\n\n while (n--) {\n const x = Math.floor(Math.random() * copy.length);\n result[n] = copy.splice(x, 1)[0]; // This will remove the item from copy and return it.\n }\n return result;\n };\n\n // Number of siblings employees to show\n const NUM_OF_EMPLOYEES_TO_SHOW = 3;\n\n // Create state variable for the random siblings\n const [randomSiblings, setRandomSiblings] = useState(() =>\n getRandom(items.siblings, NUM_OF_EMPLOYEES_TO_SHOW)\n );\n\n // Update randomSiblings state when items.siblings changes\n useEffect(() => {\n setRandomSiblings(getRandom(items.siblings, NUM_OF_EMPLOYEES_TO_SHOW));\n }, [items.siblings]);\n\n return (\n <>\n {items?.siblings && items.siblings.length > 0 ? (\n <div className={S.list}>\n {items?.parentGroup ? (\n <DA_Title h4 noMargin>\n {items.parentGroup}\n </DA_Title>\n ) : null}\n {randomSiblings.map((item, index) => (\n <DA_BasicLink className={S.link} key={index} href={item.url}>\n {/** Image */}\n {item.props.thumbnail ? (\n <div className={S.image}>\n <ImageViewer\n className={S.image}\n src={getAbsoluteUrl(\n item.props.thumbnail.props.umbracoFile,\n \"UMBRACO\"\n )}\n />\n </div>\n ) : null}\n\n <div className={S.content}>\n <div className={S.tags}>\n {item?.props?.tags.map((tag, index) => (\n <div className={S.tag} key={index}>\n {tag}\n </div>\n ))}\n </div>\n\n <strong className={S.headline}>{item.props.title}</strong>\n\n <div className={S.text}>\n <DA_Text noPadding html={item?.props?.introductory} />\n </div>\n </div>\n </DA_BasicLink>\n ))}\n </div>\n ) : null}\n </>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"TestimonialsPage_wrapper__J8xsK\",\"container\":\"TestimonialsPage_container__uhmZX\",\"main\":\"TestimonialsPage_main__CMY9E\",\"content\":\"TestimonialsPage_content__CtmLB\",\"aside\":\"TestimonialsPage_aside__D8Ksb\",\"toolbar\":\"TestimonialsPage_toolbar__QZJt3\",\"tags\":\"TestimonialsPage_tags__Mx7l9\",\"tag\":\"TestimonialsPage_tag__9QDI0\"};","import React, { useMemo } from \"react\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { Helmet } from \"react-helmet\";\nimport { DynamicBlock } from \"src/blocks/DynamicBlock.component\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport SocialMediaSharing from \"src/blocks/components/SocialMediaSharing/SocialMediaSharing.component\";\nimport { DA_Breadcrumb } from \"@danishagro/shared/src/components/molecules/Breadcrumb/Breadcrumb.component\";\nimport { usePage } from \"@contexts/page.context\";\nimport { TestimonialsPageProps } from \"./TestimonialsPage.interface\";\nimport { MoreEmployees } from \"./components/MoreEmployees/MoreEmployees.component\";\nimport { useItems } from \"./components/MoreEmployees/hooks/useItems.hook\";\nimport S from \"./TestimonialsPage.module.scss\";\n\nexport const TestimonialsPage = (props: TestimonialsPageProps) => {\n const { currentPathDetails } = usePage();\n const { items } = useItems(3, props.id);\n\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props.props.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props.props.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props.props?.allowFollowing, props.props?.allowIndexing]);\n\n return (\n <main className={S.wrapper}>\n <Helmet>\n <title>{props?.props?.metaTitle || props?.name}</title>\n <meta name=\"description\" content={props?.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n </Helmet>\n\n {/* Breadcrumbs */}\n <DA_Container noVerticalPadding>\n <DA_Breadcrumb\n breadcrumbItems={[\n ...currentPathDetails.map(({ name, path }) => ({\n title: name,\n href: path,\n })),\n ]}\n lastIsLink={true}\n />\n </DA_Container>\n\n {/* Hero */}\n {props?.props?.hero?.[0]\n ? props?.props?.hero?.map((block, index) => <DynamicBlock key={index} {...block} />)\n : null}\n\n <DA_Container className={S.container} noVerticalPadding>\n <main className={S.main}>\n <div className={S.toolbar}>\n <div className={S.tags}>\n {props?.props?.tags.map((tag, index) => (\n <div className={S.tag} key={index}>\n {tag}\n </div>\n ))}\n </div>\n </div>\n\n {/* Blocks */}\n <div className={S.content}>\n {props?.props?.modules?.[0]\n ? props?.props?.modules?.map((block, index) => (\n <DynamicBlock key={index} {...block} compact />\n ))\n : null}\n </div>\n\n <SocialMediaSharing />\n </main>\n {/** Related Testimonials */}\n {/* TODO: Show related Testimonials based on tag */}\n <aside className={S.aside}>\n {items && items.siblings && items.siblings.length > 0 && (\n <MoreEmployees items={items} />\n )}\n </aside>\n </DA_Container>\n </main>\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { MoreEmpolyeesItem } from \"../MoreEmployees.interface\";\n\nexport const useItems = (take = 10, employeeGroupId: number) => {\n const [items, setItems] = useState<MoreEmpolyeesItem | undefined>(undefined);\n const [viewState, setViewState] = useState<string>(\"INIT\");\n\n const fetchItems = useCallback(async () => {\n const cultureCode = globalThis?.cultures[0]?.alias;\n try {\n const url = getAbsoluteUrl(`/getemployee?id=${employeeGroupId}`, \"SPA\", {\n rootNodeId: globalThis.rootNodeId,\n pageNumber: \"1\",\n pageSize: take.toString(),\n });\n const request = await fetch(`${url}&cultureCode=${cultureCode}`);\n\n if (request) {\n const response = await request.json();\n return response;\n }\n } catch {\n // Empty\n }\n }, [take, employeeGroupId]);\n\n const getItems = useCallback(async () => {\n try {\n const response = await fetchItems();\n\n if (response) {\n setItems(response);\n setViewState(\"DONE\");\n } else {\n throw new Error();\n }\n } catch {\n setItems(undefined);\n setViewState(\"ERROR\");\n }\n }, [fetchItems]);\n\n // Init\n\n useEffect(() => {\n getItems();\n }, [getItems]);\n\n return {\n items,\n viewState,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"imageWrapper\":\"Card_imageWrapper__Wl94P\",\"tags\":\"Card_tags__3-HzN\",\"tag\":\"Card_tag__Fx2Pu\",\"tagNews\":\"Card_tagNews__-rFYS\",\"tagPress\":\"Card_tagPress__1f5Qz\",\"tagPartnership\":\"Card_tagPartnership__D2vpt\",\"inner\":\"Card_inner__xbWz9\",\"image\":\"Card_image__7rjxx\",\"textWrapper\":\"Card_textWrapper__zOeGB\",\"title\":\"Card_title__h4Isy\",\"text\":\"Card_text__EW7vE\"};","import React from \"react\";\nimport { DA_Button } from \"@danishagro/shared/src/components/atoms/Button/Button.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport {\n DA_Title,\n DA_TitleTag,\n} from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { useTranslations } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { ImageViewer } from \"src/components/ImageViewer/ImageViewer.component\";\nimport { EmployeeProps } from \"./Card.interface\";\n// eslint-disable-next-line css-modules/no-unused-class\nimport S from \"./Card.module.scss\";\n\nexport const Card = ({ employee, className }: { employee: EmployeeProps; className?: string }) => {\n const { getDictionaryString } = useTranslations();\n\n return (\n <div className={className}>\n <div className={S.inner}>\n <div className={S.imageWrapper}>\n {/** Image */}\n {employee?.props?.thumbnail?.props?.umbracoFile ? (\n <div className={S.image}>\n <ImageViewer\n className={S.image}\n src={getAbsoluteUrl(employee?.props?.thumbnail?.url)}\n />\n </div>\n ) : null}\n </div>\n\n <div className={S.tags}>\n {employee?.props?.tags.map((tag, index) => (\n <div className={S.tag} key={index}>\n {tag}\n </div>\n ))}\n </div>\n\n {/**Content */}\n <div className={S.textWrapper}>\n {/** Title */}\n <div className={S.title}>\n <DA_Title h3 tag={DA_TitleTag.H3} noMargin>\n {employee?.props?.title}\n </DA_Title>\n </div>\n\n {employee?.props?.introductory ? (\n <div className={S.text}>\n <DA_Text noPadding html={employee?.props?.introductory} />\n </div>\n ) : null}\n\n {/** Button */}\n {/*// News open in new tab*/}\n <div>\n <DA_Button\n title={getDictionaryString(\"General.Read\")}\n href={employee?.url}\n />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"TestimonialListPage_inner__uABwS\",\"list\":\"TestimonialListPage_list__vTUOi\",\"item\":\"TestimonialListPage_item__zldXY\",\"groupeList\":\"TestimonialListPage_groupeList__hJ5Io\",\"jobList\":\"TestimonialListPage_jobList__2b83X\",\"textWrapper\":\"TestimonialListPage_textWrapper__mgZfB\",\"twoLines\":\"TestimonialListPage_twoLines__-V24g\",\"threeLines\":\"TestimonialListPage_threeLines__yYvYR\",\"fourLines\":\"TestimonialListPage_fourLines__H9GTO\"};","import React, { useMemo } from \"react\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport { Helmet } from \"react-helmet\";\nimport {\n DA_Title,\n DA_TitleTag,\n} from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { isProduction } from \"@helpers/isProduction.helper\";\nimport { DA_Breadcrumb } from \"@danishagro/shared/src/components/molecules/Breadcrumb/Breadcrumb.component\";\nimport { usePage } from \"@contexts/page.context\";\nimport { DynamicBlock } from \"../../../../blocks/DynamicBlock.component\";\nimport { EmployeeProps } from \"../TestimonialsPage/components/MoreEmployees/MoreEmployees.interface\";\nimport Card from \"./components/Card.component\";\nimport { useItems } from \"./hooks/useItems.hook\";\nimport { TestimonialListPageProps } from \"./TestimonialListPage.interface\";\nimport S from \"./TestimonialListPage.module.scss\";\n\nexport const TestimonialListPage = (props: TestimonialListPageProps) => {\n const { currentPathDetails } = usePage();\n\n const { items, viewState } = useItems(props.props?.rootFolder?.id);\n\n const robotsIndexFollow = useMemo(() => {\n if (!isProduction()) {\n return \"noindex, nofollow\";\n }\n\n return `${props.props.allowIndexing === true ? \"index\" : \"noindex\"},\n ${props.props.allowFollowing === true ? \"follow\" : \"nofollow\"}`;\n }, [props.props?.allowFollowing, props.props?.allowIndexing]);\n\n // Get amount of employees for each groupe\n const getEmployeeGroupClass = (employees: Array<EmployeeProps>) => {\n switch (employees.length) {\n case 1:\n case 2:\n return S.twoLines;\n case 3:\n return S.threeLines;\n default:\n return S.fourLines;\n }\n };\n\n return (\n <div>\n <Helmet>\n <title>{props.props?.metaTitle || props.name}</title>\n <meta name=\"description\" content={props.props?.metaDescription} />\n <meta name=\"robots\" content={robotsIndexFollow} />\n </Helmet>\n\n {/* Breadcrumbs */}\n <DA_Container noVerticalPadding>\n <DA_Breadcrumb\n breadcrumbItems={[\n ...currentPathDetails.map(({ name, path }) => ({\n title: name,\n href: path,\n })),\n ]}\n lastIsLink={true}\n />\n </DA_Container>\n\n {/* Hero */}\n {props?.props?.hero?.[0]\n ? props?.props?.hero?.map((block, index) => <DynamicBlock key={index} {...block} />)\n : null}\n\n <DA_Container noVerticalPadding>\n <div className={S.inner}>\n {/** Text */}\n {props.props.text ? (\n <div className={S.textWrapper}>\n <DA_Text alignCenter html={props.props.text} />\n </div>\n ) : null}\n {/** List */}\n <div className={S.list}>\n {viewState === \"DONE\" ? (\n <>\n {items?.employeeGroups?.map((group) => (\n <div className={S.jobList} key={group.id}>\n <DA_Title h2 tag={DA_TitleTag.H2} fullWidth>\n {group.name}\n </DA_Title>\n <div\n className={cn(\n S.groupeList,\n getEmployeeGroupClass(group.employees)\n )}\n >\n {group.employees.map((employee, employeeIndex) => (\n <div key={employeeIndex}>\n <Card\n key={employee.id}\n employee={employee}\n className={S.item}\n />\n </div>\n ))}\n </div>\n </div>\n ))}\n </>\n ) : null}\n </div>\n\n {/* Blocks */}\n {props?.props?.modules?.[0]\n ? props.props.modules?.map((block, index) => (\n <DynamicBlock key={index} {...block} />\n ))\n : null}\n </div>\n </DA_Container>\n </div>\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { getAbsoluteUrl } from \"@helpers/getAbsoluteUrl.helper\";\nimport { TestimonialListPageProps } from \"../TestimonialListPage.interface\";\n\nexport const useItems = (rootFolderId?: string) => {\n const [items, setItems] = useState<TestimonialListPageProps | undefined>(undefined);\n const [viewState, setViewState] = useState<string>(\"INIT\");\n\n const fetchItems = useCallback(async () => {\n const cultureCode = globalThis?.cultures[0]?.alias;\n try {\n const parameters = {\n rootNodeId: globalThis.rootNodeId,\n };\n\n if (typeof rootFolderId !== \"undefined\") {\n parameters[\"rootFolderId\"] = rootFolderId;\n }\n\n const url = getAbsoluteUrl(\"/getemployees\", \"SPA\", parameters);\n const request = await fetch(`${url}&cultureCode=${cultureCode}`);\n\n if (request) {\n const response = await request.json();\n return response;\n }\n } catch {\n // Empty\n }\n }, [rootFolderId]);\n\n const getItems = useCallback(async () => {\n try {\n const response = await fetchItems();\n\n if (response) {\n setItems(response);\n setViewState(\"DONE\");\n } else {\n throw new Error();\n }\n } catch {\n setItems(undefined);\n setViewState(\"ERROR\");\n }\n }, [fetchItems]);\n\n // Init\n\n useEffect(() => {\n getItems();\n }, [getItems]);\n\n return {\n items,\n viewState,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"bodyPage\":\"DynamicPage_bodyPage__xYP2R\"};","import React, { Fragment, useCallback, useEffect, useRef, useState } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { NewsListPage } from \"src/layout/pages/components/NewsListPage/NewsListPage.component\";\nimport { Page } from \"@interfaces/page.interface\";\nimport { useApi } from \"@contexts/api.context\";\nimport { useLocation } from \"react-router-dom\";\nimport { usePage } from \"@contexts/page.context\";\nimport { useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { NewsPageProps } from \"./components/NewsPage/NewsPage.interface\";\nimport { ContentPageProps } from \"./components/ContentPage/ContentPage.interface\";\nimport ContentPage from \"./components/ContentPage/ContentPage.component\";\nimport ErrorPage from \"./components/ErrorPage/ErrorPage.component\";\nimport NewsPage from \"./components/NewsPage/NewsPage.component\";\nimport NotFoundPage from \"./components/NotFoundPage/NotFoundPage.component\";\nimport { NewsListPageProps } from \"./components/NewsListPage/NewsListPage.interface\";\nimport { NotFoundPageProps } from \"./components/NotFoundPage/NotFoundPage.interface\";\nimport { EventListPage } from \"./components/EventListPage/EventListPage.component\";\nimport { EventListPageProps } from \"./components/EventListPage/EventListPage.interface\";\nimport { JobsPageProps } from \"./components/JobsPage/JobsPage.interface\";\nimport { JobsPage } from \"./components/JobsPage/JobsPage.component\";\nimport { JobListPage } from \"./components/JobListPage/JobListPage.component\";\nimport { JobListPageProps } from \"./components/JobListPage/JobListPage.interface\";\nimport EventPage from \"./components/EventPage/EventPage.component\";\nimport { EventPageProps } from \"./components/EventPage/EventPage.interface\";\nimport { TestimonialsPage } from \"./components/TestimonialsPage/TestimonialsPage.component\";\nimport { TestimonialsPageProps } from \"./components/TestimonialsPage/TestimonialsPage.interface\";\nimport { TestimonialListPage } from \"./components/TestimonialListPage/TestimonialListPage.component\";\nimport { TestimonialListPageProps } from \"./components/TestimonialListPage/TestimonialListPage.interface\";\nimport S from \"./DynamicPage.module.scss\";\n\nexport const DynamicPage = () => {\n const { page, update } = usePage();\n const location = useLocation();\n const { fetchPage } = useApi();\n const { faviconColor } = useAppData(); // Default value if useAppData() returns null or undefined\n\n const color = faviconColor || \"green\"; // Default value if faviconColor is null, undefined, or an empty string\n\n const [isLoading, setIsLoading] = useState(false);\n\n // const { siteSettings } = useSiteSettings();\n\n const getPage = useCallback(\n async (pathname: string) => {\n setIsLoading(true);\n const fetchPageResponse = await fetchPage(pathname);\n\n if (fetchPageResponse.status === 404) {\n update({\n alias: \"notFoundPage\",\n name: \"404\",\n url: window.location.href,\n status: 404,\n });\n } else {\n update(fetchPageResponse);\n\n // Scroll to top\n setTimeout(() => {\n window.scrollTo({\n top: 0,\n left: 0,\n // @ts-ignore\n behavior: \"instant\",\n });\n }, 100);\n }\n setIsLoading(false);\n },\n [fetchPage, update]\n );\n\n const checkPage = useCallback(\n async (page: Page, pathname: string) => {\n try {\n if (!page) {\n // Fetching the first request.\n getPage(pathname);\n } else if (page && page.url !== pathname) {\n // Fetching a subsequent request.\n getPage(pathname);\n }\n } catch {\n update({\n alias: \"errorPage\",\n name: \"500\",\n url: window.location.href,\n status: 500,\n });\n }\n },\n [getPage, update]\n );\n\n const lastCheckedPageRef = useRef<string>(\"\");\n\n useEffect(() => {\n if (lastCheckedPageRef.current !== location.pathname) {\n lastCheckedPageRef.current = location.pathname;\n checkPage(page, location.pathname);\n }\n }, [page, location.pathname, checkPage]);\n\n const renderBody = (page: Page) => {\n switch (page?.alias) {\n case \"frontpage\": {\n return <ContentPage key={page?.url} {...(page as ContentPageProps)} />;\n }\n case \"page\": {\n return <ContentPage key={page?.url} {...(page as ContentPageProps)} />;\n }\n case \"newsPage\": {\n return <NewsPage key={page?.url} {...(page as NewsPageProps)} />;\n }\n case \"newsListPage\": {\n return <NewsListPage key={page?.url} {...(page as NewsListPageProps)} />;\n }\n case \"eventListPage\": {\n return <EventListPage key={page?.url} {...(page as EventListPageProps)} />;\n }\n case \"eventPage\": {\n return <EventPage key={page?.url} {...(page as EventPageProps)} />;\n }\n case \"employeeArchive\": {\n return (\n <TestimonialListPage key={page?.url} {...(page as TestimonialListPageProps)} />\n );\n }\n case \"testimonialsPage\": {\n return <TestimonialsPage key={page?.url} {...(page as TestimonialsPageProps)} />;\n }\n case \"errorPage\": {\n return <ErrorPage {...(page as Page)} />;\n }\n case \"talentRecruiterDetailPage\": {\n return <JobsPage key={page?.url} {...(page as JobsPageProps)} />;\n }\n case \"talentRecruiterListPage\": {\n return <JobListPage key={page?.url} {...(page as JobListPageProps)} />;\n }\n case \"Page404\": {\n return <NotFoundPage {...(page as NotFoundPageProps)} />;\n }\n }\n };\n\n return isLoading ? (\n <div />\n ) : (\n <Fragment>\n <Helmet>\n <html lang=\"da\" />\n <link\n rel=\"apple-touch-icon\"\n sizes=\"180x180\"\n href={`/icons/${color}/apple-touch-icon.png`}\n />\n <link\n rel=\"icon\"\n type=\"image/png\"\n sizes=\"32x32\"\n href={`/icons/${color}/favicon-32x32.png`}\n />\n <link\n rel=\"icon\"\n type=\"image/png\"\n sizes=\"16x16\"\n href={`/icons/${color}/favicon-16x16.png`}\n />\n <link rel=\"manifest\" href={`/icons/${color}/site.webmanifest`} />\n <link rel=\"shortcut icon\" href={`/icons/${color}/favicon.ico`} />\n </Helmet>\n {/* Body */}\n <div className={S.bodyPage}>{renderBody(page)}</div>\n </Fragment>\n );\n};\n","import React, { createContext, ReactNode, useContext, useState } from \"react\";\nimport { SiteSettings } from \"@danishagro/cms/src/interfaces/siteSettings.interface\";\n\ninterface SiteSettingsState {\n siteSettings: SiteSettings;\n}\n\ninterface Props {\n children: ReactNode;\n initial: {\n siteSettings: SiteSettings;\n };\n}\n\nconst SiteSettingsContext = createContext<SiteSettingsState>({} as SiteSettingsState);\n\nexport const SiteSettingsProvider = ({ children, initial }: Props) => {\n const [siteSettings] = useState<SiteSettings>(initial.siteSettings);\n\n return (\n <SiteSettingsContext.Provider value={{ siteSettings }}>\n {children}\n </SiteSettingsContext.Provider>\n );\n};\n\nexport const useSiteSettings = (): SiteSettingsState => useContext(SiteSettingsContext);\n","import { API_GATEWAY_ROOT } from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { DA_SharedGlobalVariables } from \"../interfaces/sharedGlobalVariables.interface\";\nimport { getBearerToken } from \"./getBearerToken.helper\";\nimport { isDevMode } from \"./isDevMode.helper\";\n\nexport const getSharedGlobalVariables = (forceNew = false): Promise<DA_SharedGlobalVariables> =>\n new Promise((resolve, reject) => {\n const isAdmin = typeof globalThis.isAdmin === \"boolean\" ? globalThis.isAdmin : isDevMode;\n const isImpersonator =\n typeof globalThis.isImpersonator === \"boolean\" ? globalThis.isImpersonator : isDevMode;\n const isMasterAdmin =\n typeof globalThis.isMasterAdmin === \"boolean\" ? globalThis.isMasterAdmin : isDevMode;\n const newPageData =\n typeof globalThis.newPageContent !== \"undefined\" ? globalThis.newPageContent : null;\n\n const baseVariables = {\n isAdmin,\n isMasterAdmin,\n isImpersonator,\n newPageData,\n };\n\n (globalThis.isAuthenticated ? getBearerToken(forceNew) : Promise.reject())\n .then((accessToken) => {\n if (typeof accessToken !== \"string\") {\n return reject(\"no token\");\n }\n const getCvrAndCustomerNumbers =\n globalThis.cvrAndCustomerNumbers && !forceNew\n ? Promise.resolve(globalThis.cvrAndCustomerNumbers)\n : !accessToken\n ? Promise.resolve()\n : fetch(`${API_GATEWAY_ROOT}/user/getuseraccounts`, {\n credentials: \"include\",\n headers: {\n Authorization: \"Bearer \" + accessToken,\n },\n })\n .then((res) => res.json())\n .catch(() => null);\n\n return getCvrAndCustomerNumbers\n .then((cvrAndCustomerNumbers) => {\n const variables: DA_SharedGlobalVariables = {\n ...baseVariables,\n cvrAndCustomerNumbers,\n };\n\n Object.keys(variables).forEach((key) => {\n globalThis[key] = variables[key];\n });\n\n resolve(variables);\n })\n .catch((err) => reject(err));\n })\n .catch(() => {\n const variables = {\n ...baseVariables,\n cvrAndCustomerNumbers: undefined,\n };\n\n Object.keys(variables).forEach((key) => {\n globalThis[key] = variables[key];\n });\n\n resolve(variables);\n });\n });\n","import { getSharedGlobalVariables } from \"@danishagro/shared/src/helpers/getSharedGlobalVariables.helper\";\nimport { DA_NavigationPageSimple } from \"@danishagro/shared/src/interfaces/navigationPage.interface\";\nimport { DA_GlobalVariables } from \"@danishagro/shared/src/interfaces/sharedGlobalVariables.interface\";\nimport { isAbsoluteUrl } from \"@danishagro/shared/src/helpers/isAbsoluteUrl.helper\";\nimport { getAbsoluteUrl } from \"./getAbsoluteUrl.helper\";\n\ninterface UmbracoNav {\n alias: string;\n name: string;\n path: string;\n url: string;\n urlSegment: string;\n children?: UmbracoNav[];\n}\n\nexport const getGlobalVariables = (\n customerNumber?: string,\n forceNew = false\n): Promise<DA_GlobalVariables> =>\n new Promise((resolve, reject) =>\n getSharedGlobalVariables(forceNew)\n .then((sharedGlobalVariables) => {\n const currentCulture = globalThis.dictionaryObj?.culture || \"da-dk\";\n\n const getNavigationUrl = getAbsoluteUrl(\"/GetNavigation\", \"SPA\", {\n rootNodeId: globalThis.rootNodeId,\n });\n const getNavigationObj =\n globalThis.navigationObj && !forceNew\n ? Promise.resolve(globalThis.navigationObj)\n : fetch(`${getNavigationUrl}&cultureCode=${currentCulture}`)\n .then((res) => res.json())\n .then((nav: UmbracoNav[]): DA_NavigationPageSimple[] => {\n function remapNav(arr: UmbracoNav[]): DA_NavigationPageSimple[] {\n return arr.map((item) => ({\n name: item.name,\n path: item.path,\n url: isAbsoluteUrl(item.url) ? item.url : undefined,\n hideInNavigation: false,\n children: item.children\n ? remapNav(item.children)\n : undefined,\n }));\n }\n\n return remapNav(nav);\n });\n\n const getDictionaryUrl = getAbsoluteUrl(\"/GetTranslations\", \"SPA\", {\n rootNodeId: globalThis.rootNodeId,\n });\n const getDictionaryObj = globalThis.dictionaryObj\n ? Promise.resolve(globalThis.dictionaryObj)\n : fetch(`${getDictionaryUrl}&cultureCode=${currentCulture}`)\n .then((res) => res.json())\n .catch(() => ({\n culture: currentCulture,\n translations: [],\n }));\n\n Promise.all([getNavigationObj, getDictionaryObj])\n .then(([navigationObj, dictionaryObj]) => {\n globalThis.dictionaryObj = dictionaryObj;\n resolve({\n ...sharedGlobalVariables,\n currentCulture,\n navigationObj: navigationObj,\n dictionaryObj,\n contentObj: { culture: dictionaryObj.culture, translations: {} }, // Only used on MyFarm\n logoName: globalThis.siteSettingsObj?.logoName, // Only used on CMS\n faviconColor: globalThis.siteSettingsObj?.faviconColor, // Only used on CMS\n cultures: [], // Only used on MyFarm\n siteVariant: globalThis.siteVariant,\n });\n })\n .catch((err) => reject(err));\n })\n .catch((err) => reject(err))\n );\n","// GTM Tracking\nimport { useEffect, useRef } from \"react\";\nimport { useLocation } from \"react-router-dom\"; // Import useLocation\nimport { pushToDataLayer } from \"./useTagManger\";\n\nconst useTrackScrollDistance = (event: string) => {\n const rafRef = useRef(null);\n const milestonesHit = useRef(new Set());\n const location = useLocation();\n\n useEffect(() => {\n // Clear milestones when page changes\n milestonesHit.current.clear();\n }, [location]);\n\n useEffect(() => {\n const handleScroll = () => {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n\n rafRef.current = requestAnimationFrame(() => {\n const scrolled = window.scrollY + window.innerHeight;\n const height = document.documentElement.offsetHeight;\n const percentageScrolled = (scrolled / height) * 100;\n\n let milestone;\n if (percentageScrolled >= 25 && !milestonesHit.current.has(25)) milestone = 25;\n else if (percentageScrolled >= 50 && !milestonesHit.current.has(50)) milestone = 50;\n else if (percentageScrolled >= 75 && !milestonesHit.current.has(75)) milestone = 75;\n else if (percentageScrolled >= 100 && !milestonesHit.current.has(100))\n milestone = 100;\n\n if (milestone) {\n milestonesHit.current.add(milestone);\n pushToDataLayer({\n event: event,\n scroll_distance: String(milestone),\n });\n }\n });\n };\n\n window.addEventListener(\"scroll\", handleScroll);\n\n return () => {\n window.removeEventListener(\"scroll\", handleScroll);\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n };\n }, [event]);\n};\n\nexport default useTrackScrollDistance;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"App_wrapper__5XpU9\",\"dynamicPage\":\"App_dynamicPage__BXjIx\"};","import React, { useEffect, useRef } from \"react\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport { ApiProvider } from \"@contexts/api.context\";\nimport { AppDataProvider, useAppData } from \"@danishagro/shared/src/contexts/appData.context\";\nimport { BottomSheetProvider } from \"@danishagro/shared/src/contexts/bottomSheet/bottomSheet.context\";\nimport { DA_SiteFooter } from \"@danishagro/shared/src/components/organisms/SiteFooter/SiteFooter.component\";\nimport { DA_SiteHeader } from \"@danishagro/shared/src/components/organisms/SiteHeader/SiteHeader.component\";\nimport { DynamicPage } from \"@danishagro/cms/src/layout/pages/DynamicPage.component\";\nimport { ModalProvider } from \"@danishagro/shared/src/contexts/modal.context\";\nimport { PageProvider, usePage } from \"@contexts/page.context\";\nimport { ScreenProvider } from \"@danishagro/shared/src/contexts/screen.context\";\nimport { SiteHeaderProvider } from \"@danishagro/shared/src/contexts/siteHeader.context\";\nimport { SiteSettingsProvider } from \"@contexts/settings.context\";\nimport { TranslationsProvider } from \"@danishagro/shared/src/contexts/translations/translations.context\";\nimport { CartProvider } from \"@danishagro/shared/src/contexts/cart/cart.context\";\nimport { getGlobalVariables } from \"@helpers/getGlobalVariables.helper\";\nimport useTrackPageView from \"@danishagro/shared/src/gtm/useTagManger\";\nimport useTrackScrollDistance from \"@danishagro/shared/src/gtm/useTrackScrollDistance \";\nimport { ContextProps } from \"./App.interface\";\nimport S from \"./App.module.scss\";\nimport \"@danishagro/shared/src/styles/global/main.scss\";\n\nexport const SecondaryContextWrapper = ({ children, page }: ContextProps) => {\n const { isAppReady, customerNumber } = useAppData();\n\n return isAppReady ? (\n <ApiProvider>\n <CartProvider customerNumber={customerNumber}>\n <ScreenProvider>\n <ModalProvider>\n <BottomSheetProvider>\n <PageProvider initial={{ page: page }}>{children}</PageProvider>\n </BottomSheetProvider>\n </ModalProvider>\n </ScreenProvider>\n </CartProvider>\n </ApiProvider>\n ) : null;\n};\n\nexport const MainContextWrapper = ({ children, siteSettings, page }: ContextProps) => (\n <Router>\n <AppDataProvider currentSite=\"CMS\" getGlobalVariables={getGlobalVariables}>\n <TranslationsProvider>\n <SiteSettingsProvider initial={{ siteSettings: siteSettings }}>\n <SecondaryContextWrapper page={page}>{children}</SecondaryContextWrapper>\n </SiteSettingsProvider>\n </TranslationsProvider>\n </AppDataProvider>\n </Router>\n);\n\nconst AppComponent = () => {\n const { pageTree, page } = usePage();\n const { siteVariant } = useAppData();\n // GTM Tracking\n useTrackPageView(globalThis?.pageContent?.alias);\n useTrackScrollDistance(\"scroll_distance\");\n\n const customerServiceLinks = useRef(\n globalThis.footerObj?.columns?.[0]?.items?.filter(({ itemType }) => itemType === \"link\") ||\n []\n ).current;\n\n useEffect(() => {\n // replaces spaces with dashes\n if (siteVariant?.alias) {\n const sanitizedAlias = siteVariant.alias.replace(/\\s+/g, \"-\");\n\n const themeClass = document.body.className\n .replace(/\\s+/, \"\")\n .split(\" \")\n .find((className) => className.startsWith(\"theme--\"));\n\n if (themeClass) {\n document.body.classList.replace(themeClass, `theme--${sanitizedAlias}`);\n } else {\n document.body.classList.add(`theme--${sanitizedAlias}`);\n }\n }\n }, [siteVariant]);\n\n return (\n <div className={S.wrapper}>\n <SiteHeaderProvider pageTree={pageTree} showServiceMenu={globalThis.apiGatewayUrl}>\n <DA_SiteHeader customerServiceLinks={customerServiceLinks} />\n </SiteHeaderProvider>\n\n {/** Content */}\n <div className={S.dynamicPage}>\n <DynamicPage />\n </div>\n\n {page ? <DA_SiteFooter data={globalThis.footerObj} /> : null}\n </div>\n );\n};\n\nexport const App = () => {\n const preloadedPage = globalThis.pageContent;\n const preloadedSiteSettings = globalThis.siteSettingsObj;\n\n return (\n <MainContextWrapper page={preloadedPage} siteSettings={preloadedSiteSettings}>\n <AppComponent />\n </MainContextWrapper>\n );\n};\n","import React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./app/App.component\";\n\nconst rootElement = document.getElementById(\"__root\");\nconst root = createRoot(rootElement);\nroot.render(<App />);\n"],"names":["alias","name","lazy","async","custom","fallback","DynamicBlock","props","siteVariant","useAppData","getTemplate","useRecursiveBlock","ContentList","DepartmentMap","Embed","Employees","Hero","Image","NewsSlider","EventsSlider","Quotes","Spots","Tabs","Text","TextAccordions","TextForm","TextImage","TextImageBanner","TextTable","TextText","TextVideo","Video","TextGraphics","TextAdvancedTable","RoutePlan","BLOCK_TYPES","blockTextAndAdvancedTable","blockContentList","blockDepartmentMap","blockEmbed","blockEmployees","blockHero","blockImage","blockNewsSlider","blockEventsSlider","blockQuote","blockSpots","blockTabs","blockText","blockTextAccordions","blockTextForm","blockCustomForm","blockTextImage","blockRoutePlan","blockTextImageBanner","blockTextTable","blockTextText","blockTextVideo","blockVideo","blockTextGraphics","contentType","content","Block","mappedData","useBlockDataMapping","data","getIcon","useCallback","DA_IconNames","Cart","CogwheelStroke","Delivery","DollyStroke","Harvest","Harvester","Barcode","Bell","Clock","Mobile","LetterOutlined","Pin","FormCheck","Pdf","Rosette","Pencil","Support","Tractor","Facebook","LinkedIn","mapButtons","buttons","map","button","_button$content$props","_button$content$props2","_button$content$props3","_button$content$props4","_button$content$props5","_button$content$props6","_button$content$props7","label","link","url","icon","target","mapImage","_props$image","_props$digizuiteImage","_props$image2","_props$image3","_props$image4","_props$image4$props","_props$image5","_props$image5$props","_props$image6","_props$image6$props","_props$digizuiteImage2","_props$digizuiteImage3","_props$digizuiteImage4","_props$digizuiteImage5","_props$digizuiteImage6","_props$digizuiteImage7","image","getAbsoluteUrl","width","umbracoWidth","height","umbracoHeight","extension","umbracoExtension","digizuiteImage","alternative","getExtra","setting","_len","arguments","length","aliases","Array","_key","existingExtra","forEach","_data$content","_data$content$props","_data$content$props$s","tmpExistingExtra","find","x","toUpperCase","useMemo","_data$content2","_data$content3","_data$content3$props","_data$content3$props$","_data$content4","_data$content4$props","_data$content4$props$","_data$content5","_data$content5$props","_data$content5$props$","_data$content6","_data$content6$props","_data$content6$props$","_data$content6$props$2","_data$content7","_data$content7$props","_data$content7$props$","_data$content7$props$2","_data$content8","_data$content8$props","_data$content8$props$","_data$content8$props$2","_data$content9","_data$content9$props","_data$content10","_data$content10$props","_data$content11","_data$content11$props","_data$content12","_data$content12$props","_data$content13","_data$content13$props","_data$content14","_data$content14$props","_data$content14$props2","_data$content14$props3","_data$content14$props4","_data$content15","_data$content15$props","_data$content15$props2","_data$content15$props3","_data$content15$props4","_data$content16","_data$content16$props","_data$content16$props2","_data$content16$props3","_data$content16$props4","_data$content17","_data$content17$props","_data$content17$props2","_data$content17$props3","_data$content17$props4","_data$content17$props5","_data$content17$props6","_data$content18","_data$content18$props","_data$content18$props2","_data$content18$props3","_data$content18$props4","_data$content19","_data$content19$props","_data$content19$props2","_data$content19$props3","_data$content19$props4","_data$content19$props5","_data$content19$props6","_data$content20","_data$content20$props","_data$content21","_data$content21$props","_data$content22","_data$content22$props","_data$content22$props2","_data$content23","_data$content23$props","_data$content23$props2","_data$content24","_data$content24$props","_data$content24$props2","_data$content25","_data$content25$props","_data$content25$props2","_data$content25$props3","_data$content26","_data$content26$props","_data$content26$props2","_data$content26$props3","_data$content27","_data$content27$props","_data$content27$props2","_data$content27$props3","logo","tagline","headline","text","video","undefined","videoFile","caption","autoplay","backgroundColor","filter","position","thin","_data$content28","_data$content28$props","_data$content28$props2","tabs","tab","_tab$content","_tab$content2","_tab$content2$props","_tab$content3","_tab$content3$props","key","modules","title","_data$content29","_data$content29$props","_data$content30","_data$content30$props","_data$content31","_data$content31$props","_data$content32","_data$content32$props","alignment","_data$content33","_data$content33$props","_data$content33$props2","_data$content33$props3","_data$content33$props4","_data$content33$props5","_data$content34","_data$content34$props","_data$content34$props2","_data$content35","_data$content35$props","_data$content36","_data$content36$props","_data$content37","_data$content37$props","_data$content38","_data$content38$props","regions","graphics","item","_item$content$props$l","_item$content","_item$content$props","_item$content$props$l2","_item$content2","_item$content2$props","_item$content2$props$","_item$content3","_item$content3$props","_item$content3$props$","logos","_logo$content","_logo$content$props","_logo$content$props$l","_logo$content2","_logo$content2$props","_logo$content2$props$","_logo$content3","_logo$content3$props","_logo$content3$props$","_logo$content4","_logo$content4$props","_logo$content4$props$","_logo$content5","_logo$content5$props","_logo$content5$props$","logoImage","regionID","graphic","_graphic$content$prop","_graphic$content$prop2","_graphic$content$prop3","lottieURL","lottieId","lottieFile","id","umbracoFile","Boolean","_data$content39","_data$content40","_data$content40$props","_data$content41","_data$content41$props","_data$content42","_data$content42$props","_data$content43","_data$content43$props","_data$content43$props2","_data$content44","_data$content44$props","_data$content44$props2","_data$content45","_data$content46","_data$content46$props","_data$content47","_data$content47$props","_data$content48","_data$content48$props","_data$content49","_data$content49$props","_data$content49$props2","_data$content50","_data$content50$props","_data$content50$props2","_data$content51","_data$content51$props","_data$content52","_data$content52$props","_data$content53","_data$content53$props","_data$content54","_data$content54$props","_data$content55","_data$content55$props","_data$content56","_data$content56$props","_data$content57","_data$content57$props","_data$content57$props2","_data$content58","_data$content58$props","_data$content58$props2","_data$content59","_data$content59$props","_data$content59$props2","_data$content60","_data$content60$props","_data$content60$props2","_data$content61","_data$content61$props","_data$content62","_data$content63","_data$content63$props","_data$content64","_data$content64$props","_data$content65","_data$content65$props","authorName","authorTitle","authorImageAlias","authorImage","authorImageName","authorImageId","authorImageUrl","date","dropdownImageSize","imageSizes","imageSize","_data$content66","_data$content66$props","_data$content67","_data$content68","_data$content68$props","_data$content69","_data$content69$props","_data$content70","_data$content70$props","_data$content71","_data$content71$props","imageProps","_data$content72","_data$content73","_data$content73$props","_data$content74","_data$content74$props","_data$content75","_data$content75$props","_data$content76","_data$content76$props","_data$content77","_data$content78","_data$content79","_data$content80","_data$content81","_data$content81$props","type","variable1","variable2","variable3","variable4","topDanmarkEmbedKey","_data$content82","_data$content82$props","_data$content83","_data$content83$props","_data$content84","_data$content84$props","_data$content85","_data$content85$props","_data$content86","_data$content86$props","_data$content86$props2","_data$content86$props3","_data$content86$props4","_data$content87","_data$content87$props","_data$content87$props2","_data$content87$props3","_data$content87$props4","_data$content88","_data$content88$props","_data$content88$props2","_data$content88$props3","_data$content88$props4","_data$content89","_data$content89$props","_data$content89$props2","_data$content89$props3","_data$content89$props4","_data$content90","_data$content90$props","_data$content90$props2","_data$content90$props3","_data$content90$props4","_data$content91","_data$content91$props","_data$content91$props2","_data$content91$props3","_data$content91$props4","_data$content92","_data$content92$props","_data$content92$props2","_data$content92$props3","_data$content92$props4","_data$content93","_data$content93$props","_data$content93$props2","_data$content93$props3","_data$content93$props4","_data$content94","_data$content94$props","_data$content94$props2","_data$content94$props3","_data$content94$props4","_data$content95","_data$content95$props","_data$content95$props2","_data$content95$props3","_data$content95$props4","_data$content95$props5","_data$content95$props6","_data$content96","_data$content96$props","_data$content96$props2","_data$content96$props3","_data$content96$props4","_data$content97","_data$content97$props","_data$content97$props2","_data$content97$props3","_data$content97$props4","_data$content97$props5","_data$content97$props6","_data$content98","_data$content98$props","_data$content99","_data$content99$props","_data$content100","_data$content100$prop","_data$content100$prop2","_data$content100$prop3","_data$content100$prop4","_data$content100$prop5","_data$content101","_data$content101$prop","_data$content101$prop2","_data$content101$prop3","_data$content101$prop4","_data$content101$prop5","_data$content101$prop6","_data$content102","_data$content102$prop","_data$content102$prop2","_data$content102$prop3","_data$content102$prop4","_data$content102$prop5","_data$content102$prop6","_data$content103","_data$content103$prop","_data$content103$prop2","_data$content103$prop3","_data$content103$prop4","_data$content103$prop5","_data$content103$prop6","_data$content103$prop7","_data$content104","_data$content104$prop","_data$content104$prop2","_data$content104$prop3","_data$content104$prop4","_data$content104$prop5","_data$content104$prop6","_data$content104$prop7","_data$content105","_data$content105$prop","_data$content105$prop2","_data$content105$prop3","_data$content105$prop4","_data$content105$prop5","_data$content105$prop6","_data$content105$prop7","_data$content106","_data$content106$prop","_data$content106$prop2","_data$content106$prop3","_data$content106$prop4","_data$content106$prop5","_data$content107","_data$content107$prop","_data$content107$prop2","_data$content107$prop3","_data$content107$prop4","_data$content107$prop5","_data$content107$prop6","_data$content108","_data$content108$prop","_data$content108$prop2","_data$content108$prop3","_data$content108$prop4","_data$content108$prop5","_data$content108$prop6","_data$content109","_data$content109$prop","_data$content109$prop2","_data$content109$prop3","_data$content109$prop4","_data$content109$prop5","_data$content109$prop6","_data$content109$prop7","_data$content110","_data$content110$prop","_data$content110$prop2","_data$content110$prop3","_data$content110$prop4","_data$content110$prop5","_data$content110$prop6","_data$content110$prop7","_data$content111","_data$content111$prop","_data$content111$prop2","_data$content111$prop3","_data$content111$prop4","_data$content111$prop5","_data$content111$prop6","_data$content111$prop7","videoURL","posterStart","posterEnd","videoSize","_data$content112","_data$content112$prop","_data$content112$prop2","_data$content112$prop3","_data$content112$prop4","_data$content113","_data$content113$prop","_data$content113$prop2","_data$content113$prop3","_data$content113$prop4","_data$content114","_data$content114$prop","_data$content114$prop2","_data$content114$prop3","_data$content114$prop4","_data$content115","_data$content115$prop","_data$content115$prop2","_data$content115$prop3","_data$content115$prop4","_data$content116","_data$content116$prop","_data$content116$prop2","_data$content116$prop3","_data$content116$prop4","_data$content117","_data$content117$prop","_data$content117$prop2","_data$content117$prop3","_data$content117$prop4","_data$content118","_data$content118$prop","_data$content118$prop2","_data$content118$prop3","_data$content118$prop4","_data$content119","_data$content119$prop","_data$content119$prop2","_data$content119$prop3","_data$content119$prop4","_data$content120","_data$content120$prop","_data$content120$prop2","_data$content120$prop3","_data$content120$prop4","_data$content121","_data$content121$prop","_data$content121$prop2","_data$content121$prop3","_data$content121$prop4","_data$content121$prop5","_data$content121$prop6","_data$content122","_data$content122$prop","_data$content122$prop2","_data$content122$prop3","_data$content122$prop4","_data$content123","_data$content123$prop","_data$content123$prop2","_data$content123$prop3","_data$content123$prop4","_data$content123$prop5","_data$content123$prop6","_data$content124","_data$content124$prop","_data$content125","_data$content125$prop","_data$content126","_data$content126$prop","_data$content126$prop2","_data$content126$prop3","_data$content126$prop4","_data$content126$prop5","_data$content127","_data$content127$prop","_data$content127$prop2","_data$content127$prop3","_data$content127$prop4","_data$content127$prop5","_data$content127$prop6","_data$content128","_data$content128$prop","_data$content128$prop2","_data$content128$prop3","_data$content128$prop4","_data$content128$prop5","_data$content128$prop6","_data$content129","_data$content129$prop","_data$content129$prop2","_data$content129$prop3","_data$content129$prop4","_data$content129$prop5","_data$content129$prop6","_data$content129$prop7","_data$content130","_data$content130$prop","_data$content130$prop2","_data$content130$prop3","_data$content130$prop4","_data$content130$prop5","_data$content130$prop6","_data$content130$prop7","_data$content131","_data$content131$prop","_data$content131$prop2","_data$content131$prop3","_data$content131$prop4","_data$content131$prop5","_data$content131$prop6","_data$content131$prop7","_data$content132","_data$content132$prop","_data$content132$prop2","_data$content132$prop3","_data$content132$prop4","_data$content132$prop5","_data$content133","_data$content133$prop","_data$content133$prop2","_data$content133$prop3","_data$content133$prop4","_data$content133$prop5","_data$content133$prop6","_data$content134","_data$content134$prop","_data$content134$prop2","_data$content134$prop3","_data$content134$prop4","_data$content134$prop5","_data$content134$prop6","_data$content135","_data$content135$prop","_data$content135$prop2","_data$content135$prop3","_data$content135$prop4","_data$content135$prop5","_data$content135$prop6","_data$content135$prop7","_data$content136","_data$content136$prop","_data$content136$prop2","_data$content136$prop3","_data$content136$prop4","_data$content136$prop5","_data$content136$prop6","_data$content136$prop7","_data$content137","_data$content137$prop","_data$content137$prop2","_data$content137$prop3","_data$content137$prop4","_data$content137$prop5","_data$content137$prop6","_data$content137$prop7","size","_data$content138","_data$content138$prop","_data$content138$prop2","_data$content139","_data$content139$prop","_data$content140","_data$content140$prop","_data$content141","_data$content141$prop","_data$content142","_data$content142$prop","_data$content143","_data$content143$prop","rows","reduce","previous","current","result","columns","push","headers","_data$content144","_data$content144$prop","_data$content145","_data$content145$prop","_data$content146","_data$content146$prop","_data$content147","_data$content147$prop","_data$content148","_data$content148$prop","contentText","_data$content149","_data$content149$prop","_data$content149$prop2","_data$content150","_data$content150$prop","_data$content151","_data$content151$prop","_data$content152","_data$content152$prop","items","_item$content4","_item$content4$props","_data$content153","_data$content153$prop","_data$content154","_data$content154$prop","_data$content155","_data$content155$prop","_data$content156","_data$content156$prop","_data$content157","_data$content158","_data$content158$prop","quote","author","authorPosition","_data$content159","_data$content159$prop","_data$content159$prop2","_data$content160","_data$content160$prop","_data$content161","_data$content161$prop","_data$content162","_data$content162$prop","_data$content163","_data$content163$prop","_data$content164","_data$content164$prop","_data$content165","contentUdi","uriValue","fAQContent","_data$content166","_data$content166$prop","_data$content166$prop2","_data$content167","_data$content167$prop","_data$content167$prop2","_data$content167$prop3","_data$content168","_data$content168$prop","_data$content169","_data$content169$prop","_data$content170","_data$content170$prop","_data$content170$prop2","_data$content170$prop3","_data$content170$prop4","_data$content171","_data$content171$prop","_data$content171$prop2","_data$content171$prop3","_data$content171$prop4","departments","department","console","log","googleMapsCenter","mapconfig","centerCoordinates","googleMapsZoom","centerLat","lat","centerLng","lng","_data$content172","_data$content172$prop","_data$content172$prop2","_data$content173","_data$content173$prop","_data$content174","_data$content174$prop","_data$content175","_data$content175$prop","_data$content176","_data$content176$prop","_item$content5","_item$content6","_item$content6$props","email","phone","subHeading","subheading","cardSize","_data$content177","_data$content177$prop","_data$content177$prop2","_data$content178","_data$content178$prop","_data$content179","_data$content179$prop","_data$content180","_data$content180$prop","_item$content7","_item$content7$props","media","_media$","_media$3","_media$2","_media$2$content$prop","_media$4","_media$4$content$prop","_media$4$content$prop2","_media$5","_media$5$content$prop","_media$5$content$prop2","_media$6","_media$6$content$prop","_media$6$content$prop2","_media$6$content$prop3","_media$7","_media$7$content$prop","_media$7$content$prop2","_media$7$content$prop3","_media$8","_media$8$content$prop","_media$8$content$prop2","_media$8$content$prop3","_media$9","_media$9$content$prop","_media$10","_media$10$content$pro","mapMedia","iconColor","headerAlignment","itemAlignment","_data$content181","_data$content181$prop","_data$content181$prop2","_data$content182","_data$content182$prop","_data$content183","_data$content183$prop","_data$content184","_data$content184$prop","_data$content185","_data$content185$prop","_item$content8","_item$content9","_item$content9$props","verticalImage","portraitImage","_data$content186","_data$content186$prop","_data$content187","_data$content187$prop","_data$content188","_data$content188$prop","_data$content189","_data$content189$prop","_data$content190","_data$content191","_data$content191$prop","_data$content192","_data$content192$prop","_data$content193","_data$content193$prop","_data$content194","_data$content194$prop","_data$content195","_data$content195$prop","_data$content196","_data$content196$prop","_data$content197","_data$content197$prop","form","formTagline","formHeadline","formData","receipt","receiptHeadline","receiptText","backgroundCover","_data$content198","_data$content198$prop","_data$content199","_data$content199$prop","_data$content200","_data$content200$prop","_data$content201","_data$content201$prop","_data$content202","_data$content203","_data$content203$prop","_data$content204","_data$content204$prop","_data$content205","_data$content205$prop","_data$content206","_data$content206$prop","_data$content207","_data$content207$prop","_data$content208","_data$content208$prop","_data$content209","_data$content209$prop","_data$content210","_data$content210$prop","_data$content211","_data$content211$prop","_data$content212","_data$content212$prop","dealers","dates","formType","_data$content213","_data$content213$prop","_data$content214","_data$content214$prop","_data$content215","_data$content215$prop","_data$content216","_data$content216$prop","_data$content217","_data$content218","_data$content218$prop","_jsx","Fragment","children","Suspense","isCompact","compact","_props$video5","_props$image7","_props$video6","_props$video7","_props$video8","_props$image8","_props$image9","_props$image10","_props$image11","_props$image12","backgroundColorClass","alternativeButtonTheme","hasBackgroundColor","useBackgroundColor","paddingClass","usePadding","trackPromotionClick","window","dataLayer","ecommerce","promotionEcommerceData","creative_name","creativeName","creative_slot","creativeSlot","promotion_id","promotionId","promotion_name","promotionName","event","layoutClass","_props$video","_props$video2","_props$video3","_props$video4","S","heroAlternativeButtonTheme","thinHeroClass","className","cn","DA_Container","noVerticalPadding","_jsxs","VideoPlayerViewer","controls","ImageViewer","src","aspectRatioX","aspectRatioY","DA_Title","h1","tag","DA_TitleTag","H1","noMargin","fullWidth","DA_Text","html","noPadding","Buttons","theme","onClick","platforms","facebook","linkedin","_ref","shareUrl","getDictionaryString","useTranslations","Object","keys","platformKey","titleKey","charAt","slice","location","href","newShareUrl","encodeURIComponent","open","handleShare","DA_Icon","useSvgDimensions","background","includes","addCompactPadding","isCompactClass","distinctButtons","_props$buttons","currentSite","shouldHaveLargeText","index","solidButtonColor","outlineButtonColor","clearButtonColorClass","DA_ButtonColor","White","Primary","Accent","handleButtonClick","DA_Button","color","largeText","isGhost","DA_InlineLink","setImageOptions","clientWidth","clientHeight","params","URLSearchParams","getClosestWidth","widthTiers","Math","max","apply","widthTier","set","querySeparator","toString","indexOf","elementRef","useRef","imageUrlWithOptions","setImageUrlWithOptions","useState","isLoaded","setIsLoaded","aspectRatioStyle","aspectRatio","onLoadedClass","loadedClassName","useLayoutEffect","setTimeout","_elementRef$current","_elementRef$current2","_window","_window2","_props$src","boundingClientRect","getBoundingClientRect","boundingClientWidth","boundingClientHeight","devicePixelRatio","_window3","forceWidth","digizuiteSrc","replace","ceil","round","ref","style","alt","loading","onLoad","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread2","i","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_regeneratorRuntime","exports","Op","prototype","hasOwn","hasOwnProperty","obj","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","Promise","iter","val","reverse","pop","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_getPrototypeOf","o","bind","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","e","_construct","Parent","Class","a","Function","_wrapNativeSuper","_cache","Map","has","get","Wrapper","_assertThisInitialized","ReferenceError","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","input","hint","prim","toPrimitive","res","String","Number","_toPrimitive","isNode","global","getMethodName","prop","toLowerCase","concat","substr","isVimeoUrl","test","isVimeoEmbed","getVimeoUrl","oEmbedParameters","idOrUrl","parseFloat","isFinite","floor","subscribe","eventName","callback","onName","offName","eventNames","evName","cancel","arrayIndexOfSupport","postMessageSupport","postMessage","commonjsGlobal","globalThis","WeakMap","hasDefine","prefix","rand","genId","checkInstance","isObject","random","substring","_id","module","npo_src","definition","builtInProp","cycle","scheduling_queue","ToString","timer","setImmediate","config","schedule","add","drain","isThenable","_then","o_type","notify","chain","notifyIsolated","success","failure","cb","ret","msg","promise","triggered","def","def_wrapper","MakeDefWrapper","iteratePromises","arr","resolver","rejecter","idx","MakeDef","executor","__NPO__","first","last","Item","f","PromisePrototype","len","msgs","count","callbackMap","storeCallback","player","playerCallbacks","element","getCallbacks","removeCallback","splice","parseMessageData","JSON","parse","warn","contentWindow","message","ieVersion","navigator","userAgent","stringify","origin","processData","param","callbacks","shift","shiftCallbacks","getOEmbedParameters","defaults","getAttribute","createEmbed","querySelector","div","document","createElement","innerHTML","appendChild","firstChild","setAttribute","getOEmbedData","videoUrl","xhr","XDomainRequest","XMLHttpRequest","onload","status","json","responseText","domain_status_code","onerror","send","defaultOptions","role","autoPlayMuted","allowedDrift","maxAllowedDrift","minCheckInterval","maxRateAdjustment","maxTimeToCatchUp","TimingSrcConnector","_EventTarget","subClass","superClass","_inherits","_super","_player","timingObject","_this","options","logger","_callee","newAdjustment","newPlaybackRate","_context","speedAdjustment","getPlaybackRate","t0","t1","t2","t3","setPlaybackRate","_x","_x2","init","dispatchEvent","Event","_init","_callee2","playerUpdater","positionSync","timingObjectUpdater","_this2","_context2","waitForTOReadyState","updatePlayer","maintainPlaybackPosition","addEventListener","updateTimingObject","_x3","_x4","_x5","_updateTimingObject","_callee3","_context3","getCurrentTime","getPaused","t4","velocity","update","_x6","_x7","_updatePlayer","_callee5","_timingObject$query","_context5","query","setCurrentTime","pause","play","_ref2","_callee4","_context4","setMuted","err2","_x11","_x8","_x9","_x10","_this3","syncInterval","min","check","_ref3","_callee6","diff","diffAbs","adjustment","_context6","abs","adjustSpeed","sign","interval","setInterval","clearInterval","_this$logger","readyState","once","EventTarget","playerMap","readyMap","screenfull","Player","jQuery","getElementById","nodeType","ownerDocument","defaultView","isDomElement","nodeName","iframe","readyPromise","_onMessage","isReadyEvent","isPingResponse","_originalElement","oldElement","newElement","delete","swapCallbacks","isEnabled","exitFullscreen","exit","fullscreenchangeHandler","isFullscreen","ready","on","_this4","callMethod","time","language","kind","request","_this5","removeAttribute","parentNode","removeChild","removeEventListener","off","autopause","camera","all","colors","isArray","nullPromise","colorPromises","currentTime","loop","muted","playbackRate","quality","volume","_setTimingSrc","connector","_this6","fnMap","l","eventNameMap","fullscreenchange","fullscreenerror","onFullScreenEntered","returnPromise","documentElement","requestFullscreen","onFullScreenExit","fullscreenElement","fullscreenEnabled","initializeScreenfull","parent","elements","querySelectorAll","handleError","initializeEmbeds","VimeoPlayerResizeEmbeds_","iframes","parentElement","paddingBottom","bottom","resizeEmbeds","VimeoSeoMetadataAppended","isValidMessageSource","initAppendVideoMetadata","VimeoCheckedUrlTimeParam","_loop","getVideoId","videoId","matches","RegExp","exec","sec","decodeURI","checkUrlTimeParam","playing","ended","timeupdate","progress","seeked","texttrackchange","cuechange","cuepoint","volumechange","playbackratechange","loaded","Vimeo","_React$Component","refContainer","_proto","componentDidMount","createPlayer","componentDidUpdate","prevProps","changes","updateProps","componentWillUnmount","destroy","getInitialOptions","byline","showByline","portrait","showPortrait","showTitle","responsive","dnt","speed","keyboard","pip","playsinline","playsInline","texttrack","textTrack","transparent","propNames","setAutopause","setColor","setLoop","setVolume","paused","start","loadVideo","unload","setQuality","_this$props","container","dmName","reactName","handler","_this$props2","onError","onReady","render","_this$props3","React","defaultProps","filterResetOptions","opts","__spreadProps","__spreadValues","playerVars","end","propTypes","PropTypes","iframeClassName","onPlay","onPause","onEnd","onStateChange","onPlaybackRateChange","onPlaybackQualityChange","_YouTube","super","destroyPlayerPromise","onPlayerReady","_a","_b","onPlayerError","onPlayerStateChange","_c","_d","_e","_f","_g","_h","PlayerState","ENDED","PLAYING","PAUSED","onPlayerPlaybackRateChange","onPlayerPlaybackQualityChange","destroyPlayer","internalPlayer","playerOpts","youTubePlayer","getIframe","resetPlayer","getInternalPlayer","updateVideo","stopVideo","startSeconds","endSeconds","loadVideoById","cueVideoById","shouldUpdatePlayer","isEqual","shouldResetPlayer","prevVars","vars","shouldUpdateVideo","YouTube","UNSTARTED","BUFFERING","CUED","YouTube_default","getYouTubeId","match","trim","getVimeoId","_props$video$controls","_props$posterStart","_props$video9","_props$video10","_props$video11","_props$video12","_props$posterEnd","_props$video13","_props$video14","marketingConsent","useMarketingConsent","_window$CookieInforma","setMarketingConsent","CookieInformation","getConsentGivenFor","handleConsentChange","_window2$CookieInform","consent","useEffect","autoplayWithIntro","setAutoplayWithIntro","videoInnerRef","videoInnerDimensions","useMeasure","consentWrapperRef","viewState","setViewState","hasControl","hasControlOption","isSmall","setIsSmall","dimensions","setDimensions","updateSize","videoInnerHeight","onVideoEnded","onVideoReady","playVideo","onPosterClicked","_Fragment","onKeyDown","tabIndex","Play","hostname","host","modestbranding","autoPlay","onCanPlay","onEnded","CookieConsent","Cookie","h2","H2","handleRenew","renew","pathname","platform","parameters","CMS_CDN_ROOT","CMS_API_ROOT","replacedPathname","URL","isAbsoluteUrl","isDevMode","GET_CMS_SITE_ORIGIN","searchParams","append","_globalThis$siteSetti","dateCulture","siteSettingsObj","dateFormat","format","Date","AuthorBlock","authorDate","DA_BasicLink","_href$split","_globalThis$dictionar","ariaLabel","itemScope","itemProp","itemType","itemID","onMouseEnter","conventionalRouting","forceNativeUrl","hrefLink","startsWith","getUrl","split","isExternal","useNativeLink","linkProp","rel","hrefLang","dictionaryObj","culture","Link","to","forwardRef","small","large","hideText","disabled","noWrap","submit","iconRight","showSpinner","showSpinnerWithTitle","buttonClass","Action","Grey","LightGrey","Alert","DA_Spinner","DA_ButtonLink","noUnderline","rest","noRightPadding","noLeftPadding","noTopPadding","noBottomPadding","flexColumn","keepNestedPadding","noOverflow","DA_ContentBox","smallVerticalPadding","smallMargin","showAlert","setShowAlert","alertTimeout","useImperativeHandle","ms","alert","clearTimeout","ReturnIcon","onlyIcon","isBold","iconClassName","linkClass","dangerouslySetInnerHTML","__html","r","t","StyleSheet","_insertTag","before","tags","insertionPoint","nextSibling","prepend","insertBefore","isSpeedy","speedy","ctr","nonce","hydrate","nodes","insert","rule","createTextNode","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","process","flush","from","fromCharCode","assign","pattern","replacement","indexof","search","charat","charCodeAt","begin","strlen","sizeof","array","line","column","character","characters","node","root","copy","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","commenter","identifier","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","serialize","output","join","compile","rules","rulesets","pseudo","points","declarations","offset","atrule","property","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","j","k","y","z","identifierWithPointTracking","getRules","parsed","toRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","hash","defaultStylisPlugins","combine","createCache","ssrStyles","head","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","collection","middleware","selector","serialized","shouldCache","styles","cache","registered","registerStyles","isStringTag","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","memoize","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","string","interpolated","_i","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","raw","lastIndex","identifierName","str","h","hashString","useInsertionEffect","useInsertionEffectAlwaysWithSyncFallback","EmotionCacheContext","HTMLElement","Provider","withEmotionCache","func","useContext","ThemeContext","typePropName","Insertion","insertStyles","Emotion","cssProp","css","WrappedComponent","registeredStyles","classNames","rawClassName","getRegisteredStyles","newProps","Emotion$1","jsx","argsLength","createElementArgArray","createEmotionProps","_slicedToArray","n","u","unsupportedIterableToArray","_objectWithoutProperties","excluded","objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","createCoords","v","rectToClientRect","rect","top","left","right","getNodeName","getWindow","_node$ownerDocument","getDocumentElement","Node","isElement","Element","isHTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflow","overflowX","overflowY","display","getComputedStyle","isWebKit","CSS","supports","isLastTraversableNode","getParentNode","assignedSlot","getNearestOverflowAncestor","body","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","visualViewport","frameElement","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","contextElement","getScale","domElement","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","offsetParent","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","autoUpdate","floating","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","ancestor","passive","cleanupIo","onMove","timeoutId","io","cleanup","disconnect","refresh","skip","threshold","rootMargin","isFirstUpdate","handleObserve","entries","ratio","intersectionRatio","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","prevRefRect","frameLoop","nextRefRect","insertable","freeze","_excluded","_toConsumableArray","arrayLikeToArray","safeIsNaN","areInputsEqual","newInputs","lastInputs","second","resultFn","memoized","newArgs","lastThis","lastArgs","lastResult","clear","StateManagedSelect","baseSelectProps","_ref$defaultInputValu","defaultInputValue","_ref$defaultMenuIsOpe","defaultMenuIsOpen","_ref$defaultValue","defaultValue","propsInputValue","inputValue","propsMenuIsOpen","menuIsOpen","propsOnChange","onChange","propsOnInputChange","onInputChange","propsOnMenuClose","onMenuClose","propsOnMenuOpen","onMenuOpen","propsValue","restSelectProps","_useState2","stateInputValue","setStateInputValue","_useState4","stateMenuIsOpen","setStateMenuIsOpen","_useState6","stateValue","setStateValue","actionMeta","newValue","_objectSpread","useStateManager","Select","_extends","StateManagedSelect$1","getSelectStyles","invalid","alignMenuRight","isMulti","isGrouped","isMobile","control","provided","isDisabled","minHeight","boxShadow","isFocused","borderRadius","border","borderColor","valueContainer","padding","fontSize","paddingRight","marginRight","placeholder","margin","indicatorsContainer","transform","option","isSelected","singleValue","menuPortal","menu","whiteSpace","minWidth","menuList","DA_DropdownArrow","_props$selectProps","expanded","selectProps","ChevronSmallDown","useConvertOption","getLabel","getValue","extra","DA_Select","_","_restProps$maxMenuHei","postfix","methodsRef","disableOptionStyling","restProps","useScreen","isOpen","setIsOpen","convertValue","convertOption","group","useConvertValue","parsedOptions","useParsedOptions","selectedOption","foundOption","useSelectedOption","hasGroupedOptions","close","inputId","maxMenuHeight","menuPortalTarget","menuPlacement","isSearchable","formatGroupLabel","isOptionDisabled","getOptionLabel","getOptionValue","_ref4","components","SingleValue","inlineLabel","selectName","DropdownIndicator","variantCount","IndicatorSeparator","Option","MenuList","newSelection","shouldLargeText","combinedClassNames","alignCenter","bold","dimmed","smallText","markLinksFromString","DA_TitleTypeface","typeface","appendix","inheritColor","numberOfLines","headings","h3","H3","h4","H4","h5","H5","titleClass","HtmlTag","P","DIV","AccordionViewState","DA_Accordion","initialState","defaultOpen","Expanded","Collapsed","someDomElementRef","showFullDescription","contentRef","maxHeight","setMaxHeight","animation","scrollHeight","buttonId","useId","regionId","onToggleButtonClicked","stopPropagation","onToggle","scrollIntoView","_someDomElementRef$cu","behavior","showLargeHeader","showMediumHeader","showSmallHeader","salesTabStatisticStyle","allowThickBorder","headerFullWidth","noPaddingHeader","toggleOnWrapper","showToggleIcons","showLargeArrow","ChevronSmallUp","showToggleLabel","DA_EmptyStateTypes","DA_EmptyState","getDictionaryItem","doNotShowTitle","NoCartItems","Man","Loading","NoContent","NoResults","FormSubmit","NoRights","NoFavorites","NoContact","ExclamationMark","HeartOutline","MagnifyingGlass","Contact","fadeIn","iconOnly","cta","DA_Toast","goTo","wrapperClassNames","altStyle","SITE_VARIANTS","SOFT_HYPHEN_SYMBOL","MYFARM_SITE_ORIGIN","GET_MYFARM_SITE_ORIGIN","B2B_SITE_ORIGIN","GET_B2B_SITE_ORIGIN","CMS_SITE_ORIGIN","API_GATEWAY_ROOT","GET_ECOM_SITE_ORIGIN","apiGatewayUrl","B2B_API_ROOT","cmsApiUrl","cmsCdnUrl","ECOM_API_ROOT","b2bUmbracoUrl","setCookie","attributes","path","domain","maxAge","expires","httpOnly","secure","cookieName","cookieValue","cookieAttributes","Path","Domain","HttpOnly","Secure","Expires","now","toUTCString","decodeURIComponent","encodeCookieName","encodeCookieValue","attributesString","attributeName","cookie","setCustomerNumberCookie","accessToken","customerNumber","jwtData","jwtDecode","cookieDomain","getDomainName","domainMatch","oid","decodeCookieParts","part","DetectInputMethod","mouseMoveCount","settings","touchClass","mouseClass","mouseMoveThreshold","continuousDetection","setClassOnElement","touchFired","mouseMoved","unbind","classList","remove","isMouse","isTouch","CustomError","response","isSSR","AppDataContext","setViewportThrottle","setViewport","activeElement","tagName","viewHeight","innerHeight","viewport","onResizeVisualViewport","setProperty","AppDataProvider","_globalThis$allowCont","_globalThis$showOnlyU","_globalThis$isCheckou","_globalThis$isCheckou2","_globalThis$isCheckou3","_globalThis$isCheckou4","_globalThis$deliveryO","_globalThis$deliveryO2","_globalThis$isFarmInT","_globalThis$showFavor","_globalThis$showStock","getGlobalVariables","isAppReady","setIsAppReady","isAppFunctional","setIsAppFunctional","isImpersonator","setIsImpersonator","setIsSSR","setCustomerNumber","cvrNumber","setCvrNumber","acceptedPolicy","setAcceptedPolicy","globalVariables","setGlobalVariables","heroObj","setHeroObj","showLoginLink","setShowLoginLink","showPrices","setShowPrices","allowContractDeductionsOnFutureContracts","_setAllowContractDeductionsOnFutureContracts","showOnlyUniversalMenu","_setShowOnlyUniversalMenu","showOnlyUmbracoUniversalMenu","isCheckoutDeliveryEnabled","_setIsCheckoutDeliveryEnabled","isCheckoutDeliveryDatepickerEnabled","_setisCheckoutDeliveryDatepickerEnabled","isCheckoutAdditionalInformationEnabled","_setisCheckoutAdditionalInformationEnabled","isCheckoutAdditionalInformationPhoneNumberEnabled","_setisCheckoutAdditionalInformationPhoneNumberEnabled","deliveryOptionDeliveryModeCode","_setDeliveryOptionDeliveryModeCode","deliveryOptionPickupModeCode","_setDeliveryOptionPickupModeCode","isFarmInTimeEnabled","_setIsFarmInTimeEnabled","displayFavoritesList","_setDisplayFavoritesList","showFavoritesList","showStockStatus","_setShowStockStatus","setSiteVariant","navigate","useNavigate","toastMessage","toast","ariaProps","showError","updateDictionaryObj","translations","currentCulture","newTranslations","updateContentObj","contentObj","acceptedPrivacyPolicy","_globalVariables$cvrA","_globalVariables$cvrA2","cvrAndCustomerNumbers","accounts","account","currentCustomerObject","customers","number","hasAcceptedPrivacyPolicy","fetchWithAuth","getBearerToken","fetch","Authorization","ok","errorData","errorMessage","fetchWithAuthB2b","getBearerTokenB2B","dwToken","changeCustomer","newCustomerNumber","forceNew","dontParseCookie","cookieJar","parts","decodedName","getCookie","_variables$cvrAndCust","_variables$cvrAndCust2","variables","defaultCustomerNumber","fetchedHeroObj","fetchHeroObj","credentials","b2bUrl","b2bFrontendUrl","myfarmUrl","myfarmFrontendUrl","navigationObj","showServerError","updateName","firstName","lastName","updateGlobalVariables","_globalVariables$cvrA3","customer","cvr","isPriceServiceEnabled","themeClass","bodyClick","hasAttribute","preventDefault","inputMethod","observer","MutationObserver","mutations","mutation","newSiteVariantAlias","newSiteVariant","isSSRHelper","ModalSize","ModalContext","showModal","closeModal","isModalShowing","scrollToTop","ReactModal","ModalProvider","shouldCloseOnOverlayClick","setShouldCloseOnOverlayClick","shouldCloseOnEsc","setShouldCloseOnEsc","setContent","isShowing","setIsShowing","setSize","SM","onCloseCallback","heightChangeCount","contentWrapperRef","transition","useTransition","enter","leave","delay","friction","onDestroyed","blurActiveElement","onClose","scrollTo","onRequestClose","overlayClassName","maxWidth","appElement","parentSelector","overlayElement","contentEl","animated","useModal","defaultState","isBrowser","matchMedia","getInitialState","setState","mounted","mql","addListener","removeListener","SCREEN_SIZES","ScreenContext","screenSize","XXS","isMobileOrTablet","isMinLg","isMinXs","isScrollLocked","toggleScrollLock","scrollLockOffset","ScreenProvider","setIsScrollLocked","setScrollLockOffset","setScreenSize","newState","scrollY","useMedia","XS","isMinSm","isMinMd","MD","LG","isMinXl","XL","isMinXxl","XXL","instant","scrollTop","newScreenSize","TranslationModalLoader","onSave","dictionaryLocation","chooseLocation","isCreatingNew","Component","default","justifyContent","_DangerousEditButton","buttonProps","showEditorModal","_EditButton","alwaysVisible","hover","setHover","setDisabled","ctrlKey","metaKey","confirm","appearance","pointerEvents","onFocus","onBlur","onMouseLeave","TranslationsContext","getTextItem","globalTranslations","pageTitlePostfix","TranslationsProvider","isMasterAdmin","highlightMissingItems","_getDictionaryString","lowerCaseAlias","toLocaleLowerCase","stringExist","returnString","dontShowFallback","handleTranslation","disableEditor","replaceStrings","pushToDataLayer","_window$dataLayer","_window$dataLayer4","_window$dataLayer2","_window$dataLayer3","pageType","useLocation","originalLocation","protocol","blur","formatNumber","locale","toLocaleString","minimumFractionDigits","decimals","maximumFractionDigits","getApiUrl","base","allParameters","arrayValue","BEARER_TOKEN_URL","B2B_BEARER_TOKEN_URL","globalToken","expiration","exp","isAuthenticated","DICTIONARY_FALLBACK","frontpage","replaceLinkAliases","_match","newTab","linkAlias","linkText","uppercaseFirst","fallbackString","regex","returnString2","softHyphenate","toLocaleUpperCase","uppercaseFirstLetter","toLowerKeys","accumulator","dictionary","lowercaseAlias","_globalThis$urlList","urlList","_url","_window$location","_url2","_window2$location","cmsFrontendUrl","_url4","_window4","_window4$location","_url5","_window5","_window5$location","useOnClickOutside","deps","every","dep","handleClickOutside","executeCallback","thisRef","contains","fetchHandler","rootUrl","useRequest","expectText","blob","put","patch","DataValueBase","StringDataValue","isCollection","StringCollectionDataValue","$type","$values","MultilingualCollectionDataValue","NumberDataValue","DoubleCollectionDataValue","BooleanDataValue","BooleanCollectionDataValue","MultiCurrencyDataValue","amount","currency","MultilingualDataValue","ObjectDataValue","dataObject","ObjectCollectionDataValue","dataObjects","FilterScopesBuilder","fillScope","defaultScope","fill","build","FilterSettingsBuilder","scopesBuilder","scopes","builder","DataObjectFilterConditionBuilder","conditions","addContainsCondition","condition","objectPath","mode","negated","addEqualsCondition","addInRangeCondition","range","addGreaterThanCondition","addLessThanCondition","addMinByCondition","addMaxByCondition","ConditionBuilder","valueCollectionEvaluationMode","addDistinctCondition","numberOfOccurrencesAllowedWithTheSameValue","addDataObjectCondition","take","conditionsBuilder","objectFilter","FilterBuilder","filters","addProductAssortmentFilter","assortmentIds","assortments","internalSettingsBuilder","filterSettings","addVariantAssortmentFilter","addBrandAssortmentFilter","addContentAssortmentFilter","addContentCategoryAssortmentFilter","addProductCategoryAssortmentFilter","addProductCategoryIdFilter","evaluationScope","categoryIds","ids","addContentCategoryIdFilter","addProductIdFilter","productIds","addVariantIdFilter","variantIds","addBrandIdFilter","brandIds","addContentIdFilter","contentIds","addCompanyIdFilter","companyIds","addProductHasVariantsFilter","lowerBound","upperBound","numberOfVariants","lowerBoundInclusive","upperBoundInclusive","addProductRecentlyPurchasedByUserFilter","sinceUtc","addProductRecentlyViewedByUserFilter","addProductSalesPriceFilter","addProductListPriceFilter","addVariantSalesPriceFilter","addVariantListPriceFilter","addVariantSpecificationFilter","equalTo","filterOutIfKeyIsNotFound","and","filterBuilder","or","addProductDataFilter","conditionBuilder","mustMatchAllConditions","addVariantDataFilter","addBrandDataFilter","addCartDataFilter","addContentCategoryDataFilter","addContentDataFilter","addProductCategoryDataFilter","addCompanyDataFilter","addProductDisplayNameFilter","addProductAndVariantIdFilter","products","productAndVariantIds","addProductCategoryLevelFilter","levels","addProductCategoryHasParentFilter","addProductCategoryHasChildFilter","addProductCategoryHasAncestorFilter","addContentCategoryLevelFilter","addContentCategoryHasParentFilter","addContentCategoryHasChildFilter","addContentCategoryHasAncestorFilter","addProductCategoryHasProductsFilter","addContentCategoryHasContentsFilter","PaginationBuilder","pageNumber","pageSize","setPageSize","setPage","RelevanceModifierBuilder","modifiers","addBrandIdRelevanceModifier","brandId","ifProductIsBrandMultiplyWeightBy","ifProductIsNotBrandMultiplyWeightBy","modifier","addProductAssortmentRelevanceModifier","multiplyWeightBy","addVariantAssortmentRelevanceModifier","addProductCategoryIdRelevanceModifier","categoryId","addProductDataRelevanceModifier","multiplierSelector","considerAsMatchIfKeyIsNotFound","addVariantDataRelevanceModifier","addProductIdRelevanceModifier","addProductListPriceRelevanceModifier","addProductSalesPriceRelevanceModifier","addVariantListPriceRelevanceModifier","addVariantSalesPriceRelevanceModifier","addVariantSpecificationsInCommonRelevanceModifier","specificationKeysAndMultipliers","addVariantSpecificationValueRelevanceModifier","ifIdenticalMultiplyWeightBy","ifNotIdenticalMultiplyWeightBy","ifSpecificationKeyNotFoundApplyNotEqualMultiplier","addProductRecentlyPurchasedByUserRelevanceModifier","ifNotPreviouslyPurchasedByUserMultiplyWeightBy","ifPreviouslyPurchasedByUserMultiplyWeightBy","toJSON","addProductRecentlyViewedByUserRelevanceModifier","ifNotPreviouslyViewedByUserMultiplyWeightBy","ifPreviouslyViewedByUserMultiplyWeightBy","addUserFavoriteProductRelevanceModifier","sinceMinutesAgo","ifNotPurchasedBaseWeight","mostRecentPurchaseWeight","numberOfPurchasesWeight","DataObjectFacetBuilder","facets","addDataObjectFacet","facetSettings","facetBuilder","facet","field","addStringFacet","selected","collectionFilterType","addBooleanFacet","addNumberFacet","addNumberRangeFacet","addNumberRangesFacet","predefinedRanges","expandedRangeSize","selectedValues","upperBoundExclusive","FacetBuilder","addCategoryFacet","categorySelectionStrategy","addProductCategoryHierarchyFacet","selectedPropertiesSettings","addContentCategoryHierarchyFacet","addBrandFacet","addProductAssortmentFacet","selectionStrategy","assortmentFilterType","assortmentSelectionStrategy","addVariantSpecificationFacet","addProductDataDoubleRangeFacet","dataSelectionStrategy","mapSelectedDoubleRange","addProductDataDoubleRangesFacet","addProductDataStringValueFacet","addProductDataBooleanValueFacet","addProductDataDoubleValueFacet","addSalesPriceRangeFacet","priceSelectionStrategy","addSalesPriceRangesFacet","addListPriceRangeFacet","addListPriceRangesFacet","addProductDataObjectFacet","addContentAssortmentFacet","addContentDataDoubleRangeFacet","addContentDataDoubleRangesFacet","addContentDataStringValueFacet","addContentDataBooleanValueFacet","addContentDataDoubleValueFacet","addProductCategoryAssortmentFacet","addProductCategoryDataDoubleRangeFacet","addProductCategoryDataDoubleRangesFacet","addProductCategoryDataStringValueFacet","addProductCategoryDataBooleanValueFacet","addProductCategoryDataDoubleValueFacet","lowerBoundHasValue","upperBoundHasValue","DataObjectValueSelectorBuilder","select","childSelector","fallbackSelector","ProductSortingBuilder","sortByProductData","thenBy","sort","sortByProductDataObject","valueSelector","valueSelectorFactory","sortByProductRelevance","sortByProductPopularity","sortByProductAttribute","attribute","sortByProductVariantAttribute","sortByProductVariantSpecification","thenByBuilder","ContentSortingBuilder","sortByContentData","sortByContentRelevance","sortByContentPopularity","sortByContentAttribute","ProductCategorySortingBuilder","sortByProductCategoryData","sortByProductCategoryRelevance","sortByProductCategoryPopularity","sortByProductCategoryAttribute","SearchRequestBuilder","postFilterBuilder","relevanceModifiersBuilder","postFilters","relevanceModifiers","setIndex","indexId","baseBuild","displayedAtLocation","user","indexSelector","ContentSearchBuilder","paginationBuilder","sortingBuilder","searchSettings","recommendations","setContentProperties","contentProperties","selectedContentProperties","setRecommendationSettings","setTerm","term","pagination","paginate","sorting","ProductCategorySearchBuilder","setSelectedCategoryProperties","productCategoryProperties","selectedCategoryProperties","ProductSearchBuilder","setSelectedProductProperties","productProperties","selectedProductProperties","setSelectedVariantProperties","variantProperties","selectedVariantProperties","setSelectedBrandProperties","brandProperties","selectedBrandProperties","setVariantSearchSettings","variantSearchSettings","variantSettings","setExplodedVariants","explodedVariants","SearchCollectionBuilder","requests","addRequest","SearchTermPredictionBuilder","targetEntityTypes","addEntityType","types","RecommendationRequestBuilder","displayedAtLocationType","ContentSettingsRecommendationBuilder","recommendationSettings","allowFillIfNecessaryToReachNumberOfRecommendations","allowReplacingOfRecentlyShownRecommendations","numberOfRecommendations","prioritizeDiversityBetweenRequests","setSelectedContentProperties","setNumberOfRecommendations","allowed","prioritize","ContentsRecommendationCollectionBuilder","distinctContentsAcrossResults","requireDistinctContentsAcrossResults","ContentsViewedAfterViewingContentBuilder","setContentId","contentId","ContentsViewedAfterViewingMultipleContentsBuilder","setContentIds","_len2","_key2","ContentsViewedAfterViewingMultipleProductsBuilder","addProduct","product","addProducts","ContentsViewedAfterViewingProductBuilder","productAndVariantId","productId","PersonalContentRecommendationBuilder","PopularContentsBuilder","since","ContentCategoriesRecommendationCollectionBuilder","distinctCategoriesAcrossResults","requireDistinctCategoriesAcrossResults","ContentCategorySettingsRecommendationBuilder","setSelectedContentCategoryProperties","ContentCategoryProperties","selectedContentCategoryProperties","PersonalContentCategoryRecommendationBuilder","weights","categoryViews","contentViews","setWeights","PopularContentCategoriesRecommendationBuilder","BrandSettingsRecommendationBuilder","PersonalBrandRecommendationBuilder","brandViews","productViews","productPurchases","PopularBrandsRecommendationBuilder","ProductCategorySettingsRecommendationBuilder","setProductCategoryProperties","ProductCategoryProperties","selectedProductCategoryProperties","PersonalProductCategoryRecommendationBuilder","PopularProductCategoriesRecommendationBuilder","ProductCategoriesRecommendationCollectionBuilder","ProductSettingsRecommendationBuilder","recommendVariant","allowProductsCurrentlyInCart","recommend","PurchasedWithCurrentCartBuilder","BySingleProductRecommendationBuilder","ProductsViewedAfterViewingProductBuilder","ProductsViewedAfterViewingContentBuilder","PersonalProductRecommendationBuilder","PopularProductsBuilder","basedOnSelection","basedOn","RecentlyViewedProductsBuilder","SortVariantsBuilder","setProductId","ProductsRecommendationCollectionBuilder","distinctProductsAcrossResults","requireDistinctProductsAcrossResults","PurchasedWithMultipleProductsBuilder","PurchasedWithProductBuilder","SearchTermBasedProductRecommendationBuilder","SortProductsBuilder","setProductIds","SimilarProductsProductBuilder","evaluationSettings","considerAlreadyKnownInformationAboutProduct","productData","setSimilarProductsEvaluationSettings","existingProductId","PopularSearchTermsRecommendationBuilder","_len3","_key3","__awaiter","thisArg","_arguments","adopt","fulfilled","step","rejected","version","ProblemDetailsError","details","_details","RelewiseClient","datasetId","apiKey","_serverUrl","_urlPath","_apiKeyHeader","serverUrl","requestUrl","createRequestUrl","fetch__default","signal","abortSignal","responseMessage","baseUrl","_len4","segments","_key4","joinedSegments","endsWith","Tracker","trackOrder","subtotal","orderNumber","lineItems","cartName","trackingNumber","variantId","variant","lineTotal","quantity","trackCart","cart","trackProductView","_ref5","productView","trackProductCategoryView","_ref6","idPath","productCategoryView","trackContentView","_ref7","contentView","trackContentCategoryView","_ref8","contentCategoryView","trackBrandView","_ref9","brandView","brand","trackSearchTerm","_ref10","searchTerm","trackUserUpdate","_ref11","updateKind","userUpdate","Searcher","searchProducts","searchProductCategories","searchContents","searchTermPrediction","batch","requestCollections","Recommender","recommendPopularSearchTerms","recommendPersonalBrands","recommendPopularBrands","recommendPersonalContentCategories","recommendPopularContentCategories","recommendPersonalProductCategories","recommendPopularProductCategories","recommendPurchasedWithProduct","recommendPurchasedWithMultipleProducts","sortVariants","sortProducts","recommendSimilarProducts","recommendSearchTermBasedProducts","recentlyViewedProducts","recommendPurchasedWithCurrentCart","recommendProductsViewedAfterViewingProduct","recommendProductsViewedAfterViewingContent","recommendPopularProducts","recommendPersonalProducts","recommendPopularContents","recommendPersonalContents","recommendContentsViewedAfterViewingProduct","recommendContentsViewedAfterViewingMultipleProducts","recommendContentsViewedAfterViewingMultipleContents","recommendContentsViewedAfterViewingContent","batchProductRecommendations","batchContentRecommendations","batchContentCategoryRecommendations","batchProductCategoryRecommendations","UserFactory","anonymous","byAuthenticatedId","authenticatedId","temporaryId","byTemporaryId","byIdentifier","identifiers","byIdentifiers","byEmail","byFingerprint","fingerprint","DataValueFactory","stringCollection","doubleCollection","boolean","booleanCollection","multiCurrency","multilingual","multilingualCollection","objectCollection","objects","ValueSelectorFactory","dataDoubleSelector","fixedDoubleValueSelector","PopStateEventType","createBrowserHistory","getUrlBasedHistory","globalHistory","createLocation","usr","createPath","invariant","getHistoryState","parsePath","parsedPath","hashIndex","searchIndex","getLocation","createHref","validateLocation","v5Compat","history","action","Pop","listener","getIndex","handlePop","nextIndex","delta","createURL","replaceState","listen","encodeLocation","Push","historyState","pushState","DOMException","Replace","go","ResultType","Set","stripBasename","basename","startIndex","nextChar","getInvalidPathError","char","dest","getPathContributingMatches","route","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","toPathname","routePathnameIndex","toSegments","fromPathname","relativePath","segment","resolvePathname","normalizeSearch","normalizeHash","resolvePath","hasExplicitTrailingSlash","hasCurrentTrailingSlash","joinPaths","paths","AbortedDeferredError","validMutationMethodsArr","validRequestMethodsArr","classes","argType","inner","__self__","F","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","normalizeValue","iteratorFor","Headers","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","DataView","_bodyArrayBuffer","arrayBuffer","readAsText","readBlobAsText","chars","readArrayBufferAsText","decode","oldValue","methods","Request","upcased","normalizeMethod","referrer","bytes","parseHeaders","rawHeaders","Response","bodyInit","statusText","clone","redirectStatuses","redirect","RangeError","stack","aborted","abortXhr","abort","getAllResponseHeaders","responseURL","ontimeout","onabort","withCredentials","responseType","setRequestHeader","onreadystatechange","polyfill","ponyfill","ctx","getDefaultOptions","dateLongFormatter","formatLong","timeLongFormatter","dateTimeFormat","matchResult","datePattern","timePattern","dateTime","getTimezoneOffsetInMilliseconds","utcDate","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","getTime","MILLISECONDS_IN_WEEK","getUTCISOWeek","dirtyDate","requiredArgs","toDate","startOfUTCISOWeek","year","getUTCISOWeekYear","fourthOfJanuary","setUTCHours","startOfUTCISOWeekYear","getUTCFullYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","getUTCWeek","startOfUTCWeek","_options$firstWeekCon","_options$locale","_options$locale$optio","_defaultOptions$local","_defaultOptions$local2","firstWeekContainsDate","toInteger","getUTCWeekYear","firstWeek","startOfUTCWeekYear","firstWeekOfNextYear","firstWeekOfThisYear","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","throwProtectedError","required","day","getUTCDay","setUTCDate","getUTCDate","_options$weekStartsOn","weekStartsOn","dirtyNumber","NaN","addLeadingZeros","targetLength","signedYear","M","month","getUTCMonth","d","dayPeriodEnumValue","getUTCHours","H","m","getUTCMinutes","s","getUTCSeconds","numberOfDigits","milliseconds","getUTCMilliseconds","pow","dayPeriodEnum","formatTimezoneShort","dirtyDelimiter","absOffset","hours","minutes","formatTimezoneWithOptionalMinutes","formatTimezone","G","localize","era","ordinalNumber","unit","lightFormatters","Y","signedWeekYear","weekYear","R","Q","quarter","q","L","w","week","I","isoWeek","D","dayOfYear","timestamp","setUTCMonth","difference","getUTCDayOfYear","E","dayOfWeek","localDayOfWeek","c","isoDayOfWeek","dayPeriod","b","B","K","X","_localize","timezoneOffset","_originalDate","getTimezoneOffset","O","originalDate","T","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","_options$locale2","_options$locale2$opti","_options$locale3","_options$locale3$opti","_defaultOptions$local3","_defaultOptions$local4","formatStr","defaultLocale","isValid","subMilliseconds","formatterOptions","firstCharacter","longFormatter","longFormatters","matched","cleanEscapedString","formatter","formatters","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","_typeof","isDate","buildFormatLongFn","defaultWidth","formats","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","predicate","findIndex","findKey","valueCallback","buildMatchPatternFn","parseResult","parsePattern","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","tokenValue","addSuffix","comparison","full","long","medium","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","_date","_baseDate","_options","rem100","narrow","abbreviated","wide","am","pm","midnight","noon","morning","afternoon","evening","night","code","formatDistance","formatRelative","parseInt","any","dirtyAmount","addMilliseconds","argument","argStr","equal","flags","reactIs","require","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","factory","OldCookies","Cookies","api","noConflict","extend","converter","write","escape","stringifiedAttributes","jar","cookies","read","getJSON","withConverter","atob","stdOnEnd","script","ieOnEnd","getElementsByTagName","charset","attrs","attr","setAttributes","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","toObject","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","symbol","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","g","acceptsBooleans","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","A","Ma","Na","Oa","prepareStackTrace","Pa","Qa","$$typeof","_payload","Ra","Sa","Ta","Va","_valueTracker","setValue","stopTracking","Ua","Wa","checked","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","eb","fb","defaultSelected","gb","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","gridArea","lineClamp","qb","rb","sb","tb","menuitem","area","br","col","embed","hr","img","keygen","meta","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","altKey","getModifierState","zd","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","datetime","password","tel","me","ne","oe","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","compareDocumentPosition","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","of","pf","qf","rf","sf","capture","J","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","payload","dh","eh","fh","gh","hh","ih","jh","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","sh","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","ni","lastEffect","stores","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useReducer","useDebugValue","useDeferredValue","useMutableSource","useSyncExternalStore","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onclick","createElementNS","autoFocus","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","ak","onCommitFiberUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","pk","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","el","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","hasElementType","hasMap","hasSet","hasArrayBuffer","it","FOCUS_GROUP","FOCUS_DISABLED","useMergeRefs","facade","useCallbackRef","assignRef","hiddenGuard","InFocusGuard","__assign","SuppressedError","ItoI","innerCreateMedium","assigned","useMedium","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","createMedium","mediumFocus","mediumBlur","mediumEffect","mediumSidecar","ssr","createSidecarMedium","emptyArray","FocusLock","parentRef","_extends2","_React$useState","realObserved","setObserved","observed","isActive","originalFocusedElement","noFocusGuards","persistentFocus","crossFrame","allowTextSelection","whiteList","hasPositiveIndices","_props$shards","shards","_props$as","as","Container","_props$lockProps","lockProps","containerProps","SideCar","sideCar","shouldReturnFocus","returnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","allowDefer","returnFocusTo","howToReturnFocus","returnFocusOptions","setObserveNode","newObserved","constants","hasLeadingGuards","hasTailingGuards","mergedRef","reducePropsToState","handleStateChangeOnClient","mountedInstances","emitChange","SideEffect","_PureComponent","PureComponent","getDisplayName","toArray","asArray","getFirst","DOCUMENT_FRAGMENT_NODE","isTopNode","DOCUMENT_NODE","isVisibleUncached","checkParent","ELEMENT_NODE","computedStyle","getPropertyValue","isElementHidden","isVisibleCached","visibilityCache","isAutoFocusAllowedCached","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","isHTMLInputElement","isRadioElement","isGuard","focusGuard","isNotAGuard","isDefined","tabSort","tabDiff","indexDiff","orderByTabIndex","filterNegative","keepGuards","queryTabbables","queryGuardTabbables","getFocusablesWithShadowDom","withGuards","shadowRoot","acc","getFocusables","parents","focusableWithShadowDom","focusableWithIframes","contentDocument","getFocusablesWithIFrame","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","getTabbableNodes","topNodes","getFocusableNodes","parentAutofocusables","topNode","parentFocus","getParentAutofocusables","scope","some","iframeBody","getActiveElement","inDocument","safeProbe","getTopParent","getAllAffectedNodes","currentNode","contained","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","filterNested","focusInside","frame","focusInFrame","focusInsideIframe","correctNode","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","newFocus","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","activeIndex","lastNodeInside","firstNodeIndex","lastNodeIndex","correctedNodes","resultSet","correctNodes","correctedIndexDiff","returnFirstNode","returnLastNode","pickAutofocus","nodesIndexes","orderedNodes","groups","autoFocusables","autoFocusable","autofocus","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","focusSolver","commonParent","anyFocusable","innerElements","orderedInnerElements","srcNodes","dstNodes","remap","entity","reorderNodes","newId","allParentAutofocusables","guardCount","lockDisabled","moveFocusInside","focusable","deferAction","isFreeFocus","focusIsHidden","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","allNodes","lastGuard","guard","focusAutoGuard","lockItem","extractRef","checkInHost","boundary","activateTrap","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","withinHost","newActiveElement","expandFocusableNodes","focusedIndex","onTrap","observerNode","onWindowBlur","withSideEffect","propsList","traps","trap","lastTrap","sameTrap","FocusLockCombination","FocusLockUI","FocusTrap","_objectWithoutPropertiesLoose","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","createClass","objectWithoutProperties","encodeSpecialCharacters","getTitleFromPropsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","objectAssign","rafPolyfill","clock","cafPolyfill","webkitRequestAnimationFrame","mozRequestAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","_helmetCallback","commitTagChanges","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","elementTag","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","indexToSave","headElement","tagNodes","indexToDelete","styleSheet","cssText","existingTag","isEqualNode","generateElementAttributesAsString","convertElementAttributestoReactProps","initProps","getMethodsForTag","encode","toComponent","_initProps","generateTitleAsReactComponent","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","mapStateOnServer","_ref$title","noscript","HelmetExport","_class","_temp","HelmetWrapper","classCallCheck","possibleConstructorReturn","inherits","nextProps","mapNestedChildrenToProps","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","canUseDOM","defaultTitle","defer","titleTemplate","rewind","mappedState","Helmet","renderStatic","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Portal","Profiler","StrictMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","startTransitionImpl","BrowserRouter","future","historyRef","setStateImpl","v7_startTransition","Router","navigationType","ABSOLUTE_URL_REGEX","absoluteHref","relative","reloadDocument","preventScrollReset","UNSAFE_NavigationContext","currentUrl","targetUrl","useHref","internalOnClick","replaceProp","useResolvedPath","isModifiedEvent","shouldProcessLinkClick","useLinkClickHandler","DataRouterHook","DataRouterStateHook","DataRouterContext","NavigationContext","LocationContext","RouteContext","outlet","isDataRoute","useInRouterContext","UNSAFE_invariant","joinedPathname","useIsomorphicLayoutEffect","static","router","useDataRouterContext","UseNavigateStable","useCurrentRouteId","activeRef","fromRouteId","useNavigateStable","dataRouterContext","routePathnamesJson","UNSAFE_getPathContributingMatches","pathnameBase","useNavigateUnstable","_temp2","hookName","useRouteContext","thisRoute","basenameProp","locationProp","staticProp","navigationContext","locationContext","trailingPathname","AwaitRenderStatus","ex","React__default","recordedState","isString","replaceString","curCharStart","curCharLen","isRegExp","reRegExpChar","reHasRegExpChar","escapeRegExp","newArray","flatten","noop","__self","__source","jsxs","forceUpdate","_status","_result","Children","only","cloneElement","createContext","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","createRef","isValidElement","memo","startTransition","unstable_act","sortIndex","performance","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","Sister","sister","events","trigger","_PlayerStates","_PlayerStates2","__esModule","pauseVideo","acceptableStates","stateChangeRequired","seekTo","timeout","_debug2","_interopRequireDefault","_functionNames2","_eventNames2","_FunctionStateMap2","debug","YouTubePlayer","emitter","onEventName","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","playerAPIReady","strictState","functions","_loop2","functionName","stateInfo","playerState","getPlayerState","playerStateAfterChange","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","VIDEO_CUED","_sister2","_loadYouTubeIframeApi2","_YouTubePlayer2","youtubeIframeAPI","maybeElementId","proxyEvents","YT","playerApi","promisifyPlayer","_loadScript","_loadScript2","onYouTubeIframeAPIReady","load","storage","DEBUG","formatArgs","useColors","namespace","humanize","lastC","save","namespaces","removeItem","WebkitAppearance","firebug","table","$1","chrome","local","localStorage","localstorage","enable","prevTime","createDebug","enabled","curr","coerce","selectColor","disable","names","skips","plural","fmtShort","webpackAsyncContext","req","__webpack_require__","_arrayLikeToArray","arr2","assertThisInitialized","sourceKeys","_unsupportedIterableToArray","minLen","_goober","resolveValue","toastId","reducer","toasts","visible","pausedAt","pauseDuration","createdAt","dismiss","primary","secondary","iconTheme","getAnimationStyle","_t","globals_exports","__export","createStringInterpolator","skipAnimation","willAdvance","makeQueue","raf","writeQueue","onStartQueue","onStart","onFrameQueue","onFrame","onFinishQueue","onFinish","timeouts","pendingCount","findTimeout","sync","batchedUpdates","throttle","queuedFn","throttled","nativeRaf","use","impl","advance","ts","prevTs","eachSafely","each2","fun","num","und","each","eachProp","flushCalls","globals","startQueue","currentFrame","prevFrame","idle","flushStartQueue","startSafely","prevIndex","startUnsafely","dt","nextFrame","NUMBER","PERCENTAGE","rgb","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","hslToRgb","parse255","int","parse360","parse1","parsePercentage","colorToRgba","int32Color","normalizeColor","createInterpolator","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","easing","range2","findRange","inputMin","inputMax","outputMin","outputMax","interpolate","c1","c2","c3","c4","PI","c5","bounceOut","n1","d1","easings","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","sin","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","sqrt","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","steps","steps2","direction","progress2","rounded","clamp","$get","$observers","hasFluidValue","getFluidValue","getFluidObservers","callFluidObservers","observers","observer2","eventObserved","callFluidObserver","FluidValue","setFluidGetter","setHidden","addFluidObserver","observerAdded","removeFluidObserver","observerRemoved","namedColorRegex","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","parseCSSVariable","value2","rgbaRound","p3","p4","createStringInterpolator2","keyframes","interpolators","output2","missingUnit","called","warnInterpolate","warnDirectCall","isAnimatedString","useIsMounted","useRef2","useForceUpdate","update2","useOnce","effect","useEffect3","emptyDeps","usePrev","prevRef","useRef4","useEffect4","$node","getAnimated","owner","setAnimated","defineHidden","getPayload","Animated","AnimatedValue","_value","durationProgress","lastPosition","lastVelocity","v0","AnimatedString","_string","_toString","is2","goal","TreeContext","AnimatedObject","_makePayload","_addToPayload","AnimatedArray","makeAnimated","getAnimatedType","is3","isAnimatedString2","withAnimated","hasInstance","is4","givenProps","givenRef","instanceRef","updateRef","createAnimatedStyle","getAnimatedState","applyAnimatedValues","PropsObserver","observerRef","usedProps","getComponentProps","cacheKey","is5","callProp","matchProp","resolveProp","getDefaultProp","noopTransform","DEFAULT_PROPS","defaults2","RESERVED_PROPS","immediate","onProps","onResume","onRest","onResolve","trail","initial","callId","parentId","inferTo","to2","forward","getForwardProps","out","computeGoal","hasProps","isAsyncTo","detachRefs","ctrl","replaceRef","tension","mass","damping","AnimationConfig","sanitizeConfig","config2","decay","isTensionConfig","frequency","duration","Animation","changed","toValues","fromValues","scheduleProps","actions","resumeQueue","resume","G2","delayed","pauseQueue","cancelId","getCombinedResult","results","cancelled","getCancelledResult","getNoopResult","getFinishedResult","finished","runAsync","asyncTo","prevTo","prevPromise","asyncId","preventBail","bail","bailPromise","bailIfEnded","bailSignal","bailResult","animate","arg1","arg2","BailSignal","skipAnimationSignal","SkipAnimationSignal","G3","stopAsync","props2","eachProp2","result2","animating","raf2","isFrameValue","FrameValue","nextId","FluidValue2","_priority","_onPriorityChange","G4","_attach","_detach","_onChange","$P","hasAnimated","isAnimating","isPaused","setActiveBit","active","IS_ANIMATING","setPausedBit","SpringValue","_state","_pendingCalls","_lastCallId","_lastToId","_memoizedDuration","getFluidValue2","getAnimated2","node2","isDelayed","toArray2","elapsed","precision","restVelocity","bounceFactor","bounce","canBounce","isGrowing","isMoving","isBouncing","numSteps","currVal","finalVal","_stop","raf3","_focus","_set","_update","_onStart","_start","_prepareNode","isLoop","mergeActiveFn","sendEvent","isFrozen","checkFinished","_resume","_merge","createLoopUpdate","hasToProp","hasFromProp","prevFrom","hasFromChanged","hasToChanged","hasAsyncTo","newConfig","defaultConfig","mergeConfig","isAnimatable","goalType","started","hasValueChanged","ACTIVE_EVENTS","oldNode","G5","frameLoop2","callFluidObservers2","loopRet","overrides","createUpdate","findDefined","declareUpdate","eachProp3","BATCHED_EVENTS","nextId2","Controller","flush3","springs","_lastAsyncId","_active","_changed","_started","_events","_onFrame","_flush","spring","_item","is6","toArray3","prepareKeys","flushUpdateQueue","each3","eachProp4","flush2","onStart2","onChange2","onRest2","raf4","flushUpdate","flushCalls2","promises","getSprings","prepareSprings","createSpring","setSprings","addFluidObserver2","SpringContext","inherited","getResult","inputs","useState2","committed","useRef3","prevCache","useEffect2","useMemoOne","SpringRef","SpringRef2","each4","is7","_getProps","useSprings","propsFn","is8","layoutId","ctrls","updates2","springs2","updates","prevLength","declareUpdates","endIndex","each5","useContext2","prevContext","hasContext","useIsomorphicLayoutEffect2","useSpring","isFn","is9","is11","exitBeforeEnter","propsRef","propsConfig","useMemo2","toArray4","usedTransitions","prevTransitions","useIsomorphicLayoutEffect4","useOnce3","each7","expired","expirationId","reused","phase","nextKey","getKeys","keyIndex","useForceUpdate2","exitingTransitions","forceChange","prevPhase","propsDelay","isLeave","transitions2","expiry","expiryMs","useContext3","usePrev2","ind","renderTransitions","React2","elem","Interpolation","calc","_get","getAnimatedType2","setAnimated2","_dt","isEqual2","getAnimated3","checkIdle","becomeIdle","is14","getFluidValue3","toArray5","each10","getPayload2","G6","raf5","frameLoop3","hasFluidValue2","addFluidObserver3","removeFluidObserver2","highest","isIdle","callFluidObservers3","Globals","frameLoop4","isCustomPropRE","dangerousStyleValue","isUnitlessNumber","attributeCache","prefixes","prefixKey","domTransforms","pxTransforms","degTransforms","addUnit","isValueIdentity","AnimatedStyle","transforms","xyz","x2","y2","z2","deg","FluidTransform","identity","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","hostConfig","createHost","isFilterElement","viewBox","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","amdO","getter","leafPrototypes","ns","chunkId","miniCssF","inProgress","dataWebpackPrefix","needAttach","scripts","nc","onScriptComplete","doneFns","nmd","loadStylesheet","fullhref","existingLinkTags","dataHref","existingStyleTags","findStylesheet","oldTag","linkTag","errorType","realHref","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","ApiContext","ApiProvider","fetchPage","_globalThis$cultures$","frontendUrl","cultureCode","cultures","backendParameters","rootNodeId","backendUrl","isPreview","SiteHeaderPopUpType","SiteHeaderContext","setHeaderMeasure","setCartButtonMeasure","setFarmInTimeButtonMeasure","setAccountButtonMeasure","showMiniCart","showAccountPicker","togglePopUp","toggleMobileNav","closeMobileNav","showServiceMenu","showMobileNav","pageTree","SiteHeaderProvider","headerMeasure","cartButtonMeasure","farmInTimeButtonMeasure","accountButtonMeasure","setShowMiniCart","setShowAccountPicker","setShowMobileNav","MiniCart","AccountPicker","useSiteHeader","BottomSheetContext","BottomSheet","BottomSheetProvider","setData","activeBottomSheet","setActiveBottomSheet","currentOptions","dismissBottomSheet","dismissId","dismissFromIndex","removedData","newData","onWillDismiss","showDismissHandleClass","showDismissHandle","closeButtonHandler","closeButtonToBack","headerComponent","hideBackButton","ChevronLeft","headerTitle","hideCloseButton","Close","presentBottomSheet","nestedSheet","nonBlocking","blocking","onDismiss","defaultSnap","snapPoints","point","headerHeight","footerHeight","footer","sheetIndex","contentPadding","hidden","useBottomSheet","_FooterLink","_window$CookieConsent","classname","DA_DesktopFooter","_data$columns","_data$socials","_column$items","isFooterAddress","company","address1","address2","zipCity","country","socials","iconName","Instagram","Question","DA_MobileFooter","social","_social$items","DA_SiteFooter","footerRef","setRect","contentRect","top_1","MessageState","MessageType","CookieValue","useStickyBannerMessages","allMessages","activeStickyBanners","setActiveStickyBanners","activeBanners","messageState","Active","isInDateRange","activeFrom","activeTo","isNotDeactivated","deactivated","isStickyBanner","StickyBanner","isUrlMatch","urls","urlPattern","basePattern","DA_Modal","closeLabel","handleLinkClick","modalBody","modal","closeButton","DA_HeaderMessage","textRefs","overflowingBanners","setOverflowingBanners","overflowingBannerIds","textRef","scrollWidth","handleBannerClick","banner","handleKeyPress","ExternalLink","DA_ModalMessage","currentMessage","handleModalClose","Modal","_path","_path2","_path3","_path4","_path5","_path6","_path7","_path8","_path9","SvgDanishAgroLogo","svgRef","titleId","xmlns","fillRule","clipRule","SvgVilofarmLogo","_style","SvgDlaAgro","xmlnsXlink","enableBackground","xmlSpace","SvgNordicSeed","SvgAdaGreenEnergy","maskType","maskUnits","mask","SvgAgromex","SvgApJoergensen","SvgBalticAgro","SvgCeravis","SvgDanishAgro","SvgDavaFoods","SvgHankkija","SvgHatting","_defs","SvgHesselbjergAgro","x1","y1","gradientUnits","stopColor","_path10","_rect","_path11","_path12","_path13","_path14","_path15","_path16","SvgHerculesWildbird","rx","ry","SvgHungariaAgro","_g2","SvgNorwegianAgro","SvgPolishAgro","SvgRaitech","SvgRingeMaskinforretning","SvgRoestofteMaskiner","SvgScanfedt","SvgScanola","SvgSwedishAgro","SvgTraktorHoest","SvgTraktorservice","SvgVilofarm","SvgVilomix","SvgVilovet","SvgVinderupMaskiner","SvgCeraGreen","stroke","SvgAgrosan","SvgTrinol","SvgLollandFalsterBioenergi","clipPath","DA_LogoNames","DA_Logo","ReturnLogo","AdaGreenEnergy","Agromex","APJoergensen","BalticAgro","Ceravis","DanishAgro","DAVAFoods","DLAAgro","Hankkija","Hatting","HesselbjergAgro","HerculesWildbird","HungariaAgro","NordicSeed","NorwegianAgro","PolishAgro","Raitech","RingeMaskinforretning","RoestofteMaskiner","Scanfedt","Scanola","SwedishAgro","TraktorHoest","Traktorservice","Vilofarm","Vilomix","Vilovet","VinderupMaskiner","CeraGreen","Agrosan","Trinol","LollandFalsterBioenergi","getLoginLink","DA_BadgeColor","DA_Badge","getRelativeRootOnLocalhost","getB2bImage","maxSize","sizeIsNumber","fgColor","CartContext","CartProvider","orderSecret","givenOrderSecret","cartId","setCartId","_setOrderSecret","isLoadingCart","setIsLoadingCart","isUpdatingCart","setIsUpdatingCart","customerDetails","setCustomerDetails","shippingDetails","setShippingDetails","cropProtectionDeliveryWeight","setCropProtectionDeliveryWeight","wightData","setWeightData","disableCropProtectionDelivery","setDisableCropProtectionDelivery","combinedDelivery","setCombinedDelivery","cropProtectionDeliveryMode","setCropProtectionDeliveryMode","cropProtection","setCropProtection","expressDeliveryModes","setExpressDeliveryModes","isExpressDelivery","orderLines","setOrderLines","useCustomer","_cvrAndCustomerNumber","_x$customers","previousCustomerNumber","usePrevious","b2bRequest","useCartRequest","priceData","priceStatus","latestShippingDate","useCartPrice","setPriceData","setPriceState","setLatestShippingDate","fingerPrint","controllerRef","newFingerPrint","createFingerprint","address","zipCode","countryCode","AbortController","charges","fee","totalCalculated","lines","latestLineDate","latest","requestedShippingDay","lineDate","priceBeforeFees","priceWithoutVat","priceWithVat","shippingFee","totalPrice","getStoredCartId","localCartId","getItem","storeCartId","setItem","updateCartOrderLines","resetCartId","mapToCartOrderLine","_line$data","_line$data2","_line$data3","_line$data4","_line$data5","_line$data6","_line$data7","productNumber","productVariantId","imageUrl","sizedImage","productName","driverMessage","allowCropProtectionDelivery","allowExpressDelivery","lineGrossWeight","itemGrossWeight","isAdditionalProduct","foVariantId","productVariantName","mapToCartData","_data$shippingDetails","_data$shippingDetails2","_data$shippingDetails3","_data$shippingDetails4","_data$lines","_data$data","_data$data2","_data$data3","_data$data4","_data$data5","_data$data6","_data$data7","_data$data8","_data$data9","_data$shippingDetails5","_data$invoiceDetails","addressData","shippingAddress","companyName","basketStatus","showCropProtectionDeliveryMode","locationId","invoiceDetails","invoiceAddress","farmInTimeReferenceId","farmInTimeDriverMessage","isCompleted","transactionId","mapToOrder","_data$data10","price","completedDate","updatedDate","mapToCartLineApi","description","updateCartData","cartData","_cartData$orderLines","resetCart","getCart","properties","finally","getCartById","addToCart","updateCart","removeFromCart","lineId","saveContactInfo","updateExpressDeliveryModes","cropProtectionDeliveryModeValue","setCombinedDeliveryMode","isCombinedDelivery","saveDeliveryInfo","_properties$shippingA","completeOrder","completeOrderSimple","deliveryDate","deliveryModeCode","phoneNumber","deleteMarkedItems","completeOrderSimple2","completeWithPriceService","getCompletedOrder","updateOrderlineDriverMessage","isFarmInTimeCart","useCart","DA_ServiceButtons","isFarmInTimePage","cartButtonRef","cartButtonRect","farmInTimeButtonRef","farmInTimeButtonRect","accountButtonRef","accountButtonRect","totalQuantity","total","orderListUrl","favoritesListUrl","hasOpenMenu","UserLoggedOut","UserLoggedIn","DA_ServiceMenu","_globalThis$universal","cmsActiveClass","b2bActiveClass","myfarmActiveClass","universalMenuArr","adjustUrl","getRelativeUrlPart","urlOrigin","parsedUrl","checkCurrentOrAncestorPath","searchPath","recursiveCheckCurrentPathDesktop","_current$children","_ColumnList","parentLink","pages","currentItems","setOpenMenuItem","filteredPages","hideInNavigation","enablePageLimit","linkIndex","currentItem","isCurrentClass","metaUrl","DA_NavigationDesktop","_pageTree$openMenuIte3","openMenuItem","navRef","timeoutRef","onMouseEnterItem","itemIndex","onMouseLeaveItem","onKeyDownItem","onMouseEnterNav","onMouseLeaveNav","arrangeChildrenByColumns","_pageTree$openMenuIte","_pageTree$openMenuIte2","allWithChildren","allWithoutChildren","remainingColumns","chunks","splitIntoChunks","chunk","page","level2index","_page$children","_page$children2","shouldRenderPage","orphan","orphanIndex","isOrphanCurrentClass","DA_AccountPicker","_cvrAndCustomerNumber2","_cvrAndCustomerNumber3","isChangingCustomer","setIsChangingCustomer","isAdmin","changeAccount","accountNumber","reload","onCloseButtonClicked","getLinkUrl","UserCrown","SignOut","accountIndex","DA_AccountPickerPopUp","notificationCount","B2bImageSrc","imageConfig","ImageConfig","DA_MiniCartPopUp","_orderLines$length","hasOrderLines","cartUrl","colSpan","orderLine","SearchImage","DA_NotificationsAndAccountsPopUp","useDebounce","isReady","useTimeoutFn","relewiseDataSetId","relewiseApiKey","relewiseUrl","fetchpriority","crossOrigin","decoding","RelewiseContext","getSelectedDataset","getSearcher","getTracker","getRecommender","getProductSettings","getDefaultSettings","isConfigured","fetchProducts","getCategory","pageCount","setCategoryId","initialDefaultPageSize","initialQuickOrderPageSize","facetGroups","setFacetGroups","selectedFacets","setSelectedFacets","removeFilter","resetFilters","relewiseUser","allowTracking","sortingOptions","selectedSortingOption","setSelectedSortingOption","totalProductCount","handleProductResponse","mapProduct","mapProductSearchResponse","Sort","Popular","_SearchProduct","_props$data","_props$data$canonical","_props$data2","_props$data2$webNameS","_props$data3","_props$data3$mediaUrl","highlightedString","onResultClicked","productUrl","canonicalBaseUrl","webNameSlug","mediaUrl","masterProductNumber","reactStringReplace","_SearchPage","DA_SearchInput","_results$cms","setSearchTerm","deferredSearchTerm","setResults","relewiseResults","setRelewiseResults","totalResults","setTotalResults","wrapperRef","inputRef","useSearch","fetchOptions","maxProducts","b2b","cms","pricing","allData","dataKeys","useCustomerGroups","groupNames","customerGroups","defaultFilter","relewiseDefaultGroupFilter","addWebUserGroupsFilter","clearSearch","_inputRef$current","onSubmit","hits","searchPlaceholderText","ReactFocusLock","trapFocus","autoComplete","_inputRef$current2","Zoom","DA_MiniSearch","DA_Toolbar","isLoginOptionsTrue","messages","announcementMessages","stickyBannersToShow","setStickyBannersToShow","isBottomSheetOpen","setIsBottomSheetOpen","isExcellenceProgrammeCmsSite","isUsingCustomAd","showCart","onCartButtonClicked","cartBadge","isCartMenuActive","useCartButton","isCartMenuActiveClass","showFarmInTime","farmInTimeLink","isFarmInTimeMenuActive","useFarmInTimeButton","isFarmInTimeMenuActiveClass","onAccountButtonClicked","accountBadge","isAccountMenuActive","useAccountButton","isAccountMenuActiveClass","showSearch","onSearchButtonClicked","isSearchMenuActive","useSearchButton","isSearchMenuActiveClass","SHOW_STICKY_BANNER","shownBanners","sessionStorage","bannersToShow","dismissBanner","bannerId","showStickyBannerMessage","handleCloseBanner","onKeyPress","CartWeighted","FormCheckWeighted","UserLoggedOutWeighted","UserLoggedInWeighted","ZoomWeighted","recursiveCheckCurrentPathMobile","_rect2","SvgUnknown","SvgFlagBg","SvgFlagBr","SvgFlagCn","SvgFlagCz","SvgFlagDe","SvgFlagDk","SvgFlagEe","SvgFlagEn","SvgFlagEs","strokeLinejoin","strokeLinecap","SvgFlagFi","SvgFlagFr","SvgFlagHu","SvgFlagLt","SvgFlagLv","SvgFlagNo","SvgFlagPl","SvgFlagPt","SvgFlagPy","SvgFlagSe","SvgFlagUa","SvgFlagZh","getFlagComponent","FlagBG","FlagBR","FlagCN","FlagCZ","FlagDE","FlagDK","FlagEE","FlagEN","FlagES","FlagFI","FlagFR","FlagHU","FlagLT","FlagLV","FlagNO","FlagPL","FlagPT","FlagPY","FlagSE","FlagUA","FlagZH","FlagUnknown","useLanguageSelector","currentLanguage","setCurrentLanguage","isDropdownOpen","setDropdownOpen","dropdownRef","languageSelectorCultures","allowedPaths","navigateToPathBasedOnCulture","cultureAlias","selectedCulture","fetchItems","_languageSelectorCult","matchedCulture","cookieLanguage","_globalThis$cultures$2","activeCulture","_globalThis$cultures$3","handleOutsideClick","handleLanguageChange","selectedCultureAlias","DA_LanguageSelector","showLanguageName","showDropDownArrow","sortedCultures","otherCultures","localeCompare","_props$menuItems","_props$customerServic","activeItems","setActiveItems","menuElementRef","onLinkClicked","level","tmpActiveItems","_menuElementRef$curre","initialActiveItems","menuItems","_item$children","_item$children$filter","currentActiveItem","isActiveClass","hasChildren","ChevronRight","customerServiceLinks","showLanguageSelector","activeItem","_activeItem$children","_props$customerServic2","disableDirectLinkFirstSubLevel","onBackButtonClicked","ArrowRight","childIndex","_item$children2","_item$children2$filte","onTabClicked","DA_NavigationMobile","webshopNavigation","setWebshopNavigation","mapNavigationPageUrls","pageArray","tmpPage","useWebshop","myfarmNavigation","setMyfarmNavigation","mapMyfarmNavigationPageUrls","useMyFarm","cmsNavigation","setCmsNavigation","useCms","navigationRef","currentNavigationData","isOpenClass","ReactDOM","DA_NavigationMobileTrigger","DA_SiteHeader","_global","_globalThis$siteSetti2","_globalThis$siteSetti3","_globalThis$siteSetti4","logoName","headerRef","headerRect","serviceButtonsRef","popUpAreaRef","setCurrentMessage","COOKIE_NAME_PREFIX","hasMessageBeenShown","messageId","True","findNextMessageToShow","isModal","notYetShown","messageToShow","useModalMessage","getFrontPagePath","frontPagePath","universalMenuLinks","DanishAgroLogo","VilofarmLogo","DLALogo","NordicSeedLogo","isProduction","_props$thumbnail","tagClass","useTags","tagNews","tagPress","tagPartnership","publishedDate","useFormattedCultureDate","imageWrapper","thumbnail","tagNoImage","textWrapper","introductory","NewsListPage","_props$props","_props$props$rootFold","_props$props2","_props$props3","_props$props4","_props$props5","_props$props6","_props$props6$hero","_props$props$hero","_props$props7","_props$props7$modules","_props$props$modules","rootFolderId","setItems","getItems","useItems","rootFolder","robotsIndexFollow","allowIndexing","allowFollowing","metaTitle","metaDescription","hero","block","Card","PageContext","allPages","currentPathDetails","pageIsLoading","setPageIsLoading","createPageArray","PageProvider","setCurrentPathDetails","partial","explorePath","pathNames","tree","indexes","pageData","pathEnd","scopeIndexes","usePage","DA_Breadcrumb","showNumberedListClass","showNumberedList","hideOnMobile","listClassName","breadcrumbItems","hasLink","lastIsLink","isHighlightedClass","isHighlighted","_props$breadcrumbs","_props$props5$hero","_props$props6$modules","breadcrumbs","schemaMarkup","generatePageSchema","isFrontPage","_globalThis$pageConte","_globalThis$pageConte2","_globalThis$pageConte3","_globalThis$pageConte4","_globalThis$pageConte5","_globalThis$pageConte6","_globalThis$pageConte7","_globalThis$pageConte8","_globalThis$pageConte9","_globalThis$pageConte10","_globalThis$pageConte11","_globalThis$pageConte12","_globalThis$pageConte13","_globalThis$pageConte14","_globalThis$pageConte15","_globalThis$pageConte16","_globalThis$pageConte17","_globalThis$pageConte18","_globalThis$pageConte19","_globalThis$pageConte20","_globalThis$pageConte21","_footerObj$address","_footerObj$address$","_footerObj$address$$c","_globalThis$pageConte22","_globalThis$pageConte23","_globalThis$pageConte24","_globalThis$pageConte25","_globalThis$pageConte26","_globalThis$pageConte27","_globalThis$pageConte28","_globalThis$pageConte29","_globalThis$pageConte30","_globalThis$pageConte31","_schemaTypeData$find","_schemaTypeData$find$","_schemaTypeData$find$2","pageContent","schemaType","footerObj","_footerAddress","siteName","heroImage","schemaTypeData","vatID","organizationSchema","streetAddress","street","addressLocality","locality","addressRegion","region","postalCode","addressCountry","additionalProperty","flatMap","localBusiness","_localBusiness$conten","_businessProps$deparm","businessProps","deparment","dept","_dept$content","_deptProps$openingHou","deptProps","openingHours","openingHoursSpecification","_hours$content","hoursProps","opens","closes","schemas","_props$address","_props$address$","_props$address$$conte","_props$openingHoursSp","telephone","sameAs","_hours$content2","_item$thumbnail","publishDate","generateNewsSchemaMarkup","articleBody","_module$content","_module$content2","_module$content3","_module$content3$prop","_module$content4","_module$content4$prop","images","_module$content5","_module$content6","_module$content6$prop","_module$content6$prop2","schema","publisher","mainEntityOfPage","datePublished","keywords","_props$props7$authorI","_props$props8","_props$props9","_props$props9$authorI","_props$props10","_props$props11","_props$props12","_props$props13","_props$props13$module","SocialMediaSharing","LatestNews","startDate","Calendar","zipcode","city","hasContent","EventListPage","ContactInfo","_users$projectPartici","applicationDue","startDateASAP","users","subTitle","userImage","hasContactTitle","formattedApplicationDueDate","formattedStartDate","checkDate","dateString","participant","projectParticipants","phoneMobile","LocationInfo","workPlaceCoordinates","zip","coordinates","latitude","longitude","JobsPage","_advertisements$","_advertisements$2","_props$props8$modules","useJobDetail","jobId","fetchJobDetail","getJobDetail","_response","_response2","talentRecruiterDetailPage","talentRecruiterPositionContent","jobListUrl","jobPositionListPage","advertisements","positionCategory","advertisementUrl","applicationFormUrl","created","showApplyButton","isDepartmentValid","areUsersValid","areWorkPlaceCoordinatesValid","formattedDatePart","advertisement","contentWithHtmlBreaks","DA_Chip","removable","onRemove","onMouseDown","Remove","sessionStorageValue","serializedState","teaser","urlObj","getRelativePathFromUrl","jobPositionDetailPage","JobAgent","_props$link","_props$link2","_props$link3","JobListPage","_props$props7$noJobsR","categories","allPositions","countries","setDepartments","setCategories","setAllPositions","cities","setCities","setCountries","_response$categories","_response$departments","_response$cities","_response$countries","_response$positions","positions","visibleCards","setVisibleCards","setPositions","isFetchingDataFirstTime","setIsFetchingDataFirstTime","filtersInitialState","setFilters","useSessionStorage","FILTER_MAP","_filteredPositions3","filteredPositions","filterKey","filterValue","positionAttribute","_filteredPositions","_filteredPositions2","_position$positionAtt","isAnyFilterSelected","moduleBlocks","_props$props3$modules","filterTranslations","_options$filterKey2","_options$filterKey2$v","_options$filterKey","selection","resetSelections","noJobsRedirect","jobAgentTitle","jobAgentDescription","showMore","nextBatch","excludeUrl","useFilteredItems","filteredItems","LatestEvents","MoreEmployees","getRandom","randomSiblings","setRandomSiblings","siblings","parentGroup","_item$props","_item$props2","TestimonialsPage","_props$props9$modules","employeeGroupId","_employee$props","_employee$props$thumb","_employee$props$thumb2","_employee$props2","_employee$props2$thum","_employee$props3","_employee$props4","_employee$props5","_employee$props6","employee","TestimonialListPage","_props$props7$hero","_items$employeeGroups","getEmployeeGroupClass","employees","employeeGroups","employeeIndex","DynamicPage","faviconColor","isLoading","setIsLoading","getPage","fetchPageResponse","checkPage","lastCheckedPageRef","lang","sizes","ContentPage","NewsPage","EventPage","ErrorPage","NotFoundPage","renderBody","SiteSettingsContext","SiteSettingsProvider","siteSettings","baseVariables","newPageData","newPageContent","getSharedGlobalVariables","sharedGlobalVariables","getNavigationUrl","getNavigationObj","nav","remapNav","getDictionaryUrl","getDictionaryObj","rafRef","milestonesHit","handleScroll","percentageScrolled","milestone","scroll_distance","SecondaryContextWrapper","MainContextWrapper","AppComponent","_globalThis$footerObj","_globalThis$footerObj2","_globalThis$footerObj3","_globalThis$footerObj4","useTrackPageView","useTrackScrollDistance","sanitizedAlias","App","preloadedPage","preloadedSiteSettings","rootElement"],"sourceRoot":""}